import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/viewModel/auth_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/patient-referral-viewmodel.dart'; import 'package:doctor_app_flutter/models/patient/my_referral/PendingReferral.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/patient-referral-item-widget.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/PatientProfileButton.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/profile-welcome-widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/borderedButton.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class MyReferralDetailScreen extends StatelessWidget { PendingReferral pendingReferral; @override Widget build(BuildContext context) { final gridHeight = (MediaQuery.of(context).size.width * 0.3) * 1.8; AuthViewModel authProvider = Provider.of(context); final routeArgs = ModalRoute.of(context).settings.arguments as Map; pendingReferral = routeArgs['referral']; return BaseView( builder: (_, model, w) => AppScaffold( baseViewModel: model, appBarTitle: TranslationBase.of(context).referPatient, body: Column( children: [ Expanded( child: SingleChildScrollView( child: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ ProfileWelcomeWidget( AppText( authProvider.selectedClinicName != null ? authProvider.selectedClinicName : authProvider.doctorProfile.clinicDescription, fontSize: SizeConfig.textMultiplier * 1.7, color: Colors.white, textAlign: TextAlign.center, ), height: 100, ), SizedBox( height: 16, ), Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: AppText( TranslationBase.of(context).myReferralPatient, color: Colors.black, fontWeight: FontWeight.bold, fontSize: 16, ), ), PatientReferralItemWidget( patientName: pendingReferral.patientName, referralStatus: null, isReferredTo: false, isSameBranch: pendingReferral.isReferralDoctorSameBranch, referralDoctorName: pendingReferral.referredByDoctorInfo, clinicDescription: null, remark: pendingReferral.remarksFromSource, ), SizedBox( child: GridView.count( childAspectRatio: 1.8, crossAxisSpacing: 8, mainAxisSpacing: 10, controller: new ScrollController(keepScrollOffset: false), shrinkWrap: true, padding: const EdgeInsets.all(4.0), crossAxisCount: 2, children: [ PatientProfileButton( key: key, // patient: patient, // route: RADIOLOGY, nameLine1: TranslationBase.of(context).previewHealth, nameLine2: TranslationBase.of(context).summaryReport, icon: 'radiology-1.png'), PatientProfileButton( key: key, // patient: patient, // route: LAB_ORDERS, nameLine1: TranslationBase.of(context).lab, nameLine2: TranslationBase.of(context).result, icon: 'lab.png'), PatientProfileButton( key: key, // patient: patient, // route: VITAL_SIGN_DETAILS, nameLine1: TranslationBase.of(context).vital, nameLine2: TranslationBase.of(context).signs, icon: 'heartbeat.png'), ], ), ), ], ), ), ), ), Container( margin: EdgeInsets.symmetric(horizontal: 16, vertical: 16), child: Row( children: [ Expanded( child: BorderedButton( TranslationBase.of(context).accept, backgroundColor: Color(0xFF4BA821), textColor: Colors.white, fontSize: 16, hPadding: 8, vPadding: 12, handler: (){ model.responseReferral(pendingReferral, true); }, ), ), SizedBox( height: 8, ), Expanded( child: BorderedButton( TranslationBase.of(context).reject, backgroundColor: Color(0xFFB9382C), textColor: Colors.white, fontSize: 16, hPadding: 8, vPadding: 12, handler: (){ model.responseReferral(pendingReferral, false); }, ), ), ], ), ), ], ), ), ); } }