Merge pull request 'haroon_dev' (#311) from haroon_dev into master

Reviewed-on: https://34.17.182.140/Haroon6138/HMG_Patient_App_New/pulls/311
haroon_dev
Haroon6138 17 hours ago
commit 9a54d51045

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

@ -286,7 +286,7 @@
"gate": "البوابة:", "gate": "البوابة:",
"building": "المبنى:", "building": "المبنى:",
"branch": "الفرع:", "branch": "الفرع:",
"emergencyServices": "خدمات الطوارئ", "emergencyServices": "خدمات \n الطوارئ",
"nearester": "أقرب طوارئ", "nearester": "أقرب طوارئ",
"locationa": "الموقع", "locationa": "الموقع",
"callNow": "الاتصال المباشر", "callNow": "الاتصال المباشر",
@ -1236,9 +1236,9 @@
"monitorBloodPressureLevels": "راقب مستويات ضغط الدم لديك، وتتبع القراءات الانقباضية والانبساطية، وحافظ على صحة قلبك.", "monitorBloodPressureLevels": "راقب مستويات ضغط الدم لديك، وتتبع القراءات الانقباضية والانبساطية، وحافظ على صحة قلبك.",
"trackWeightProgress": "تتبع تقدم وزنك، وضع الأهداف، وحافظ على كتلة جسم صحية من أجل العافية الشاملة.", "trackWeightProgress": "تتبع تقدم وزنك، وضع الأهداف، وحافظ على كتلة جسم صحية من أجل العافية الشاملة.",
"bookAppointment": "حجز\nموعد", "bookAppointment": "حجز\nموعد",
"completeCheckup": "الفحص الشامل", "completeCheckup": "الفحص \n الشامل",
"indoorNavigation": "الملاحة الداخلية", "indoorNavigation": "الملاحة الداخلية",
"eReferralServices": "الإحالة الإلكترونية", "eReferralServices": "الإحالة \n الإلكترونية",
"bloodDonation": "التبرع بالدم", "bloodDonation": "التبرع بالدم",
"dailyWaterMonitor": "مراقب الماء اليومي", "dailyWaterMonitor": "مراقب الماء اليومي",
"fetchingYourWaterIntakeDetails": "يرجى الانتظار…", "fetchingYourWaterIntakeDetails": "يرجى الانتظار…",
@ -1844,5 +1844,6 @@
"submitRating": "إرسال التقييم", "submitRating": "إرسال التقييم",
"maxOneFileAllowed": "يمكن رفع ملف واحد فقط", "maxOneFileAllowed": "يمكن رفع ملف واحد فقط",
"fileSizeExceedsLimit": "يجب ألا يتجاوز حجم الملف 1 ميغابايت", "fileSizeExceedsLimit": "يجب ألا يتجاوز حجم الملف 1 ميغابايت",
"completedPrescriptionOrder": "تمت الخدمة" "completedPrescriptionOrder": "تمت الخدمة",
"submitEReferral": "تقديم الطلب"
} }

@ -1801,7 +1801,7 @@
"watchUsOnYoutube": "Watch us on youtube", "watchUsOnYoutube": "Watch us on youtube",
"connectOnLinkedin": "Connect on LinkedIn", "connectOnLinkedin": "Connect on LinkedIn",
"riskFactorPageTitle": "What do you feel?", "riskFactorPageTitle": "What do you feel?",
"bloodDonationService": "Blood Donation", "bloodDonationService": "Blood \nDonation",
"bookAppointmentService": "Book\nAppointment", "bookAppointmentService": "Book\nAppointment",
"pinchToZoom": "Pinch to zoom", "pinchToZoom": "Pinch to zoom",
"gotIt": "Got it", "gotIt": "Got it",
@ -1834,7 +1834,8 @@
"submitRating": "Submit", "submitRating": "Submit",
"maxOneFileAllowed": "Only 1 file can be uploaded", "maxOneFileAllowed": "Only 1 file can be uploaded",
"fileSizeExceedsLimit": "File size must not exceed 1 MB", "fileSizeExceedsLimit": "File size must not exceed 1 MB",
"completedPrescriptionOrder": "Completed" "completedPrescriptionOrder": "Completed",
"submitEReferral": "Submit"
} }

