diff --git a/lib/config/config.dart b/lib/config/config.dart index d0ff0df9..d5086b5b 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -5,8 +5,8 @@ const ONLY_NUMBERS = "[0-9]"; const ONLY_LETTERS = "[a-zA-Z &'\"]"; const ONLY_DATE = "[0-9/]"; const BASE_URL_LIVE_CARE = 'https://livecare.hmg.com/'; -// const BASE_URL = 'https://hmgwebservices.com/'; -const BASE_URL = 'https://uat.hmgwebservices.com/'; +const BASE_URL = 'https://hmgwebservices.com/'; +// const BASE_URL = 'https://uat.hmgwebservices.com/'; const PHARMACY_ITEMS_URL = "Services/Lists.svc/REST/GetPharmcyItems_Region_enh"; const PHARMACY_LIST_URL = "Services/Patients.svc/REST/GetPharmcyList"; const PATIENT_PROGRESS_NOTE_URL = "Services/DoctorApplication.svc/REST/GetProgressNoteForInPatient"; diff --git a/lib/widgets/patients/profile/patient-profile-app-bar.dart b/lib/widgets/patients/profile/patient-profile-app-bar.dart index 5901f9b8..f9bab58c 100644 --- a/lib/widgets/patients/profile/patient-profile-app-bar.dart +++ b/lib/widgets/patients/profile/patient-profile-app-bar.dart @@ -12,8 +12,7 @@ import 'package:url_launcher/url_launcher.dart'; import 'large_avatar.dart'; -class PatientProfileAppBar extends StatelessWidget - with PreferredSizeWidget { +class PatientProfileAppBar extends StatelessWidget with PreferredSizeWidget { final PatiantInformtion patient; final double height; final bool isInpatient; @@ -35,8 +34,7 @@ class PatientProfileAppBar extends StatelessWidget final bool isFromLabResult; final VoidCallback onPressed; - PatientProfileAppBar( - this.patient, + PatientProfileAppBar(this.patient, {this.height = 0.0, this.isInpatient = false, this.isDischargedPatient = false, @@ -53,8 +51,8 @@ class PatientProfileAppBar extends StatelessWidget this.episode, this.visitDate, this.isAppointmentHeader = false, - this.isFromLabResult = false, this.onPressed}); - + this.isFromLabResult = false, + this.onPressed}); @override Widget build(BuildContext context) { @@ -74,35 +72,33 @@ class PatientProfileAppBar extends StatelessWidget bottom: 5, ), decoration: BoxDecoration( - color: Colors.white, - border: Border( bottom: BorderSide(color:Color(0xFFEFEFEF))) - - ), + color: Colors.white, + border: Border(bottom: BorderSide(color: Color(0xFFEFEFEF)))), child: Container( padding: EdgeInsets.only(left: 10, right: 10, bottom: 10), - - margin: EdgeInsets.only(top: SizeConfig.isHeightVeryShort?30: 50), + margin: EdgeInsets.only(top: SizeConfig.isHeightVeryShort ? 30 : 50), child: Column( children: [ Container( - padding: EdgeInsets.only(left: SizeConfig.isHeightVeryShort?0: 12.0), + padding: EdgeInsets.only( + left: SizeConfig.isHeightVeryShort ? 0 : 12.0), child: Row(children: [ IconButton( icon: Icon(Icons.arrow_back_ios), color: Color(0xFF2B353E), //Colors.black, onPressed: () { - if(onPressed!=null) - onPressed(); - Navigator.pop(context); + if (onPressed != null) onPressed(); + Navigator.pop(context); }, ), Expanded( child: AppText( patient.firstName != null ? (Helpers.capitalize(patient.firstName) + - " " + - Helpers.capitalize(patient.lastName)) - : Helpers.capitalize(patient.fullName??patient.patientDetails.fullName), + " " + + Helpers.capitalize(patient.lastName)) + : Helpers.capitalize(patient.fullName ?? + patient.patientDetails.fullName), fontSize: SizeConfig.textMultiplier * 1.8, fontWeight: FontWeight.bold, fontFamily: 'Poppins', @@ -111,13 +107,13 @@ class PatientProfileAppBar extends StatelessWidget ), gender == 1 ? Icon( - DoctorApp.male_2, - color: Colors.blue, - ) + DoctorApp.male_2, + color: Colors.blue, + ) : Icon( - DoctorApp.female_1, - color: Colors.pink, - ), + DoctorApp.female_1, + color: Colors.pink, + ), Container( margin: EdgeInsets.symmetric(horizontal: 4), child: InkWell( @@ -134,10 +130,11 @@ class PatientProfileAppBar extends StatelessWidget ), Row(children: [ Padding( - padding: EdgeInsets.only(left: SizeConfig.isHeightVeryShort?0: 12.0), + padding: EdgeInsets.only( + left: SizeConfig.isHeightVeryShort ? 0 : 12.0), child: Container( - width: SizeConfig.getTextMultiplierBasedOnWidth()*20, - height: SizeConfig.getTextMultiplierBasedOnWidth()*20, + width: SizeConfig.getTextMultiplierBasedOnWidth() * 20, + height: SizeConfig.getTextMultiplierBasedOnWidth() * 20, child: Image.asset( gender == 1 ? 'assets/images/male_avatar.png' @@ -155,25 +152,27 @@ class PatientProfileAppBar extends StatelessWidget children: [ patient.patientStatusType != null ? Container( - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - patient.patientStatusType == 43 - ? AppText( - TranslationBase - .of(context) - .arrivedP, - color: Colors.green, - fontWeight: FontWeight.bold, - fontFamily: 'Poppins', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - ) + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + patient.patientStatusType == 43 + ? AppText( + TranslationBase.of(context).arrivedP, + color: Colors.green, + fontWeight: FontWeight.bold, + fontFamily: 'Poppins', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3.5, + ) : AppText( TranslationBase.of(context).notArrived, color: Colors.red[800], fontWeight: FontWeight.bold, fontFamily: 'Poppins', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3.5, ), patient.startTime != null ? AppText( @@ -181,7 +180,9 @@ class PatientProfileAppBar extends StatelessWidget ? patient.startTime : '', fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3.5, color: Color(0xFF2E303A)) : SizedBox() ], @@ -194,17 +195,21 @@ class PatientProfileAppBar extends StatelessWidget Row( children: [ AppText( - TranslationBase - .of(context) - .fileNumber, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, + TranslationBase.of(context).fileNumber, + fontSize: + SizeConfig.getTextMultiplierBasedOnWidth() * + 3, color: Color(0xFF575757), fontWeight: FontWeight.w600, ), - SizedBox(width: 1,), + SizedBox( + width: 1, + ), AppText( patient.patientId.toString(), - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + fontSize: + SizeConfig.getTextMultiplierBasedOnWidth() * + 3.5, color: Color(0xFF2E303A), fontWeight: FontWeight.w700, isCopyable: true, @@ -214,188 +219,87 @@ class PatientProfileAppBar extends StatelessWidget Row( children: [ AppText( - patient.nationalityName ?? patient.nationality?? patient.nationalityId ?? '', + patient.nationalityName ?? + patient.nationality ?? + patient.nationalityId ?? + '', fontWeight: FontWeight.bold, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + fontSize: + SizeConfig.getTextMultiplierBasedOnWidth() * + 3.5, ), patient.nationalityFlagURL != null ? ClipRRect( - borderRadius: BorderRadius.circular(20.0), - child: Image.network( - patient.nationalityFlagURL, - height: 25, - width: 30, - errorBuilder: (BuildContext context, - Object exception, - StackTrace stackTrace) { - return Text('No Image'); - }, - )) + borderRadius: BorderRadius.circular(20.0), + child: Image.network( + patient.nationalityFlagURL, + height: 25, + width: 30, + errorBuilder: (BuildContext context, + Object exception, + StackTrace stackTrace) { + return Text('No Image'); + }, + )) : SizedBox() ], ) ], ), - Container( - child: RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: 1.6 * SizeConfig.textMultiplier, - color: Colors.black, - fontFamily: 'Poppins', - ), - children: [ - new TextSpan( - text: TranslationBase - .of(context) - .age + " : ", - style: TextStyle(fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),)), - new TextSpan( - text: - "${AppDateUtils.getAgeByBirthday( - patient.patientDetails != null - ? patient.patientDetails.dateofBirth ?? - "" - : patient.dateofBirth ?? "", context, - isServerFormat: !isFromLiveCare)}", - style: TextStyle( - fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - color: Color(0xFF2E303A),)), - ], - ), - ), + + HeaderRow( + label: TranslationBase.of(context).age + " : ", + value: + "${AppDateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth ?? "" : patient.dateofBirth ?? "", context, isServerFormat: !isFromLiveCare)}", ), - if ( patient.appointmentDate != null && patient.appointmentDate.isNotEmpty && !isFromLabResult) - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).appointmentDate + - " : ", - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, - color: Color(0xFF575757), - fontWeight: FontWeight.w600, - fontFamily: 'Poppins', - ), - SizedBox( - width: 3.5, - ), - AppText( - AppDateUtils - .getDayMonthYearDateFormatted( - AppDateUtils.convertStringToDate( - patient.appointmentDate)) - , - fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - color: Color(0xFF2E303A), - ), - SizedBox( - height: 0.5, - ) - ], + if (patient.appointmentDate != null && + patient.appointmentDate.isNotEmpty && + !isFromLabResult) + HeaderRow( + label: + TranslationBase.of(context).appointmentDate + " : ", + value: AppDateUtils.getDayMonthYearDateFormatted( + AppDateUtils.convertStringToDate( + patient.appointmentDate)), ), - if(isFromLabResult)Container( - child: RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: 1.6 * SizeConfig.textMultiplier, - color: Colors.black, - fontFamily: 'Poppins', - ), - children: [ - new TextSpan( - text: "Result Date: ", - style: TextStyle( fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, - color: Color(0xFF575757), - fontWeight: FontWeight.w600, - fontFamily: 'Poppins',)), - new TextSpan( - text: - '${AppDateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', - style: TextStyle( - fontWeight: FontWeight.w700, fontSize: 12)), - ], - ), + if (isFromLabResult) + HeaderRow( + label: "Result Date: ", + value: + '${AppDateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', ), - ), + // if(isInpatient) - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if(patient.admissionDate != null && patient.admissionDate.isNotEmpty) - Container( - child: RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757), - fontFamily: 'Poppins', - ), - children: [ - new TextSpan( - text: patient.admissionDate == null - ? "" - : TranslationBase.of(context) - .admissionDate + - " : ", - style: TextStyle(fontSize: 10)), - new TextSpan( - text: patient.admissionDate == null - ? "" - : "${AppDateUtils - .getDayMonthYearDateFormatted( - (AppDateUtils - .getDateTimeFromServerFormat( - patient.admissionDate - .toString())))}", - style: TextStyle( - fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - color: Color(0xFF2E303A),)), - ]))), - if (patient.admissionDate != null) - Row( - children: [ - AppText( - "${TranslationBase.of(context).numOfDays}: ", - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757) - ), - if(isDischargedPatient && - patient.dischargeDate != null) - AppText( - "${AppDateUtils - .getDateTimeFromServerFormat( - patient.dischargeDate) - .difference(AppDateUtils - .getDateTimeFromServerFormat( - patient.admissionDate)) - .inDays + 1}", - fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - color: Color(0xFF2E303A), - ) - else - AppText( - "${DateTime - .now() - .difference(AppDateUtils - .getDateTimeFromServerFormat( - patient.admissionDate)) - .inDays + 1}", - fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, - color: Color(0xFF2E303A),), - ], - ), - ], - ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (patient.admissionDate != null && + patient.admissionDate.isNotEmpty) + HeaderRow( + label: patient.admissionDate == null + ? "" + : TranslationBase.of(context).admissionDate + + " : ", + value: patient.admissionDate == null + ? "" + : "${AppDateUtils.getDayMonthYearDateFormatted((AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate.toString())))}", + ), + if (patient.admissionDate != null) + HeaderRow( + label: "${TranslationBase.of(context).numOfDays}: ", + value: isDischargedPatient && + patient.dischargeDate != null + ? "${AppDateUtils.getDateTimeFromServerFormat(patient.dischargeDate).difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}" + : "${DateTime.now().difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}", + ) + ], + ), ], ), ), ]), - if(isAppointmentHeader) + if (isAppointmentHeader) Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -409,10 +313,9 @@ class PatientProfileAppBar extends StatelessWidget decoration: BoxDecoration( shape: BoxShape.rectangle, border: Border( - bottom: BorderSide( - color: Colors.grey[400], width: 2.5), - left: BorderSide( - color: Colors.grey[400], width: 2.5), + bottom: + BorderSide(color: Colors.grey[400], width: 2.5), + left: BorderSide(color: Colors.grey[400], width: 2.5), )), ), Expanded( @@ -430,101 +333,123 @@ class PatientProfileAppBar extends StatelessWidget height: 25, margin: EdgeInsets.only(top: 10), ), - - Expanded( flex: 5, child: Container( margin: EdgeInsets.all(10), child: Column( - crossAxisAlignment: CrossAxisAlignment - .start, + crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - '${TranslationBase - .of(context) - .dr}$doctorName', + '${TranslationBase.of(context).dr}$doctorName', color: Color(0xFF2E303A), fontWeight: FontWeight.w700, - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3.5, ), - if (orderNo != null && - !isPrescriptions) + if (orderNo != null && !isPrescriptions) Row( children: [ - AppText('Order No: ', - - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(orderNo ?? '', - fontSize: 12) + AppText( + 'Order No: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(orderNo ?? '', fontSize: 12) ], ), - if (invoiceNO != null && - !isPrescriptions) + if (invoiceNO != null && !isPrescriptions) Row( children: [ - AppText('Invoice: ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(invoiceNO ?? "", - fontSize: 12) + AppText( + 'Invoice: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(invoiceNO ?? "", fontSize: 12) ], ), if (branch != null) Row( children: [ - AppText('Branch: ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(branch ?? '', - fontSize: 12) + AppText( + 'Branch: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(branch ?? '', fontSize: 12) ], ), - if (clinic != null) Row( children: [ - AppText('Clinic: ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(clinic ?? '', - fontSize: 12) + AppText( + 'Clinic: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(clinic ?? '', fontSize: 12) ], ), - if (isMedicalFile && - episode != null) + if (isMedicalFile && episode != null) Row( children: [ - AppText('Episode: ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(episode ?? '', - fontSize: 12) + AppText( + 'Episode: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(episode ?? '', fontSize: 12) ], ), - if (isMedicalFile && - visitDate != null) + if (isMedicalFile && visitDate != null) Row( children: [ - AppText('Visit Date: ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757),), - AppText(visitDate ?? '', - fontSize: 12) + AppText( + 'Visit Date: ', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), + ), + AppText(visitDate ?? '', fontSize: 12) ], ), if (!isMedicalFile) Row( - children: [ AppText( !isPrescriptions ? 'Result Date:' : 'Prescriptions Date ', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3, fontWeight: FontWeight.w600,color: Color(0xFF575757), + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3, + fontWeight: FontWeight.w600, + color: Color(0xFF575757), ), AppText( - '${AppDateUtils - .getDayMonthYearDateFormatted( - appointmentDate, - isArabic: projectViewModel - .isArabic)}', - fontSize: SizeConfig.getTextMultiplierBasedOnWidth() *3.5, + '${AppDateUtils.getDayMonthYearDateFormatted(appointmentDate, isArabic: projectViewModel.isArabic)}', + fontSize: SizeConfig + .getTextMultiplierBasedOnWidth() * + 3.5, ) ], ) @@ -542,9 +467,51 @@ class PatientProfileAppBar extends StatelessWidget ), ); } + @override - Size get preferredSize => - Size(double.maxFinite, height == 0 - ? isInpatient ? (isFromLabResult?200:190) : isAppointmentHeader ? 290 : SizeConfig.isHeightVeryShort?137:SizeConfig.isHeightShort?190: SizeConfig.heightMultiplier * (SizeConfig.isWidthLarge?25:20) + Size get preferredSize => Size( + double.maxFinite, + height == 0 + ? isInpatient + ? (isFromLabResult ? 200 : 190) + : isAppointmentHeader + ? 290 + : SizeConfig.isHeightVeryShort + ? 137 + : SizeConfig.isHeightShort + ? 190 + : SizeConfig.heightMultiplier * + (SizeConfig.isWidthLarge ? 25 : 20) : height); } + +class HeaderRow extends StatelessWidget { + final String label; + final String value; + + const HeaderRow({Key key, this.label, this.value}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + AppText( + label, + fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 3, + color: Color(0xFF575757), + fontWeight: FontWeight.w600, + ), + SizedBox( + width: 1, + ), + AppText( + value, + fontSize: SizeConfig.getTextMultiplierBasedOnWidth() * 3.5, + color: Color(0xFF2E303A), + fontWeight: FontWeight.w700, + isCopyable: true, + ), + ], + ); + } +} diff --git a/lib/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart b/lib/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart index 08cc26c5..7940fd61 100644 --- a/lib/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart +++ b/lib/widgets/patients/profile/patient-profile-header-new-design-app-bar.dart @@ -7,13 +7,15 @@ import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; import 'package:hexcolor/hexcolor.dart'; import 'package:intl/intl.dart'; import 'package:url_launcher/url_launcher.dart'; -class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with PreferredSizeWidget { +class PatientProfileHeaderNewDesignAppBar extends StatelessWidget + with PreferredSizeWidget { final PatiantInformtion patient; final String patientType; final String arrivalType; @@ -24,7 +26,8 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred final Stream videoCallDurationStream; - PatientProfileHeaderNewDesignAppBar(this.patient, this.patientType, this.arrivalType, + PatientProfileHeaderNewDesignAppBar( + this.patient, this.patientType, this.arrivalType, {this.height = 0.0, this.isInpatient = false, this.isDischargedPatient = false, @@ -69,8 +72,11 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred Expanded( child: AppText( patient.firstName != null - ? (Helpers.capitalize(patient.firstName) + " " + Helpers.capitalize(patient.lastName)) - : Helpers.capitalize(patient.fullName ?? patient.patientDetails.fullName), + ? (Helpers.capitalize(patient.firstName) + + " " + + Helpers.capitalize(patient.lastName)) + : Helpers.capitalize(patient.fullName ?? + patient.patientDetails.fullName), fontSize: SizeConfig.textMultiplier * 1.8, fontWeight: FontWeight.bold, fontFamily: 'Poppins', @@ -103,13 +109,17 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred ), StreamBuilder( stream: videoCallDurationStream, - builder: (BuildContext context, AsyncSnapshot snapshot) { + builder: + (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.hasData && snapshot.data != null) return InkWell( onTap: () {}, child: Container( - decoration: BoxDecoration(color: Colors.red, borderRadius: BorderRadius.circular(20)), - padding: EdgeInsets.symmetric(vertical: 2, horizontal: 10), + decoration: BoxDecoration( + color: Colors.red, + borderRadius: BorderRadius.circular(20)), + padding: + EdgeInsets.symmetric(vertical: 2, horizontal: 10), child: Text( snapshot.data, style: TextStyle(color: Colors.white), @@ -129,7 +139,9 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred width: 60, height: 60, child: Image.asset( - gender == 1 ? 'assets/images/male_avatar.png' : 'assets/images/female_avatar.png', + gender == 1 + ? 'assets/images/male_avatar.png' + : 'assets/images/female_avatar.png', fit: BoxFit.cover, ), ), @@ -141,7 +153,8 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - SERVICES_PATIANT2[int.parse(patientType)] == "patientArrivalList" + SERVICES_PATIANT2[int.parse(patientType)] == + "patientArrivalList" ? Container( child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -163,14 +176,18 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred ), arrivalType == '1' || patient.arrivedOn == null ? AppText( - patient.startTime != null ? patient.startTime : '', + patient.startTime != null + ? patient.startTime + : '', fontFamily: 'Poppins', fontWeight: FontWeight.w600, ) : AppText( patient.arrivedOn != null - ? AppDateUtils.convertStringToDateFormat( - patient.arrivedOn, 'MM-dd-yyyy HH:mm') + ? AppDateUtils + .convertStringToDateFormat( + patient.arrivedOn, + 'MM-dd-yyyy HH:mm') : '', fontFamily: 'Poppins', fontWeight: FontWeight.w600, @@ -178,13 +195,16 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred ], )) : SizedBox(), - if (SERVICES_PATIANT2[int.parse(patientType)] == "List_MyOutPatient" && !isFromLiveCare) + if (SERVICES_PATIANT2[int.parse(patientType)] == + "List_MyOutPatient" && + !isFromLiveCare) Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ AppText( - TranslationBase.of(context).appointmentDate + " : ", + TranslationBase.of(context).appointmentDate + + " : ", fontSize: 14, ), patient.startTime != null @@ -209,7 +229,8 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred ), Container( child: AppText( - convertDateFormat2(patient.appointmentDate ?? ''), + convertDateFormat2( + patient.appointmentDate ?? ''), fontSize: 1.5 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), @@ -226,23 +247,17 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - RichText( - text: TextSpan( - style: TextStyle(fontSize: 1.6 * SizeConfig.textMultiplier, color: Colors.black), - children: [ - new TextSpan( - text: TranslationBase.of(context).fileNumber, - style: TextStyle(fontSize: 12, fontFamily: 'Poppins')), - new TextSpan( - text: patient.patientId.toString(), - style: TextStyle(fontWeight: FontWeight.w700, fontFamily: 'Poppins', fontSize: 14)), - ], - ), + HeaderRow( + label: TranslationBase.of(context).fileNumber, + value: patient.patientId.toString(), ), Row( children: [ AppText( - patient.nationalityName ?? patient.nationality ?? patient.nationalityId ?? '', + patient.nationalityName ?? + patient.nationality ?? + patient.nationalityId ?? + '', fontWeight: FontWeight.bold, fontSize: 12, ), @@ -253,7 +268,9 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred patient.nationalityFlagURL, height: 25, width: 30, - errorBuilder: (BuildContext context, Object exception, StackTrace stackTrace) { + errorBuilder: (BuildContext context, + Object exception, + StackTrace stackTrace) { return Text('No Image'); }, )) @@ -262,67 +279,31 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred ) ], ), - Container( - child: RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: 1.6 * SizeConfig.textMultiplier, - color: Colors.black, - fontFamily: 'Poppins', - ), - children: [ - new TextSpan(text: TranslationBase.of(context).age + " : ", style: TextStyle(fontSize: 14)), - new TextSpan( - text: - "${AppDateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth ?? "" : patient.dateofBirth ?? "", context, isServerFormat: !isFromLiveCare)}", - style: TextStyle(fontWeight: FontWeight.w700, fontSize: 14)), - ], - ), - ), + HeaderRow( + label: TranslationBase.of(context).age + " : ", + value: + "${AppDateUtils.getAgeByBirthday(patient.patientDetails != null ? patient.patientDetails.dateofBirth ?? "" : patient.dateofBirth ?? "", context, isServerFormat: !isFromLiveCare)}", ), if (isInpatient) Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - child: RichText( - text: new TextSpan( - style: new TextStyle( - fontSize: 2.0 * SizeConfig.textMultiplier, - color: Colors.black, - fontFamily: 'Poppins', - ), - children: [ - new TextSpan( - text: patient.admissionDate == null - ? "" - : TranslationBase.of(context).admissionDate + " : ", - style: TextStyle(fontSize: 14)), - new TextSpan( - text: patient.admissionDate == null - ? "" - : "${AppDateUtils.convertDateFromServerFormat(patient.admissionDate.toString(), 'yyyy-MM-dd')}", - style: TextStyle(fontWeight: FontWeight.w700, fontSize: 15)), - ]))), + HeaderRow( + label: patient.admissionDate == null + ? "" + : TranslationBase.of(context).admissionDate + + " : ", + value: patient.admissionDate == null + ? "" + : "${AppDateUtils.convertDateFromServerFormat(patient.admissionDate.toString(), 'yyyy-MM-dd')}"), if (patient.admissionDate != null) - Row( - children: [ - AppText( - "${TranslationBase.of(context).numOfDays}: ", - fontSize: 15, - ), - if (isDischargedPatient && patient.dischargeDate != null) - AppText( - "${AppDateUtils.getDateTimeFromServerFormat(patient.dischargeDate).difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}", - fontSize: 15, - fontWeight: FontWeight.w700) - else - AppText( - "${DateTime.now().difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}", - fontSize: 15, - fontWeight: FontWeight.w700), - ], - ), + HeaderRow( + label: "${TranslationBase.of(context).numOfDays}: ", + value: isDischargedPatient && + patient.dischargeDate != null + ? "${AppDateUtils.getDateTimeFromServerFormat(patient.dischargeDate).difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}" + : "${DateTime.now().difference(AppDateUtils.getDateTimeFromServerFormat(patient.admissionDate)).inDays + 1}", + ) ], ) ], @@ -344,7 +325,8 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred final startIndex = str.indexOf(start); final endIndex = str.indexOf(end, startIndex + start.length); - var date = new DateTime.fromMillisecondsSinceEpoch(int.parse(str.substring(startIndex + start.length, endIndex))); + var date = new DateTime.fromMillisecondsSinceEpoch( + int.parse(str.substring(startIndex + start.length, endIndex))); newDate = date.year.toString() + "/" + date.month.toString().padLeft(2, '0') + @@ -357,7 +339,8 @@ class PatientProfileHeaderNewDesignAppBar extends StatelessWidget with Preferred isToday(date) { DateTime tempDate = new DateFormat("yyyy-MM-dd").parse(date); - return DateFormat("yyyy-MM-dd").format(tempDate) == DateFormat("yyyy-MM-dd").format(DateTime.now()); + return DateFormat("yyyy-MM-dd").format(tempDate) == + DateFormat("yyyy-MM-dd").format(DateTime.now()); } myBoxDecoration() {