pull/303/head
haroon amjad 13 hours ago
parent 9458e205af
commit 34cc16c24f

@ -1841,5 +1841,6 @@
"thisAboveInfoPrescription": "تم تحليل الوصفة الطبية هذه بواسطة الذكاء الاصطناعي، وهي لا تُعدّ نصيحة طبية. استشر طبيبك المختص للتشخيص والعلاج.", "thisAboveInfoPrescription": "تم تحليل الوصفة الطبية هذه بواسطة الذكاء الاصطناعي، وهي لا تُعدّ نصيحة طبية. استشر طبيبك المختص للتشخيص والعلاج.",
"liveCareNotificationPermissionsMessage": "يتطلب لايف كير أذونات الإشعارات، يرجى السماح بهذه الأذونات للمتابعة.", "liveCareNotificationPermissionsMessage": "يتطلب لايف كير أذونات الإشعارات، يرجى السماح بهذه الأذونات للمتابعة.",
"weatherIndicators": "طقس", "weatherIndicators": "طقس",
"submitRating": "إرسال التقييم" "submitRating": "إرسال التقييم",
"completedPrescriptionOrder": "تمت الخدمة"
} }

@ -1831,7 +1831,8 @@
"thisAboveInfoPrescription": "This prescription was analyzed by AI, and it is not medical advice. Consult your healthcare provider for diagnosis and treatment.", "thisAboveInfoPrescription": "This prescription was analyzed by AI, and it is not medical advice. Consult your healthcare provider for diagnosis and treatment.",
"liveCareNotificationPermissionsMessage": "LiveCare requires Notifications permission, Please allow to proceed.", "liveCareNotificationPermissionsMessage": "LiveCare requires Notifications permission, Please allow to proceed.",
"weatherIndicators": "Weather", "weatherIndicators": "Weather",
"submitRating": "Submit" "submitRating": "Submit",
"completedPrescriptionOrder": "Completed"
} }