@ -58,8 +58,6 @@ class ApiConsts {
symptomsCheckerApi = symptomsCheckerApiLive; symptomsCheckerApi = symptomsCheckerApiLive;
symptomsCheckerUsername = 'mobile_user'; symptomsCheckerUsername = 'mobile_user';
symptomsCheckerPassword = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'; symptomsCheckerPassword = '8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92';
CHAT_URL = "https://chat.hmg.com/geneysChat/Index.aspx?RequestedId=";
break; break;
case AppEnvironmentTypeEnum.dev: case AppEnvironmentTypeEnum.dev:
baseUrl = "https://uat.hmgwebservices.com/"; baseUrl = "https://uat.hmgwebservices.com/";
@ -283,7 +281,7 @@ class ApiConsts {
static String googleCloudStorageENTranslationFileBaseURL = "https://storage.googleapis.com/hmg-patientapp-translations"; static String googleCloudStorageENTranslationFileBaseURL = "https://storage.googleapis.com/hmg-patientapp-translations";
// ************ static values for Api **************** // ************ static values for Api ****************
static final double appVersionID = 21.0; static final double appVersionID = 21.1;
// static final double appVersionID = 50.7; // static final double appVersionID = 50.7;
static final int appChannelId = 3; static final int appChannelId = 3;

@ -417,6 +417,7 @@ class AppAssets {
static const String comprehensiveCheckupAr = '$pngBasePath/cc_ar.png'; static const String comprehensiveCheckupAr = '$pngBasePath/cc_ar.png';
static const String maleIcon = '$pngBasePath/male_icon.png'; static const String maleIcon = '$pngBasePath/male_icon.png';
static const String femaleIcon = '$pngBasePath/female_icon.png'; static const String femaleIcon = '$pngBasePath/female_icon.png';
static const String lakumLogo = '$pngBasePath/lakum_logo.png';
static const String fullBodyFrontMale = '$pngBasePath/full_body_front_male.png'; static const String fullBodyFrontMale = '$pngBasePath/full_body_front_male.png';
static const String fullBodyBackMale = '$pngBasePath/full_body_back_male.png'; static const String fullBodyBackMale = '$pngBasePath/full_body_back_male.png';

@ -442,7 +442,7 @@ class PushNotificationHandler {
badge: true, badge: true,
sound: true, sound: true,
); );
if (permission.authorizationStatus == AuthorizationStatus.denied) return; // if (permission.authorizationStatus == AuthorizationStatus.denied) return;
} else { } else {
final permission = await FirebaseMessaging.instance.requestPermission(); final permission = await FirebaseMessaging.instance.requestPermission();
} }

