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:flutter/cupertino.dart';
import 'package:flutter/material.dart';

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

  ProfileMedicalInfoWidgetInPatient(
      {Key key,
      this.patient,
      this.patientType,
      this.arrivalType,
      this.from,
      this.to,
      this.isInpatient,
      this.isDischargedPatient = false});

  @override
  Widget build(BuildContext context) {
    return BaseView<SOAPViewModel>(
      onModelReady: (model) async {},
      builder: (_, model, w) => GridView.count(
        shrinkWrap: true,
        physics: NeverScrollableScrollPhysics(),
        crossAxisSpacing: 10,
        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,
              isInPatient: true,
              icon: 'patient/vital_signs.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: LAB_RESULT,
              isInPatient: true,
              nameLine1: TranslationBase.of(context).lab,
              nameLine2: TranslationBase.of(context).result,
              icon: 'patient/lab_results.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              isInPatient: isInpatient,
              route: RADIOLOGY_PATIENT,
              nameLine1: TranslationBase.of(context).radiology,
              nameLine2: TranslationBase.of(context).result,
              icon: 'patient/health_summary.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: ORDER_PRESCRIPTION_NEW,
              nameLine1: TranslationBase.of(context).patient,
              nameLine2: TranslationBase.of(context).prescription,
              icon: 'patient/order_prescription.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: PROGRESS_NOTE,
              isDischargedPatient: isDischargedPatient,
              nameLine1: TranslationBase.of(context).progress,
              nameLine2: TranslationBase.of(context).note,
              icon: 'patient/Progress_notes.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: ORDER_NOTE,
              isDischargedPatient: isDischargedPatient,
              nameLine1: "Order", //"Text",
              nameLine2: "Sheet", //TranslationBase.of(context).orders,
              icon: 'patient/Progress_notes.png'),
          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'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: MEDICAL_FILE,
              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,
              isDisable: true,
              route: MEDICAL_FILE,
              nameLine1: "Medical", //Health
              //TranslationBase.of(context).medicalReport,
              nameLine2: "Report", //Report
              //TranslationBase.of(context).summaryReport,
              icon: 'patient/health_summary.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: REFER_IN_PATIENT_TO_DOCTOR,
              isInPatient: true,
              nameLine1: TranslationBase.of(context).referral,
              nameLine2: TranslationBase.of(context).patient,
              icon: 'patient/refer_patient.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              route: PATIENT_INSURANCE_APPROVALS_NEW,
              nameLine1: TranslationBase.of(context).insurance,
              nameLine2: TranslationBase.of(context).approvals,
              icon: 'patient/vital_signs.png'),
          PatientProfileButton(
              key: key,
              patient: patient,
              patientType: patientType,
              arrivalType: arrivalType,
              isDisable: true,
              route: null,
              nameLine1: "Discharge",
              nameLine2: "Summery",
              icon: 'patient/patient_sick_leave.png'),
          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'),
        ],
      ),
    );
  }
}