@ -243,7 +243,7 @@ class ApiClientImp implements ApiClient {
http.Response response; http.Response response;
try { try {
response = await http.post(Uri.parse(url.trim()), body: requestBody, headers: headers); response = await http.post(Uri.parse(url.trim()), body: requestBody, headers: headers);
debugPrint("response: ${response.body}", wrapWidth: 2048); // debugPrint("response: ${response.body}", wrapWidth: 2048);
} on SocketException catch (e) { } on SocketException catch (e) {
final message = e.message.contains('Connection reset by peer') ? LocaleKeys.networkConnectionReset.tr() : LocaleKeys.networkErrorMessage.tr(); final message = e.message.contains('Connection reset by peer') ? LocaleKeys.networkConnectionReset.tr() : LocaleKeys.networkErrorMessage.tr();
onFailure(message, -1, failureType: ConnectivityFailure(message)); onFailure(message, -1, failureType: ConnectivityFailure(message));

@ -282,7 +282,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 = 20.9; static final double appVersionID = 21.0;
// static final double appVersionID = 50.7; // static final double appVersionID = 50.7;
static final int appChannelId = 3; static final int appChannelId = 3;

@ -43,8 +43,13 @@ extension ResponsiveExtension on num {
// Enhanced clamping for different device types // Enhanced clamping for different device types
double clamp; double clamp;
if (SizeUtils.deviceType == DeviceType.tablet || _isFoldable) { if (SizeUtils.deviceType == DeviceType.tablet || _isFoldable) {
// More conservative scaling for tablets and foldables if (SizeUtils.deviceType != DeviceType.tablet && _isFoldable) {
clamp = (aspectRatio > 1.5 || aspectRatio < 0.67) ? 1.6 : 1.4; // clamp = (aspectRatio > 1.5 || aspectRatio < 0.67) ? 1.4 : 1.4;
clamp = 1.1;
} else {
// More conservative scaling for tablets and foldables
clamp = (aspectRatio > 1.5 || aspectRatio < 0.67) ? 1.6 : 1.4;
}
} else { } else {
// Original logic for phones // Original logic for phones
clamp = (aspectRatio > 1.3 || aspectRatio < 0.77) ? 1.6 : 1.2; clamp = (aspectRatio > 1.3 || aspectRatio < 0.77) ? 1.6 : 1.2;

@ -944,11 +944,11 @@ class HmgServicesRepoImp implements HmgServicesRepo {
final vitalSign = VitalSignResModel.fromJson(vitalSignJson); final vitalSign = VitalSignResModel.fromJson(vitalSignJson);
// Debug logging for blood pressure // Debug logging for blood pressure
print('=== Repository Blood Pressure Check ==='); // print('=== Repository Blood Pressure Check ===');
print('bloodPressureHigher: ${vitalSign.bloodPressureHigher}'); // print('bloodPressureHigher: ${vitalSign.bloodPressureHigher}');
print('bloodPressureLower: ${vitalSign.bloodPressureLower}'); // print('bloodPressureLower: ${vitalSign.bloodPressureLower}');
print('weightKg: ${vitalSign.weightKg}'); // print('weightKg: ${vitalSign.weightKg}');
print('heightCm: ${vitalSign.heightCm}'); // print('heightCm: ${vitalSign.heightCm}');
// Check if the record has at least one valid vital sign measurement // Check if the record has at least one valid vital sign measurement
final hasValidWeight = _isValidValue(vitalSign.weightKg); final hasValidWeight = _isValidValue(vitalSign.weightKg);

@ -1834,5 +1834,6 @@ abstract class LocaleKeys {
static const liveCareNotificationPermissionsMessage = 'liveCareNotificationPermissionsMessage'; static const liveCareNotificationPermissionsMessage = 'liveCareNotificationPermissionsMessage';
static const weatherIndicators = 'weatherIndicators'; static const weatherIndicators = 'weatherIndicators';
static const submitRating = 'submitRating'; static const submitRating = 'submitRating';
static const completedPrescriptionOrder = 'completedPrescriptionOrder';
} }

@ -251,7 +251,7 @@ class _AppointmentCardState extends State<AppointmentCard> {
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Utils.buildSvgWithAssets(icon: AppAssets.rating_icon, width: 15.w, height: 15.h, iconColor: AppColors.ratingColorYellow), Utils.buildSvgWithAssets(icon: AppAssets.rating_icon, width: 14.h, height: 14.h, iconColor: AppColors.ratingColorYellow),
SizedBox(height: 2.h), SizedBox(height: 2.h),
(isFoldable || isTablet) (isFoldable || isTablet)
? "${widget.patientAppointmentHistoryResponseModel.decimalDoctorRate}" ? "${widget.patientAppointmentHistoryResponseModel.decimalDoctorRate}"

@ -24,7 +24,7 @@ class RequestStatus extends StatelessWidget {
case 2: //processing case 2: //processing
return LocaleKeys.underProcessing.tr(); return LocaleKeys.underProcessing.tr();
case 3: case 3:
return LocaleKeys.completed.tr(); return LocaleKeys.completedPrescriptionOrder.tr();
case 4: //cancel case 4: //cancel
case 6: case 6:
case 7: case 7:

@ -448,7 +448,7 @@ class _LandingPageState extends State<LandingPage> {
).paddingSymmetrical(24.h, 0.h) ).paddingSymmetrical(24.h, 0.h)
: isTablet : isTablet
? SizedBox( ? SizedBox(
height: isFoldable ? 290.h : 255.h, height: isTablet ? 290.h : 255.h,
child: ListView.separated( child: ListView.separated(
scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
itemCount: 3, itemCount: 3,
@ -456,7 +456,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: isFoldable ? 290.h : 255.h, height: isTablet ? 290.h : 255.h,
width: 250.w, width: 250.w,
child: getIndexSwiperCard(index), child: getIndexSwiperCard(index),
); );

@ -162,10 +162,11 @@ class PatientInsuranceCard extends StatelessWidget {
AppCustomChipWidget( AppCustomChipWidget(
icon: AppAssets.doctor_calendar_icon, icon: AppAssets.doctor_calendar_icon,
// labelText: "${LocaleKeys.expiryDate.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceCardDetailsModel.cardValidTo), false)}", // labelText: "${LocaleKeys.expiryDate.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceCardDetailsModel.cardValidTo), false)}",
richText: "${LocaleKeys.expiryDate.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceCardDetailsModel.cardValidTo), false)}".toText10(isEnglishOnly: true), richText:
"${LocaleKeys.expiryDate.tr(context: context)} ${DateUtil.formatDateToDate(DateUtil.convertStringToDate(insuranceCardDetailsModel.cardValidTo), false)}".toText10(isBold: true),
labelPadding: EdgeInsetsDirectional.only(start: -4.h, end: 8.h), labelPadding: EdgeInsetsDirectional.only(start: -4.h, end: 8.h),
), ),
AppCustomChipWidget(richText: LocaleKeys.patientCardID.tr(namedArgs: {'id': insuranceCardDetailsModel.patientCardID ?? ''}, context: context).toText10(isEnglishOnly: true)), AppCustomChipWidget(richText: LocaleKeys.patientCardID.tr(namedArgs: {'id': insuranceCardDetailsModel.patientCardID ?? ''}, context: context).toText10(isBold: true)),
], ],
), ),
SizedBox(height: 10.h), SizedBox(height: 10.h),

Loading…
Cancel
Save