@ -290,9 +290,9 @@ class ContactUsViewModel extends ChangeNotifier {
requestInsertCOCItem.isUserLoggedIn = true; requestInsertCOCItem.isUserLoggedIn = true;
requestInsertCOCItem.projectID = 0; requestInsertCOCItem.projectID = 0;
requestInsertCOCItem.patientName = "${appState.getAuthenticatedUser()!.firstName!} ${appState.getAuthenticatedUser()!.lastName!}"; requestInsertCOCItem.patientName = "${appState.getAuthenticatedUser()!.firstName!} ${appState.getAuthenticatedUser()!.lastName!}";
requestInsertCOCItem.fileName = ""; requestInsertCOCItem.fileName = "Image 1";
requestInsertCOCItem.appVersion = ApiConsts.appVersionID; requestInsertCOCItem.appVersion = ApiConsts.appVersionID;
requestInsertCOCItem.uILanguage = appState.isArabic() ? "ar" : "en"; //TODO Change it to be dynamic requestInsertCOCItem.uILanguage = appState.isArabic() ? "ar" : "en";
requestInsertCOCItem.browserInfo = Platform.localHostname; requestInsertCOCItem.browserInfo = Platform.localHostname;
requestInsertCOCItem.deviceInfo = Platform.localHostname; requestInsertCOCItem.deviceInfo = Platform.localHostname;
requestInsertCOCItem.resolution = "400x847"; requestInsertCOCItem.resolution = "400x847";

@ -42,6 +42,8 @@ class HabibWalletViewModel extends ChangeNotifier {
String? get amountError => _amountError; String? get amountError => _amountError;
String? get hospitalError => _hospitalError; String? get hospitalError => _hospitalError;
String yahalaAccountNumber = '';
// Clear amount error // Clear amount error
void clearAmountError() { void clearAmountError() {
_amountError = null; _amountError = null;

@ -959,9 +959,9 @@ class HmgServicesRepoImp implements HmgServicesRepo {
final hasValidRespiration = _isValidValue(vitalSign.respirationBeatPerMinute); final hasValidRespiration = _isValidValue(vitalSign.respirationBeatPerMinute);
final hasValidBloodPressure = _isValidValue(vitalSign.bloodPressureHigher) || _isValidValue(vitalSign.bloodPressureLower); final hasValidBloodPressure = _isValidValue(vitalSign.bloodPressureHigher) || _isValidValue(vitalSign.bloodPressureLower);
print('hasValidBloodPressure: $hasValidBloodPressure'); // print('hasValidBloodPressure: $hasValidBloodPressure');
print('Will add to list: ${hasValidWeight || hasValidHeight || hasValidBMI || hasValidTemperature || hasValidHeartRate || hasValidRespiration || hasValidBloodPressure}'); // print('Will add to list: ${hasValidWeight || hasValidHeight || hasValidBMI || hasValidTemperature || hasValidHeartRate || hasValidRespiration || hasValidBloodPressure}');
print('====================================='); // print('=====================================');
// Add if ANY vital sign has valid data // Add if ANY vital sign has valid data
if (hasValidWeight || hasValidHeight || hasValidBMI || hasValidTemperature || if (hasValidWeight || hasValidHeight || hasValidBMI || hasValidTemperature ||

@ -1837,5 +1837,6 @@ abstract class LocaleKeys {
static const maxOneFileAllowed = 'maxOneFileAllowed'; static const maxOneFileAllowed = 'maxOneFileAllowed';
static const fileSizeExceedsLimit = 'fileSizeExceedsLimit'; static const fileSizeExceedsLimit = 'fileSizeExceedsLimit';
static const completedPrescriptionOrder = 'completedPrescriptionOrder'; static const completedPrescriptionOrder = 'completedPrescriptionOrder';
static const submitEReferral = 'submitEReferral';
} }

@ -219,14 +219,7 @@ class _MyDoctorsPageState extends State<MyDoctorsPage> {
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
AppCustomChipWidget( AppCustomChipWidget(
richText: Row( labelText: "${group.length} ${LocaleKeys.doctors.tr(context: context)}",
children: [
"${group.length} ".toText10(isEnglishOnly: true),
"${LocaleKeys.doctors2.tr(context: context)} ".toText10()
],
),
// labelText: "${group.length} ${'doctors'}",
isEnglishOnly: true,
), ),
Icon(isExpanded ? Icons.expand_less : Icons.expand_more), Icon(isExpanded ? Icons.expand_less : Icons.expand_more),
], ],
@ -360,8 +353,8 @@ class _MyDoctorsPageState extends State<MyDoctorsPage> {
), ),
); );
}, },
separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 16.h), separatorBuilder: (BuildContext cxt, int index) => SizedBox(height: 0.h),
), ),
SizedBox(height: 60.h), SizedBox(height: 60.h),
], ],
); );

@ -150,7 +150,7 @@ class _SavedLogin extends State<SavedLogin> {
fontSize: 12.f, fontSize: 12.f,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
borderRadius: 12.r, borderRadius: 12.r,
height: 40.h, height: 44.h,
padding: EdgeInsets.symmetric(vertical: 10.h), padding: EdgeInsets.symmetric(vertical: 10.h),
icon: (isOther == true && loginType == LoginTypeEnum.sms) ? AppAssets.whatsapp : getTypeIcons(loginType.toInt), icon: (isOther == true && loginType == LoginTypeEnum.sms) ? AppAssets.whatsapp : getTypeIcons(loginType.toInt),
iconColor: iconColor:

@ -356,7 +356,7 @@ class FeedbackPage extends StatelessWidget {
(String image, file) { (String image, file) {
print(image); print(image);
print(file); print(file);
Navigator.pop(context); // Navigator.pop(context);
contactUsViewModel.addFeedbackAttachment(image); contactUsViewModel.addFeedbackAttachment(image);
}, },
); );

