import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/models/patient/prescription/prescription_res_model.dart'; import 'package:doctor_app_flutter/screens/patients/out_patient_prescription_details_screen.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/medication.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; import 'large_avatar.dart'; class PrescriptionOutPatientWidget extends StatelessWidget { final List patientPrescriptionsList; PrescriptionOutPatientWidget({Key key, this.patientPrescriptionsList}); @override Widget build(BuildContext context) { return Container( child: patientPrescriptionsList.length == 0 ? Center( child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( padding: EdgeInsets.all(40), decoration: BoxDecoration( border: Border.all(color: HexColor('#B8382C'), width: 4), borderRadius: BorderRadius.all(Radius.circular(100))), child: IconButton( icon: Icon( Icons.add, size: 35, ), onPressed: () { openAddPrescription(context); }), ), Padding( child: AppText( TranslationBase.of(context).noPrescription, fontWeight: FontWeight.bold, ), padding: EdgeInsets.all(10), ), AppText( TranslationBase.of(context).applyNow, fontWeight: FontWeight.bold, color: HexColor('#B8382C'), ) ], ), )) : Container( margin: EdgeInsets.fromLTRB(SizeConfig.realScreenWidth * 0.05, 0, SizeConfig.realScreenWidth * 0.05, 0), child: ListView.builder( itemCount: patientPrescriptionsList.length, itemBuilder: (BuildContext context, int index) { return InkWell( onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => OutPatientPrescriptionDetailsScreen( prescriptionResModel: patientPrescriptionsList[index], ), ), ); }, child: CardWithBgWidgetNew( widget: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ LargeAvatar( url: patientPrescriptionsList[index] .doctorImageURL, name: patientPrescriptionsList[index] .doctorName, radius: 10, width: 70, ), Expanded( child: Container( margin: EdgeInsets.only(left: 15, right: 15), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( '${patientPrescriptionsList[index].name}', fontSize: 2.5 * SizeConfig.textMultiplier, ), SizedBox( height: 8, ), AppText( '${patientPrescriptionsList[index].clinicDescription}', fontSize: 2.5 * SizeConfig.textMultiplier, color: Theme.of(context).primaryColor), SizedBox( height: 8, ), ], ), ), ) ], ), ], ), )); }, ), ), ); } openAddPrescription(BuildContext context) { showModalBottomSheet( context: context, builder: (context) { return MedicationDetails(); }); } }