diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index ea99a982..c46fb2c3 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -870,4 +870,6 @@ const Map> localizedValues = { }, "showDetail": {"en": "Show Detail", "ar": "أظهر المعلومات"}, "viewProfile": {"en": "View Profile", "ar": "إعرض الملف"}, + "severe": {"en": "Severe", "ar": "الشدة"}, + "graphDetails": {"en": "Graph Details", "ar": "تفاصيل الرسم البياني"}, }; diff --git a/lib/core/service/patient-admission-request-service.dart b/lib/core/service/patient-admission-request-service.dart index bdbf125e..c97f8426 100644 --- a/lib/core/service/patient-admission-request-service.dart +++ b/lib/core/service/patient-admission-request-service.dart @@ -163,7 +163,7 @@ class AdmissionRequestService extends LookupService { hasError = false; Map body = Map(); - body['patientMRN'] = patientMrn; + body['PatientMRN'] = patientMrn; await baseAppClient.post( GET_DIET_TYPES, diff --git a/lib/core/viewModel/patient-vital-sign-viewmodel.dart b/lib/core/viewModel/patient-vital-sign-viewmodel.dart index cd02f538..59b13fe8 100644 --- a/lib/core/viewModel/patient-vital-sign-viewmodel.dart +++ b/lib/core/viewModel/patient-vital-sign-viewmodel.dart @@ -23,7 +23,7 @@ class VitalSignsViewModel extends BaseViewModel { String hartRat = "0"; String respirationBeatPerMinute = "0"; String bloodPressure = "0 / 0"; - String oxygenation = "0 - 0"; + String oxygenation = "0"; String painScore = "-"; String painLocation = "-"; String painCharacter = "-"; @@ -93,11 +93,11 @@ class VitalSignsViewModel extends BaseViewModel { bloodPressure == 'null') { bloodPressure = element.bloodPressure.toString(); } - if (oxygenation == "0 - 0" || + if (oxygenation == "0" || oxygenation == null || oxygenation == 'null') { oxygenation = - "${element.sAO2.toString()} - ${element.fIO2.toString()}"; + "${element.sAO2.toString()}";/* - ${element.fIO2.toString()}*/ } if (painScore == null || painScore == "-") { painScore = element.painScore.toString() != 'null' diff --git a/lib/screens/patients/profile/lab_result/lab_result_chart_and_detials.dart b/lib/screens/patients/profile/lab_result/lab_result_chart_and_detials.dart index b6699b22..6026c9e9 100644 --- a/lib/screens/patients/profile/lab_result/lab_result_chart_and_detials.dart +++ b/lib/screens/patients/profile/lab_result/lab_result_chart_and_detials.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/core/model/labs/LabOrderResult.dart'; +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:flutter/material.dart'; @@ -45,7 +46,7 @@ class LabResultChartAndDetails extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - "Graph Details", + TranslationBase.of(context).graphDetails, fontSize: SizeConfig.textMultiplier * 2.1, fontWeight: FontWeight.bold, fontFamily: 'Poppins', diff --git a/lib/screens/patients/profile/patient_profile_screen.dart b/lib/screens/patients/profile/patient_profile_screen.dart index bae49ef9..eafcd0d6 100644 --- a/lib/screens/patients/profile/patient_profile_screen.dart +++ b/lib/screens/patients/profile/patient_profile_screen.dart @@ -431,7 +431,7 @@ class _PatientProfileScreenState extends State NeverScrollableScrollPhysics(), crossAxisSpacing: 10, mainAxisSpacing: 10, - childAspectRatio: 1 / 1.0, + childAspectRatio: 1 / 1.01, crossAxisCount: 3, children: [ PatientProfileButton( diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart index 0b41e0a2..a6f36784 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart @@ -57,15 +57,15 @@ class VitalSignDetailsScreen extends StatelessWidget { children: [ AppText( "${patient.firstName ?? patient.patientDetails.firstName}'s", - fontFamily: 'Poppins', fontSize: SizeConfig.textMultiplier * 1.6, - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w700, + color: Color(0xFF2E303A), ), AppText( TranslationBase.of(context).vitalSign, - fontFamily: 'Poppins', fontSize: SizeConfig.textMultiplier * 3, fontWeight: FontWeight.bold, + color: Color(0xFF2E303A), ) ], ), @@ -90,7 +90,7 @@ class VitalSignDetailsScreen extends StatelessWidget { children: [ AppText( "${TranslationBase.of(context).yourBodyMassIndex} ${mode.bodyMax}", - fontFamily: 'Poppins', + color: Color(0xFF2E303A), fontSize: SizeConfig.textMultiplier * 2.0, fontWeight: FontWeight.w700, ), @@ -544,8 +544,8 @@ class VitalSignDetailsScreen extends StatelessWidget { .oxygenation, imagePath: "${assetBasePath}oxg.png", - lastVal: mode.oxygenation, - unit: "%", + lastVal: "${mode.oxygenation}%", + unit: "", ), ), InkWell( @@ -576,198 +576,11 @@ class VitalSignDetailsScreen extends StatelessWidget { imagePath: "${assetBasePath}painScale.png", lastVal: mode.painScore, - unit: "", + unit: TranslationBase.of(context).severe, ), ), ], ), - /*RoundedContainer( - width: MediaQuery.of(context).size.width / 2, - margin: EdgeInsets.symmetric( - horizontal: 0.0, vertical: 16), - child: Container( - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Container( - padding: EdgeInsets.only(top: 8), - child: Row( - crossAxisAlignment: - CrossAxisAlignment.start, - mainAxisAlignment: - MainAxisAlignment - .spaceBetween, - children: [ - Expanded( - child: Container( - child: Column( - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Row( - children: [ - AppText( - "${TranslationBase.of(context).painScale}", - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.painScore}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - Row( - children: [ - AppText( - "Location", - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.painLocation}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - Row( - children: [ - AppText( - "Character", - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.painCharacter}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - Row( - children: [ - AppText( - "Duration", - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.painDuration}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - Row( - children: [ - AppText( - TranslationBase.of(context).painManagement, - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.isPainDone}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - Row( - children: [ - AppText( - TranslationBase.of(context).frequency, - fontSize: SizeConfig.textMultiplier * 1.5, - color: Colors.black, - fontWeight: FontWeight.w700, - ), - SizedBox( - width: 8, - ), - AppText( - "${mode.painFrequency}", - fontSize: SizeConfig.textMultiplier * 1.3, - color: Colors.grey.shade700, - fontWeight: FontWeight.normal, - ), - ], - ), - ], - ), - ), - ), - Container( - child: Image.asset( - "${assetBasePath}painScale.png", - width: 40, - height: 40, - )) - ], - ), - ), - Container( - child: Column( - children: [ - Align( - alignment: - Alignment.topRight, - child: Icon( - EvaIcons.eye, - ), - ), - Align( - alignment: - Alignment.topLeft, - child: Container( - margin: EdgeInsets.only( - left: 5, right: 5), - child: AppText( - "${TranslationBase.of(context).painScale}", - fontFamily: 'Poppins', - fontSize: SizeConfig - .textMultiplier * - 1.3, - fontWeight: - FontWeight.bold, - ), - ), - ), - ], - ), - ), - ], - ), - ), - ),*/ ], ), ), diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart index fbea0452..20d5b439 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart @@ -52,6 +52,7 @@ class VitalSignItem extends StatelessWidget { fontFamily: 'Poppins', fontSize: SizeConfig.textMultiplier * 1.4, fontWeight: FontWeight.bold, + color: Color(0xFF2E303A), margin: 0, ), Expanded( @@ -62,7 +63,7 @@ class VitalSignItem extends StatelessWidget { fontFamily: 'Poppins', fontSize: SizeConfig.textMultiplier * 1.2, fontWeight: FontWeight.w700, - color: Color(0xFFB8382C), + color: Color(0xFFD02127), margin: 0, ), ], @@ -98,7 +99,7 @@ class VitalSignItem extends StatelessWidget { margin: EdgeInsets.only(left: 5, right: 5), child: AppText( "$des", - fontFamily: 'Poppins', + color: Color(0xFF2E303A), fontSize: SizeConfig.textMultiplier * 1.3, fontWeight: FontWeight.bold, ), diff --git a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart index f59f6c23..2d4abec8 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sing_chart_and_detials.dart @@ -58,7 +58,7 @@ class VitalSingChartAndDetials extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - "Graph Details", + TranslationBase.of(context).graphDetails, fontSize: SizeConfig.textMultiplier * 2.1, fontWeight: FontWeight.bold, diff --git a/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart b/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart index 27256525..0ac2f18b 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sing_chart_blood_pressure.dart @@ -63,7 +63,7 @@ class VitalSingChartBloodPressure extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ AppText( - "Graph Details", + TranslationBase.of(context).graphDetails, fontSize: SizeConfig.textMultiplier * 2.3, fontWeight: FontWeight.bold, fontFamily: 'Poppins', diff --git a/lib/util/translations_delegate_base.dart b/lib/util/translations_delegate_base.dart index 6602722c..56c2f710 100644 --- a/lib/util/translations_delegate_base.dart +++ b/lib/util/translations_delegate_base.dart @@ -1247,6 +1247,8 @@ class TranslationBase { String get acknowledged => localizedValues['acknowledged'][locale.languageCode]; String get didntCatch => localizedValues["didntCatch"][locale.languageCode]; + String get severe => localizedValues["severe"][locale.languageCode]; + String get graphDetails => localizedValues["graphDetails"][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/lib/widgets/patients/profile/PatientProfileButton.dart b/lib/widgets/patients/profile/PatientProfileButton.dart index 66d33fe7..9a027e36 100644 --- a/lib/widgets/patients/profile/PatientProfileButton.dart +++ b/lib/widgets/patients/profile/PatientProfileButton.dart @@ -1,9 +1,11 @@ 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/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class PatientProfileButton extends StatelessWidget { final String nameLine1; @@ -42,6 +44,8 @@ class PatientProfileButton extends StatelessWidget { @override Widget build(BuildContext context) { + ProjectViewModel projectsProvider = Provider.of(context); + return new Container( margin: new EdgeInsets.symmetric(horizontal: 4.0), padding: EdgeInsets.fromLTRB(10, 10, 10, 5), @@ -63,11 +67,11 @@ class PatientProfileButton extends StatelessWidget { url + icon, width: 50, height: 50, - )) + ),) ], )), Container( - alignment: Alignment.topLeft, + alignment: projectsProvider.isArabic ? Alignment.topRight : Alignment.topLeft, padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/lib/widgets/shared/app_expandable_notifier.dart b/lib/widgets/shared/app_expandable_notifier.dart index 5e934167..76a7f57e 100644 --- a/lib/widgets/shared/app_expandable_notifier.dart +++ b/lib/widgets/shared/app_expandable_notifier.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:expandable/expandable.dart'; import 'package:flutter/material.dart'; @@ -30,7 +31,7 @@ class AppExpandableNotifier extends StatelessWidget { header: Padding( padding: EdgeInsets.all(10), child: Text( - "See Graph Details", + "${TranslationBase.of(context).graphDetails}", style: TextStyle(fontWeight: FontWeight.bold), )), collapsed: Text(''), diff --git a/lib/widgets/shared/buttons/app_buttons_widget.dart b/lib/widgets/shared/buttons/app_buttons_widget.dart index eab11a57..e63acba2 100644 --- a/lib/widgets/shared/buttons/app_buttons_widget.dart +++ b/lib/widgets/shared/buttons/app_buttons_widget.dart @@ -48,71 +48,74 @@ class AppButton extends StatefulWidget { class _AppButtonState extends State { @override Widget build(BuildContext context) { - return IgnorePointer( - ignoring: widget.loading ||widget.disabled, - child: RawMaterialButton( - fillColor: widget.disabled - ? Colors.grey : widget.color != null ? widget.color : HexColor("#B8382C"), - splashColor: widget.color, - child: Padding( - padding: (widget.hPadding > 0 || widget.vPadding > 0) - ? EdgeInsets.symmetric( - vertical: widget.vPadding, horizontal: widget.hPadding) - : EdgeInsets.only( - top: widget.padding, - bottom: widget.padding, - //right: SizeConfig.widthMultiplier * widget.padding, - //left: SizeConfig.widthMultiplier * widget.padding - ), - child: Row( - mainAxisSize: MainAxisSize.max, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (widget.icon != null) - Container(width: 25, height: 25, child: widget.icon), - if (widget.iconData != null) - Icon( - widget.iconData, - color: Colors.white, - ), - if (widget.icon != null || widget.iconData != null) - SizedBox( - width: 5.0, - ), - widget.loading - ? Padding( - padding: EdgeInsets.all(2.6), - child: SizedBox( - height: 19.0, - width: 19.0, - child: CircularProgressIndicator( - backgroundColor: Colors.white, - valueColor: AlwaysStoppedAnimation( - Colors.grey[300], + return Container( + height: MediaQuery.of(context).size.height * 0.075, + child: IgnorePointer( + ignoring: widget.loading ||widget.disabled, + child: RawMaterialButton( + fillColor: widget.disabled + ? Colors.grey : widget.color != null ? widget.color : HexColor("#B8382C"), + splashColor: widget.color, + child: Padding( + padding: (widget.hPadding > 0 || widget.vPadding > 0) + ? EdgeInsets.symmetric( + vertical: widget.vPadding, horizontal: widget.hPadding) + : EdgeInsets.only( + top: widget.padding, + bottom: widget.padding, + //right: SizeConfig.widthMultiplier * widget.padding, + //left: SizeConfig.widthMultiplier * widget.padding + ), + child: Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (widget.icon != null) + Container(width: 25, height: 25, child: widget.icon), + if (widget.iconData != null) + Icon( + widget.iconData, + color: Colors.white, + ), + if (widget.icon != null || widget.iconData != null) + SizedBox( + width: 5.0, + ), + widget.loading + ? Padding( + padding: EdgeInsets.all(2.6), + child: SizedBox( + height: 19.0, + width: 19.0, + child: CircularProgressIndicator( + backgroundColor: Colors.white, + valueColor: AlwaysStoppedAnimation( + Colors.grey[300], + ), ), ), + ) + : Container( + child: AppText( + widget.title, + color: widget.fontColor, + fontSize: SizeConfig.textMultiplier * widget.fontSize, + fontWeight: widget.fontWeight, + ), ), - ) - : Container( - child: AppText( - widget.title, - color: widget.fontColor, - fontSize: SizeConfig.textMultiplier * widget.fontSize, - fontWeight: widget.fontWeight, - ), - ), - ], + ], + ), ), + onPressed: widget.disabled ? (){} : widget.onPressed, + shape: RoundedRectangleBorder( + side: BorderSide( + color: + widget.hasBorder ? widget.borderColor : widget.disabled + ? Colors.grey : widget.color ?? Color(0xFFB8382C), + width: 0.8, + ), + borderRadius: BorderRadius.all(Radius.circular(widget.radius))), ), - onPressed: widget.disabled ? (){} : widget.onPressed, - shape: RoundedRectangleBorder( - side: BorderSide( - color: - widget.hasBorder ? widget.borderColor : widget.disabled - ? Colors.grey : widget.color ?? Color(0xFFB8382C), - width: 0.8, - ), - borderRadius: BorderRadius.all(Radius.circular(widget.radius))), ), ); } diff --git a/lib/widgets/shared/buttons/button_bottom_sheet.dart b/lib/widgets/shared/buttons/button_bottom_sheet.dart index 224907d9..9db662d2 100644 --- a/lib/widgets/shared/buttons/button_bottom_sheet.dart +++ b/lib/widgets/shared/buttons/button_bottom_sheet.dart @@ -4,20 +4,61 @@ import 'app_buttons_widget.dart'; class ButtonBottomSheet extends StatelessWidget { - final double height; - final String buttonTitle; - final Function onPressed; + final GestureTapCallback onPressed; + final String title; + final IconData iconData; + final Widget icon; + final Color color; + final double fontSize; + final double padding; + final Color fontColor; + final bool loading; + final bool disabled; + final FontWeight fontWeight; + final bool hasBorder; + final Color borderColor; + final double radius; + final double vPadding; + final double hPadding; - ButtonBottomSheet({@required this.height, @required this.buttonTitle, @required this.onPressed}); + ButtonBottomSheet({@required this.onPressed, + this.title, + this.iconData, + this.icon, + this.color, + this.fontSize = 2, + this.padding = 13, + this.loading = false, + this.disabled = false, + this.fontColor = Colors.white, + this.fontWeight = FontWeight.normal, + this.vPadding = 0, + this.hPadding = 0, + this.radius = 8.0, + this.hasBorder = false, + this.borderColor,}); @override Widget build(BuildContext context) { return Container( - height: height ?? null, margin: EdgeInsets.symmetric(horizontal: 16, vertical: 16), child: AppButton( - title: buttonTitle, + title: title, onPressed: onPressed, + fontWeight: fontWeight, + color: color, + fontSize: fontSize, + padding: padding, + disabled: disabled, + radius: radius, + hasBorder: hasBorder, + fontColor: fontColor, + icon: icon, + iconData: iconData, + hPadding: hPadding, + vPadding: vPadding, + borderColor: borderColor, + loading: loading, ), ); }