From f74a3301da1705781aa99eb9f522d8e43eced457 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Thu, 27 Feb 2025 16:41:09 +0300 Subject: [PATCH] SAR new symbol integrated --- assets/fonts/sar-Regular.otf | Bin 0 -> 1760 bytes assets/fonts/saudi_riyal.eot | Bin 0 -> 2068 bytes assets/fonts/saudi_riyal.ttf | Bin 0 -> 1888 bytes assets/fonts/saudi_riyal.woff | Bin 0 -> 1968 bytes assets/fonts/saudi_riyal.woff2 | Bin 0 -> 760 bytes lib/config/config.dart | 6 +- lib/config/localized_values.dart | 1 + lib/core/service/client/base_app_client.dart | 2 +- .../ancillaryOrdersDetails.dart | 77 +++--- lib/pages/BookAppointment/BookSuccess.dart | 30 ++- .../BillAmount.dart | 9 +- .../PickupLocation.dart | 13 +- .../SelectTransportationMethod.dart | 33 ++- .../AmbulanceRequestIndexPages/Summary.dart | 16 +- .../EROnlineCheckInPaymentDetails.dart | 11 +- .../rapid-response-team/rrt-request-page.dart | 64 +++-- .../inpatient_pending_advance_payment.dart | 21 +- .../livecare/live_care_payment_page.dart | 93 ++++++-- .../medical/balance/confirm_payment_page.dart | 67 +++--- .../medical/balance/my_balance_page.dart | 64 +++-- .../my_invoices/invoice_detail_page.dart | 12 +- lib/uitl/translations_delegate_base.dart | 225 +++++++++++++++++- lib/uitl/utils.dart | 44 +++- pubspec.yaml | 7 +- 24 files changed, 608 insertions(+), 187 deletions(-) create mode 100644 assets/fonts/sar-Regular.otf create mode 100644 assets/fonts/saudi_riyal.eot create mode 100644 assets/fonts/saudi_riyal.ttf create mode 100644 assets/fonts/saudi_riyal.woff create mode 100644 assets/fonts/saudi_riyal.woff2 diff --git a/assets/fonts/sar-Regular.otf b/assets/fonts/sar-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..e906f6545359367c1c84c1e014576da536e63b16 GIT binary patch literal 1760 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/saudi_riyal.woff2 b/assets/fonts/saudi_riyal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f80724774e4284b186080cd9b1497e7d51975212 GIT binary patch literal 760 zcmV4EC)p!V+IiwoZrZP9>&gy zDS0+N1fwV4#g(a!)_w$EcF%vGnZ5e}MgS2CUtr~8B*#J_{`*g-K8xsqWG(ERU_WDC z?lL>PCKaneb44Y7;+p!24OES9@6yuXd=OfQH_5 zdOlcM{lFtl;KeuG5GPMY#C)p(;Qm9dz27Ny9B$Ild|~wuJ(j=KwGTQbW6azqK4}*% zmNaj_H+hh0)-|(hN+q59y*5 z9{S2}S~WchHsb{)2_>47t8f6PaBse;jcLAn|W0i6ljqqbS$&cUzdsUQrr`kyTcqVE_PLrcRIm literal 0 HcmV?d00001 diff --git a/lib/config/config.dart b/lib/config/config.dart index f60b7762..d5c4e413 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -21,13 +21,13 @@ var PACKAGES_ORDERS = '/api/orders'; var PACKAGES_ORDER_HISTORY = '/api/orders/items'; var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara'; // var BASE_URL = 'http://10.50.100.198:2018/'; - // var BASE_URL = 'https://uat.hmgwebservices.com/'; + var BASE_URL = 'https://uat.hmgwebservices.com/'; // var BASE_URL = 'https://hmgwebservices.com/'; // var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/'; -var BASE_URL = 'https://webservices.hmg.com/'; +// var BASE_URL = 'https://webservices.hmg.com/'; // var BASE_URL = 'http://10.50.100.198:4422/'; @@ -353,7 +353,7 @@ var CAN_PAY_FOR_FOR_WALKIN_APPOINTMENT = 'Services/Doctors.svc/REST/CanPayForWal var CHANNEL = 3; var GENERAL_ID = 'Cs2020@2016\$2958'; var IP_ADDRESS = '10.20.10.20'; -var VERSION_ID = 17.4; +var VERSION_ID = 17.5; var SETUP_ID = '91877'; var LANGUAGE = 2; // var PATIENT_OUT_SA = 0; diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 7bfb0397..8dd0eb47 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -586,6 +586,7 @@ const Map localizedValues = { "items": {"en": "item(s)", "ar": "عنصر"}, "checkOut": {"en": "CHECK OUT", "ar": "الدفع"}, "sar": {"en": "SAR", "ar": " ر.س "}, + // "sar": {"en": "", "ar": " "}, "aed": {"en": "AED", "ar": "درهم"}, "payOnline": {"en": "PAY ONLINE", "ar": "اتمام عملية الدفع "}, "cancelOrder": {"en": "CANCEL ORDER", "ar": "الغاء الطلب "}, diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart index 8faf93bd..9097d2fd 100644 --- a/lib/core/service/client/base_app_client.dart +++ b/lib/core/service/client/base_app_client.dart @@ -187,7 +187,7 @@ class BaseAppClient { // body['IdentificationNo'] = 1023854217; // body['MobileNo'] = "531940021"; //0560717232 - // body['PatientID'] = 5185584; //4609100 + // body['PatientID'] = 4769527; //4609100 // body['TokenID'] = "@dm!n"; // Patient ID: 3027574 diff --git a/lib/pages/AlHabibMedicalService/ancillary-orders/ancillaryOrdersDetails.dart b/lib/pages/AlHabibMedicalService/ancillary-orders/ancillaryOrdersDetails.dart index 33a7cbd6..02f8ebe7 100644 --- a/lib/pages/AlHabibMedicalService/ancillary-orders/ancillaryOrdersDetails.dart +++ b/lib/pages/AlHabibMedicalService/ancillary-orders/ancillaryOrdersDetails.dart @@ -30,6 +30,7 @@ import 'package:diplomaticquarterapp/widgets/dragable_sheet.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; class AnicllaryOrdersDetails extends StatefulWidget { @@ -151,7 +152,8 @@ class _AnicllaryOrdersState extends State with SingleTic width: MediaQuery.of(context).size.width * 0.75, child: getPaymentMethods(), ), - _amountView(TranslationBase.of(context).patientShareTotalToDo, getTotalValue() + " " + TranslationBase.of(context).sar, isBold: true, isTotal: true), + _amountView(TranslationBase.of(context).patientShareTotalToDo, getTotalValue(), isBold: true, isTotal: true), + // _amountView(TranslationBase.of(context).patientShareTotalToDo, getTotalValue(), isBold: true, isTotal: true), SizedBox(height: 12), DefaultButton( TranslationBase.of(context).payNow.toUpperCase(), @@ -177,15 +179,14 @@ class _AnicllaryOrdersState extends State with SingleTic return Text( text, style: TextStyle( - fontSize: isBold - ? isTotal - ? 16 - : 12 - : 11, - letterSpacing: -0.5, - color: isBold ? Color(0xff2E303A) : Color(0xff575757), - fontWeight: isTotal ? FontWeight.bold : FontWeight.w600, - ), + fontSize: isBold + ? isTotal + ? 16 + : 12 + : 11, + letterSpacing: -0.5, + color: isBold ? Color(0xff2E303A) : Color(0xff575757), + fontWeight: isTotal ? FontWeight.bold : FontWeight.w600), ); } @@ -197,7 +198,13 @@ class _AnicllaryOrdersState extends State with SingleTic child: _getNormalText(title), ), Expanded( - child: _getNormalText(value, isBold: isBold, isTotal: isTotal), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + _getNormalText(value, isBold: isBold, isTotal: isTotal), + ], + ), ), ]), ); @@ -572,9 +579,9 @@ class _AnicllaryOrdersState extends State with SingleTic }); }), Utils.tableColumnValue('${value.procedureName}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), - Utils.tableColumnValue('${value.patientShare.toString() + " " + TranslationBase.of(context).sar.toUpperCase()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), - Utils.tableColumnValue('${value.patientTaxAmount.toString() + " " + TranslationBase.of(context).sar.toUpperCase()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), - Utils.tableColumnValue('${value.patientShareWithTax.toString() + " " + TranslationBase.of(context).sar.toUpperCase()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), + Utils.tableColumnValue('${value.patientShare.toString()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), + Utils.tableColumnValue('${value.patientTaxAmount.toString()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), + Utils.tableColumnValue('${value.patientShareWithTax.toString()}', isLast: true, isCapitable: false, mProjectViewModel: projectViewModel), ]), ); return tableRow; @@ -660,27 +667,27 @@ class _AnicllaryOrdersState extends State with SingleTic service.applePayInsertRequest(applePayInsertRequest, context).then((res) async { if (res["MessageStatus"] == 1) { await context.read().initiateApplePayWithPayfort( - customerName: projectViewModel.user.firstName! + " " + projectViewModel.user.lastName!, - // customerEmail: projectViewModel.authenticatedUserObject.user.emailAddress, - customerEmail: "CustID_${projectViewModel.user.patientID}@HMG.com", - orderDescription: "Ancillary Order Payment", - orderAmount: double.parse(getTotalValue()), - merchantReference: transID, - payfortProjectDetailsRespModel: payfortProjectDetailsRespModel, - currency: projectViewModel.user.outSA == 1 ? "AED" : "SAR", - onFailed: (failureResult) async { - GifLoaderDialogUtils.hideDialog(context); - log("failureResult: ${failureResult.message.toString()}"); - AppToast.showErrorToast(message: failureResult.message.toString()); - }, - onSuccess: (successResult) async { - log("Payfort: ${successResult.responseMessage}"); - await context.read().addPayfortApplePayResponse(projectViewModel.user.patientID!, result: successResult); - checkPaymentStatus(AppoitmentAllHistoryResultList()); - }, - projectId: widget.projectID, - serviceTypeEnum: ServiceTypeEnum.ancillaryOrder, - ); + customerName: projectViewModel.user.firstName! + " " + projectViewModel.user.lastName!, + // customerEmail: projectViewModel.authenticatedUserObject.user.emailAddress, + customerEmail: "CustID_${projectViewModel.user.patientID}@HMG.com", + orderDescription: "Ancillary Order Payment", + orderAmount: double.parse(getTotalValue()), + merchantReference: transID, + payfortProjectDetailsRespModel: payfortProjectDetailsRespModel, + currency: projectViewModel.user.outSA == 1 ? "AED" : "SAR", + onFailed: (failureResult) async { + GifLoaderDialogUtils.hideDialog(context); + log("failureResult: ${failureResult.message.toString()}"); + AppToast.showErrorToast(message: failureResult.message.toString()); + }, + onSuccess: (successResult) async { + log("Payfort: ${successResult.responseMessage}"); + await context.read().addPayfortApplePayResponse(projectViewModel.user.patientID!, result: successResult); + checkPaymentStatus(AppoitmentAllHistoryResultList()); + }, + projectId: widget.projectID, + serviceTypeEnum: ServiceTypeEnum.ancillaryOrder, + ); } else { GifLoaderDialogUtils.hideDialog(context); AppToast.showErrorToast(message: "An error occurred while processing your request"); diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart index f4df725b..6bdc612c 100644 --- a/lib/pages/BookAppointment/BookSuccess.dart +++ b/lib/pages/BookAppointment/BookSuccess.dart @@ -31,6 +31,7 @@ import 'package:diplomaticquarterapp/widgets/new_design/doctor_header.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import '../../config/shared_pref_kay.dart'; @@ -41,6 +42,7 @@ class BookSuccess extends StatefulWidget { DoctorList docObject; late MyInAppBrowser browser; + // final ChromeSafariBrowser chromeBrowser = new MyChromeSafariBrowser(new MyInAppBrowser()); String appoDateFormatted; @@ -123,8 +125,8 @@ class _BookSuccessState extends State { ), TableRow( children: [ - TableCell(child: _getHeadingText("SR " + widget.patientShareResponse.patientShare.toString())), - TableCell(child: _getHeadingText("SR " + widget.patientShareResponse.patientShareWithTax.toString())), + TableCell(child: _getHeadingText(widget.patientShareResponse.patientShare.toString())), + TableCell(child: _getHeadingText(widget.patientShareResponse.patientShareWithTax.toString())), ], ), ], @@ -1094,15 +1096,21 @@ class _BookSuccessState extends State { _getHeadingText(text) { return Container( padding: EdgeInsets.only(bottom: 10.0, left: 20, right: 20), - child: Text( - text, - textAlign: TextAlign.start, - style: TextStyle( - fontSize: 16.0, - letterSpacing: -0.64, - color: Colors.white, - fontWeight: FontWeight.w600, - ), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16, color: Colors.white), + mWidth(6), + Text( + text, + textAlign: TextAlign.start, + style: TextStyle( + fontSize: 16.0, + letterSpacing: -0.64, + color: Colors.white, + fontWeight: FontWeight.w600, + ), + ), + ], ), ); } diff --git a/lib/pages/ErService/AmbulanceRequestIndexPages/BillAmount.dart b/lib/pages/ErService/AmbulanceRequestIndexPages/BillAmount.dart index 6d6c846b..0371fd24 100644 --- a/lib/pages/ErService/AmbulanceRequestIndexPages/BillAmount.dart +++ b/lib/pages/ErService/AmbulanceRequestIndexPages/BillAmount.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; class BillAmount extends StatefulWidget { final Function changeCurrentTab; @@ -98,7 +99,13 @@ class _BillAmountState extends State { child: _getNormalText(TranslationBase.of(context).patientShareTotalToDo), ), Expanded( - child: _getNormalText(TranslationBase.of(context).sar + ' ${widget.patientER_RC.patientERTransportationMethod!.priceTotal}', isBold: true, isTotal: true), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + _getNormalText(TranslationBase.of(context).sar + ' ${widget.patientER_RC.patientERTransportationMethod!.priceTotal}', isBold: true, isTotal: true), + ], + ), ) ], ), diff --git a/lib/pages/ErService/AmbulanceRequestIndexPages/PickupLocation.dart b/lib/pages/ErService/AmbulanceRequestIndexPages/PickupLocation.dart index 7dec3944..093789f3 100644 --- a/lib/pages/ErService/AmbulanceRequestIndexPages/PickupLocation.dart +++ b/lib/pages/ErService/AmbulanceRequestIndexPages/PickupLocation.dart @@ -22,6 +22,7 @@ import 'package:diplomaticquarterapp/widgets/pickupLocation/PickupLocationFromMa import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import '../AvailableAppointmentsPage.dart'; @@ -519,9 +520,15 @@ class _PickupLocationState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text(TranslationBase.of(context).patientShareTotalToDo, style: TextStyle(fontSize: 13.0, letterSpacing: -0.64, fontWeight: FontWeight.w600)), - Text( - TranslationBase.of(context).sar + (widget.patientER_RC.transportationDetails!.tripType == 1 ? ' ${widget.patientER_RC.patientERTransportationMethod!.priceTotal}' : ' ${(widget.patientER_RC.patientERTransportationMethod!.priceTotal * 2)}'), - style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + (widget.patientER_RC.transportationDetails!.tripType == 1 ? ' ${widget.patientER_RC.patientERTransportationMethod!.priceTotal}' : ' ${(widget.patientER_RC.patientERTransportationMethod!.priceTotal * 2)}'), + style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + ), + ], ), ], ) diff --git a/lib/pages/ErService/AmbulanceRequestIndexPages/SelectTransportationMethod.dart b/lib/pages/ErService/AmbulanceRequestIndexPages/SelectTransportationMethod.dart index d994d31b..23bd8b18 100644 --- a/lib/pages/ErService/AmbulanceRequestIndexPages/SelectTransportationMethod.dart +++ b/lib/pages/ErService/AmbulanceRequestIndexPages/SelectTransportationMethod.dart @@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; enum Direction { ToHospital, FromHospital } @@ -123,13 +124,19 @@ class _SelectTransportationMethodState extends State ), Expanded( flex: 1, - child: Text( - TranslationBase.of(context).sar + ' ${widget.amRequestViewModel.amRequestModeList[index].priceTotal}', - style: TextStyle( - fontSize: 12.0, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + ' ${widget.amRequestViewModel.amRequestModeList[index].priceTotal}', + style: TextStyle( + fontSize: 12.0, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], ), ) ], @@ -325,9 +332,15 @@ class _SelectTransportationMethodState extends State mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text(TranslationBase.of(context).patientShareTotalToDo, style: TextStyle(fontSize: 13.0, letterSpacing: -0.64, fontWeight: FontWeight.w600)), - Text( - TranslationBase.of(context).sar + (_way == Way.OneWay ? ' ${_erTransportationMethod.priceTotal}' : ' ${(_erTransportationMethod.priceTotal * 2)}'), - style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + (_way == Way.OneWay ? ' ${_erTransportationMethod.priceTotal}' : ' ${(_erTransportationMethod.priceTotal * 2)}'), + style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + ), + ], ), ], ) diff --git a/lib/pages/ErService/AmbulanceRequestIndexPages/Summary.dart b/lib/pages/ErService/AmbulanceRequestIndexPages/Summary.dart index b9533089..10be1e11 100644 --- a/lib/pages/ErService/AmbulanceRequestIndexPages/Summary.dart +++ b/lib/pages/ErService/AmbulanceRequestIndexPages/Summary.dart @@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -18,14 +19,14 @@ class Summary extends StatefulWidget { final PatientER_RC patientER_RC; final AmRequestViewModel amRequestViewModel; final TabController tabController; - Summary({Key? key, required this.changeCurrentTab, required this.patientER, required this.patientER_RC, required this.amRequestViewModel, required this.tabController}); + + Summary({Key? key, required this.changeCurrentTab, required this.patientER, required this.patientER_RC, required this.amRequestViewModel, required this.tabController}); @override _SummaryState createState() => _SummaryState(); } class _SummaryState extends State { - @override Widget build(BuildContext context) { ProjectViewModel projectViewModel = Provider.of(context); @@ -129,12 +130,17 @@ class _SummaryState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text(TranslationBase.of(context).patientShareTotalToDo, style: TextStyle(fontSize: 13.0, letterSpacing: -0.64, fontWeight: FontWeight.w600)), - Text( - TranslationBase.of(context).sar + + Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( (widget.patientER_RC.transportationDetails!.tripType == 1 ? ' ${widget.patientER_RC.patientERTransportationMethod!.priceTotal}' : ' ${(widget.patientER_RC.patientERTransportationMethod!.priceTotal * 2)}'), - style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + style: TextStyle(fontSize: 16.0, letterSpacing: -0.64, fontWeight: FontWeight.bold), + ), + ], ), ], ) diff --git a/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart b/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart index 69da5dfc..53fd0f34 100644 --- a/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart +++ b/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart @@ -27,6 +27,7 @@ import 'package:diplomaticquarterapp/widgets/dragable_sheet.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; class EROnlineCheckInPaymentDetails extends StatefulWidget { @@ -278,7 +279,7 @@ class _EROnlineCheckInPaymentDetailsState extends State { ), ), Expanded( - child: Text( - '$amount ${TranslationBase.of(context).sar}', - style: TextStyle( - fontSize: 12, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 12, height: 12), + mWidth(6), + Text( + amount, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], ), ), ], @@ -231,13 +240,19 @@ class RRTRequestPageState extends State { ), ), Expanded( - child: Text( - '$vat ${TranslationBase.of(context).sar}', - style: TextStyle( - fontSize: 12, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 12, height: 12), + mWidth(6), + Text( + vat, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], ), ), ], @@ -259,13 +274,20 @@ class RRTRequestPageState extends State { ), ), Expanded( - child: Text( - '$total ${TranslationBase.of(context).sar}', - style: TextStyle( - fontSize: 14, - letterSpacing: -0.48, - fontWeight: FontWeight.bold, - ), + child: Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 14, height: 14), + mWidth(6), + Text( + total, + style: TextStyle( + fontSize: 14, + letterSpacing: -0.48, + fontWeight: FontWeight.bold, + color: CustomColors.black + ), + ), + ], ), ), ], diff --git a/lib/pages/InPatientServices/components/inpatient_pending_advance_payment.dart b/lib/pages/InPatientServices/components/inpatient_pending_advance_payment.dart index 170895f8..9df2c92f 100644 --- a/lib/pages/InPatientServices/components/inpatient_pending_advance_payment.dart +++ b/lib/pages/InPatientServices/components/inpatient_pending_advance_payment.dart @@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; +import 'package:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; import 'package:share_plus/share_plus.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -166,13 +167,19 @@ class _InPatientPendingAdvancePaymentState extends State { ), ), Expanded( - child: Text( - widget.getERAppointmentFeesList.amount! + " " + widget.getERAppointmentFeesList.currency!, - style: TextStyle( - fontSize: 12, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), - ), + child: (widget.getERAppointmentFeesList.currency! == "ريال" || widget.getERAppointmentFeesList.currency! == "SAR") + ? Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + widget.getERAppointmentFeesList.amount!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], + ) + : Text( + widget.getERAppointmentFeesList.amount! + " " + widget.getERAppointmentFeesList.currency!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), ), ], ), @@ -161,14 +176,29 @@ class _LiveCarePatmentPageState extends State { ), ), Expanded( - child: Text( - widget.getERAppointmentFeesList.tax! + " " + widget.getERAppointmentFeesList.currency!, - style: TextStyle( - fontSize: 12, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), - ), + child: (widget.getERAppointmentFeesList.currency! == "ريال" || widget.getERAppointmentFeesList.currency! == "SAR") + ? Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + widget.getERAppointmentFeesList.tax!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], + ) + : Text( + widget.getERAppointmentFeesList.tax! + " " + widget.getERAppointmentFeesList.currency!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), ), ], ), @@ -189,14 +219,29 @@ class _LiveCarePatmentPageState extends State { ), ), Expanded( - child: Text( - widget.getERAppointmentFeesList.total! + " " + widget.getERAppointmentFeesList.currency!, - style: TextStyle( - fontSize: 12, - letterSpacing: -0.48, - fontWeight: FontWeight.w600, - ), - ), + child: (widget.getERAppointmentFeesList.currency! == "ريال" || widget.getERAppointmentFeesList.currency! == "SAR") + ? Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + mWidth(6), + Text( + widget.getERAppointmentFeesList.total!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), + ], + ) + : Text( + widget.getERAppointmentFeesList.total! + " " + widget.getERAppointmentFeesList.currency!, + style: TextStyle( + fontSize: 12, + letterSpacing: -0.48, + fontWeight: FontWeight.w600, + ), + ), ), ], ), diff --git a/lib/pages/medical/balance/confirm_payment_page.dart b/lib/pages/medical/balance/confirm_payment_page.dart index 0c0f354c..ca46b5cb 100644 --- a/lib/pages/medical/balance/confirm_payment_page.dart +++ b/lib/pages/medical/balance/confirm_payment_page.dart @@ -25,6 +25,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; +import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -149,16 +150,20 @@ class _ConfirmPaymentPageState extends State { ) : Image.asset(getImagePath(widget.selectedPaymentMethod!)), ), - Text( - widget.advanceModel!.hospitalsModel!.projectOutSA! - ? '${widget.advanceModel!.amount} ' + TranslationBase.of(context).aed - : '${widget.advanceModel!.amount} ' + TranslationBase.of(context).sar, - // '${widget.advanceModel.amount} ' + TranslationBase.of(context).sar, - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w900, - letterSpacing: -0.48, - ), + Row( + children: [ + widget.advanceModel!.hospitalsModel!.projectOutSA! ? Container() : SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 20, height: 20), + mWidth(6), + Text( + widget.advanceModel!.hospitalsModel!.projectOutSA! ? '${widget.advanceModel!.amount} ' + TranslationBase.of(context).aed : '${widget.advanceModel!.amount}', + // '${widget.advanceModel.amount} ' + TranslationBase.of(context).sar, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w900, + letterSpacing: -0.48, + ), + ), + ], ) ], ), @@ -320,27 +325,27 @@ class _ConfirmPaymentPageState extends State { service.applePayInsertRequest(applePayInsertRequest, context).then((res) async { if (res["MessageStatus"] == 1) { await context.read().initiateApplePayWithPayfort( - customerName: projectViewModel.authenticatedUserObject.user.firstName! + " " + projectViewModel.authenticatedUserObject.user.lastName!, - // customerEmail: projectViewModel.authenticatedUserObject.user.emailAddress, - customerEmail: "CustID_${widget.advanceModel!.fileNumber!}@HMG.com", - orderDescription: "Advance Payment", - orderAmount: double.parse(widget.advanceModel!.amount!), - merchantReference: transID, - payfortProjectDetailsRespModel: payfortProjectDetailsRespModel, - currency: projectViewModel.authenticatedUserObject.user.outSA == 1 ? "AED" : "SAR", - onFailed: (failureResult) async { - GifLoaderDialogUtils.hideDialog(context); - log("failureResult: ${failureResult.message.toString()}"); - AppToast.showErrorToast(message: failureResult.message.toString()); - }, - onSuccess: (successResult) async { - log("Payfort: ${successResult.responseMessage}"); - await context.read().addPayfortApplePayResponse(num.parse(widget.advanceModel!.fileNumber!), result: successResult); - checkPaymentStatus(AppoitmentAllHistoryResultList()); - }, - projectId: widget.advanceModel!.hospitalsModel!.iD, - serviceTypeEnum: ServiceTypeEnum.advancePayment, - ); + customerName: projectViewModel.authenticatedUserObject.user.firstName! + " " + projectViewModel.authenticatedUserObject.user.lastName!, + // customerEmail: projectViewModel.authenticatedUserObject.user.emailAddress, + customerEmail: "CustID_${widget.advanceModel!.fileNumber!}@HMG.com", + orderDescription: "Advance Payment", + orderAmount: double.parse(widget.advanceModel!.amount!), + merchantReference: transID, + payfortProjectDetailsRespModel: payfortProjectDetailsRespModel, + currency: projectViewModel.authenticatedUserObject.user.outSA == 1 ? "AED" : "SAR", + onFailed: (failureResult) async { + GifLoaderDialogUtils.hideDialog(context); + log("failureResult: ${failureResult.message.toString()}"); + AppToast.showErrorToast(message: failureResult.message.toString()); + }, + onSuccess: (successResult) async { + log("Payfort: ${successResult.responseMessage}"); + await context.read().addPayfortApplePayResponse(num.parse(widget.advanceModel!.fileNumber!), result: successResult); + checkPaymentStatus(AppoitmentAllHistoryResultList()); + }, + projectId: widget.advanceModel!.hospitalsModel!.iD, + serviceTypeEnum: ServiceTypeEnum.advancePayment, + ); } else { GifLoaderDialogUtils.hideDialog(context); AppToast.showErrorToast(message: "An error occurred while processing your request"); diff --git a/lib/pages/medical/balance/my_balance_page.dart b/lib/pages/medical/balance/my_balance_page.dart index 459b7250..25f22797 100644 --- a/lib/pages/medical/balance/my_balance_page.dart +++ b/lib/pages/medical/balance/my_balance_page.dart @@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; @@ -17,7 +18,7 @@ import 'package:provider/provider.dart'; import 'advance_payment_page.dart'; class MyBalancePage extends StatelessWidget { - List imagesInfo =[]; + List imagesInfo = []; late ProjectViewModel projectViewModel; @@ -95,18 +96,31 @@ class MyBalancePage extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.end, mainAxisSize: MainAxisSize.min, children: [ - Text( - double.parse(model.totalAdvanceBalanceAmount?.toString() ?? "0").toStringAsFixed(2), - style: TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, - letterSpacing: -1.44, - height: 24 / 23, - color: Colors.white, - ), + Row( + children: [ + projectViewModel.user!.outSA == 1 + ? Container() + : SvgPicture.asset( + "assets/images/new/Saudi_Riyal_Symbol.svg", + width: 22, + height: 22, + color: Colors.white, + ), + mWidth(6), + Text( + double.parse(model.totalAdvanceBalanceAmount?.toString() ?? "0").toStringAsFixed(2), + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + letterSpacing: -1.44, + height: 24 / 23, + color: Colors.white, + ), + ), + ], ), Text( - projectViewModel.user!.outSA == 1 ? TranslationBase.of(context).aed : TranslationBase.of(context).sar, + projectViewModel.user!.outSA == 1 ? TranslationBase.of(context).aed : "", style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, @@ -156,14 +170,26 @@ class MyBalancePage extends StatelessWidget { ), ), ), - Text( - amount.toStringAsFixed(2) + " " + (projectViewModel.user!.outSA == 1 ? TranslationBase.of(context).aed : TranslationBase.of(context).sar), - style: TextStyle( - fontSize: 16, - letterSpacing: -0.64, - fontWeight: amount > 0 ? FontWeight.bold : FontWeight.w500, - color: Color(0xff2E303A), - ), + Row( + children: [ + projectViewModel.user!.outSA == 1 + ? Container() + : Row( + children: [ + SvgPicture.asset("assets/images/new/Saudi_Riyal_Symbol.svg", width: 16, height: 16), + ], + ), + mWidth(6), + Text( + amount.toStringAsFixed(2) + " " + (projectViewModel.user!.outSA == 1 ? TranslationBase.of(context).aed : ""), + style: TextStyle( + fontSize: 16, + letterSpacing: -0.64, + fontWeight: amount > 0 ? FontWeight.bold : FontWeight.w500, + color: Color(0xff2E303A), + ), + ), + ], ), ], ), diff --git a/lib/pages/medical/my_invoices/invoice_detail_page.dart b/lib/pages/medical/my_invoices/invoice_detail_page.dart index c4cfe3e2..767354e2 100644 --- a/lib/pages/medical/my_invoices/invoice_detail_page.dart +++ b/lib/pages/medical/my_invoices/invoice_detail_page.dart @@ -151,7 +151,7 @@ class _InvoiceDetailState extends State { child: _getNormalText(TranslationBase.of(context).discount), ), Expanded( - child: _getNormalText(this.totalDiscount.toString() + " " + TranslationBase.of(context).sar, isBold: true), + child: _getNormalText(this.totalDiscount.toString(), isBold: true), ) ], ), @@ -169,7 +169,7 @@ class _InvoiceDetailState extends State { "%): "), ), Expanded( - child: _getNormalText(num.tryParse(this.totalVAT.toString())!.toStringAsFixed(2) + " " + TranslationBase.of(context).sar, isBold: true), + child: _getNormalText(num.tryParse(this.totalVAT.toString())!.toStringAsFixed(2), isBold: true), ) ], ), @@ -184,7 +184,7 @@ class _InvoiceDetailState extends State { child: _getNormalText(TranslationBase.of(context).total), ), Expanded( - child: _getNormalText(this.subTotal.toString() + " " + TranslationBase.of(context).sar, isBold: true), + child: _getNormalText(this.subTotal.toString(), isBold: true), ) ], ), @@ -199,7 +199,7 @@ class _InvoiceDetailState extends State { child: _getNormalText(TranslationBase.of(context).paid), ), Expanded( - child: _getNormalText(this.grandTotal.toString() + " " + TranslationBase.of(context).sar, isBold: true), + child: _getNormalText(this.grandTotal.toString(), isBold: true), ) ], ), @@ -283,9 +283,9 @@ class _InvoiceDetailState extends State { isLast: i == (widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation!.length - 1), mProjectViewModel: projectViewModel), Utils.tableColumnValue('${widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation![i].quantity}', isLast: i == (widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation!.length - 1), mProjectViewModel: projectViewModel), - Utils.tableColumnValue('${widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation![i].price.toString() + " " + TranslationBase.of(context).sar}', + Utils.tableColumnValue('${widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation![i].price.toString()}', isLast: i == (widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation!.length - 1), mProjectViewModel: projectViewModel), - Utils.tableColumnValue('${widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation![i].total.toString() + " " + TranslationBase.of(context).sar}', + Utils.tableColumnValue('${widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation![i].total.toString()}', isLast: i == (widget.dentalInvoiceDetailResponse.listEInvoiceForDental![0].listConsultation!.length - 1), mProjectViewModel: projectViewModel), ]), ); diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index 3ce068fb..99b113f7 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -62,6 +62,7 @@ class TranslationBase { String get hospitalName => localizedValues['hospitalName'][locale.languageCode]; String get doctorName => localizedValues['doctorName'][locale.languageCode]; + String get NoClinicFound => localizedValues['NoClinicFound'][locale.languageCode]; String get nearestAppo => localizedValues['nearestAppo'][locale.languageCode]; @@ -1136,6 +1137,7 @@ class TranslationBase { String get myPrescription => localizedValues['myPrescription'][locale.languageCode]; String get quantity => localizedValues['quantity'][locale.languageCode]; + String get productQuantity => localizedValues['productQuantity'][locale.languageCode]; String get conditionsHMG => localizedValues['conditionsHMG'][locale.languageCode]; @@ -1483,6 +1485,7 @@ class TranslationBase { String get enablingWifi => localizedValues['enablingWifi'][locale.languageCode]; String get offerAndPackages => localizedValues['offerAndPackages'][locale.languageCode]; + String get orderHistory => localizedValues['orderHistory'][locale.languageCode]; String get offerAndPackagesDetails => localizedValues['offerAndPackagesDetails'][locale.languageCode]; @@ -1854,6 +1857,7 @@ class TranslationBase { String get needPrescription => localizedValues['needPrescription'][locale.languageCode]; String get outOfStockMsg => localizedValues['outOfStockMsg'][locale.languageCode]; + String get productOutOfStock => localizedValues['productOutOfStock'][locale.languageCode]; String get noArabicLetters => localizedValues['noArabicLetters'][locale.languageCode]; @@ -2816,235 +2820,454 @@ class TranslationBase { String get submitReview => localizedValues["submitReview"][locale.languageCode]; String get Protein => localizedValues["Protein"][locale.languageCode]; + String get Cals => localizedValues["Cals"][locale.languageCode]; + String get gramsPerDay => localizedValues["gramsPerDay"][locale.languageCode]; + String get gr => localizedValues["gr"][locale.languageCode]; + String get gramsPerMeal => localizedValues["gramsPerMeal"][locale.languageCode]; String get cancelReminder => localizedValues["CancelReminder"][locale.languageCode]; String get reminderCancelSuccess => localizedValues["reminderCancelSuccess"][locale.languageCode]; + String get syncSuccess => localizedValues["syncSuccess"][locale.languageCode]; + String get useLakumPoints => localizedValues["useLakumPoints"][locale.languageCode]; + String get points => localizedValues["points"][locale.languageCode]; + String get availableBalance => localizedValues["availableBalance"][locale.languageCode]; + String get ordersDashboard => localizedValues["ordersDashboard"][locale.languageCode]; + String get requestedDateLiveCare => localizedValues["requestedDateLiveCare"][locale.languageCode]; + String get yourTurn => localizedValues["yourTurn"][locale.languageCode]; + String get patients => localizedValues["patients"][locale.languageCode]; + String get group => localizedValues["group"][locale.languageCode]; + String get ancillaryOrdersPaymentConfirm => localizedValues["ancillaryOrdersPaymentConfirm"][locale.languageCode]; + String get covidTestTodo => localizedValues["covidTestTodo"][locale.languageCode]; + String get successRegister => localizedValues["successRegister"][locale.languageCode]; + String get pharmacyLiveCare => localizedValues["pharmacyLiveCare"][locale.languageCode]; + String get ancillaryOrderPaymentSuccess => localizedValues["ancillaryOrderPaymentSuccess"][locale.languageCode]; + String get connectTitle => localizedValues["connectTitle"][locale.languageCode]; + String get connectSubtitle => localizedValues["connectSubtitle"][locale.languageCode]; + String get declineLbl => localizedValues["declineLbl"][locale.languageCode]; + String get covidConsent => localizedValues["covidConsent"][locale.languageCode]; + String get covidConsentHeader => localizedValues["covidConsentHeader"][locale.languageCode]; + String get drawOverAppsPermission => localizedValues["drawOverAppsPermission"][locale.languageCode]; + String get selectTamaraPlan => localizedValues["selectTamaraPlan"][locale.languageCode]; + String get installments => localizedValues["installments"][locale.languageCode]; + String get cameraPermissionDialog => localizedValues["cameraPermissionDialog"][locale.languageCode]; + String get galleryPermission => localizedValues["galleryPermission"][locale.languageCode]; + String get locationPermissionDialog => localizedValues["locationPermissionDialog"][locale.languageCode]; + String get calendarPermission => localizedValues["calendarPermission"][locale.languageCode]; + String get recordAudioPermission => localizedValues["recordAudioPermission"][locale.languageCode]; + String get wifiPermission => localizedValues["wifiPermission"][locale.languageCode]; + String get physicalActivityPermission => localizedValues["physicalActivityPermission"][locale.languageCode]; + String get bluetoothPermission => localizedValues["bluetoothPermission"][locale.languageCode]; + String get privacyPolicy => localizedValues["privacyPolicy"][locale.languageCode]; + String get termsConditions => localizedValues["termsConditions"][locale.languageCode]; + String get liveCarePermissions => localizedValues["liveCarePermissions"][locale.languageCode]; + String get prescriptionDeliveryError => localizedValues["prescriptionDeliveryError"][locale.languageCode]; + String get lakumUnhold => localizedValues["lakumUnhold"][locale.languageCode]; + String get lakumDiscontinue => localizedValues["lakumDiscontinue"][locale.languageCode]; + String get lakumSuccess => localizedValues["lakumSuccess"][locale.languageCode]; + String get deleteAccount => localizedValues["deleteAccount"][locale.languageCode]; + String get deactivateAccount => localizedValues["deactivateAccount"][locale.languageCode]; + String get accountDeactivated => localizedValues["accountDeactivated"][locale.languageCode]; + String get accountDeactivatedMsg => localizedValues["accountDeactivatedMsg"][locale.languageCode]; + String get updateInsuranceManually => localizedValues["updateInsuranceManually"][locale.languageCode]; + String get enterInsuranceDetails => localizedValues["enterInsuranceDetails"][locale.languageCode]; + String get cardHolderName => localizedValues["cardHolderName"][locale.languageCode]; + String get membershipNo => localizedValues["membershipNo"][locale.languageCode]; + String get insurancePolicyNo => localizedValues["policyNo"][locale.languageCode]; + String get insuranceClassName => localizedValues["insuranceClassName"][locale.languageCode]; + String get NFCNotSupported => localizedValues["NFCNotSupported"][locale.languageCode]; + String get paymentOnly => localizedValues["paymentOnly"][locale.languageCode]; + String get pendingOnly => localizedValues["pendingOnly"][locale.languageCode]; + String get insuranceRequestSubmit => localizedValues["insuranceRequestSubmit"][locale.languageCode]; + String get enterWorkplaceName => localizedValues["enter-workplace-name"][locale.languageCode]; + String get workplaceName => localizedValues["workplaceName"][locale.languageCode]; + String get needApproval => localizedValues["needApproval"][locale.languageCode]; + String get callLiveCareSupport => localizedValues["callLiveCareSupport"][locale.languageCode]; + String get pendingActivation => localizedValues["pendingActivation"][locale.languageCode]; + String get awaitingApproval => localizedValues["awaitingApproval"][locale.languageCode]; + String get liveCareSupportContact => localizedValues["liveCareSupportContact"][locale.languageCode]; + String get scanNFC => localizedValues["scanNFC"][locale.languageCode]; + String get pharmaLiveCare => localizedValues["pharmaLiveCare"][locale.languageCode]; + String get pharmaLiveCare1 => localizedValues["pharmaLiveCare1"][locale.languageCode]; + String get pharmaLiveCareDesc1 => localizedValues["pharmaLiveCareDesc1"][locale.languageCode]; + String get wherePharmaLiveCare => localizedValues["wherePharmaLiveCare"][locale.languageCode]; + String get pharmaLiveCareDesc2 => localizedValues["pharmaLiveCareDesc2"][locale.languageCode]; + String get howPharmaLiveCare => localizedValues["howPharmaLiveCare"][locale.languageCode]; + String get pharmaLiveCareDesc3 => localizedValues["pharmaLiveCareDesc3"][locale.languageCode]; + String get pharmaLiveCareScanQR => localizedValues["pharmaLiveCareScanQR"][locale.languageCode]; + String get pharmaLiveCareScanQR1 => localizedValues["pharmaLiveCareScanQR1"][locale.languageCode]; + String get pharmaLiveCareMakePayment => localizedValues["pharmaLiveCareMakePayment"][locale.languageCode]; + String get pharmaLiveCareMakePayment1 => localizedValues["pharmaLiveCareMakePayment1"][locale.languageCode]; + String get pharmaLiveCareJoinConsultation => localizedValues["pharmaLiveCareJoinConsultation"][locale.languageCode]; + String get pharmaLiveCareJoinConsultation1 => localizedValues["pharmaLiveCareJoinConsultation1"][locale.languageCode]; + String get emergencyServicesSubtitle => localizedValues["emergencyServicesSubtitle"][locale.languageCode]; + String get rateDoctorResponse => localizedValues["rateDoctorResponse"][locale.languageCode]; + String get comments => localizedValues["comments"][locale.languageCode]; + String get rateDoctorResponseHeading => localizedValues["rateDoctorResponseHeading"][locale.languageCode]; + String get updateInsuranceManuallyDialog => localizedValues["updateInsuranceManuallyDialog"][locale.languageCode]; + String get viewReport => localizedValues["viewReport"][locale.languageCode]; + String get sickLeaveAdmittedPatient => localizedValues["sickLeaveAdmittedPatient"][locale.languageCode]; + String get InPatient => localizedValues["InPatient"][locale.languageCode]; + String get inPatientServices => localizedValues["InPatientServices"][locale.languageCode]; + String get InPatientServicesHeader => localizedValues["InPatientServicesHeader"][locale.languageCode]; + String get admissionGeneral => localizedValues["admissionGeneral"][locale.languageCode]; + String get consent => localizedValues["consent"][locale.languageCode]; + String get generalInstructionsTitle => localizedValues["generalInstructionsTitle"][locale.languageCode]; + String get generalInstructionsSubTitle => localizedValues["generalInstructionsSubTitle"][locale.languageCode]; + String get medicalInstructionsTitle => localizedValues["medicalInstructionsTitle"][locale.languageCode]; + String get medicalInstructionsSubTitle => localizedValues["medicalInstructionsSubTitle"][locale.languageCode]; + String get mealPlanTitle => localizedValues["mealPlanTitle"][locale.languageCode]; + String get mealPlanSubTitle => localizedValues["mealPlanSubTitle"][locale.languageCode]; + String get birthNotificationTitle => localizedValues["birthNotificationTitle"][locale.languageCode]; + String get birthNotificationSubTitle => localizedValues["birthNotificationSubTitle"][locale.languageCode]; + String get admissionNoticeTitle => localizedValues["admissionNoticeTitle"][locale.languageCode]; + String get admissionNoticeSubTitle => localizedValues["admissionNoticeSubTitle"][locale.languageCode]; + String get mothersMRN => localizedValues["mothersMRN"][locale.languageCode]; + String get mothersName => localizedValues["mothersName"][locale.languageCode]; + String get fathersNameEN => localizedValues["fathersNameEN"][locale.languageCode]; + String get fathersNameAR => localizedValues["fathersNameAR"][locale.languageCode]; + String get babysNameEN => localizedValues["babysNameEN"][locale.languageCode]; + String get babysNameAR => localizedValues["babysNameAR"][locale.languageCode]; + String get contactNumber => localizedValues["contactNumber"][locale.languageCode]; + String get scanID => localizedValues["scanID"][locale.languageCode]; + String get birthNotificationNotes1 => localizedValues["birthNotificationNotes1"][locale.languageCode]; + String get birthNotificationNotes2 => localizedValues["birthNotificationNotes2"][locale.languageCode]; + String get birthNotificationNotes3 => localizedValues["birthNotificationNotes3"][locale.languageCode]; + String get placeOrder => localizedValues["placeOrder"][locale.languageCode]; + String get isFasting => localizedValues["isFasting"][locale.languageCode]; + String get noGeneralInstructions => localizedValues["noGeneralInstructions"][locale.languageCode]; + String get noMedicalInstructions => localizedValues["noMedicalInstructions"][locale.languageCode]; + String get medicalInstructions => localizedValues["medicalInstructions"][locale.languageCode]; + String get generalInstructions => localizedValues["generalInstructions"][locale.languageCode]; + String get copyLink => localizedValues["copyLink"][locale.languageCode]; + String get copyLinkTxt => localizedValues["copyLinkTxt"][locale.languageCode]; + String get paymentLinkCopied => localizedValues["paymentLinkCopied"][locale.languageCode]; + String get proErrorMessage => localizedValues["proErrorMessage"][locale.languageCode]; + String get admissionNo => localizedValues["admissionNo"][locale.languageCode]; + String get admissionReqNo => localizedValues["admissionReqNo"][locale.languageCode]; + String get dischargeDate => localizedValues["dischargeDate"][locale.languageCode]; + String get selectAdmissionText => localizedValues["selectAdmissionText"][locale.languageCode]; + String get onlyAdmitted => localizedValues["onlyAdmitted"][locale.languageCode]; + String get assistYou => localizedValues["assistYou"][locale.languageCode]; + String get receive => localizedValues["receive"][locale.languageCode]; + String get PRO => localizedValues["PRO"][locale.languageCode]; + String get patientRelationOffice => localizedValues["patientRelationOffice"][locale.languageCode]; + String get roomNo => localizedValues["roomNo"][locale.languageCode]; + String get generalConsent => localizedValues["generalConsent"][locale.languageCode]; + String get generalConsent1 => localizedValues["generalConsent1"][locale.languageCode]; + String get hospitalRules => localizedValues["hospitalRules"][locale.languageCode]; + String get generalConsent2 => localizedValues["generalConsent2"][locale.languageCode]; + String get communicationConsent => localizedValues["communicationConsent"][locale.languageCode]; + String get generalConsent3 => localizedValues["generalConsent3"][locale.languageCode]; + String get releaseConsent => localizedValues["releaseConsent"][locale.languageCode]; + String get generalConsent4 => localizedValues["generalConsent4"][locale.languageCode]; + String get generalConsent5 => localizedValues["generalConsent5"][locale.languageCode]; + String get valuables => localizedValues["valuables"][locale.languageCode]; + String get generalConsent6 => localizedValues["generalConsent6"][locale.languageCode]; + String get financialConsent => localizedValues["financialConsent"][locale.languageCode]; + String get generalConsent7 => localizedValues["generalConsent7"][locale.languageCode]; + String get dataSharingConsent => localizedValues["dataSharingConsent"][locale.languageCode]; + String get generalConsent8 => localizedValues["generalConsent8"][locale.languageCode]; + String get permissionLeaveConsent => localizedValues["permissionLeaveConsent"][locale.languageCode]; + String get generalConsent9 => localizedValues["generalConsent9"][locale.languageCode]; + String get observeConsent => localizedValues["observeConsent"][locale.languageCode]; + String get generalConsent10 => localizedValues["generalConsent10"][locale.languageCode]; + String get noGuaranteeConsent => localizedValues["noGuaranteeConsent"][locale.languageCode]; + String get generalConsent11 => localizedValues["generalConsent11"][locale.languageCode]; + String get disputeConsent => localizedValues["disputeConsent"][locale.languageCode]; + String get generalConsent12 => localizedValues["generalConsent12"][locale.languageCode]; + String get patientsRightsConsent => localizedValues["patientsRightsConsent"][locale.languageCode]; + String get generalConsent13 => localizedValues["generalConsent13"][locale.languageCode]; + String get acknowledgementConsent => localizedValues["acknowledgementConsent"][locale.languageCode]; + String get generalConsent14 => localizedValues["generalConsent14"][locale.languageCode]; + String get invalidEligibility => localizedValues["invalidEligibility"][locale.languageCode]; + String get invalidInsurance => localizedValues["invalidInsurance"][locale.languageCode]; + String get continueCash => localizedValues["continueCash"][locale.languageCode]; + String get updateInsuranceText => localizedValues["updateInsurance"][locale.languageCode]; + String get downloadReport => localizedValues["downloadReport"][locale.languageCode]; + String get habibCallCenter => localizedValues["habibCallCenter"][locale.languageCode]; + String get cashAmountUpdateInsurance => localizedValues["cashAmountUpdateInsurance"][locale.languageCode]; + String get validInsurance => localizedValues["validInsurance"][locale.languageCode]; + String get contactRRT => localizedValues["contactRRT"][locale.languageCode]; + String get checkInViaLocation => localizedValues["checkInViaLocation"][locale.languageCode]; + String get locationCheckInError => localizedValues["locationCheckInError"][locale.languageCode]; + String get upcoming => localizedValues["upcoming"][locale.languageCode]; + String get noUpcomingAppointment => localizedValues["noUpcomingAppointment"][locale.languageCode]; + String get locationTimeoutError => localizedValues["locationTimeoutError"][locale.languageCode]; + String get loadMore => localizedValues["loadMore"][locale.languageCode]; + String get selectHospitalBloodDonation => localizedValues["selectHospitalBloodDonation"][locale.languageCode]; + String get wecare => localizedValues["wecare"][locale.languageCode]; + String get myinstructions => localizedValues["myinstructions"][locale.languageCode]; + String get clinicLocation => localizedValues["clinicLocation"][locale.languageCode]; + String get waitingAppointment => localizedValues["waitingAppointment"][locale.languageCode]; + String get whatWaitingAppointment => localizedValues["whatWaitingAppointment"][locale.languageCode]; + String get waitingAppointmentText1 => localizedValues["waitingAppointmentText1"][locale.languageCode]; + String get waitingAppointmentText2 => localizedValues["waitingAppointmentText2"][locale.languageCode]; + String get waitingAppointmentText3 => localizedValues["waitingAppointmentText3"][locale.languageCode]; + String get waitingAppointmentVerificationMethod => localizedValues["waitingAppointmentVerificationMethod"][locale.languageCode]; + String get howToUseVerificationMethod => localizedValues["howToUseVerificationMethod"][locale.languageCode]; + String get addToWaitingList => localizedValues["addToWaitingList"][locale.languageCode]; + String get searchClinic => localizedValues["searchClinic"][locale.languageCode]; + String get enterMobileNumber => localizedValues["enterMobileNumber"][locale.languageCode]; + String get videoCall => localizedValues["videoCall"][locale.languageCode]; + String get audioCall => localizedValues["audioCall"][locale.languageCode]; + String get phoneCall => localizedValues["phoneCall"][locale.languageCode]; + String get selectCallType => localizedValues["selectCallType"][locale.languageCode]; + String get selectedCallType => localizedValues["selectedCallType"][locale.languageCode]; + String get selectBranch => localizedValues["selectBranch"][locale.languageCode]; + String get searchByBranch => localizedValues["searchByBranch"][locale.languageCode]; + String get existingPackage => localizedValues["existingPackage"][locale.languageCode]; + String get continueOrbookNew => localizedValues["continueOrbookNew"][locale.languageCode]; + String get newAppointment => localizedValues["newAppointment"][locale.languageCode]; + String get proceedPackage => localizedValues["proceedPackage"][locale.languageCode]; + String get hospitalNavigationTitle => localizedValues["hospitalNavigationTitle"][locale.languageCode]; + String get hospitalNavigationSubtitle => localizedValues["hospitalNavigationSubtitle"][locale.languageCode]; + String get workplaceNameAr => localizedValues["workplaceNameAr"][locale.languageCode]; + String get occupationNameEn => localizedValues["occupationNameEn"][locale.languageCode]; + String get occupationNameAr => localizedValues["occupationNameAr"][locale.languageCode]; + String get continueAgreeTerms => localizedValues["continueAgreeTerms"][locale.languageCode]; + String get agreeText => localizedValues["agreeText"][locale.languageCode]; + String get ERCheckInSuccess => localizedValues["ERCheckInSuccess"][locale.languageCode]; + String get generalConsentTitle => localizedValues["generalConsentTitle"][locale.languageCode]; + String get generalConsentSubTitle => localizedValues["generalConsentSubTitle"][locale.languageCode]; + String get incorrectNationalId => localizedValues["incorrectNationalId"][locale.languageCode]; + String get resultStatus => localizedValues["resultStatus"][locale.languageCode]; + String get labResultFlag => localizedValues["labResultFlag"][locale.languageCode]; + String get selectOccupation => localizedValues["selectOccupation"][locale.languageCode]; + String get selectOccupationError => localizedValues["selectOccupationError"][locale.languageCode]; String get whatIsOnlineCheckIn => localizedValues["whatIsOnlineCheckIn"][locale.languageCode]; + String get EROnlineCheckInDesc1 => localizedValues["EROnlineCheckInDesc1"][locale.languageCode]; + String get EROnlineCheckInHow => localizedValues["EROnlineCheckInHow"][locale.languageCode]; + String get EROnlineCheckInTapOn => localizedValues["EROnlineCheckInTapOn"][locale.languageCode]; + String get EROnlineCheckInTapOnCheckIn => localizedValues["EROnlineCheckInTapOnCheckIn"][locale.languageCode]; + String get EROnlineCheckInHoldPhone => localizedValues["EROnlineCheckInHoldPhone"][locale.languageCode]; + String get EROnlineCheckInHoldPhoneInstruction => localizedValues["EROnlineCheckInHoldPhoneInstruction"][locale.languageCode]; + String get EROnlineCheckInWaitTurn => localizedValues["EROnlineCheckInWaitTurn"][locale.languageCode]; + String get EROnlineCheckInWaitTurnInstruction => localizedValues["EROnlineCheckInWaitTurnInstruction"][locale.languageCode]; String get download => localizedValues["download"][locale.languageCode]; - String get share => localizedValues["share"][locale.languageCode]; + String get share => localizedValues["share"][locale.languageCode]; } class TranslationBaseDelegate extends LocalizationsDelegate { diff --git a/lib/uitl/utils.dart b/lib/uitl/utils.dart index 2dc03b03..77059a65 100644 --- a/lib/uitl/utils.dart +++ b/lib/uitl/utils.dart @@ -41,6 +41,7 @@ import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sign_details import 'package:diplomaticquarterapp/pages/vaccine/my_vaccines_screen.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/covid_consent_dialog.dart'; @@ -824,18 +825,25 @@ class Utils { ); } - static Widget tableColumnValue(String text, {bool isLast = false, bool isCapitable = true, bool isHighLow = false, required ProjectViewModel mProjectViewModel}) { + static Widget tableColumnValue(String text, {bool isLast = false, bool isCapitable = true, bool isHighLow = false, bool isCurrency = false, required ProjectViewModel mProjectViewModel}) { ProjectViewModel projectViewModel = mProjectViewModel ?? Provider.of(AppGlobal.context); return Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, children: [ SizedBox(height: 12), - Text( - isCapitable && !projectViewModel.isArabic ? text.toLowerCase().capitalizeFirstofEach : text, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: isHighLow ? CustomColors.accentColor : Color(0xff575757), letterSpacing: -0.4, height: 16 / 10), + Row( + children: [ + Expanded( + child: Text( + isCapitable && !projectViewModel.isArabic ? text.toLowerCase().capitalizeFirstofEach : text, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: isHighLow ? CustomColors.accentColor : Color(0xff575757), letterSpacing: -0.4, height: 16 / 10), + ), + ), + isCurrency ? getSaudiRiyalSymbol() : Container(), + ], ), SizedBox(height: 12), if (!isLast) @@ -963,6 +971,10 @@ class Utils { return projectDetailListModel; } + static Widget getSaudiRiyalSymbol({double fontSize = 16}) { + return Text(" SAR ", style: TextStyle(fontFamily: "SaudiRiyal", fontSize: fontSize)); + } + //static String generateSignature() {} } @@ -1032,6 +1044,26 @@ extension StringExtension on String { } } +extension TextToRichTextWithIcon on Text { + RichText toRichTextWithIcon() { + // Create the base TextSpan with the text data and style from the Text widget + return RichText( + text: TextSpan( + style: this.style, // Inherit the text style + children: [ + WidgetSpan( + child: Text(" SAR ", style: TextStyle(fontFamily: "SaudiRiyal")), + ), + TextSpan( + text: this.data, // Add the original text + style: this.style, // Inherit the text style + ), + ], + ), + ); + } +} + /* userBoard.asMap().map((i, element) => MapEntry(i, Stack( GestureDetector(onTap: () { diff --git a/pubspec.yaml b/pubspec.yaml index 5bad9780..73244f62 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: diplomaticquarterapp description: A new Flutter application. -version: 4.6.080+4050080 +version: 4.6.002+1 environment: sdk: ">=3.0.0 <3.13.0" @@ -278,6 +278,11 @@ flutter: fonts: - asset: assets/app_icons/fonts/DQIcons.ttf + - family: SaudiRiyal + fonts: +# - asset: assets/fonts/saudi_riyal.ttf + - asset: assets/fonts/sar-Regular.otf + - family: Poppins fonts: - asset: assets/fonts/poppins/Poppins-Black.ttf