@ -185,7 +185,7 @@ class _NewReferralPageState extends State<NewReferralPage> {
color: AppColors.whiteColor, color: AppColors.whiteColor,
padding: EdgeInsets.all(ResponsiveExtension(20).h), padding: EdgeInsets.all(ResponsiveExtension(20).h),
child: CustomButton( child: CustomButton(
text: _currentStep <= 1 ? LocaleKeys.next.tr() : LocaleKeys.submit.tr(), text: _currentStep <= 1 ? LocaleKeys.next.tr() : LocaleKeys.submitEReferral.tr(),
// icon: AppAssets.search_icon, // icon: AppAssets.search_icon,
iconColor: Colors.white, iconColor: Colors.white,
onPressed: () => {_handleNextStep()}, onPressed: () => {_handleNextStep()},

@ -290,10 +290,10 @@ class _OtherDetailsStepState extends State<OtherDetailsStep> {
void _addMedicalReport(String image, File file, ReferralFormManager formManager) { void _addMedicalReport(String image, File file, ReferralFormManager formManager) {
// Max 1 file // Max 1 file
if (formManager.formData.medicalReportImages.isNotEmpty) { // if (formManager.formData.medicalReportImages.isNotEmpty) {
formManager.setFieldError('medicalReport', LocaleKeys.maxOneFileAllowed.tr(context: context)); // formManager.setFieldError('medicalReport', LocaleKeys.maxOneFileAllowed.tr(context: context));
return; // return;
} // }
// Max 1 MB // Max 1 MB
final fileSizeInBytes = file.lengthSync(); final fileSizeInBytes = file.lengthSync();
if (fileSizeInBytes > 1 * 1024 * 1024) { if (fileSizeInBytes > 1 * 1024 * 1024) {

@ -41,6 +41,7 @@ import 'package:hmg_patient_app_new/presentation/contact_us/contact_us.dart';
import 'package:hmg_patient_app_new/presentation/hmg_services/services_page.dart'; import 'package:hmg_patient_app_new/presentation/hmg_services/services_page.dart';
import 'package:hmg_patient_app_new/presentation/home/data/landing_page_data.dart'; import 'package:hmg_patient_app_new/presentation/home/data/landing_page_data.dart';
import 'package:hmg_patient_app_new/presentation/home/widgets/habib_wallet_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/habib_wallet_card.dart';
import 'package:hmg_patient_app_new/presentation/home/widgets/lakum_wallet_card.dart';
import 'package:hmg_patient_app_new/presentation/home/widgets/large_service_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/large_service_card.dart';
import 'package:hmg_patient_app_new/presentation/home/widgets/small_service_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/small_service_card.dart';
import 'package:hmg_patient_app_new/presentation/home/widgets/welcome_widget.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/welcome_widget.dart';
@ -456,7 +457,7 @@ class _LandingPageState extends State<LandingPage> {
padding: EdgeInsets.only(left: 16.h, right: 16.h), padding: EdgeInsets.only(left: 16.h, right: 16.h),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return SizedBox( return SizedBox(
height: isTablet ? 290.h : 255.h, height: isTablet ? 290.h : 255.h,
width: 250.w, width: 250.w,
child: getIndexSwiperCard(index), child: getIndexSwiperCard(index),
); );
@ -833,7 +834,26 @@ class _LandingPageState extends State<LandingPage> {
separatorBuilder: (BuildContext cxt, int index) => SizedBox(width: 16.w), separatorBuilder: (BuildContext cxt, int index) => SizedBox(width: 16.w),
), ),
), ),
appState.isAuthenticated ? HabibWalletCard() : SizedBox(), appState.isAuthenticated
? Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true).paddingSymmetrical(24.h, 0.h),
SizedBox(
height: 170.h,
child: ListView.separated(
scrollDirection: Axis.horizontal,
itemCount: 2,
padding: EdgeInsetsDirectional.only(start: 24.h, end: 24.h),
itemBuilder: (BuildContext context, int index) {
return index == 0 ? HabibWalletCard() : LakumWalletCard();
},
separatorBuilder: (BuildContext context, int index) => SizedBox(width: 12.h),
),
),
],
)
: SizedBox(),
], ],
), ),
), ),

