package com.diampark.test.Fragment;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.diampark.test.Class.SuiviConcentration;
import com.diampark.test.MainActivity;
import com.diampark.test.R;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;

import java.text.DecimalFormat;

public class SuiviFragment extends Fragment {

    private Context context;
    private TextView message;
    private double dose;
    private MainActivity mActivity;

    public SuiviFragment() {
        super(R.layout.fragment_suivi);
    }

    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        Button prise_levodopa_btn = view.findViewById(R.id.take_levodopa);
        Button coucher_lever_btn = view.findViewById(R.id.coucher_lever);
        Button obtenir_concentration_btn = view.findViewById(R.id.get_focus);
        message = view.findViewById(R.id.message);

        context = this.getContext();

        mActivity = (MainActivity) getActivity();

        prise_levodopa_btn.setOnClickListener(view1 -> popUpMessage());

        coucher_lever_btn.setOnClickListener(view1 -> {
            mActivity.currentSuivi.coucher_ou_lever();
            mActivity.StoreSuivi(mActivity.currentSuivi);

            if (mActivity.currentSuivi.getCurrentEtat())
                Toast.makeText(this.getContext(), "Etat couché", Toast.LENGTH_SHORT).show();
            else
                Toast.makeText(this.getContext(), "Etat réveillé", Toast.LENGTH_SHORT).show();
        });

        obtenir_concentration_btn.setOnClickListener(view1 -> {
            message.setText("concentration : " + new DecimalFormat("#.##").format(mActivity.currentSuivi.concentration()) + "mg");
        });
    }

    private void popUpMessage() {
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("quelle dose de levodopa, en milligrammes, prenez vous ?");
        builder.setItems(new CharSequence[]
                        {"50mg", "100mg", "150mg", "200mg", "Annuler"},
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                            case 0:
                                mActivity.currentSuivi.prise(50);
                                Toast.makeText(context, "Prise de 50mg", Toast.LENGTH_SHORT).show();
                                break;
                            case 1:
                                mActivity.currentSuivi.prise(100);
                                Toast.makeText(context, "Prise de 100mg", Toast.LENGTH_SHORT).show();
                                break;
                            case 2:
                                mActivity.currentSuivi.prise(150);
                                Toast.makeText(context, "Prise de 150mg", Toast.LENGTH_SHORT).show();
                                break;
                            case 3:
                                mActivity.currentSuivi.prise(200);
                                Toast.makeText(context, "Prise de 200mg", Toast.LENGTH_SHORT).show();
                                break;
                            case 4:
                                Toast.makeText(context, "Opération annulé", Toast.LENGTH_SHORT).show();
                        }
                        mActivity.StoreSuivi(mActivity.currentSuivi);
                    }
                });
        builder.create().show();
    }
}

