diff --git a/lib/config/config.dart b/lib/config/config.dart index b00c3960..a7746532 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -238,6 +238,7 @@ const GET_PAtIENTS_INSURANCE_APPROVALS = const GET_RAD_IMAGE_URL = 'Services/Patients.svc/Rest/GetRadImageURL'; const GET_PATIENT_ORDERS = 'Services/Patients.svc/REST/GetPatientRadOrders'; +const GET_IN_PATIENT_ORDERS = 'Services/DoctorApplication.svc/REST/GetPatientRadResult'; ///Prescriptions const PRESCRIPTIONS = 'Services/Patients.svc/REST/GetPrescriptionApptList'; diff --git a/lib/core/model/radiology/final_radiology.dart b/lib/core/model/radiology/final_radiology.dart index 66433091..75e8bfe2 100644 --- a/lib/core/model/radiology/final_radiology.dart +++ b/lib/core/model/radiology/final_radiology.dart @@ -1,47 +1,47 @@ import 'package:doctor_app_flutter/util/date-utils.dart'; class FinalRadiology { - String setupID; - int projectID; - Null patientID; - int invoiceLineItemNo; - int invoiceNo; - int doctorID; - int clinicID; + dynamic setupID; + dynamic projectID; + dynamic patientID; + dynamic invoiceLineItemNo; + dynamic invoiceNo; + dynamic doctorID; + dynamic clinicID; DateTime orderDate; - String reportData; - String imageURL; - String procedureID; - int appointmentNo; - Null dIAPacsURL; + dynamic reportData; + dynamic imageURL; + dynamic procedureID; + dynamic appodynamicmentNo; + dynamic dIAPacsURL; bool isRead; - String readOn; + dynamic readOn; var admissionNo; bool isInOutPatient; - int actualDoctorRate; - String clinicDescription; - String dIAPACSURL; - String doctorImageURL; - String doctorName; - int doctorRate; - String doctorTitle; - int gender; - String genderDescription; + dynamic actualDoctorRate; + dynamic clinicDescription; + dynamic dIAPACSURL; + dynamic doctorImageURL; + dynamic doctorName; + dynamic doctorRate; + dynamic doctorTitle; + dynamic gender; + dynamic genderDescription; bool isActiveDoctorProfile; bool isExecludeDoctor; - String isInOutPatientDescription; - String isInOutPatientDescriptionN; - String nationalityFlagURL; - int noOfPatientsRate; - int orderNo; - String projectName; - String qR; - String reportDataHTML; - String reportDataTextString; - List speciality; + dynamic isInOutPatientDescription; + dynamic isInOutPatientDescriptionN; + dynamic nationalityFlagURL; + dynamic noOfPatientsRate; + dynamic orderNo; + dynamic projectName; + dynamic qR; + dynamic reportDataHTML; + dynamic reportDataTextdynamic; + List speciality; bool isCVI; bool isRadMedicalReport; - bool isLiveCareAppointment; + bool isLiveCareAppodynamicment; FinalRadiology( {this.setupID, @@ -55,7 +55,7 @@ class FinalRadiology { this.reportData, this.imageURL, this.procedureID, - this.appointmentNo, + this.appodynamicmentNo, this.dIAPacsURL, this.isRead, this.readOn, @@ -80,12 +80,12 @@ class FinalRadiology { this.projectName, this.qR, this.reportDataHTML, - this.reportDataTextString, + this.reportDataTextdynamic, this.speciality, this.isCVI, - this.isRadMedicalReport,this.isLiveCareAppointment}); + this.isRadMedicalReport,this.isLiveCareAppodynamicment}); - FinalRadiology.fromJson(Map json) { + FinalRadiology.fromJson(Map json) { try { setupID = json['SetupID']; projectID = json['ProjectID']; @@ -98,7 +98,7 @@ class FinalRadiology { reportData = json['ReportData']; imageURL = json['ImageURL']; procedureID = json['ProcedureID']; - appointmentNo = json['AppointmentNo']; + appodynamicmentNo = json['AppodynamicmentNo']; dIAPacsURL = json['DIAPacsURL']; isRead = json['IsRead']; readOn = json['ReadOn']; @@ -122,20 +122,21 @@ class FinalRadiology { orderNo = json['OrderNo']; projectName = json['ProjectName']; qR = json['QR']; - isLiveCareAppointment = json['IsLiveCareAppointment']; + isLiveCareAppodynamicment = json['IsLiveCareAppodynamicment']; reportDataHTML = json['ReportDataHTML']; - reportDataTextString = json['ReportDataTextString']; - // speciality = json['Speciality'].cast(); + reportDataTextdynamic = json['ReportDataTextdynamic']; + // speciality = json['Speciality'].cast(); isCVI = json['isCVI']; isRadMedicalReport = json['isRadMedicalReport']; } catch (e) { print(e); + } } - Map toJson() { - final Map data = new Map(); + Map toJson() { + final Map data = new Map(); data['SetupID'] = this.setupID; data['ProjectID'] = this.projectID; data['PatientID'] = this.patientID; @@ -147,7 +148,7 @@ class FinalRadiology { data['ReportData'] = this.reportData; data['ImageURL'] = this.imageURL; data['ProcedureID'] = this.procedureID; - data['AppointmentNo'] = this.appointmentNo; + data['AppodynamicmentNo'] = this.appodynamicmentNo; data['DIAPacsURL'] = this.dIAPacsURL; data['IsRead'] = this.isRead; data['ReadOn'] = this.readOn; @@ -172,7 +173,7 @@ class FinalRadiology { data['ProjectName'] = this.projectName; data['QR'] = this.qR; data['ReportDataHTML'] = this.reportDataHTML; - data['ReportDataTextString'] = this.reportDataTextString; + data['ReportDataTextdynamic'] = this.reportDataTextdynamic; data['Speciality'] = this.speciality; data['isCVI'] = this.isCVI; data['isRadMedicalReport'] = this.isRadMedicalReport; @@ -181,7 +182,7 @@ class FinalRadiology { } class FinalRadiologyList { - String filterName = ""; + dynamic filterName = ""; List finalRadiologyList = List(); FinalRadiologyList({this.filterName, FinalRadiology finalRadiology}) { diff --git a/lib/core/service/radiology_service.dart b/lib/core/service/radiology_service.dart index c8c02fd0..3f40b723 100644 --- a/lib/core/service/radiology_service.dart +++ b/lib/core/service/radiology_service.dart @@ -28,12 +28,20 @@ class RadiologyService extends BaseService { } Future getPatientRadOrders(PatiantInformtion patient) async { + String url = GET_PATIENT_ORDERS; + if(patient.patientType == 1) { + url = GET_IN_PATIENT_ORDERS; + } hasError = false; - await baseAppClient.postPatient(GET_PATIENT_ORDERS, + await baseAppClient.postPatient(url, patient: patient, onSuccess: (dynamic response, int statusCode) { finalRadiologyList.clear(); - response['ListRAD'].forEach((radiology) { + String label = "ListRAD"; + if(patient.patientType == 1) { + label ="List_GetRadOreders"; + } + response[label].forEach((radiology) { finalRadiologyList.add(FinalRadiology.fromJson(radiology)); }); }, onFailure: (String error, int statusCode) { diff --git a/lib/screens/patients/profile/lab_result/labs_home_page.dart b/lib/screens/patients/profile/lab_result/labs_home_page.dart index 4db7b05a..7e812848 100644 --- a/lib/screens/patients/profile/lab_result/labs_home_page.dart +++ b/lib/screens/patients/profile/lab_result/labs_home_page.dart @@ -7,6 +7,7 @@ import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/patients/profile/lab_result/laboratory_result_page.dart'; import 'package:doctor_app_flutter/screens/procedures/add_lab_orders.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -91,62 +92,16 @@ class LabsHomePage extends StatelessWidget { ), ), if (patientType != null && patientType == '7' && patient.patientStatusType == 43) - InkWell( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => AddSelectedLabOrder( - patient: patient, - model: model, - )), - ); - }, - - // () { - // addSelectedLabOrder(context, model, patient); - // }, - child: Container( - width: double.maxFinite, - height: 140, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Container( - height: 90, - child: Column( - children: [ - Container( - height: 40, - width: 40, - decoration: BoxDecoration( - color: Colors.grey[600], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Icon( - Icons.add, - color: Colors.white, - ), - ), - ), - SizedBox( - height: 10, - ), - AppText( - 'Apply for New Lab Order', - color: Colors.grey[600], - fontWeight: FontWeight.w600, - ) - ], - ), - ), - ), - ), - ), + AddNewOrder( onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AddSelectedLabOrder( + patient: patient, + model: model, + )), + ); + },label: 'Apply for New Lab Order',), ...List.generate( model.patientLabOrdersList.length, (index) => Column( diff --git a/lib/screens/patients/profile/radiology/radiology_home_page.dart b/lib/screens/patients/profile/radiology/radiology_home_page.dart index 5f5033f7..b282a017 100644 --- a/lib/screens/patients/profile/radiology/radiology_home_page.dart +++ b/lib/screens/patients/profile/radiology/radiology_home_page.dart @@ -8,6 +8,7 @@ import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_ import 'package:doctor_app_flutter/screens/procedures/add_radiology_order.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -88,61 +89,16 @@ class RadiologyHomePage extends StatelessWidget { if (patientType != null && patientType == '7' && patient.patientStatusType == 43) - InkWell( - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => AddSelectedRadiologyOrder( - patient: patient, - model: model, - )), - ); - }, - // () { - // addSelectedRadiologyOrder(context, model, patient); - // }, - child: Container( - width: double.maxFinite, - height: 140, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Container( - height: 90, - child: Column( - children: [ - Container( - height: 40, - width: 40, - decoration: BoxDecoration( - color: Colors.grey[600], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Icon( - Icons.add, - color: Colors.white, - ), - ), - ), - SizedBox( - height: 10, - ), - AppText( - 'Apply for Radiology Order', - color: Colors.grey[600], - fontWeight: FontWeight.w600, - ) - ], - ), - ), - ), - ), - ), + AddNewOrder( onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AddSelectedRadiologyOrder( + patient: patient, + model: model, + )), + ); + },label: 'Apply for Radiology Order',), ...List.generate( model.radiologyList.length, (index) => InkWell( @@ -155,13 +111,13 @@ class RadiologyHomePage extends StatelessWidget { ), ), ), - child: DoctorCard( + child: DoctorCard( doctorName: model.radiologyList[index].doctorName, profileUrl: model.radiologyList[index].doctorImageURL, invoiceNO: '${model.radiologyList[index].invoiceNo}', branch: '${model.radiologyList[index].projectName}', clinic: model.radiologyList[index].clinicDescription, - appointmentDate: model.radiologyList[index].orderDate, + appointmentDate: model.radiologyList[index].orderDate ?? model.radiologyList[index].reportData, ), )), if(model.radiologyList.isEmpty && patient.patientStatusType != 43) diff --git a/lib/screens/prescription/prescriptions_page.dart b/lib/screens/prescription/prescriptions_page.dart index 73c7325f..5b57db44 100644 --- a/lib/screens/prescription/prescriptions_page.dart +++ b/lib/screens/prescription/prescriptions_page.dart @@ -8,6 +8,7 @@ import 'package:doctor_app_flutter/screens/prescription/add_prescription_form.da import 'package:doctor_app_flutter/screens/prescription/prescription_items_page.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-header-new-design.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; @@ -86,52 +87,10 @@ class PrescriptionsPage extends StatelessWidget { if (patientType != null && patientType == '7' && patient.patientStatusType == 43) - InkWell( - onTap: () { - addPrescriptionForm( - context, model, patient, model.prescriptionList); - }, - child: Container( - width: double.maxFinite, - height: 140, - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Container( - height: 90, - child: Column( - children: [ - Container( - height: 40, - width: 40, - decoration: BoxDecoration( - color: Colors.grey[600], - borderRadius: BorderRadius.circular(10), - ), - child: Center( - child: Icon( - Icons.add, - color: Colors.white, - ), - ), - ), - SizedBox( - height: 10, - ), - AppText( - 'Apply for New Prescriptions Order', - color: Colors.grey[600], - fontWeight: FontWeight.w600, - ) - ], - ), - ), - ), - ), - ), + AddNewOrder( onTap: () { + addPrescriptionForm( + context, model, patient, model.prescriptionList); + },label: 'Apply for New Prescriptions Order',), ...List.generate( model.prescriptionsList.length, (index) => InkWell( @@ -182,3 +141,4 @@ class PrescriptionsPage extends StatelessWidget { )); } } + diff --git a/lib/screens/reschedule-leaves/add-rescheduleleave.dart b/lib/screens/reschedule-leaves/add-rescheduleleave.dart index bd753080..564f7bdc 100644 --- a/lib/screens/reschedule-leaves/add-rescheduleleave.dart +++ b/lib/screens/reschedule-leaves/add-rescheduleleave.dart @@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/core/viewModel/sick_leave_view_model.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/reschedule-leaves/reschedule_leave.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/add-order/addNewOrder.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/card_with_bgNew_widget.dart'; @@ -28,47 +29,12 @@ class AddRescheduleLeavScreen extends StatelessWidget { appBarTitle: TranslationBase.of(context).rescheduleLeaves, body: SingleChildScrollView( child: Column(children: [ - Container( - width: MediaQuery.of(context).size.width, - margin: EdgeInsets.all(10), - padding: - EdgeInsets.only(left: 10, right: 10, top: 20, bottom: 20), - decoration: BoxDecoration( - color: HexColor('#EAEAEA'), - borderRadius: BorderRadius.all(Radius.circular(20))), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - margin: EdgeInsets.all(10), - decoration: BoxDecoration( - color: Colors.grey, - borderRadius: BorderRadius.circular(10)), - child: IconButton( - icon: Icon( - Icons.add, - size: 35, - color: Colors.white, - ), - onPressed: () { - openLeave( - context, - false, - ); - }), - ), - Padding( - child: AppText( - TranslationBase.of(context).applyForReschedule, - fontWeight: FontWeight.bold, - fontFamily: 'Poppins', - fontSize: 18, - color: HexColor('#7E7E7E')), - padding: EdgeInsets.all(10), - ), - ], - ), - ), + AddNewOrder( onTap: () { + openLeave( + context, + false, + ); + },label: TranslationBase.of(context).applyForReschedule,), Column( children: model.getReschduleLeave .map((GetRescheduleLeavesResponse item) { diff --git a/lib/widgets/doctor/my_schedule_widget.dart b/lib/widgets/doctor/my_schedule_widget.dart index 6c9e51cf..7741fa89 100644 --- a/lib/widgets/doctor/my_schedule_widget.dart +++ b/lib/widgets/doctor/my_schedule_widget.dart @@ -1,4 +1,5 @@ import 'package:doctor_app_flutter/config/size_config.dart'; +import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/models/doctor/list_doctor_working_hours_table_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; @@ -6,6 +7,7 @@ import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class MyScheduleWidget extends StatelessWidget { final ListDoctorWorkingHoursTable workingHoursTable; @@ -14,6 +16,7 @@ class MyScheduleWidget extends StatelessWidget { @override Widget build(BuildContext context) { + ProjectViewModel projectViewModel = Provider.of(context); List workingHours = Helpers.getWorkingHours( workingHoursTable.workingHours, ); @@ -30,7 +33,7 @@ class MyScheduleWidget extends StatelessWidget { height: 10, ), AppText( - workingHoursTable.dayName, + projectViewModel.isArabic?DateUtils.getWeekDayArabic(workingHoursTable.date.weekday): DateUtils.getWeekDay(workingHoursTable.date.weekday) , fontSize: 18, fontFamily: 'Poppins', // fontSize: 18 @@ -71,6 +74,7 @@ class MyScheduleWidget extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: workingHours.map((work) { return Container( + margin: EdgeInsets.only(bottom:workingHours.length>1? 15:0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/lib/widgets/patients/profile/add-order/addNewOrder.dart b/lib/widgets/patients/profile/add-order/addNewOrder.dart new file mode 100644 index 00000000..275888e3 --- /dev/null +++ b/lib/widgets/patients/profile/add-order/addNewOrder.dart @@ -0,0 +1,59 @@ +import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; +import 'package:flutter/material.dart'; + +class AddNewOrder extends StatelessWidget { + const AddNewOrder({ + Key key, + this.onTap, this.label, + }) : super(key: key); + + final Function onTap; + final String label; + + @override + Widget build(BuildContext context) { + return InkWell( + onTap: onTap, + child: Container( + width: double.maxFinite, + height: 140, + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + child: Center( + child: Container( + height: 90, + child: Column( + children: [ + Container( + height: 40, + width: 40, + decoration: BoxDecoration( + color: Colors.grey[600], + borderRadius: BorderRadius.circular(10), + ), + child: Center( + child: Icon( + Icons.add, + color: Colors.white, + ), + ), + ), + SizedBox( + height: 10, + ), + AppText( + label ??'', + color: Colors.grey[600], + fontWeight: FontWeight.w600, + ) + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/widgets/patients/profile/profile_medical_info_widget.dart b/lib/widgets/patients/profile/profile_medical_info_widget.dart index 8dc2a8c0..f75dd9ee 100644 --- a/lib/widgets/patients/profile/profile_medical_info_widget.dart +++ b/lib/widgets/patients/profile/profile_medical_info_widget.dart @@ -62,8 +62,8 @@ class ProfileMedicalInfoWidget extends StatelessWidget { patientType: patientType, arrivalType: arrivalType, route: MEDICAL_FILE, - nameLine1: TranslationBase.of(context).previewHealth, - nameLine2: TranslationBase.of(context).summaryReport, + nameLine1: "Medical" ,//TranslationBase.of(context).medicalReport, + nameLine2: "Report",//TranslationBase.of(context).summaryReport, icon: 'patient/health_summary.png'), PatientProfileButton( key: key, @@ -74,7 +74,7 @@ class ProfileMedicalInfoWidget extends StatelessWidget { nameLine1: TranslationBase.of(context).lab, nameLine2: TranslationBase.of(context).result, icon: 'patient/lab_results.png'), - if (int.parse(patientType) == 7 || int.parse(patientType) == 6) + // if (int.parse(patientType) == 7 || int.parse(patientType) == 6) PatientProfileButton( key: key, patient: patient, diff --git a/lib/widgets/patients/profile/profile_medical_info_widget_search.dart b/lib/widgets/patients/profile/profile_medical_info_widget_search.dart index 95a8c567..6ce09117 100644 --- a/lib/widgets/patients/profile/profile_medical_info_widget_search.dart +++ b/lib/widgets/patients/profile/profile_medical_info_widget_search.dart @@ -51,8 +51,8 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget { patientType: patientType, arrivalType: arrivalType, route: MEDICAL_FILE, - nameLine1: TranslationBase.of(context).previewHealth, - nameLine2: TranslationBase.of(context).summaryReport, + nameLine1: "Medical" ,//TranslationBase.of(context).medicalReport, + nameLine2: "Report",//TranslationBase.of(context).summaryReport, icon: 'patient/health_summary.png'), PatientProfileButton( key: key, @@ -127,13 +127,31 @@ class ProfileMedicalInfoWidgetSearch extends StatelessWidget { nameLine1: TranslationBase.of(context).patientSick, nameLine2: TranslationBase.of(context).leave, icon: 'patient/patient_sick_leave.png'), - // PatientProfileButton( - // key: key, - // patient: patient, - // route: PATIENT_ADMISSION_REQUEST, - // nameLine1: TranslationBase.of(context).admission, - // nameLine2: TranslationBase.of(context).request, - // icon: 'heartbeat.png'), + if (patientType == "1") + 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 (patientType == "1") + 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'), + + + ], ), ); diff --git a/lib/widgets/shared/errors/error_message.dart b/lib/widgets/shared/errors/error_message.dart new file mode 100644 index 00000000..53c41d2b --- /dev/null +++ b/lib/widgets/shared/errors/error_message.dart @@ -0,0 +1,34 @@ +import 'package:flutter/material.dart'; + +import '../app_texts_widget.dart'; + +class ErrorMessage extends StatelessWidget { + const ErrorMessage({ + Key key, + @required this.error, + }) : super(key: key); + + final String error; + + @override + Widget build(BuildContext context) { + return Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 100,), + Image.asset('assets/images/no-data.png'), + Center( + child: Center( + child: Padding( + padding: const EdgeInsets.only(top: 12, bottom: 12,right: 20, left: 30), + child: Center(child: AppText(error??'' , textAlign: TextAlign.center,)), + ), + ), + ) + + ], + ), + ); + } +} diff --git a/lib/widgets/shared/network_base_view.dart b/lib/widgets/shared/network_base_view.dart index 364f9ac0..939b3cb6 100644 --- a/lib/widgets/shared/network_base_view.dart +++ b/lib/widgets/shared/network_base_view.dart @@ -6,6 +6,7 @@ import 'package:flutter/material.dart'; import 'app_loader_widget.dart'; import 'errors/dr_app_embedded_error.dart'; +import 'errors/error_message.dart'; class NetworkBaseView extends StatelessWidget { final BaseViewModel baseViewModel; @@ -32,24 +33,7 @@ class NetworkBaseView extends StatelessWidget { return AppLoaderWidget(); break; case ViewState.Error: - return Center( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox(height: 100,), - Image.asset('assets/images/no-data.png'), - Center( - child: Center( - child: Padding( - padding: const EdgeInsets.only(top: 12, bottom: 12,right: 20, left: 30), - child: Center(child: AppText(baseViewModel.error??'' , textAlign: TextAlign.center,)), - ), - ), - ) - - ], - ), - ); + return ErrorMessage(error: baseViewModel.error ,); break; } }