@ -23,23 +23,23 @@ class HabibWalletCard extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Column(
children: [ children: [
Row( // Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, // mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ // children: [
LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true), // LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true),
// Row( // // Row(
// children: [ // // children: [
// LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true), // // LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true),
// SizedBox(width: 2.h), // // SizedBox(width: 2.h),
// Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h), // // Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h),
// ], // // ],
// ), // // ),
], // ],
).paddingSymmetrical(24.h, 0.h), // ).paddingSymmetrical(24.h, 0.h),
SizedBox(height: 16.h), SizedBox(height: 16.h),
Container( Container(
// height: 150.h, // height: 150.h,
width: double.infinity, width: 355.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor, color: AppColors.whiteColor,
borderRadius: 24, borderRadius: 24,
@ -104,7 +104,7 @@ class HabibWalletCard extends StatelessWidget {
.toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.h, width: 80.h, height: 40.h), .toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.h, width: 80.h, height: 40.h),
], ],
), ),
Spacer(), // Spacer(),
Utils.getPaymentMethods(), Utils.getPaymentMethods(),
], ],
); );
@ -171,7 +171,7 @@ class HabibWalletCard extends StatelessWidget {
), ),
), ),
]), ]),
).paddingSymmetrical(24.h, 0.h).onPress(() { ).paddingSymmetrical(0.h, 0.h).onPress(() {
Navigator.of(context).push( Navigator.of(context).push(
CustomPageRoute( CustomPageRoute(
page: HabibWalletPage(), page: HabibWalletPage(),

@ -0,0 +1,189 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';
import 'package:hmg_patient_app_new/core/app_state.dart';
import 'package:hmg_patient_app_new/core/dependencies.dart';
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/recharge_wallet_page.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'package:provider/provider.dart';
class LakumWalletCard extends StatelessWidget {
const LakumWalletCard({super.key});
@override
Widget build(BuildContext context) {
return Column(
children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// children: [
// LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true),
// // Row(
// // children: [
// // LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true),
// // SizedBox(width: 2.h),
// // Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h),
// // ],
// // ),
// ],
// ).paddingSymmetrical(24.h, 0.h),
SizedBox(height: 16.h),
Container(
// height: 150.h,
width: 355.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 24,
),
child: Stack(children: [
Positioned(
right: 0,
child: ClipRRect(
borderRadius: BorderRadius.circular(24.0),
child: Utils.buildImgWithAssets(
icon: AppAssets.lakumLogo,
width: 150.h,
height: 150.h,
)),
),
Padding(
padding: EdgeInsets.all(16.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// children: [
// LocaleKeys.habibWallet.tr(context: context).toText16(isBold: true, letterSpacing: -0.2),
"Lakum Wallet".toText16(isBold: true, letterSpacing: -0.2),
// Container(
// height: 40.h,
// width: 40.h,
// decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
// color: AppColors.textColor,
// borderRadius: 8.h,
// ),
// child: Padding(
// padding: EdgeInsets.all(8.h),
// child: Utils.buildSvgWithAssets(
// icon: AppAssets.show_icon,
// width: 12.h,
// height: 12.h,
// fit: BoxFit.contain,
// ),
// ),
// ),
// ],
// ),
SizedBox(height: 4.h),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Consumer<HabibWalletViewModel>(builder: (context, habibWalletVM, child) {
return Row(
mainAxisSize: MainAxisSize.max,
children: [
Row(
children: [
Utils.buildSvgWithAssets(
icon: AppAssets.saudi_riyal_icon,
iconColor: AppColors.inputLabelTextColor,
width: 24.h,
height: 24.h,
fit: BoxFit.contain,
),
SizedBox(width: 8.h),
NumberFormat.decimalPattern()
.format(habibWalletVM.habibWalletAmount)
.toString()
.toText32(isBold: true, isEnglishOnly: true)
.toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.h, width: 80.h, height: 40.h),
],
),
// Spacer(),
Utils.getPaymentMethods(),
],
);
}),
],
),
SizedBox(height: 16.h),
Row(
children: [
Expanded(
flex: 6,
child: CustomButton(
height: 40.h,
icon: AppAssets.recharge_icon,
iconColor: AppColors.infoColor,
iconSize: 24.h,
backgroundColor: AppColors.infoColor.withAlpha(15),
textColor: AppColors.infoColor,
text: LocaleKeys.recharge.tr(context: context),
borderWidth: 0.w,
fontWeight: FontWeight.w600,
borderColor: AppColors.infoColor.withAlpha(15),
padding: EdgeInsets.fromLTRB(4, 0, 12, 0),
fontSize: 14.f,
onPressed: () {
Navigator.of(context).push(CustomPageRoute(page: RechargeWalletPage()));
},
),
),
SizedBox(width: 8.h),
Expanded(
flex: 1,
child: Container(
height: (isFoldable || isTablet) ? 50.h : 40.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.textColor,
borderRadius: 10.h,
side: BorderSide(
color: AppColors.textColor,
width: 1.2,
),
),
child: Transform.flip(
flipX: getIt.get<AppState>().isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.whiteColor,
width: 24.w,
height: 24.h,
fit: BoxFit.contain,
),
),
).onPress(() {
Navigator.of(context).push(
CustomPageRoute(
page: HabibWalletPage(),
),
);
}),
),
],
),
],
),
),
]),
).paddingSymmetrical(0.h, 0.h).onPress(() {
Navigator.of(context).push(
CustomPageRoute(
page: HabibWalletPage(),
),
);
}),
],
);
}
}

