import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/routes.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/PatientProfileButton.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class ProfileMedicalInfoWidgetSearch extends StatelessWidget {
  final String from;
  final String to;
  final PatiantInformtion patient;
  final String patientType;
  final String arrivalType;
  final bool isInpatient;
  final bool isDischargedPatient;

  ProfileMedicalInfoWidgetSearch(
      {Key key,
      this.patient,
      this.patientType,
      this.arrivalType,
      this.from,
      this.to,
      this.isInpatient,
      this.isDischargedPatient});
  TabController _tabController;
  void initState() {
    _tabController = TabController(length: 2);
  }

  void dispose() {
    _tabController.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return BaseView<SOAPViewModel>(
      onModelReady: (model) async {},
      builder: (_, model, w) => DefaultTabController(
        length: 2,
        initialIndex: isInpatient ? 0 : 1,
        child: SizedBox(
          height: MediaQuery.of(context).size.height * 1.0,
          width: double.infinity,
          child: Scaffold(
            body: GridView.count(
              shrinkWrap: true,
              physics: NeverScrollableScrollPhysics(),
              crossAxisSpacing: 8,
              mainAxisSpacing: 10,
              childAspectRatio: 1 / 1.0,
              crossAxisCount: 3,
              children: [
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    from: from,
                    to: to,
                    nameLine1: TranslationBase.of(context).vital,
                    nameLine2: TranslationBase.of(context).signs,
                    route: VITAL_SIGN_DETAILS,
                    icon: 'patient/vital_signs.png'),
                // if (selectedPatientType != 7)
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: HEALTH_SUMMARY,
                    nameLine1:
                    "Health", //TranslationBase.of(context).medicalReport,
                    nameLine2:
                    "Summary", //TranslationBase.of(context).summaryReport,
                    icon: 'patient/health_summary.png'),
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: LAB_RESULT,
                    nameLine1: TranslationBase.of(context).lab,
                    nameLine2: TranslationBase.of(context).result,
                    icon: 'patient/lab_results.png'),
                // if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    isInPatient: isInpatient,
                    route: RADIOLOGY_PATIENT,
                    nameLine1: TranslationBase.of(context).radiology,
                    nameLine2: TranslationBase.of(context).service,
                    icon: 'patient/health_summary.png'),
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: PATIENT_ECG,
                    nameLine1: TranslationBase.of(context).patient,
                    nameLine2: "ECG",
                    icon: 'patient/patient_sick_leave.png'),
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: ORDER_PRESCRIPTION_NEW,
                    nameLine1: TranslationBase.of(context).orders,
                    nameLine2: TranslationBase.of(context).prescription,
                    icon: 'patient/order_prescription.png'),
                // if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: ORDER_PROCEDURE,
                    nameLine1: TranslationBase.of(context).orders,
                    nameLine2: TranslationBase.of(context).procedures,
                    icon: 'patient/Order_Procedures.png'),
                //if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: PATIENT_INSURANCE_APPROVALS_NEW,
                    nameLine1: TranslationBase.of(context).insurance,
                    nameLine2: TranslationBase.of(context).service,
                    icon: 'patient/vital_signs.png'),
                // if (int.parse(patientType) == 7 || int.parse(patientType) == 6)
                PatientProfileButton(
                    key: key,
                    patient: patient,
                    patientType: patientType,
                    arrivalType: arrivalType,
                    route: ADD_SICKLEAVE,
                    nameLine1: TranslationBase.of(context).patientSick,
                    nameLine2: TranslationBase.of(context).leave,
                    icon: 'patient/patient_sick_leave.png'),
                if (patient.appointmentNo != null &&
                    patient.appointmentNo != 0)
                  PatientProfileButton(
                      key: key,
                      patient: patient,
                      patientType: patientType,
                      arrivalType: arrivalType,
                      route: PATIENT_UCAF_REQUEST,
                      isDisable:
                      patient.patientStatusType != 43 ? true : false,
                      nameLine1: TranslationBase.of(context).patient,
                      nameLine2: TranslationBase.of(context).ucaf,
                      icon: 'patient/ucaf.png'),
                if (patient.appointmentNo != null &&
                    patient.appointmentNo != 0)
                  PatientProfileButton(
                      key: key,
                      patient: patient,
                      patientType: patientType,
                      arrivalType: arrivalType,
                      route: REFER_PATIENT_TO_DOCTOR,
                      isDisable:
                      patient.patientStatusType != 43 ? true : false,
                      nameLine1: TranslationBase.of(context).referral,
                      nameLine2: TranslationBase.of(context).patient,
                      icon: 'patient/refer_patient.png'),
                if (patient.appointmentNo != null &&
                    patient.appointmentNo != 0)
                  PatientProfileButton(
                      key: key,
                      patient: patient,
                      patientType: patientType,
                      arrivalType: arrivalType,
                      route: PATIENT_ADMISSION_REQUEST,
                      isDisable:
                      patient.patientStatusType != 43 ? true : false,
                      nameLine1: TranslationBase.of(context).admission,
                      nameLine2: TranslationBase.of(context).request,
                      icon: 'patient/admission_req.png'),
                if (isInpatient)
                  PatientProfileButton(
                      key: key,
                      patient: patient,
                      patientType: patientType,
                      arrivalType: arrivalType,
                      route: PROGRESS_NOTE,
                      nameLine1: TranslationBase.of(context).progress,
                      nameLine2: TranslationBase.of(context).note,
                      icon: 'patient/Progress_notes.png'),
                if (isInpatient)
                  PatientProfileButton(
                      key: key,
                      patient: patient,
                      patientType: patientType,
                      arrivalType: arrivalType,
                      route: ORDER_NOTE,
                      nameLine1: "Order", //"Text",
                      nameLine2: "Sheet",
                      icon: 'patient/Progress_notes.png'),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