@ -117,7 +117,7 @@ class InsuranceApprovalCard extends StatelessWidget {
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
(isLoading ? "John Smith" : insuranceApprovalResponseModel.doctorName!).toText16(isBold: true).toShimmer2(isShow: isLoading), (isLoading ? "John Smith" : insuranceApprovalResponseModel.doctorName ?? "").toText16(isBold: true).toShimmer2(isShow: isLoading),
SizedBox(height: 8.h), SizedBox(height: 8.h),
Wrap( Wrap(
direction: Axis.horizontal, direction: Axis.horizontal,
@ -128,7 +128,7 @@ class InsuranceApprovalCard extends StatelessWidget {
// backgroundColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor.withValues(alpha: 0.1) : AppColors.primaryRedColor.withValues(alpha: 0.1), // backgroundColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor.withValues(alpha: 0.1) : AppColors.primaryRedColor.withValues(alpha: 0.1),
// textColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor : AppColors.primaryRedColor, // textColor: insuranceApprovalResponseModel.status == 9 ? AppColors.successColor : AppColors.primaryRedColor,
// ).toShimmer2(isShow: isLoading), // ).toShimmer2(isShow: isLoading),
AppCustomChipWidget(labelText: isLoading ? "Cardiology" : insuranceApprovalResponseModel.clinicName!).toShimmer2(isShow: isLoading), AppCustomChipWidget(labelText: isLoading ? "Cardiology" : insuranceApprovalResponseModel.clinicName ?? "").toShimmer2(isShow: isLoading),
Directionality( Directionality(
textDirection: ui.TextDirection.ltr, textDirection: ui.TextDirection.ltr,
child: AppCustomChipWidget( child: AppCustomChipWidget(

@ -241,8 +241,7 @@ class _MedicalFilePageState extends State<MedicalFilePage> {
children: [ children: [
AppCustomChipWidget( AppCustomChipWidget(
icon: AppAssets.file_icon, icon: AppAssets.file_icon,
richText: "${LocaleKeys.fileno.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}" labelText: "${LocaleKeys.fileno.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}",
.toText10(isEnglishOnly: true),
labelPadding: EdgeInsetsDirectional.only(start: -4.w, end: 6.w), labelPadding: EdgeInsetsDirectional.only(start: -4.w, end: 6.w),
), ),
AppCustomChipWidget( AppCustomChipWidget(

@ -123,9 +123,9 @@ class PatientSickLeaveCard extends StatelessWidget {
backgroundColor: AppColors.secondaryLightRedColor, backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor, borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor, textColor: AppColors.primaryRedColor,
fontSize: 14, fontSize: 14.f,
isBold: true, isBold: true,
borderRadius: 12, borderRadius: 12.r,
padding: EdgeInsets.fromLTRB(10, 0, 10, 0), padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
height: 40.h, height: 40.h,
icon: AppAssets.download, icon: AppAssets.download,

@ -48,11 +48,11 @@ class AttachmentOptions extends StatelessWidget {
).onPress(() async { ).onPress(() async {
await onGalleryTap(); await onGalleryTap();
}), }),
if (showFilesOption) SizedBox(height: 16.h), if (!showFilesOption) SizedBox(height: 16.h),
if (showFilesOption) if (showFilesOption)
checkInOptionCard( checkInOptionCard(
appState, appState,
AppAssets.files, AppAssets.file_icon,
LocaleKeys.openFiles.tr(context: context), LocaleKeys.openFiles.tr(context: context),
LocaleKeys.selectDocumentFiles.tr(context: context), LocaleKeys.selectDocumentFiles.tr(context: context),
).onPress(() async { ).onPress(() async {

@ -2,8 +2,8 @@ name: hmg_patient_app_new
description: "New HMG Patient App" description: "New HMG Patient App"
publish_to: 'none' # Remove this line if you wish to publish to pub.dev publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 0.0.25+24 #version: 0.0.30+29
#version: 0.0.1+23 version: 0.0.4+1
environment: environment:
sdk: ">=3.6.0 <4.0.0" sdk: ">=3.6.0 <4.0.0"

Loading…
Cancel
Save