darkmode inprogress

faiz_dev_dark_mode
faizatflutter 2 months ago
parent 7b2e3a5a54
commit ffb0824a22

@ -0,0 +1,3 @@
<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.76629 0.292994C8.94577 0.52652 8.97196 0.843482 8.83323 1.10329C8.24927 2.19693 7.91792 3.4461 7.91792 4.77489C7.91792 9.0867 11.4133 12.5821 15.7251 12.5821C17.0539 12.5821 18.3031 12.2508 19.3967 11.6668C19.6565 11.5281 19.9735 11.5543 20.207 11.7337C20.4406 11.9132 20.5474 12.2128 20.4802 12.4995C19.4056 17.085 15.2909 20.5 10.3769 20.5C4.64589 20.5 0 15.8541 0 10.1232C0 5.20909 3.41505 1.09448 8.0005 0.0198166C8.28726 -0.0473898 8.58681 0.0594678 8.76629 0.292994Z" fill="#8F9AA3"/>
</svg>

After

Width:  |  Height:  |  Size: 606 B

@ -873,7 +873,7 @@
"walkin": "زيارة بدون موعد",
"laserClinic": "عيادة الليزر",
"continueString": "يكمل",
"covid_info": "تجري مستشفيات د. سليمان الحبيب فحص فيروس كورونا المستجد وتصدر شهادات السفر على مدار الساعة، طوال أيام الأسبوع، وبسرعة ودقة عالية. يمكن للراغبين في الاستفادة من هذه الخدمة زيارة أحد فروع مستشفيات د. سليمان الحبيب وإجراء فحص كورونا خلال بضع دقائق والحصول على النتائج خلال عدة ساعات خدمة فحص فيروس كورونا Covid 19 بتقنية PCR للكشف عن الفيروس وفقاً لأعلى المعايير العالمية وبأحدث أجهزة RT-PCR عالية الدقة (GeneXpert الأمريكي وغيره)، وهي طرق معتمدة من قبل هيئة الغذاء والدواء وكذلك من قبل المركز السعودي للوقاية من الأمراض المُعدية",
"covid_info": "تجري مستشفيات د. سليمان الحبيب فحص فيروس كورونا المستجد وتصدر شهادات السفر على مدار الساعة، طوال أيام الأسبوع، وبسرعة ودقة عالية. يمكن للراغبين في الاستفادة من هذه الخدمة زيارة أحد فروع مستشفيات د. سليمان الحبيب وإجراء فحص كورونا خلال بضع دقائق والحصول على النتائج خلال عدة ساعات خدمة فحص فيروس كورونا Covid 19 بتقنية PCR للكشف عن الفيروس وفقاً لأعلى المعايير العالمية وبأحدث أجهزة RT-PCR عالية الدقة (GeneXpert الأمريكي وغيره)، وهي طرق معتمدة من قبل هيئة الغذاء والدواء وكذلك من قبل المركز السعودي للوقاية من الأمراض المُعدية",
"appointmentDetails": "تفاصيل الموعد",
"checkingDoctorAvailability": "جاري التحقق من توفر الطبيب...",
"cancellingAppointmentPleaseWait": "جاري إلغاء الموعد، يرجى الانتظار...",
@ -1581,5 +1581,6 @@
"invalidInsurance": "لا يمكنك إجراء الدفع عبر الإنترنت لأنه ليس لديك تأمين صالح.",
"continueCash": "متابعة الدفع نقدًا",
"timeFor": "الوقت",
"hmgPolicies": "سياسات مجموعة الحبيب الطبية"
"hmgPolicies": "سياسات مجموعة الحبيب الطبية",
"darkMode": "الوضع الليلي"
}

@ -853,7 +853,7 @@
"setTheDateRange": "Set The Date Range",
"historyFlowchart": "History FlowChart",
"to": "to",
"startDate" : "Start Date",
"startDate": "Start Date",
"endDate": "End Date",
"hmgHospitals": "HMG Hospitals",
"hmcMedicalClinic": "HMC Medical Centers",
@ -866,7 +866,7 @@
"walkin": "Walk In",
"continueString": "Continue",
"laserClinic": "Laser Clinic",
"covid_info" :"Dr. Sulaiman Al Habib hospitals are conducting a test for the emerging corona virus and issuing travel certificates 24/7 in a short time and with high accuracy. Those wishing to benefit from this service can visit one of Dr. Sulaiman Al Habib branches to conduct a corona test within few minutes, and obtain the result within several hours. Corona Virus Covid 19 testing service with PCR technology to detect the virus according to the highest international standards and with the latest high-precision RT-PCR devices (American GeneXpert and others), That is approved by the Food and Drug Authority as well as by the Saudi Center for Infectious Diseases Prevention.",
"covid_info": "Dr. Sulaiman Al Habib hospitals are conducting a test for the emerging corona virus and issuing travel certificates 24/7 in a short time and with high accuracy. Those wishing to benefit from this service can visit one of Dr. Sulaiman Al Habib branches to conduct a corona test within few minutes, and obtain the result within several hours. Corona Virus Covid 19 testing service with PCR technology to detect the virus according to the highest international standards and with the latest high-precision RT-PCR devices (American GeneXpert and others), That is approved by the Food and Drug Authority as well as by the Saudi Center for Infectious Diseases Prevention.",
"appointmentDetails": "Appointment Details",
"checkingDoctorAvailability": "Checking doctor availability...",
"cancellingAppointmentPleaseWait": "Cancelling Appointment, Please Wait...",
@ -1574,5 +1574,6 @@
"invalidInsurance": "You cannot make online payment because you do not have a valid insurance.",
"continueCash": "Continue as cash",
"timeFor": "Time For",
"hmgPolicies": "HMG Policies"
"hmgPolicies": "HMG Policies",
"darkMode": "Dark Mode"
}

@ -17,15 +17,14 @@
61243B542EC5FA3700D46FA0 /* PenguinPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B442EC5FA3700D46FA0 /* PenguinPlugin.swift */; };
61243B562EC5FA3700D46FA0 /* PenguinNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B432EC5FA3700D46FA0 /* PenguinNavigator.swift */; };
61243B572EC5FA3700D46FA0 /* PenguinViewFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B462EC5FA3700D46FA0 /* PenguinViewFactory.swift */; };
68D4441D2F3BBBD900995552 /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441A2F3BBBD900995552 /* PenNavUI.xcframework */; };
68D4441E2F3BBBD900995552 /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441A2F3BBBD900995552 /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
68D4441F2F3BBBDA00995552 /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441B2F3BBBD900995552 /* PenguinINRenderer.xcframework */; };
68D444202F3BBBDA00995552 /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441B2F3BBBD900995552 /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
68D444212F3BBBDA00995552 /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441C2F3BBBD900995552 /* Penguin.xcframework */; };
68D444222F3BBBDA00995552 /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 68D4441C2F3BBBD900995552 /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
765A5A8C2F35CD8B0003FF7D /* Penguin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A802F35CD730003FF7D /* Penguin.xcframework */; };
765A5A8D2F35CD8B0003FF7D /* Penguin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A802F35CD730003FF7D /* Penguin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
765A5A8E2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A812F35CD730003FF7D /* PenguinINRenderer.xcframework */; };
765A5A8F2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A812F35CD730003FF7D /* PenguinINRenderer.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
765A5A902F35CD8B0003FF7D /* PenNavUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A822F35CD730003FF7D /* PenNavUI.xcframework */; };
765A5A912F35CD8B0003FF7D /* PenNavUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 765A5A822F35CD730003FF7D /* PenNavUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
76AA18AE2F3B2A4D00DC8DFC /* ring_30Sec.caf in Resources */ = {isa = PBXBuildFile; fileRef = 76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */; };
76AA18AF2F3B2A4D00DC8DFC /* ring_30Sec.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 76AA18AD2F3B2A4D00DC8DFC /* ring_30Sec.mp3 */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@ -49,9 +48,9 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
765A5A8F2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Embed Frameworks */,
765A5A8D2F35CD8B0003FF7D /* Penguin.xcframework in Embed Frameworks */,
765A5A912F35CD8B0003FF7D /* PenNavUI.xcframework in Embed Frameworks */,
68D444222F3BBBDA00995552 /* Penguin.xcframework in Embed Frameworks */,
68D444202F3BBBDA00995552 /* PenguinINRenderer.xcframework in Embed Frameworks */,
68D4441E2F3BBBD900995552 /* PenNavUI.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@ -72,15 +71,14 @@
61243B442EC5FA3700D46FA0 /* PenguinPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinPlugin.swift; sourceTree = "<group>"; };
61243B452EC5FA3700D46FA0 /* PenguinView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinView.swift; sourceTree = "<group>"; };
61243B462EC5FA3700D46FA0 /* PenguinViewFactory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinViewFactory.swift; sourceTree = "<group>"; };
68D4441A2F3BBBD900995552 /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenNavUI.xcframework; path = Frameworks/PenNavUI.xcframework; sourceTree = "<group>"; };
68D4441B2F3BBBD900995552 /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = PenguinINRenderer.xcframework; path = Frameworks/PenguinINRenderer.xcframework; sourceTree = "<group>"; };
68D4441C2F3BBBD900995552 /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Penguin.xcframework; path = Frameworks/Penguin.xcframework; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7595037DD52211B91157B0F3 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
765A5A802F35CD730003FF7D /* Penguin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = Penguin.xcframework; sourceTree = "<group>"; };
765A5A812F35CD730003FF7D /* PenguinINRenderer.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenguinINRenderer.xcframework; sourceTree = "<group>"; };
765A5A822F35CD730003FF7D /* PenNavUI.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = PenNavUI.xcframework; sourceTree = "<group>"; };
769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = RunnerDebug.entitlements; sourceTree = "<group>"; };
76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = ring_30Sec.caf; sourceTree = "<group>"; };
76AA18AD2F3B2A4D00DC8DFC /* ring_30Sec.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = ring_30Sec.mp3; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
8E12CEEB8E334EE22D5259D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
@ -99,10 +97,10 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
765A5A8C2F35CD8B0003FF7D /* Penguin.xcframework in Frameworks */,
765A5A902F35CD8B0003FF7D /* PenNavUI.xcframework in Frameworks */,
765A5A8E2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Frameworks */,
68D444212F3BBBDA00995552 /* Penguin.xcframework in Frameworks */,
DE1EF78253E64BE86845D2CC /* Pods_Runner.framework in Frameworks */,
68D4441F2F3BBBDA00995552 /* PenguinINRenderer.xcframework in Frameworks */,
68D4441D2F3BBBD900995552 /* PenNavUI.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -140,9 +138,9 @@
766D8CB22EC60BE600D05E07 /* Frameworks */ = {
isa = PBXGroup;
children = (
765A5A802F35CD730003FF7D /* Penguin.xcframework */,
765A5A812F35CD730003FF7D /* PenguinINRenderer.xcframework */,
765A5A822F35CD730003FF7D /* PenNavUI.xcframework */,
68D4441C2F3BBBD900995552 /* Penguin.xcframework */,
68D4441B2F3BBBD900995552 /* PenguinINRenderer.xcframework */,
68D4441A2F3BBBD900995552 /* PenNavUI.xcframework */,
D562310E31D1DDEFA02A6C12 /* Pods_Runner.framework */,
);
name = Frameworks;
@ -194,7 +192,6 @@
isa = PBXGroup;
children = (
76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */,
76AA18AD2F3B2A4D00DC8DFC /* ring_30Sec.mp3 */,
61243B412EC5FA3700D46FA0 /* Helper */,
61243B472EC5FA3700D46FA0 /* Penguin */,
769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */,
@ -307,7 +304,6 @@
buildActionMask = 2147483647;
files = (
76AA18AE2F3B2A4D00DC8DFC /* ring_30Sec.caf in Resources */,
76AA18AF2F3B2A4D00DC8DFC /* ring_30Sec.mp3 in Resources */,
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
478CFA942E638C8E0064F3D7 /* GoogleService-Info.plist in Resources */,

@ -331,6 +331,7 @@ class AppAssets {
static const String doctorResponseIcon = '$svgBasePath/doctor_response_icon.svg';
static const String changeLanguageHomePageIcon = '$svgBasePath/change_language_home_page.svg';
static const String aiOverView = '$svgBasePath/ai_overview.svg';
static const String darkModeIcon = '$svgBasePath/dark_mode_icon.svg';
// PNGS //
static const String hmgLogo = '$pngBasePath/hmg_logo.png';

@ -224,7 +224,7 @@ class AppDependencies {
authenticationRepo: getIt(), cacheService: getIt(), navigationService: getIt(), dialogService: getIt(), appState: getIt(), errorHandlerService: getIt(), localAuthService: getIt()),
);
getIt.registerLazySingleton<ProfileSettingsViewModel>(() => ProfileSettingsViewModel());
getIt.registerLazySingleton<ProfileSettingsViewModel>(() => ProfileSettingsViewModel(cacheService: getIt()));
getIt.registerLazySingleton<DateRangeSelectorRangeViewModel>(() => DateRangeSelectorRangeViewModel());

@ -25,7 +25,7 @@ class LoadingUtils {
showDialog(
barrierDismissible: barrierDismissible,
context: context,
barrierColor: AppColors.blackColor.withOpacity(0.5),
barrierColor: AppColors.textColor.withOpacity(0.5),
useRootNavigator: false,
useSafeArea: false,
builder: (BuildContext context) {

@ -91,7 +91,7 @@ class Utils {
toastLength: longDuration ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1,
backgroundColor: AppColors.blackColor,
backgroundColor: AppColors.textColor,
textColor: AppColors.whiteColor,
fontSize: 16.0);
}
@ -268,7 +268,7 @@ class Utils {
_isLoadingVisible = true;
showDialog(
context: navigationService.navigatorKey.currentContext!,
barrierColor: AppColors.blackColor,
barrierColor: AppColors.textColor,
builder: (BuildContext context) => LoadingDialog(),
)
.then((value) {
@ -369,7 +369,7 @@ class Utils {
Lottie.asset(AppAnimations.loadingAnimation,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 80.h, height: 80.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.blackColor, isCenter: true),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.textColor, isCenter: true),
SizedBox(height: 8.h),
],
).center;
@ -382,7 +382,7 @@ class Utils {
children: [
Lottie.asset(AppAnimations.checkmark, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.blackColor),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 8.h),
],
).center;
@ -396,7 +396,7 @@ class Utils {
Lottie.asset(AppAnimations.errorAnimation,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.blackColor),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 8.h),
],
).center;
@ -418,7 +418,7 @@ class Utils {
Lottie.asset(AppAnimations.warningAnimation,
repeat: false, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText15(color: AppColors.blackColor, letterSpacing: 0),
(loadingText ?? LocaleKeys.loadingText.tr()).toText15(color: AppColors.textColor, letterSpacing: 0),
SizedBox(height: 16.h),
bodyWidget ?? SizedBox.shrink(),
SizedBox(height: 16.h),
@ -802,7 +802,7 @@ class Utils {
double? letterSpacing,
FontWeight? fontWeight,
Color iconColor = AppColors.textColor,
Color textColor = AppColors.blackColor,
Color textColor = AppColors.textColor,
bool isSaudiCurrency = true,
bool isExpanded = true,
}) {

@ -5,9 +5,20 @@ 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/enums.dart';
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:intl/intl.dart';
/// Global context from the navigator key available after first route is built.
/// Used by toText* extensions to resolve theme-aware colors.
BuildContext? get _globalContext => getIt.get<NavigationService>().context;
Color get _defaultTextColor {
final ctx = _globalContext;
if (ctx == null) return AppColors.textColor;
return ctx.textColor;
}
extension CapExtension on String {
String get toCamelCase => "${this[0].toUpperCase()}${substring(1)}";
@ -31,61 +42,40 @@ extension EmailValidator on String {
fontSize: 8.f,
fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: 0,
),
);
Widget toText10(
{bool isEnglishOnly = false,
Color? color,
FontWeight? weight,
bool isBold = false,
bool isUnderLine = false,
bool isCenter = false,
int? maxlines,
FontStyle? fontStyle,
TextOverflow? textOverflow,
double letterSpacing = 0}) =>
Text(
Widget toText9({Color? color, FontWeight? weight, bool isBold = false, bool isUnderLine = false, bool isCenter = false, int? maxlines, FontStyle? fontStyle, TextOverflow? textOverflow, double letterSpacing = 0}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines,
overflow: textOverflow,
style: TextStyle(
fontSize: 10.f,
fontSize: 9.f,
fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins',
decorationColor: color ?? AppColors.blackColor),
decorationColor: color ?? _defaultTextColor),
);
Widget toText9(
{Color? color,
FontWeight? weight,
bool isBold = false,
bool isUnderLine = false,
bool isCenter = false,
int? maxlines,
FontStyle? fontStyle,
TextOverflow? textOverflow,
double letterSpacing = 0}) =>
Text(
Widget toText10({bool isEnglishOnly = false, Color? color, FontWeight? weight, bool isBold = false, bool isUnderLine = false, bool isCenter = false, int? maxlines, FontStyle? fontStyle, TextOverflow? textOverflow, double letterSpacing = 0}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines,
overflow: textOverflow,
style: TextStyle(
fontSize: 9.f,
fontSize: 10.f,
fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null,
decorationColor: color ?? AppColors.blackColor),
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins',
decorationColor: color ?? _defaultTextColor),
);
Widget toText11({Color? color, FontWeight? weight, bool isUnderLine = false, bool isCenter = false, bool isBold = false, int maxLine = 0, double letterSpacing = 0}) => Text(
@ -96,33 +86,23 @@ extension EmailValidator on String {
style: TextStyle(
fontSize: 11.f,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null,
),
);
Widget toText12(
{bool isEnglishOnly = false, Color? color,
bool isUnderLine = false,
TextAlign textAlignment = TextAlign.start,
bool isBold = false,
FontWeight? fontWeight,
bool isCenter = false,
double? height,
double? letterSpacing,
int maxLine = 0}) =>
Text(
Widget toText12({bool isEnglishOnly = false, Color? color, bool isUnderLine = false, TextAlign textAlignment = TextAlign.start, bool isBold = false, FontWeight? fontWeight, bool isCenter = false, double? height, double? letterSpacing, int maxLine = 0}) => Text(
this,
textAlign: isCenter ? TextAlign.center : textAlignment,
maxLines: (maxLine > 0) ? maxLine : null,
style: TextStyle(
fontSize: 12.f,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing ?? 0,
height: height,
decorationColor: isUnderLine ? AppColors.blackColor : null,
decorationColor: isUnderLine ? color ?? _defaultTextColor : null,
decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins',
),
@ -136,25 +116,13 @@ extension EmailValidator on String {
style: TextStyle(
fontSize: 12.f,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: 0,
decoration: isUnderLine ? TextDecoration.underline : null,
),
);
Widget toTextAuto({
Color? color,
bool isUnderLine = false,
bool isBold = false,
bool isCenter = false,
int maxLine = 0,
double fontSize = 12,
double letterSpacing = 0.64,
double height = 1,
TextOverflow? textOverflow,
FontWeight? fontWeight,
}) =>
AutoSizeText(
Widget toTextAuto({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int maxLine = 0, double fontSize = 12, double letterSpacing = 0.64, double height = 1, TextOverflow? textOverflow, FontWeight? fontWeight}) => AutoSizeText(
this,
textAlign: isCenter ? TextAlign.center : null,
maxLines: (maxLine > 0) ? maxLine : null,
@ -164,7 +132,7 @@ extension EmailValidator on String {
style: TextStyle(
fontSize: fontSize,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null,
),
@ -177,38 +145,25 @@ extension EmailValidator on String {
style: TextStyle(
fontSize: 13.f,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null),
);
Widget toText14({
bool isEnglishOnly = false,
Color? color,
bool isUnderLine = false,
bool isBold = false,
bool isCenter = false,
FontWeight? weight,
int? maxlines,
double? letterSpacing = 0,
double? height,
String? fontFamily,
TextOverflow? textOverflow,
}) =>
Text(
Widget toText14({bool isEnglishOnly = false, Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, FontWeight? weight, int? maxlines, double? letterSpacing = 0, double? height, String? fontFamily, TextOverflow? textOverflow}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines,
overflow: textOverflow,
style: TextStyle(
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
fontSize: 14.f,
letterSpacing: letterSpacing,
height: height,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: fontFamily ?? (isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'),
decorationColor: color ?? AppColors.blackColor),
decorationColor: color ?? _defaultTextColor),
);
Widget toText15({Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, FontWeight? weight, int? maxlines, double? letterSpacing = -1}) => Text(
@ -216,32 +171,19 @@ extension EmailValidator on String {
textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines,
style: TextStyle(
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
fontSize: 15.f,
letterSpacing: letterSpacing,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
decoration: isUnderLine ? TextDecoration.underline : null),
);
Widget toText16({bool isEnglishOnly = false, Color? color,
bool isUnderLine = false,
bool isBold = false,
bool isCenter = false,
int? maxlines,
double? height,
TextAlign? textAlign,
FontWeight? weight,
TextOverflow? textOverflow,
String? fontFamily,
double? letterSpacing = -0.4,
Color decorationColor = AppColors.errorColor}) =>
Text(
Widget toText16({bool isEnglishOnly = false, Color? color, bool isUnderLine = false, bool isBold = false, bool isCenter = false, int? maxlines, double? height, TextAlign? textAlign, FontWeight? weight, TextOverflow? textOverflow, String? fontFamily, double? letterSpacing = -0.4, Color? decorationColor}) => Text(
this,
maxLines: maxlines,
textAlign: isCenter ? textAlign ?? TextAlign.center : null,
// locale: Locale('en', 'US'),
style: TextStyle(
color: color ?? AppColors.blackColor,
color: color ?? _defaultTextColor,
fontSize: 16.f,
letterSpacing: letterSpacing,
height: height,
@ -255,74 +197,93 @@ extension EmailValidator on String {
Widget toText17({bool isEnglishOnly = false, Color? color, bool isBold = false, bool isCenter = false}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(color: color ?? AppColors.blackColor, fontSize: 17.f, letterSpacing: -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal, fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'),
style: TextStyle(
color: color ?? _defaultTextColor,
fontSize: 17.f,
letterSpacing: -1,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'),
);
Widget toText18({Color? color, FontWeight? weight, bool isBold = false, bool isCenter = false, int? maxlines, TextOverflow? textOverflow}) => Text(
this,
maxLines: maxlines,
textAlign: isCenter ? TextAlign.center : null,
this,
overflow: textOverflow,
style: TextStyle(fontSize: 18.f, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), color: color ?? AppColors.blackColor, letterSpacing: -0.4),
style: TextStyle(fontSize: 18.f, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), color: color ?? _defaultTextColor, letterSpacing: -0.4),
);
Widget toText19({Color? color, bool isBold = false}) => Text(
this,
style: TextStyle(fontSize: 19.f, fontWeight: isBold ? FontWeight.bold : FontWeight.normal, color: color ?? AppColors.blackColor, letterSpacing: -0.4),
style: TextStyle(fontSize: 19.f, fontWeight: isBold ? FontWeight.bold : FontWeight.normal, color: color ?? _defaultTextColor, letterSpacing: -0.4),
);
Widget toText20({
Color? color,
FontWeight? weight,
bool isBold = false,
}) =>
Text(
Widget toText20({Color? color, FontWeight? weight, bool isBold = false}) => Text(
this,
style: TextStyle(fontSize: 20.f, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), color: color ?? AppColors.blackColor, letterSpacing: -0.4),
style: TextStyle(fontSize: 20.f, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), color: color ?? _defaultTextColor, letterSpacing: -0.4),
);
Widget toText21({Color? color, bool isBold = false, FontWeight? weight, int? maxlines}) => Text(
this,
maxLines: maxlines,
style: TextStyle(color: color ?? AppColors.blackColor, fontSize: 21.f, letterSpacing: -1, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal)),
style: TextStyle(color: color ?? _defaultTextColor, fontSize: 21.f, letterSpacing: -1, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal)),
);
Widget toText22({Color? color, bool isBold = false, bool isCenter = false}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(height: 1, color: color ?? AppColors.blackColor, fontSize: 22.f, letterSpacing: -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal),
style: TextStyle(height: 1, color: color ?? _defaultTextColor, fontSize: 22.f, letterSpacing: -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal),
);
Widget toText24({Color? color, bool isBold = false, bool isCenter = false, FontWeight? fontWeight, double? letterSpacing}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(
height: 23 / 24, color: color ?? AppColors.blackColor, fontSize: 24.f, letterSpacing: letterSpacing ?? -1, fontWeight: isBold ? FontWeight.bold : fontWeight ?? FontWeight.normal),
height: 23 / 24,
color: color ?? _defaultTextColor,
fontSize: 24.f,
letterSpacing: letterSpacing ?? -1,
fontWeight: isBold ? FontWeight.bold : fontWeight ?? FontWeight.normal),
);
Widget toText26({Color? color, bool isBold = false, double? height, bool isCenter = false, FontWeight? weight, double? letterSpacing}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(
height: height ?? 23 / 26, color: color ?? AppColors.blackColor, fontSize: 26.f, letterSpacing: letterSpacing ?? -1, fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal)),
height: height ?? 23 / 26,
color: color ?? _defaultTextColor,
fontSize: 26.f,
letterSpacing: letterSpacing ?? -1,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal)),
);
Widget toText28({bool isEnglishOnly = false, Color? color, bool isBold = false, double? height, bool isCenter = false, double? letterSpacing}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(height: height ?? 23 / 28, color: color ?? AppColors.blackColor, fontSize: 28.f, letterSpacing: letterSpacing ?? -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal, fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'),
style: TextStyle(
height: height ?? 23 / 28,
color: color ?? _defaultTextColor,
fontSize: 28.f,
letterSpacing: letterSpacing ?? -1,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'),
);
Widget toText32({bool isEnglishOnly = false, FontWeight? weight, Color? color, bool isBold = false, bool isCenter = false}) => Text(
this,
textAlign: isCenter ? TextAlign.center : null,
style: TextStyle(
height: 32 / 32, color: color ?? AppColors.blackColor, fontSize: 32.f, letterSpacing: -1, fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins', fontWeight: isBold ? FontWeight.bold : weight ?? FontWeight.normal),
height: 32 / 32,
color: color ?? _defaultTextColor,
fontSize: 32.f,
letterSpacing: -1,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins',
fontWeight: isBold ? FontWeight.bold : weight ?? FontWeight.normal),
);
Widget toText44({Color? color, bool isBold = false}) => Text(
this,
style: TextStyle(height: 32 / 32, color: color ?? AppColors.blackColor, fontSize: 44.f, letterSpacing: -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal),
style: TextStyle(height: 32 / 32, color: color ?? _defaultTextColor, fontSize: 44.f, letterSpacing: -1, fontWeight: isBold ? FontWeight.bold : FontWeight.normal),
);
Widget toSectionHeading({String upperHeading = "", String lowerHeading = ""}) {
@ -331,7 +292,6 @@ extension EmailValidator on String {
String heading = this;
if (heading.isNotEmpty) {
List<String> data = heading.split(" ");
if (data.length > 1) {
upper = data[0];
data.removeAt(0);
@ -340,13 +300,8 @@ extension EmailValidator on String {
lower = data[0];
}
}
if (upperHeading.isNotEmpty) {
upper = upperHeading;
}
if (lowerHeading.isNotEmpty) {
lower = lowerHeading;
}
if (upperHeading.isNotEmpty) upper = upperHeading;
if (lowerHeading.isNotEmpty) lower = lowerHeading;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
@ -370,32 +325,19 @@ extension EmailValidator on String {
String getMonth(int month) {
switch (month) {
case 1:
return "January";
case 2:
return "February";
case 3:
return "March";
case 4:
return "April";
case 5:
return "May";
case 6:
return "June";
case 7:
return "July";
case 8:
return "August";
case 9:
return "September";
case 10:
return "October";
case 11:
return "November";
case 12:
return "December";
default:
return "";
case 1: return "January";
case 2: return "February";
case 3: return "March";
case 4: return "April";
case 5: return "May";
case 6: return "June";
case 7: return "July";
case 8: return "August";
case 9: return "September";
case 10: return "October";
case 11: return "November";
case 12: return "December";
default: return "";
}
}
@ -409,24 +351,24 @@ extension EmailValidator on String {
}
extension DynamicTextStyleExtension on BuildContext {
TextStyle dynamicTextStyle(
{double? fontSize,
FontWeight? fontWeight,
Color? color,
double? letterSpacing,
double? wordSpacing,
double? height,
List<Shadow>? shadows,
Color? backgroundColor,
TextDecoration? decoration,
Color? decorationColor,
TextDecorationStyle? decorationStyle,
double? decorationThickness,
Locale? locale,
TextBaseline? textBaseline,
FontStyle? fontStyle,
String? fontFamily,
bool isLanguageSwitcher = false}) {
TextStyle dynamicTextStyle({
double? fontSize,
FontWeight? fontWeight,
Color? color,
double? letterSpacing,
double? wordSpacing,
double? height,
List<Shadow>? shadows,
Color? backgroundColor,
TextDecoration? decoration,
Color? decorationColor,
TextDecorationStyle? decorationStyle,
double? decorationThickness,
Locale? locale,
TextBaseline? textBaseline,
FontStyle? fontStyle,
String? fontFamily,
}) {
AppState appState = getIt.get<AppState>();
final family = appState.getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins';
return TextStyle(
@ -450,53 +392,32 @@ extension DynamicTextStyleExtension on BuildContext {
}
}
class FontUtils {
/// Get the appropriate font family based on the current language
static bool getFontFamily(BuildContext context) {
// final projectViewModel = Provider.of<ProjectViewModel>(context, listen: false);
return true;
}
/// Get the appropriate font family for a specific language
static String getFontFamilyForLanguage(bool isArabic) {
return isArabic ? 'GESSTwo' : 'Poppins';
}
}
extension CountryExtension on CountryEnum {
String get displayName {
switch (this) {
case CountryEnum.saudiArabia:
return "Kingdom Of Saudi Arabia";
case CountryEnum.unitedArabEmirates:
return "United Arab Emirates";
case CountryEnum.saudiArabia: return "Kingdom Of Saudi Arabia";
case CountryEnum.unitedArabEmirates: return "United Arab Emirates";
}
}
String get nameArabic {
switch (this) {
case CountryEnum.saudiArabia:
return "المملكة العربية السعودية";
case CountryEnum.unitedArabEmirates:
return "الإمارات العربية المتحدة";
case CountryEnum.saudiArabia: return "المملكة العربية السعودية";
case CountryEnum.unitedArabEmirates: return "الإمارات العربية المتحدة";
}
}
String get iconPath {
switch (this) {
case CountryEnum.saudiArabia:
return AppAssets.ksa;
case CountryEnum.unitedArabEmirates:
return AppAssets.uae;
case CountryEnum.saudiArabia: return AppAssets.ksa;
case CountryEnum.unitedArabEmirates: return AppAssets.uae;
}
}
String get countryCode {
switch (this) {
case CountryEnum.saudiArabia:
return "966";
case CountryEnum.unitedArabEmirates:
return "971";
case CountryEnum.saudiArabia: return "966";
case CountryEnum.unitedArabEmirates: return "971";
}
}
@ -516,30 +437,22 @@ extension CountryExtension on CountryEnum {
extension GenderTypeExtension on GenderTypeEnum {
String get value => this == GenderTypeEnum.male ? "M" : "F";
String get type => this == GenderTypeEnum.male ? "Male" : "Female";
String get typeAr => this == GenderTypeEnum.male ? "ذكر" : "أنثى";
static GenderTypeEnum? fromValue(String? value) {
switch (value) {
case "M":
return GenderTypeEnum.male;
case "F":
return GenderTypeEnum.female;
default:
return null;
case "M": return GenderTypeEnum.male;
case "F": return GenderTypeEnum.female;
default: return null;
}
}
static GenderTypeEnum? fromType(String? type) {
switch (type) {
case "Male":
return GenderTypeEnum.male;
case "Female":
return GenderTypeEnum.female;
default:
return null;
case "Male": return GenderTypeEnum.male;
case "Female": return GenderTypeEnum.female;
default: return null;
}
}
}
@ -547,70 +460,48 @@ extension GenderTypeExtension on GenderTypeEnum {
extension MaritalStatusTypeExtension on MaritalStatusTypeEnum {
String get value {
switch (this) {
case MaritalStatusTypeEnum.single:
return "U";
case MaritalStatusTypeEnum.married:
return "M";
case MaritalStatusTypeEnum.divorced:
return "D";
case MaritalStatusTypeEnum.widowed:
return "W";
case MaritalStatusTypeEnum.single: return "U";
case MaritalStatusTypeEnum.married: return "M";
case MaritalStatusTypeEnum.divorced: return "D";
case MaritalStatusTypeEnum.widowed: return "W";
}
}
String get type {
switch (this) {
case MaritalStatusTypeEnum.single:
return "Single";
case MaritalStatusTypeEnum.married:
return "Married";
case MaritalStatusTypeEnum.divorced:
return "Divorced";
case MaritalStatusTypeEnum.widowed:
return "Widowed";
case MaritalStatusTypeEnum.single: return "Single";
case MaritalStatusTypeEnum.married: return "Married";
case MaritalStatusTypeEnum.divorced: return "Divorced";
case MaritalStatusTypeEnum.widowed: return "Widowed";
}
}
String get typeAr {
switch (this) {
case MaritalStatusTypeEnum.single:
return "أعزب";
case MaritalStatusTypeEnum.married:
return "متزوج";
case MaritalStatusTypeEnum.divorced:
return "مطلق";
case MaritalStatusTypeEnum.widowed:
return "أرمل";
case MaritalStatusTypeEnum.single: return "أعزب";
case MaritalStatusTypeEnum.married: return "متزوج";
case MaritalStatusTypeEnum.divorced: return "مطلق";
case MaritalStatusTypeEnum.widowed: return "أرمل";
}
}
static MaritalStatusTypeEnum? fromValue(String? value) {
switch (value) {
case "U":
return MaritalStatusTypeEnum.single;
case "M":
return MaritalStatusTypeEnum.married;
case "D":
return MaritalStatusTypeEnum.divorced;
case "W":
return MaritalStatusTypeEnum.widowed;
default:
return null;
case "U": return MaritalStatusTypeEnum.single;
case "M": return MaritalStatusTypeEnum.married;
case "D": return MaritalStatusTypeEnum.divorced;
case "W": return MaritalStatusTypeEnum.widowed;
default: return null;
}
}
static MaritalStatusTypeEnum? fromType(String? type) {
switch (type) {
case "Single":
return MaritalStatusTypeEnum.single;
case "Married":
return MaritalStatusTypeEnum.married;
case "Divorced":
return MaritalStatusTypeEnum.divorced;
case "Widowed":
return MaritalStatusTypeEnum.widowed;
default:
return null;
case "Single": return MaritalStatusTypeEnum.single;
case "Married": return MaritalStatusTypeEnum.married;
case "Divorced": return MaritalStatusTypeEnum.divorced;
case "Widowed": return MaritalStatusTypeEnum.widowed;
default: return null;
}
}
}

@ -152,26 +152,18 @@ extension SmoothContainerExtension on ShapeBorder {
BorderSide? side,
BorderRadius? customBorder,
bool hasShadow = false,
BuildContext? context,
}) {
final bgColor = backgroundColor ?? color;
final resolvedSide = side ?? (BorderSide(color: AppColors.dark.cardDarkBorderColor, width: 1));
return ShapeDecoration(
color: isDisabled ? bgColor.withOpacity(0.5) : bgColor,
color: isDisabled ? bgColor.withValues(alpha: 0.5) : bgColor,
shape: SmoothRectangleBorder(
borderRadius: customBorder ?? BorderRadius.circular(borderRadius ?? 0),
smoothness: 1,
side: side ?? BorderSide.none,
side: resolvedSide,
),
shadows:
// hasShadow
// ? [
// BoxShadow(
// color: const Color(0xff000000).withOpacity(.05),
// blurRadius: 32,
// offset: const Offset(0, 0),
// )
// ]
// :
[],
shadows: [],
);
}
}
@ -236,28 +228,28 @@ extension ChipTypeEnumExtension on ChipTypeEnum {
case ChipTypeEnum.warning:
return AppColors.warningColor; // Replace with your actual color
case ChipTypeEnum.lightBg:
return AppColors.chipPrimaryRedBorderColor; // Replace with your actual color
return AppColors.primaryRedColor; // Replace with your actual color
case ChipTypeEnum.primaryRed:
return AppColors.chipSecondaryLightRedColor; // Replace with your actual color
return AppColors.secondaryLightRedColor; // Replace with your actual color
}
}
Color get backgroundColor {
switch (this) {
case ChipTypeEnum.success:
return AppColors.successLightColor; // Replace with your actual color
return AppColors.successColor; // Replace with your actual color
case ChipTypeEnum.error:
return AppColors.errorLightColor; // Replace with your actual color
return AppColors.primaryRedColor; // Replace with your actual color
case ChipTypeEnum.alert:
return AppColors.alertLightColor; // Replace with your actual color
case ChipTypeEnum.info:
return AppColors.infoLightColor; // Replace with your actual color
return AppColors.infoColor; // Replace with your actual color
case ChipTypeEnum.warning:
return AppColors.warningLightColor; // Replace with your actual color
return AppColors.warningColor; // Replace with your actual color
case ChipTypeEnum.lightBg:
return AppColors.chipSecondaryLightRedColor; // Replace with your actual color
return AppColors.secondaryLightRedColor; // Replace with your actual color
case ChipTypeEnum.primaryRed:
return AppColors.chipPrimaryRedBorderColor;
return AppColors.primaryRedColor;
}
}
}

@ -357,7 +357,7 @@ class OTPWidgetState extends State<OTPWidget> with SingleTickerProviderStateMixi
} else if (text.length == widget.maxLength) {
pinBoxColor = AppColors.successColor;
} else if (i < text.length) {
pinBoxColor = AppColors.blackBgColor;
pinBoxColor = AppColors.textColor;
} else {
pinBoxColor = widget.pinBoxColor;
}

@ -55,7 +55,7 @@ class HospitalBottomSheetBodySelection extends StatelessWidget {
),
Transform.flip(
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.blackColor, width: 40.h, height: 40.h, fit: BoxFit.contain),
child: Utils.buildSvgWithAssets(icon: AppAssets.forward_arrow_icon, iconColor: AppColors.textColor, width: 40.h, height: 40.h, fit: BoxFit.contain),
),
],
).paddingSymmetrical(16.h, 16.h),
@ -75,7 +75,7 @@ class HospitalBottomSheetBodySelection extends StatelessWidget {
children: [
Utils.buildSvgWithAssets(icon: AppAssets.hmg).paddingOnly(right: 10),
Expanded(
child: Text(hospital.projectName ?? "", style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16, color: AppColors.blackColor)),
child: Text(hospital.projectName ?? "", style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16, color: AppColors.textColor)),
)
],
);

@ -41,9 +41,9 @@ class VitalSignUiModel {
if (s.contains('high')) {
return const VitalSignUiModel(
iconBg: AppColors.chipSecondaryLightRedColor,
iconBg: AppColors.secondaryLightRedColor,
iconFg: AppColors.primaryRedColor,
chipBg: AppColors.chipSecondaryLightRedColor,
chipBg: AppColors.secondaryLightRedColor,
chipFg: AppColors.primaryRedColor,
);
}

@ -675,9 +675,9 @@ class LabViewModel extends ChangeNotifier {
Color getColor(String flag) {
switch (flag) {
case 'LCL':
return AppColors.criticalLowAndHigh;
return AppColors.primaryRedColor;
case 'CL':
return AppColors.criticalLowAndHigh;
return AppColors.primaryRedColor;
case 'L':
return AppColors.highAndLow;
case 'N':
@ -685,9 +685,9 @@ class LabViewModel extends ChangeNotifier {
case 'H':
return AppColors.highAndLow;
case 'CH':
return AppColors.criticalLowAndHigh;
return AppColors.primaryRedColor;
case 'HCH':
return AppColors.criticalLowAndHigh;
return AppColors.primaryRedColor;
default:
return Colors.grey;
}

@ -1,8 +1,27 @@
import 'package:flutter/foundation.dart';
import 'package:hmg_patient_app_new/services/cache_service.dart';
const _kDarkModeKey = 'is_dark_mode_enabled';
class ProfileSettingsViewModel extends ChangeNotifier {
final CacheService _cacheService;
ProfileSettingsViewModel({required CacheService cacheService})
: _cacheService = cacheService {
_isDarkMode = _cacheService.getBool(key: _kDarkModeKey) ?? false;
}
bool _isDarkMode = false;
bool get isDarkMode => _isDarkMode;
Future<void> toggleDarkMode() async {
_isDarkMode = !_isDarkMode;
await _cacheService.saveBool(key: _kDarkModeKey, value: _isDarkMode);
notifyListeners();
}
void notify(){
void notify() {
notifyListeners();
}
}

@ -1574,6 +1574,7 @@ abstract class LocaleKeys {
static const invalidInsurance = 'invalidInsurance';
static const continueCash = 'continueCash';
static const hmgPolicies = 'hmgPolicies';
static const darkMode = 'darkMode';
static const timeFor = 'Time for';
}

@ -10,15 +10,16 @@ import 'package:flutter/services.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/utils.dart';
import 'package:hmg_patient_app_new/features/active_prescriptions/active_prescriptions_view_model.dart';
import 'package:hmg_patient_app_new/features/ask_doctor/ask_doctor_view_model.dart';
import 'package:hmg_patient_app_new/features/authentication/authentication_view_model.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_view_model.dart';
import 'package:hmg_patient_app_new/features/active_prescriptions/active_prescriptions_view_model.dart';
import 'package:hmg_patient_app_new/features/book_appointments/book_appointments_view_model.dart';
import 'package:hmg_patient_app_new/features/contact_us/contact_us_view_model.dart';
import 'package:hmg_patient_app_new/features/doctor_filter/doctor_filter_view_model.dart';
import 'package:hmg_patient_app_new/features/emergency_services/emergency_services_view_model.dart';
import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart';
import 'package:hmg_patient_app_new/features/health_trackers/health_trackers_view_model.dart';
import 'package:hmg_patient_app_new/features/hmg_services/hmg_services_view_model.dart';
import 'package:hmg_patient_app_new/features/immediate_livecare/immediate_livecare_view_model.dart';
import 'package:hmg_patient_app_new/features/insurance/insurance_view_model.dart';
@ -43,7 +44,6 @@ import 'package:hmg_patient_app_new/features/symptoms_checker/symptoms_checker_v
import 'package:hmg_patient_app_new/features/todo_section/todo_section_view_model.dart';
import 'package:hmg_patient_app_new/features/water_monitor/water_monitor_view_model.dart';
import 'package:hmg_patient_app_new/presentation/health_calculators_and_converts/health_calculator_view_model.dart';
import 'package:hmg_patient_app_new/features/health_trackers/health_trackers_view_model.dart';
import 'package:hmg_patient_app_new/routes/app_routes.dart';
import 'package:hmg_patient_app_new/services/logger_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart';
@ -228,7 +228,10 @@ void main() async {
),
ChangeNotifierProvider<ServicesPriceListViewModel>(
create: (_) => getIt.get<ServicesPriceListViewModel>(),
)
),
ChangeNotifierProvider<ProfileSettingsViewModel>(
create: (_) => getIt.get<ProfileSettingsViewModel>(),
),
], child: MyApp()),
), // Wrap your app
);
@ -240,34 +243,39 @@ class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return SafeArea(
top: false, // Set to true if you want to avoid the notch area as well
top: false,
bottom: Platform.isIOS ? false : true,
child: LayoutBuilder(
builder: (context, constraints) {
return Sizer(
builder: (context, orientation, deviceType) {
// SizeConfig().init(constraints, orientation);
return MaterialApp(
// title: 'Dr. AlHabib',
title: 'Dr. AlHabib Beta',
builder: (context, mchild) {
return MediaQuery(
data: MediaQuery.of(context).copyWith(
textScaler: TextScaler.noScaling,
alwaysUse24HourFormat: true,
),
child: mchild!,
final isArabic = EasyLocalization.of(context)?.locale.languageCode == "ar";
return Consumer<ProfileSettingsViewModel>(
builder: (context, profileVm, _) {
return MaterialApp(
title: 'Dr. AlHabib Beta',
builder: (context, mchild) {
return MediaQuery(
data: MediaQuery.of(context).copyWith(
textScaler: TextScaler.noScaling,
alwaysUse24HourFormat: true,
),
child: mchild!,
);
},
showSemanticsDebugger: false,
debugShowCheckedModeBanner: false,
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
initialRoute: AppRoutes.initialRoute,
routes: AppRoutes.routes,
theme: AppTheme.getTheme(isArabic),
darkTheme: AppTheme.getDarkTheme(isArabic),
themeMode: profileVm.isDarkMode ? ThemeMode.dark : ThemeMode.light,
navigatorKey: getIt.get<NavigationService>().navigatorKey,
);
},
showSemanticsDebugger: false,
debugShowCheckedModeBanner: false,
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
initialRoute: AppRoutes.initialRoute,
routes: AppRoutes.routes,
theme: AppTheme.getTheme(EasyLocalization.of(context)?.locale.languageCode == "ar"),
navigatorKey: getIt.get<NavigationService>().navigatorKey,
);
},
);

@ -193,7 +193,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
),
Text(LocaleKeys.medications.tr(),
style: TextStyle(
color: AppColors.primaryRedBorderColor,
color: AppColors.primaryRedColor,
fontSize: 12.f,
fontWeight: FontWeight.w500)),
SizedBox(height: 16.h),
@ -467,7 +467,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
decoration: BoxDecoration(
shape: BoxShape.circle,
color: value
? AppColors.textGreenColor
? AppColors.successColor
: AppColors.greyTextColor,
),
),
@ -528,7 +528,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
height: 24.h,
width: 24.h,
iconColor:
AppColors.blackBgColor,
AppColors.textColor,
),
),
],
@ -539,7 +539,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
itemCount: doses,
itemBuilder: (context, doseIndex) {
final badgeColor = [
AppColors.textGreenColor,
AppColors.successColor,
AppColors.infoColor,
AppColors.labelColorYellow,
AppColors.mainPurple
@ -702,11 +702,11 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: isSelected
? AppColors.secondaryLightRedBorderColor
? AppColors.secondaryLightRedColor
: Colors.transparent,
border: Border.all(
color: isSelected
? AppColors.primaryRedBorderColor
? AppColors.primaryRedColor
: AppColors.spacerLineColor,
width: 1,
),
@ -720,7 +720,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
date.day == currentDate.day ? "Today" : label,
style: TextStyle(
color: isSelected
? AppColors.primaryRedBorderColor
? AppColors.primaryRedColor
: AppColors.greyTextColor,
fontSize: 11.f,
fontWeight: FontWeight.w500),
@ -731,7 +731,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
fontSize: 16.f,
fontWeight: FontWeight.bold,
color: isSelected
? AppColors.primaryRedBorderColor
? AppColors.primaryRedColor
: AppColors.textColor))
]),
),
@ -859,7 +859,7 @@ class _ReminderTimerDialogState extends State<ReminderTimerDialog> {
height: 24.h,
width: 24.h,
iconColor:
AppColors.blackBgColor,
AppColors.textColor,
),),
],
),

@ -21,7 +21,7 @@ class AllergiesListPage extends StatelessWidget {
Widget build(BuildContext context) {
medicalFileViewModel = Provider.of<MedicalFileViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.allergies.tr(),
child: SingleChildScrollView(

@ -89,7 +89,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
labViewModel = Provider.of<LabViewModel>(context, listen: false);
radiologyViewModel = Provider.of<RadiologyViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -438,7 +438,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
children: [
MedicalFileCard(
label: LocaleKeys.labResults.tr(context: context),
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
backgroundColor: AppColors.whiteColor,
svgIcon: AppAssets.lab_result_icon,
isLargeText: true,
@ -471,7 +471,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
}),
MedicalFileCard(
label: "${LocaleKeys.radiology.tr(context: context)} ${LocaleKeys.radiologySubtitle.tr(context: context)}",
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
backgroundColor: AppColors.whiteColor,
svgIcon: AppAssets.radiology_icon,
isLargeText: true,
@ -498,7 +498,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
}),
MedicalFileCard(
label: LocaleKeys.prescriptions.tr(context: context),
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
backgroundColor: AppColors.whiteColor,
svgIcon: AppAssets.prescription_item_icon,
isLargeText: true,
@ -654,7 +654,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
// // flipX: appState.isArabic(),
// // child: Utils.buildSvgWithAssets(
// // icon: AppAssets.forward_arrow_icon,
// // iconColor: AppColors.blackColor,
// // iconColor: AppColors.textColor,
// // width: 18.w,
// // height: 13.h,
// // fit: BoxFit.contain,
@ -790,7 +790,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
LocaleKeys.amountBeforeTax.tr(context: context).toText18(isBold: true),
Utils.getPaymentAmountWithSymbol(
widget.patientAppointmentHistoryResponseModel.patientShare!.toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true),
],
@ -820,7 +820,7 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
children: [
Utils.getPaymentAmountWithSymbol(
widget.patientAppointmentHistoryResponseModel.patientShareWithTax!.toString().toText24(isBold: true),
AppColors.blackColor,
AppColors.textColor,
17,
isSaudiCurrency: true),
],
@ -928,8 +928,8 @@ class _AppointmentDetailsPageState extends State<AppointmentDetailsPage> {
);
});
},
backgroundColor: AppColors.chipSecondaryLightRedColor,
borderColor: AppColors.chipSecondaryLightRedColor,
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
fontSize: 16.f,
fontWeight: FontWeight.w500,

@ -84,7 +84,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context);
payfortViewModel = Provider.of<PayfortViewModel>(context);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<MyAppointmentsViewModel>(builder: (context, myAppointmentsVM, child) {
return Column(
children: [
@ -120,7 +120,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -164,7 +164,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -204,7 +204,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -239,7 +239,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
? Container(
height: 50.h,
decoration: ShapeDecoration(
color: AppColors.secondaryLightRedBorderColor,
color: AppColors.secondaryLightRedColor,
shape: SmoothRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
smoothness: 1,
@ -261,7 +261,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.whiteColor,
fontSize: 10.f,
fontWeight: FontWeight.w500,
@ -282,7 +282,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
myAppointmentsVM.patientAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true),
],
@ -307,7 +307,7 @@ class _AppointmentPaymentPageState extends State<AppointmentPaymentPage> {
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
myAppointmentsVM.patientAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true),
AppColors.blackColor,
AppColors.textColor,
17,
isSaudiCurrency: true),
],

@ -26,7 +26,7 @@ class AppointmentQueuePage extends StatelessWidget {
Widget build(BuildContext context) {
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<MyAppointmentsViewModel>(builder: (context, myAppointmentsVM, child) {
return Column(
children: [

@ -54,7 +54,7 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context, listen: false);
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.appointmentsList.tr(context: context),
child: SingleChildScrollView(
@ -105,9 +105,9 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
onPressed: () {
myAppointmentsVM.setIsAppointmentsSortByClinic(true);
},
backgroundColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.bgRedLightColor : AppColors.whiteColor,
backgroundColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
borderColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.primaryRedColor : AppColors.textColor.withValues(alpha: 0.2),
textColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.primaryRedColor : AppColors.blackColor,
textColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.primaryRedColor : AppColors.textColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -120,9 +120,9 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
onPressed: () {
myAppointmentsVM.setIsAppointmentsSortByClinic(false);
},
backgroundColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.whiteColor : AppColors.bgRedLightColor,
backgroundColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.whiteColor : AppColors.secondaryLightRedColor,
borderColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.textColor.withValues(alpha: 0.2) : AppColors.primaryRedColor,
textColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.blackColor : AppColors.primaryRedColor,
textColor: myAppointmentsVM.isAppointmentsSortByClinic ? AppColors.textColor : AppColors.primaryRedColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,

@ -76,9 +76,9 @@ class _MyDoctorsPageState extends State<MyDoctorsPage> {
expandedIndex = null;
});
},
backgroundColor: isSortByClinic ? AppColors.bgRedLightColor : AppColors.whiteColor,
backgroundColor: isSortByClinic ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
borderColor: isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor.withValues(alpha: 0.2),
textColor: isSortByClinic ? AppColors.primaryRedColor : AppColors.blackColor,
textColor: isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -96,9 +96,9 @@ class _MyDoctorsPageState extends State<MyDoctorsPage> {
expandedIndex = null;
});
},
backgroundColor: isSortByClinic ? AppColors.whiteColor : AppColors.bgRedLightColor,
backgroundColor: isSortByClinic ? AppColors.whiteColor : AppColors.secondaryLightRedColor,
borderColor: isSortByClinic ? AppColors.textColor.withValues(alpha: 0.2) : AppColors.primaryRedColor,
textColor: isSortByClinic ? AppColors.blackColor : AppColors.primaryRedColor,
textColor: isSortByClinic ? AppColors.textColor : AppColors.primaryRedColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,

@ -21,14 +21,14 @@ class AppointmentFilters extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppCustomChipWidget(
backgroundColor: selectedFilter?.contains(item) == true?AppColors.chipSecondaryLightRedColor:AppColors.whiteColor,
backgroundColor: selectedFilter?.contains(item) == true?AppColors.secondaryLightRedColor:AppColors.whiteColor,
icon: item.leadingIcon,
textColor: selectedFilter?.contains(item) == true
? AppColors.chipPrimaryRedBorderColor: AppColors.blackColor,
? AppColors.primaryRedColor: AppColors.textColor,
labelText: item.labelText.isNotEmpty?item.labelText.tr():"",
iconHasColor: true,
iconColor: selectedFilter?.contains(item) == true
? AppColors.chipPrimaryRedBorderColor:AppColors.blackColor,
? AppColors.primaryRedColor:AppColors.textColor,
iconSize: 16,
deleteIcon: item.trailingIcon,
labelPadding: EdgeInsetsDirectional.only(start: 8.h, end: 0.h),
@ -39,7 +39,7 @@ class AppointmentFilters extends StatelessWidget {
smoothness: 10.h,
side: BorderSide(
color: selectedFilter?.contains(item) == true
? AppColors.chipPrimaryRedBorderColor
? AppColors.primaryRedColor
: AppColors.borderGrayColor,
width: 1),
)).onPress(onClicked);

@ -1,3 +1,5 @@
import 'dart:ui' as ui;
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';
@ -26,7 +28,6 @@ import 'package:hmg_patient_app_new/widgets/chip/app_custom_chip_widget.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'dart:ui' as ui;
class AppointmentCard extends StatelessWidget {
final PatientAppointmentHistoryResponseModel patientAppointmentHistoryResponseModel;
@ -41,36 +42,44 @@ class AppointmentCard extends StatelessWidget {
final BookAppointmentsViewModel bookAppointmentsViewModel;
final bool isForRate;
const AppointmentCard(
{super.key,
required this.patientAppointmentHistoryResponseModel,
required this.myAppointmentsViewModel,
required this.bookAppointmentsViewModel,
this.isLoading = false,
this.isFromHomePage = false,
this.isFromMedicalReport = false,
this.isForEyeMeasurements = false,
this.isForFeedback = false,
this.medicalFileViewModel,
this.contactUsViewModel,
this.isForRate = false});
const AppointmentCard({
super.key,
required this.patientAppointmentHistoryResponseModel,
required this.myAppointmentsViewModel,
required this.bookAppointmentsViewModel,
this.isLoading = false,
this.isFromHomePage = false,
this.isFromMedicalReport = false,
this.isForEyeMeasurements = false,
this.isForFeedback = false,
this.medicalFileViewModel,
this.contactUsViewModel,
this.isForRate = false,
});
@override
Widget build(BuildContext context) {
final appState = getIt.get<AppState>();
return InkWell(
onTap: () => _goToDetails(context),
child: Padding(
padding: EdgeInsets.all(14.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
isForRate ? SizedBox() : _buildHeader(context, appState),
SizedBox(height: 16.h),
_buildDoctorRow(context),
SizedBox(height: 16.h),
isForRate ? SizedBox() : _buildActionArea(context, appState),
],
return Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: Colors.transparent,
borderRadius: 24.r,
context: context,
),
child: InkWell(
onTap: () => _goToDetails(context),
child: Padding(
padding: EdgeInsets.all(14.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
isForRate ? SizedBox() : _buildHeader(context, appState),
SizedBox(height: 16.h),
_buildDoctorRow(context),
SizedBox(height: 16.h),
isForRate ? SizedBox() : _buildActionArea(context, appState),
],
),
),
),
);
@ -96,14 +105,19 @@ class AppointmentCard extends StatelessWidget {
children: [
AppCustomChipWidget(
icon: isLoading ? AppAssets.walkin_appointment_icon : (isLiveCare ? AppAssets.small_livecare_icon : AppAssets.walkin_appointment_icon),
iconColor: isLoading ? AppColors.textColor : (isLiveCare ? AppColors.whiteColor : AppColors.textColor),
labelText: isLoading ? LocaleKeys.walkin.tr(context: context) : (isLiveCare ? LocaleKeys.livecare.tr(context: context) : LocaleKeys.walkin.tr(context: context)),
backgroundColor: isLoading ? AppColors.greyColor : (isLiveCare ? AppColors.successColor : AppColors.greyColor),
textColor: isLoading ? AppColors.textColor : (isLiveCare ? AppColors.whiteColor : AppColors.textColor),
iconColor: isLoading ? context.iconColor : (isLiveCare ? AppColors.whiteColor : context.iconColor),
labelText: isLoading
? LocaleKeys.walkin.tr(context: context)
: (isLiveCare ? LocaleKeys.livecare.tr(context: context) : LocaleKeys.walkin.tr(context: context)),
backgroundColor: isLoading ? context.chipBgColor : (isLiveCare ? AppColors.successColor : context.chipBgColor),
textColor: isLoading ? context.textColor : (isLiveCare ? AppColors.whiteColor : context.textColor),
).toShimmer2(isShow: isLoading),
AppCustomChipWidget(
labelText:
isLoading ? 'OutPatient' : (appState.isArabic() ? patientAppointmentHistoryResponseModel.isInOutPatientDescriptionN! : patientAppointmentHistoryResponseModel.isInOutPatientDescription!),
labelText: isLoading
? 'OutPatient'
: (appState.isArabic()
? patientAppointmentHistoryResponseModel.isInOutPatientDescriptionN!
: patientAppointmentHistoryResponseModel.isInOutPatientDescription!),
backgroundColor: AppColors.primaryRedColor.withValues(alpha: 0.1),
textColor: AppColors.primaryRedColor,
).toShimmer2(isShow: isLoading),
@ -124,7 +138,9 @@ class AppointmentCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Image.network(
isLoading ? 'https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png' : patientAppointmentHistoryResponseModel.doctorImageURL!,
isLoading
? 'https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png'
: patientAppointmentHistoryResponseModel.doctorImageURL!,
width: 63.h,
height: 63.h,
fit: BoxFit.cover,
@ -135,12 +151,9 @@ class AppointmentCard extends StatelessWidget {
width: 40.w,
height: 40.h,
decoration: BoxDecoration(
color: AppColors.whiteColor,
shape: BoxShape.circle, // Makes the container circular
border: Border.all(
color: AppColors.scaffoldBgColor, // Color of the border
width: 1.5.w, // Width of the border
),
color: context.cardBaseColor,
shape: BoxShape.circle,
border: Border.all(color: context.scaffoldBgColor, width: 1.5.w),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -148,8 +161,8 @@ class AppointmentCard extends StatelessWidget {
Utils.buildSvgWithAssets(icon: AppAssets.rating_icon, width: 15.w, height: 15.h),
SizedBox(height: 2.h),
(isFoldable || isTablet)
? "${patientAppointmentHistoryResponseModel.decimalDoctorRate}".toText9(isBold: true, color: AppColors.textColor)
: "${patientAppointmentHistoryResponseModel.decimalDoctorRate ?? "0.0"}".toText11(isBold: true, color: AppColors.textColor),
? "${patientAppointmentHistoryResponseModel.decimalDoctorRate}".toText9(isBold: true, color: context.textColor)
: "${patientAppointmentHistoryResponseModel.decimalDoctorRate ?? "0.0"}".toText11(isBold: true, color: context.textColor),
],
),
).circle(100).toShimmer2(isShow: isLoading),
@ -161,8 +174,10 @@ class AppointmentCard extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
(isLoading ? 'John Doe' : "${patientAppointmentHistoryResponseModel.doctorTitle} ${patientAppointmentHistoryResponseModel.doctorNameObj!}")
.toText16(isBold: true, maxlines: 1)
(isLoading
? 'John Doe'
: "${patientAppointmentHistoryResponseModel.doctorTitle} ${patientAppointmentHistoryResponseModel.doctorNameObj!}")
.toText16(isBold: true, maxlines: 1, color: context.textColor)
.toShimmer2(isShow: isLoading),
SizedBox(height: 8.h),
Wrap(
@ -192,7 +207,7 @@ class AppointmentCard extends StatelessWidget {
richText: isLoading
? 'Cardiology'.toText10().toShimmer2(isShow: isLoading)
: "${DateUtil.formatDateToDate(DateUtil.convertStringToDate(patientAppointmentHistoryResponseModel.appointmentDate), false)} ${DateUtil.formatDateToTimeLang(DateUtil.convertStringToDate(patientAppointmentHistoryResponseModel.appointmentDate), false)}"
.toText10(isEnglishOnly: true),
.toText10(isEnglishOnly: true, color: context.textColor, weight: FontWeight.w500),
).toShimmer2(isShow: isLoading),
),
@ -253,17 +268,16 @@ class AppointmentCard extends StatelessWidget {
});
}
},
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
backgroundColor: context.secondaryLightRedColor,
borderColor: context.secondaryLightRedColor,
textColor: context.primaryRedColor,
fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
fontWeight: FontWeight.w500,
borderRadius: 12.r,
padding: EdgeInsets.symmetric(horizontal: 10.w),
// height: isTablet || isFoldable ? 46.h : 40.h,
height: 40.h,
icon: isFromMedicalReport ? AppAssets.checkmark_icon : null,
iconColor: AppColors.primaryRedColor,
iconColor: context.primaryRedColor,
iconSize: 16.h,
);
} else {
@ -281,17 +295,16 @@ class AppointmentCard extends StatelessWidget {
}
Navigator.pop(context, false);
},
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
backgroundColor: context.secondaryLightRedColor,
borderColor: context.secondaryLightRedColor,
textColor: context.primaryRedColor,
fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
fontWeight: FontWeight.w500,
borderRadius: 12.r,
padding: EdgeInsets.symmetric(horizontal: 10.w),
// height: isTablet || isFoldable ? 46.h : 40.h,
height: 40.h,
icon: AppAssets.checkmark_icon,
iconColor: AppColors.primaryRedColor,
iconColor: context.primaryRedColor,
iconSize: 16.h,
);
}
@ -306,8 +319,10 @@ class AppointmentCard extends StatelessWidget {
: CustomButton(
text: AppointmentType.getNextActionText(patientAppointmentHistoryResponseModel.nextAction),
onPressed: () => _goToDetails(context),
backgroundColor: AppointmentType.getNextActionButtonColor(patientAppointmentHistoryResponseModel.nextAction).withValues(alpha: 0.15),
borderColor: AppointmentType.getNextActionButtonColor(patientAppointmentHistoryResponseModel.nextAction).withValues(alpha: 0.01),
backgroundColor:
AppointmentType.getNextActionButtonColor(patientAppointmentHistoryResponseModel.nextAction).withValues(alpha: 0.15),
borderColor:
AppointmentType.getNextActionButtonColor(patientAppointmentHistoryResponseModel.nextAction).withValues(alpha: 0.01),
textColor: AppointmentType.getNextActionTextColor(patientAppointmentHistoryResponseModel.nextAction),
fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
fontWeight: FontWeight.w500,
@ -325,12 +340,12 @@ class AppointmentCard extends StatelessWidget {
flex: 1,
child: Container(
height: (isFoldable || isTablet) ? 50.h : 40.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.textColor, borderRadius: 10.h),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: context.serviceCardButtonColor, borderRadius: 10.h),
child: Transform.flip(
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.whiteColor,
iconColor: Colors.white,
width: 24.w,
height: 24.h,
fit: BoxFit.contain,
@ -379,17 +394,16 @@ class AppointmentCard extends StatelessWidget {
}
});
},
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
backgroundColor: context.secondaryLightRedColor,
borderColor: context.secondaryLightRedColor,
textColor: context.primaryRedColor,
fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
fontWeight: FontWeight.w500,
borderRadius: 12.r,
padding: EdgeInsets.symmetric(horizontal: 10.w),
// height: isTablet || isFoldable ? 46.h : 40.h,
height: 40.h,
icon: AppAssets.ask_doctor_icon,
iconColor: AppColors.primaryRedColor,
iconColor: context.primaryRedColor,
iconSize: 16.h,
);
}
@ -397,16 +411,16 @@ class AppointmentCard extends StatelessWidget {
return CustomButton(
text: LocaleKeys.rebookSameDoctor.tr(context: context),
onPressed: () => openDoctorScheduleCalendar(context),
backgroundColor: AppColors.greyColor,
borderColor: AppColors.greyColor,
textColor: AppColors.blackColor,
backgroundColor: context.chipBgColor,
borderColor: context.chipBgColor,
textColor: context.textColor,
fontSize: (isFoldable || isTablet) ? 12.f : 14.f,
fontWeight: FontWeight.w500,
borderRadius: 12.r,
padding: EdgeInsets.symmetric(horizontal: 10.w),
height: 40.h,
icon: AppAssets.rebook_appointment_icon,
iconColor: AppColors.blackColor,
iconColor: context.iconColor,
iconSize: 16.h,
);
}
@ -420,7 +434,8 @@ class AppointmentCard extends StatelessWidget {
),
);
} else {
bookAppointmentsViewModel.getAppointmentNearestGate(projectID: patientAppointmentHistoryResponseModel.projectID, clinicID: patientAppointmentHistoryResponseModel.clinicID);
bookAppointmentsViewModel.getAppointmentNearestGate(
projectID: patientAppointmentHistoryResponseModel.projectID, clinicID: patientAppointmentHistoryResponseModel.clinicID);
Navigator.of(context)
.push(
CustomPageRoute(

@ -128,7 +128,7 @@ class AppointmentCheckinBottomSheet extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -171,14 +171,14 @@ class AppointmentDoctorCard extends StatelessWidget {
},
backgroundColor: AppColors.greyColor,
borderColor: AppColors.greyColor,
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
fontSize: 12.f,
fontWeight: FontWeight.w500,
borderRadius: 12.r,
padding: EdgeInsets.fromLTRB(10.w, 0, 10.w, 0),
height: 40.h,
icon: AppAssets.rebook_appointment_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
iconSize: 14.h,
)
: SizedBox.shrink();

@ -47,7 +47,7 @@ class FacilitySelectionItem extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18,
height: 13,
fit: BoxFit.contain,
@ -72,7 +72,7 @@ class FacilitySelectionItem extends StatelessWidget {
style: TextStyle(
fontSize: 16.h,
fontWeight: FontWeight.w600,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
),

@ -32,7 +32,7 @@ class FacilityTypeSelectionWidget extends StatelessWidget {
style: TextStyle(
fontSize: 21,
fontWeight: FontWeight.w600,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
Text(

@ -36,7 +36,7 @@ import '../../../emergency_services/call_ambulance/widgets/type_selection_widget
// style: TextStyle(
// fontSize: 21,
// fontWeight: FontWeight.w600,
// color: AppColors.blackColor,
// color: AppColors.textColor,
// ),
// ),
// Text(

@ -30,7 +30,7 @@ class HospitalBottomSheetBodyForDoctorFilter extends StatelessWidget {
style: TextStyle(
fontSize: 21,
fontWeight: FontWeight.w600,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
SizedBox(height: 24.h),

@ -41,7 +41,7 @@ class HospitalListItem extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -63,7 +63,7 @@ class HospitalListItem extends StatelessWidget {
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 16,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
)
@ -89,7 +89,7 @@ class HospitalListItem extends StatelessWidget {
children: [
AppCustomChipWidget(
labelText: "Distance not available",
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
),
// SizedBox(
// width: 8.h,
@ -102,7 +102,7 @@ class HospitalListItem extends StatelessWidget {
labelText: "Location turned off",
deleteIcon: AppAssets.location_unavailable,
deleteIconSize: Size(9.w, 12.h),
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
)),
],
);

@ -28,7 +28,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: data.currentlySelectedFacility == FacilitySelection.ALL
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -38,7 +38,7 @@ class TypeSelectionWidget extends StatelessWidget {
: AppColors.whiteColor,
textColor: data.currentlySelectedFacility == FacilitySelection.ALL
? AppColors.errorColor
: AppColors.blackColor,
: AppColors.textColor,
).onPress((){
data.setSelectedFacility(FacilitySelection.ALL);
}),
@ -50,7 +50,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: data.currentlySelectedFacility == FacilitySelection.HMG
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -60,7 +60,7 @@ class TypeSelectionWidget extends StatelessWidget {
: AppColors.whiteColor,
textColor: data.currentlySelectedFacility == FacilitySelection.HMG
? AppColors.errorColor
: AppColors.blackColor,
: AppColors.textColor,
).onPress((){
data.setSelectedFacility(FacilitySelection.HMG);
}),
@ -72,7 +72,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: data.currentlySelectedFacility == FacilitySelection.HMC
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -82,7 +82,7 @@ class TypeSelectionWidget extends StatelessWidget {
: AppColors.whiteColor,
textColor: data.currentlySelectedFacility == FacilitySelection.HMC
? AppColors.errorColor
: AppColors.blackColor,
: AppColors.textColor,
).onPress((){
data.setSelectedFacility(FacilitySelection.HMC);
}),

@ -45,7 +45,7 @@ class RegionListItem extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18,
height: 13,
fit: BoxFit.contain,
@ -66,8 +66,8 @@ class RegionListItem extends StatelessWidget {
richText: RichText(
text: TextSpan(
text: count,
style: TextStyle(fontSize: 12.h, fontWeight: FontWeight.w700, color: AppColors.blackColor),
children: [TextSpan(text: title, style: TextStyle(fontSize: 12.h, fontWeight: FontWeight.w500, color: AppColors.blackColor))])),
style: TextStyle(fontSize: 12.h, fontWeight: FontWeight.w700, color: AppColors.textColor),
children: [TextSpan(text: title, style: TextStyle(fontSize: 12.h, fontWeight: FontWeight.w500, color: AppColors.textColor))])),
);
}
@ -82,7 +82,7 @@ class RegionListItem extends StatelessWidget {
style: TextStyle(
fontSize: 16.h,
fontWeight: FontWeight.w600,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
),

@ -32,7 +32,7 @@ class _AskDoctorPageState extends State<AskDoctorPage> {
Widget build(BuildContext context) {
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<AskDoctorViewModel>(
builder: (context, askDoctorVM, child) {
return CollapsingListView(

@ -36,7 +36,7 @@ class _DoctorResponsePageState extends State<DoctorResponsePage> {
Widget build(BuildContext context) {
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.doctorResponses.tr(context: context),
child: SingleChildScrollView(

@ -47,7 +47,7 @@ class LoginScreenState extends State<LoginScreen> {
Widget build(BuildContext context) {
AuthenticationViewModel authVm = context.read<AuthenticationViewModel>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
appBar: CustomAppBar(
onBackPressed: () {
Navigator.of(context).pop();
@ -187,7 +187,7 @@ class LoginScreenState extends State<LoginScreen> {
}
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.primaryRedBorderColor,
borderColor: AppColors.primaryRedColor,
textColor: AppColors.whiteColor,
icon: AppAssets.message,
),

@ -48,7 +48,7 @@ class _RegisterNew extends State<RegisterNew> {
AuthenticationViewModel authVm = context.read<AuthenticationViewModel>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
appBar: CustomAppBar(
onBackPressed: () {
Navigator.of(context).pop();
@ -149,7 +149,7 @@ class _RegisterNew extends State<RegisterNew> {
decoration: BoxDecoration(
color: isTermsAccepted ? AppColors.primaryRedColor : Colors.transparent,
borderRadius: BorderRadius.circular(6),
border: Border.all(color: isTermsAccepted ? AppColors.primaryRedBorderColor : AppColors.greyColor, width: 2.h),
border: Border.all(color: isTermsAccepted ? AppColors.primaryRedColor : AppColors.greyColor, width: 2.h),
),
child: isTermsAccepted ? Icon(Icons.check, size: 16.f, color: Colors.white) : null,
);
@ -176,7 +176,7 @@ class _RegisterNew extends State<RegisterNew> {
fontWeight: FontWeight.w500,
color: AppColors.primaryRedColor,
decoration: TextDecoration.underline,
decorationColor: AppColors.primaryRedBorderColor,
decorationColor: AppColors.primaryRedColor,
),
),
),
@ -292,7 +292,7 @@ class _RegisterNew extends State<RegisterNew> {
}
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.primaryRedBorderColor,
borderColor: AppColors.primaryRedColor,
textColor: AppColors.whiteColor,
icon: AppAssets.message,
),

@ -49,7 +49,7 @@ class _RegisterNew extends State<RegisterNewStep2> {
? ("${appState.getNHICUserData.firstNameEn!.toUpperCase()} ${appState.getNHICUserData.lastNameEn!.toUpperCase()}")
: ("${appState.getNHICUserData.firstNameAr!.toUpperCase()} ${appState.getNHICUserData.lastNameAr!.toUpperCase()}");
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
appBar: CustomAppBar(
onBackPressed: () {
Navigator.of(context).pop();

@ -48,7 +48,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
Widget build(BuildContext context) {
appState = getIt<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<BloodDonationViewModel>(builder: (context, bloodDonationVM, child) {
return Column(
children: [
@ -79,7 +79,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
children: [
Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(LocaleKeys.loginToUseService.tr()).toText16(color: AppColors.blackColor),
(LocaleKeys.loginToUseService.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 16.h),
Row(
children: [
@ -122,8 +122,8 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
);
}
},
backgroundColor: AppColors.bgRedLightColor,
borderColor: AppColors.bgRedLightColor,
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
padding: EdgeInsetsGeometry.symmetric(vertical: 0.h, horizontal: 20.h)),
child: Padding(
@ -253,7 +253,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
decoration: BoxDecoration(
color: isTermsAccepted ? AppColors.primaryRedColor : Colors.transparent,
borderRadius: BorderRadius.circular(6),
border: Border.all(color: isTermsAccepted ? AppColors.primaryRedBorderColor : AppColors.greyColor, width: 2.h),
border: Border.all(color: isTermsAccepted ? AppColors.primaryRedColor : AppColors.greyColor, width: 2.h),
),
child: isTermsAccepted ? Icon(Icons.check, size: 16.f, color: Colors.white) : null,
);
@ -285,7 +285,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
fontWeight: FontWeight.w500,
color: AppColors.primaryRedColor,
decoration: TextDecoration.underline,
decorationColor: AppColors.primaryRedBorderColor,
decorationColor: AppColors.primaryRedColor,
),
),
),
@ -317,7 +317,7 @@ class _BloodDonationPageState extends State<BloodDonationPage> {
children: [
Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(LocaleKeys.loginToUseService.tr()).toText16(color: AppColors.blackColor),
(LocaleKeys.loginToUseService.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 16.h),
Row(
children: [

@ -39,7 +39,7 @@ class CityListItem extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,

@ -43,7 +43,7 @@ class SelectBloodGroupWidget extends StatelessWidget {
flipX: isArabic,
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,

@ -44,7 +44,7 @@ class SelectGenderWidget extends StatelessWidget {
flipX: isArabic,
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,

@ -74,7 +74,7 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
regionalViewModel = Provider.of<AppointmentViaRegionViewmodel>(context, listen: true);
getSelectedTabData(bookAppointmentsViewModel.selectedTabIndex);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -673,8 +673,8 @@ class _BookAppointmentPageState extends State<BookAppointmentPage> {
onPressed: () {
context.pop();
},
backgroundColor: AppColors.chipSecondaryLightRedColor,
borderColor: AppColors.chipSecondaryLightRedColor,
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
fontSize: 16.f,
fontWeight: FontWeight.w500,

@ -32,7 +32,7 @@ class ClinicBottomSheet extends StatelessWidget {
style: TextStyle(
fontSize: 21,
fontWeight: FontWeight.w600,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
SizedBox(height: 24.h),

@ -30,9 +30,9 @@ class DoctorsFilters extends StatelessWidget{
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
appBar: AppBar(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
automaticallyImplyLeading: false,
centerTitle: false,

@ -31,7 +31,7 @@ class DoctorProfilePage extends StatelessWidget {
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(

@ -23,7 +23,7 @@ class LaserAppointment extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
bottomNavigationBar:
DecoratedBox(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(

@ -33,16 +33,16 @@ class BodyTypeListing extends StatelessWidget {
),
itemBuilder: (_, index) => AppCustomChipWidget(
backgroundColor: index == selectedBodyAreaIndex
? AppColors.chipSecondaryLightRedColor
? AppColors.secondaryLightRedColor
: AppColors.whiteColor,
textColor: index == selectedBodyAreaIndex
? AppColors.chipPrimaryRedBorderColor
: AppColors.blackColor,
? AppColors.primaryRedColor
: AppColors.textColor,
labelText: availableBodyArea[index].title.tr(),
iconHasColor: false,
iconColor: index == selectedBodyAreaIndex
? AppColors.chipPrimaryRedBorderColor
: AppColors.blackColor,
? AppColors.primaryRedColor
: AppColors.textColor,
iconSize: 16,
labelPadding: EdgeInsetsDirectional.only(start: 8.w, end: 8.w),
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 12.w),
@ -52,7 +52,7 @@ class BodyTypeListing extends StatelessWidget {
smoothness: 10,
side: BorderSide(
color: index == selectedBodyAreaIndex
? AppColors.chipPrimaryRedBorderColor
? AppColors.primaryRedColor
: AppColors.borderGrayColor,
width: 1),
)).onPress(

@ -144,7 +144,7 @@ class ImmediateLiveCarePaymentDetails extends StatelessWidget {
? Container(
height: 50.h,
decoration: ShapeDecoration(
color: AppColors.secondaryLightRedBorderColor,
color: AppColors.secondaryLightRedColor,
shape: SmoothRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
smoothness: 1,
@ -164,7 +164,7 @@ class ImmediateLiveCarePaymentDetails extends StatelessWidget {
);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.whiteColor,
fontSize: 10,
fontWeight: FontWeight.w500,
@ -183,7 +183,7 @@ class ImmediateLiveCarePaymentDetails extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(immediateLiveCareVM.liveCareImmediateAppointmentFeesList.amount!.toText16(isBold: true), AppColors.blackColor, 13,
Utils.getPaymentAmountWithSymbol(immediateLiveCareVM.liveCareImmediateAppointmentFeesList.amount!.toText16(isBold: true), AppColors.textColor, 13,
isSaudiCurrency: immediateLiveCareVM.liveCareImmediateAppointmentFeesList.currency!.toLowerCase() == "sar" ||
immediateLiveCareVM.liveCareImmediateAppointmentFeesList.currency!.toLowerCase() == "ريال"),
],
@ -203,7 +203,7 @@ class ImmediateLiveCarePaymentDetails extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
SizedBox(width: 150.h, child: Utils.getPaymentMethods()),
Utils.getPaymentAmountWithSymbol(immediateLiveCareVM.liveCareImmediateAppointmentFeesList.total!.toText24(isBold: true), AppColors.blackColor, 17,
Utils.getPaymentAmountWithSymbol(immediateLiveCareVM.liveCareImmediateAppointmentFeesList.total!.toText24(isBold: true), AppColors.textColor, 17,
isSaudiCurrency: (immediateLiveCareVM.liveCareImmediateAppointmentFeesList.currency!.toLowerCase() == "sar" ||
immediateLiveCareVM.liveCareImmediateAppointmentFeesList.currency!.toLowerCase() == "ريال")),
],

@ -78,7 +78,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
immediateLiveCareViewModel = Provider.of<ImmediateLiveCareViewModel>(context, listen: false);
payfortViewModel = Provider.of<PayfortViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<MyAppointmentsViewModel>(builder: (context, myAppointmentsVM, child) {
return Column(
children: [
@ -113,7 +113,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -155,7 +155,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -192,7 +192,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -225,7 +225,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
? Container(
height: 50.h,
decoration: ShapeDecoration(
color: AppColors.secondaryLightRedBorderColor,
color: AppColors.secondaryLightRedColor,
shape: SmoothRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
smoothness: 1,
@ -245,7 +245,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.whiteColor,
fontSize: 10,
fontWeight: FontWeight.w500,
@ -264,7 +264,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.amountBeforeTax.tr().toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(immediateLiveCareViewModel.liveCareImmediateAppointmentFeesList.amount!.toString().toText16(isBold: true), AppColors.blackColor, 13,
Utils.getPaymentAmountWithSymbol(immediateLiveCareViewModel.liveCareImmediateAppointmentFeesList.amount!.toString().toText16(isBold: true), AppColors.textColor, 13,
isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),
@ -282,7 +282,7 @@ class _ImmediateLiveCarePaymentPageState extends State<ImmediateLiveCarePaymentP
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(immediateLiveCareViewModel.liveCareImmediateAppointmentFeesList.total!.toString().toText24(isBold: true), AppColors.blackColor, 17,
Utils.getPaymentAmountWithSymbol(immediateLiveCareViewModel.liveCareImmediateAppointmentFeesList.total!.toString().toText24(isBold: true), AppColors.textColor, 17,
isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),

@ -58,7 +58,7 @@ class _ImmediateLiveCarePendingRequestPageState extends State<ImmediateLiveCareP
immediateLiveCareViewModel = Provider.of<ImmediateLiveCareViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<ImmediateLiveCareViewModel>(builder: (context, immediateLiveCareVM, child) {
return Column(
children: [

@ -59,7 +59,7 @@ class _SelectImmediateLiveCareClinicPageState extends State<SelectImmediateLiveC
immediateLiveCareViewModel = Provider.of<ImmediateLiveCareViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.selectLiveCareClinic.tr(),
child: SingleChildScrollView(

@ -79,7 +79,7 @@ class SelectLiveCareCallType extends StatelessWidget {
flipX: getIt.get<AppState>().isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -47,7 +47,7 @@ class _SearchDoctorByNameState extends State<SearchDoctorByName> {
Widget build(BuildContext context) {
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -150,9 +150,9 @@ class _SearchDoctorByNameState extends State<SearchDoctorByName> {
onPressed: () {
bookAppointmentsVM.sortFilteredDoctorList(true);
},
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.bgRedLightColor : AppColors.whiteColor,
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
borderColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor.withOpacity(0.2),
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.blackColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -165,9 +165,9 @@ class _SearchDoctorByNameState extends State<SearchDoctorByName> {
onPressed: () {
bookAppointmentsVM.sortFilteredDoctorList(false);
},
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.whiteColor : AppColors.bgRedLightColor,
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.whiteColor : AppColors.secondaryLightRedColor,
borderColor: bookAppointmentsVM.isSortByClinic ? AppColors.textColor.withOpacity(0.2) : AppColors.primaryRedColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.blackColor : AppColors.primaryRedColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.textColor : AppColors.primaryRedColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -232,7 +232,7 @@ class _SearchDoctorByNameState extends State<SearchDoctorByName> {
onPressed: () {},
backgroundColor: AppColors.greyColor,
borderColor: AppColors.greyColor,
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
fontSize: 10,
fontWeight: FontWeight.w500,
borderRadius: 8,

@ -101,7 +101,7 @@ class _SelectClinicPageState extends State<SelectClinicPage> {
);
} else {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: bookAppointmentsViewModel.isLiveCareSchedule ? LocaleKeys.selectLiveCareClinic.tr(context: context) : LocaleKeys.selectClinic.tr(context: context),
child: SingleChildScrollView(

@ -73,7 +73,7 @@ class _SelectDoctorPageState extends State<SelectDoctorPage> {
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.chooseDoctor.tr(context: context),
// bottomChild: Container(
@ -193,9 +193,9 @@ class _SelectDoctorPageState extends State<SelectDoctorPage> {
onPressed: () {
bookAppointmentsVM.setIsSortByClinic(true);
},
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.bgRedLightColor : AppColors.whiteColor,
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
borderColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor.withOpacity(0.2),
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.blackColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.primaryRedColor : AppColors.textColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -208,9 +208,9 @@ class _SelectDoctorPageState extends State<SelectDoctorPage> {
onPressed: () {
bookAppointmentsVM.setIsSortByClinic(false);
},
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.whiteColor : AppColors.bgRedLightColor,
backgroundColor: bookAppointmentsVM.isSortByClinic ? AppColors.whiteColor : AppColors.secondaryLightRedColor,
borderColor: bookAppointmentsVM.isSortByClinic ? AppColors.textColor.withOpacity(0.2) : AppColors.primaryRedColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.blackColor : AppColors.primaryRedColor,
textColor: bookAppointmentsVM.isSortByClinic ? AppColors.textColor : AppColors.primaryRedColor,
fontSize: 12,
fontWeight: FontWeight.w500,
borderRadius: 10,
@ -299,7 +299,7 @@ class _SelectDoctorPageState extends State<SelectDoctorPage> {
onPressed: () {},
backgroundColor: AppColors.greyColor,
borderColor: AppColors.greyColor,
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
fontSize: 10,
fontWeight: FontWeight.w500,
borderRadius: 8,

@ -33,7 +33,7 @@ class SelectLivecareClinicPage extends StatelessWidget {
Widget build(BuildContext context) {
immediateLiveCareViewModel = Provider.of<ImmediateLiveCareViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(

@ -23,7 +23,7 @@ class WaitingAppointmentInfo extends StatelessWidget {
Widget build(BuildContext context) {
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(

@ -119,7 +119,7 @@ class WaitingAppointmentOnlineCheckinSheet extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -88,7 +88,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context);
payfortViewModel = Provider.of<PayfortViewModel>(context);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<BookAppointmentsViewModel>(builder: (context, bookAppointmentsVM, child) {
return Column(
children: [
@ -123,7 +123,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -165,7 +165,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -202,7 +202,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -235,7 +235,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
? Container(
height: 50.h,
decoration: ShapeDecoration(
color: AppColors.secondaryLightRedBorderColor,
color: AppColors.secondaryLightRedColor,
shape: SmoothRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
smoothness: 1,
@ -256,7 +256,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.whiteColor,
fontSize: 10.f,
fontWeight: FontWeight.w500,
@ -277,7 +277,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
bookAppointmentsVM.patientWalkInAppointmentShareResponseModel!.patientShare!.toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true),
],
@ -302,7 +302,7 @@ class _WaitingAppointmentPaymentPageState extends State<WaitingAppointmentPaymen
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
bookAppointmentsVM.patientWalkInAppointmentShareResponseModel!.patientShareWithTax!.toString().toText24(isBold: true),
AppColors.blackColor,
AppColors.textColor,
17,
isSaudiCurrency: true),
],

@ -209,7 +209,7 @@ class _AppointmentCalendarState extends State<AppointmentCalendar> {
children: [
Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(LocaleKeys.loginToUseService.tr(context: context)).toText16(color: AppColors.blackColor),
(LocaleKeys.loginToUseService.tr(context: context)).toText16(color: AppColors.textColor),
SizedBox(height: 16.h),
Row(
children: [

@ -48,7 +48,7 @@
// Widget build(BuildContext context) {
// appState = getIt<AppState>();
// return Scaffold(
// backgroundColor: AppColors.bgScaffoldColor,
// backgroundColor: AppColors.scaffoldBgColor,
// body: Consumer<BloodDonationViewModel>(builder: (context, bloodDonationVM, child) {
// return Column(
// children: [
@ -59,8 +59,8 @@
// icon: AppAssets.add_icon,
// text: "Add Child",
// onPressed: () {},
// backgroundColor: AppColors.bgRedLightColor,
// borderColor: AppColors.bgRedLightColor,
// backgroundColor: AppColors.secondaryLightRedColor,
// borderColor: AppColors.secondaryLightRedColor,
// textColor: AppColors.primaryRedColor,
// iconColor: AppColors.primaryRedColor,
// padding: EdgeInsetsGeometry.symmetric(vertical: 0.h, horizontal: 10.h)),
@ -233,7 +233,7 @@ class _MyChildVaccinePageState extends State<MyChildVaccinePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -243,8 +243,8 @@ class _MyChildVaccinePageState extends State<MyChildVaccinePage> {
icon: AppAssets.add_icon,
text: "Add Child",
onPressed: () {},
backgroundColor: AppColors.bgRedLightColor,
borderColor: AppColors.bgRedLightColor,
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.primaryRedColor,
iconColor: AppColors.primaryRedColor,
padding: EdgeInsets.symmetric(vertical: 0.h, horizontal: 10.w),
@ -292,7 +292,7 @@ class _MyChildVaccinePageState extends State<MyChildVaccinePage> {
child: Container(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 8.h),
decoration: BoxDecoration(
color: isSelected ? AppColors.bgRedLightColor : AppColors.whiteColor,
color: isSelected ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
borderRadius: BorderRadius.circular(12.r),
border: Border.all(
color: isSelected ? AppColors.primaryRedColor : AppColors.borderOnlyColor.withValues(alpha: 0.1),
@ -335,7 +335,7 @@ class _MyChildVaccinePageState extends State<MyChildVaccinePage> {
Container(
padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 8.h),
decoration: BoxDecoration(
color: AppColors.bgScaffoldColor,
color: AppColors.scaffoldBgColor,
borderRadius: BorderRadius.circular(8.r),
),
child: Row(
@ -362,7 +362,7 @@ class _MyChildVaccinePageState extends State<MyChildVaccinePage> {
CustomButton(
text: "Send via email",
onPressed: () {},
backgroundColor: AppColors.bgRedLightColor,
backgroundColor: AppColors.secondaryLightRedColor,
borderColor: Colors.transparent,
textColor: AppColors.primaryRedColor,
icon: AppAssets.email,

@ -94,7 +94,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
style: TextStyle(
fontSize: 16.f,
fontWeight: FontWeight.w700,
color: AppColors.blackColor,
color: AppColors.textColor,
letterSpacing: -0.5,
),
),
@ -117,7 +117,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
child: Container(
padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 14.h),
decoration: BoxDecoration(
color: AppColors.bgScaffoldColor,
color: AppColors.scaffoldBgColor,
borderRadius: BorderRadius.circular(12.r),
border: Border.all(
color: AppColors.greyColor.withAlpha(51),
@ -137,7 +137,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
style: TextStyle(
fontSize: 14.f,
fontWeight: isLocationSelected ? FontWeight.w600 : FontWeight.w400,
color: isLocationSelected ? AppColors.blackColor : AppColors.greyTextColor,
color: isLocationSelected ? AppColors.textColor : AppColors.greyTextColor,
letterSpacing: -0.4,
),
),
@ -198,7 +198,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
SizedBox(height: 6.h),
Row(
children: [
Expanded(child: serviceName.toText16(weight: FontWeight.w700, color: AppColors.blackColor, letterSpacing: -0.5)),
Expanded(child: serviceName.toText16(weight: FontWeight.w700, color: AppColors.textColor, letterSpacing: -0.5)),
],
),
],
@ -237,7 +237,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
amountBeforeTax.toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true,
),
@ -265,7 +265,7 @@ class _CmcSelectionReviewPageState extends State<CmcSelectionReviewPage> {
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
totalAmount.toString().toText24(isBold: true),
AppColors.blackColor,
AppColors.textColor,
17,
isSaudiCurrency: true,
),

@ -239,7 +239,7 @@ class _ComprehensiveCheckupPageState extends State<ComprehensiveCheckupPage> {
style: TextStyle(
fontSize: 20.h,
fontWeight: FontWeight.w700,
color: AppColors.blackColor,
color: AppColors.textColor,
letterSpacing: -0.8,
),
).paddingOnly(left: 16.w, right: 16.w),
@ -259,7 +259,7 @@ class _ComprehensiveCheckupPageState extends State<ComprehensiveCheckupPage> {
subtitleWidget: Utils.getPaymentAmountWithSymbol(
isExpanded: false,
price.toString().toText14(),
AppColors.blackColor,
AppColors.textColor,
14,
isSaudiCurrency: true,
),

@ -55,7 +55,7 @@ class CmcHospitalListItem extends StatelessWidget {
flipX: isArabic,
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -79,7 +79,7 @@ class CmcHospitalListItem extends StatelessWidget {
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 16,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
)
@ -108,7 +108,7 @@ class CmcHospitalListItem extends StatelessWidget {
visible: (hospital.distanceInKilometers == null || hospital.distanceInKilometers == 0),
child: AppCustomChipWidget(
labelText: " Distance not available",
textColor: AppColors.blackColor,
textColor: AppColors.textColor,
),
),
// Visibility(
@ -117,7 +117,7 @@ class CmcHospitalListItem extends StatelessWidget {
// labelText: "Location turned off".needTranslation,
// deleteIcon: AppAssets.location_unavailable,
// deleteIconSize: Size(9.w, 12.h),
// textColor: AppColors.blackColor,
// textColor: AppColors.textColor,
// ),
// ),
],

@ -113,7 +113,7 @@ class ContactUs extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -45,7 +45,7 @@ class FeedbackPage extends StatelessWidget {
medicalFileViewModel = Provider.of<MedicalFileViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<ContactUsViewModel>(builder: (context, contactUsVM, child) {
return Column(
children: [

@ -26,7 +26,7 @@ class FindUsPage extends StatelessWidget {
contactUsViewModel = Provider.of<ContactUsViewModel>(context);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.location.tr(),
child: Consumer<ContactUsViewModel>(builder: (context, contactUsVM, child) {

@ -36,7 +36,7 @@ class LiveChatPage extends StatelessWidget {
appState = getIt.get<AppState>();
authVm = context.read<AuthenticationViewModel>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Consumer<ContactUsViewModel>(builder: (context, contactUsVM, child) {
return Column(
children: [
@ -185,7 +185,7 @@ class LiveChatPage extends StatelessWidget {
children: [
Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h),
(LocaleKeys.loginToUseService.tr(context: context)).toText16(color: AppColors.blackColor),
(LocaleKeys.loginToUseService.tr(context: context)).toText16(color: AppColors.textColor),
SizedBox(height: 16.h),
Row(
children: [

@ -59,7 +59,7 @@ class FindUsItemCard extends StatelessWidget {
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 16,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
)

@ -41,7 +41,7 @@ class _Covid19LandingPageState extends State<Covid19LandingPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(

@ -87,7 +87,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
payfortViewModel = Provider.of<PayfortViewModel>(context);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: widget.title,
bottomChild: Container(
@ -106,7 +106,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(( (widget.amount - widget.taxAmount).toString()).toText16(isBold: true), AppColors.blackColor, 13, isSaudiCurrency: true),
Utils.getPaymentAmountWithSymbol(( (widget.amount - widget.taxAmount).toString()).toText16(isBold: true), AppColors.textColor, 13, isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),
Row(
@ -122,7 +122,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(widget.amount.toString().toText24(isBold: true), AppColors.blackColor, 17, isSaudiCurrency: true),
Utils.getPaymentAmountWithSymbol(widget.amount.toString().toText24(isBold: true), AppColors.textColor, 17, isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),
@ -221,7 +221,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -266,7 +266,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -321,7 +321,7 @@ class _CovidPaymentScreenState extends State<CovidPaymentScreen> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -78,7 +78,7 @@ class _CovidReviewScreenState extends State<CovidReviewScreen> {
LocaleKeys.amountBeforeTax.tr(context: context).toText18(isBold: true),
Utils.getPaymentAmountWithSymbol(
(info.patientShareField ?? 0).toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true),
],
@ -90,7 +90,7 @@ class _CovidReviewScreenState extends State<CovidReviewScreen> {
LocaleKeys.vat15.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(
(info.patientTaxAmountField ?? 0).toString().toText16(isBold: true),
AppColors.blackColor,
AppColors.textColor,
13,
isSaudiCurrency: true)
],
@ -108,7 +108,7 @@ class _CovidReviewScreenState extends State<CovidReviewScreen> {
children: [
Utils.getPaymentAmountWithSymbol(
(info.patientShareWithTaxField ?? 0).toString().toText24(isBold: true),
AppColors.blackColor,
AppColors.textColor,
17,
isSaudiCurrency: true),
],

@ -157,7 +157,7 @@ class _NewReferralPageState extends State<NewReferralPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.eReferral.tr(context: context),
isClose: false,

@ -89,7 +89,7 @@ class OTPService {
}
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.primaryRedBorderColor,
borderColor: AppColors.primaryRedColor,
textColor: AppColors.whiteColor,
icon: AppAssets.message,
),

@ -440,7 +440,7 @@ class RrtMapScreen extends StatelessWidget {
fontWeight: FontWeight.w600,
color: AppColors.textColor,
letterSpacing: -2),
AppColors.blackColor,
AppColors.textColor,
17.h)
// Utils.getPaymentAmountWithSymbol2(context.read<EmergencyServicesViewModel>().selectedTransportOption?.priceTotal??"0", letterSpacing: -2)

@ -80,7 +80,7 @@ class RrtRequestTypeSelect extends StatelessWidget {
Utils.getPaymentAmountWithSymbol(
(Utils.formatNumberToInternationalFormat(context.read<EmergencyServicesViewModel>().selectedRRTProcedure?.patientShare ?? 0))
.toText24(fontWeight: FontWeight.w600, color: AppColors.textColor, letterSpacing: -2),
AppColors.blackColor,
AppColors.textColor,
17.h)
],
),
@ -140,7 +140,7 @@ class RrtRequestTypeSelect extends StatelessWidget {
Utils.getPaymentAmountWithSymbol(
(Utils.formatNumberToInternationalFormat(context.read<EmergencyServicesViewModel>().selectedRRTProcedure?.patientShareWithTax ?? 0))
.toText24(fontWeight: FontWeight.w600, color: AppColors.textColor, letterSpacing: -2),
AppColors.blackColor,
AppColors.textColor,
17.h),
],
)

@ -448,7 +448,7 @@ class CallAmbulancePage extends StatelessWidget {
Utils.getPaymentAmountWithSymbol(
(Utils.formatNumberToInternationalFormat(context.read<EmergencyServicesViewModel>().getTotalPrice() ?? 0))
.toText24(fontWeight: FontWeight.w600, color: AppColors.textColor, letterSpacing: -2),
AppColors.blackColor,
AppColors.textColor,
17.h)
// Utils.getPaymentAmountWithSymbol2(context.read<EmergencyServicesViewModel>().selectedTransportOption?.priceTotal??"0", letterSpacing: -2)

@ -476,11 +476,11 @@ class TrackingScreen extends StatelessWidget {
spacing: 8.h,
children: [
Flexible(child:
chip(order?.pickupLocation??"", AppAssets.location_pickup, AppColors.blackBgColor),
chip(order?.pickupLocation??"", AppAssets.location_pickup, AppColors.textColor),
),
Flexible(child:
chip(order?.dropOffLocation??"", AppAssets.hospital, AppColors.blackBgColor),
chip(order?.dropOffLocation??"", AppAssets.hospital, AppColors.textColor),
)
],
@ -492,11 +492,11 @@ class TrackingScreen extends StatelessWidget {
// spacing: 8.h,
// children: [
// Flexible(child:
// chip(rrtOrder?.pickupLocation??"", AppAssets.location_pickup, AppColors.blackBgColor),
// chip(rrtOrder?.pickupLocation??"", AppAssets.location_pickup, AppColors.textColor),
//
// ),
// // Flexible(child:
// // chip(rrtOrder?.??"", AppAssets.hospital, AppColors.blackBgColor),
// // chip(rrtOrder?.??"", AppAssets.hospital, AppColors.textColor),
// //
// // )
// ],

@ -36,7 +36,7 @@ class AddressItem extends StatelessWidget {
child: CircleAvatar(
radius: 70.h,
backgroundColor:
isSelected ? AppColors.errorLightColor : Colors.transparent,
isSelected ? AppColors.primaryRedColor : Colors.transparent,
).paddingAll(3.h),
),
),

@ -34,7 +34,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: selectedFacility == FacilitySelection.ALL
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -42,7 +42,7 @@ class TypeSelectionWidget extends StatelessWidget {
selectedFacility == FacilitySelection.ALL
?AppColors.secondaryLightRedColor: AppColors.whiteColor,
textColor: selectedFacility == FacilitySelection.ALL
? AppColors.errorColor:AppColors.blackColor
? AppColors.errorColor:AppColors.textColor
,
).onPress((){
onitemClicked(FacilitySelection.ALL);
@ -57,7 +57,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: selectedFacility == FacilitySelection.HMG
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -66,7 +66,7 @@ class TypeSelectionWidget extends StatelessWidget {
?AppColors.secondaryLightRedColor: AppColors.whiteColor,
textColor: selectedFacility == FacilitySelection.HMG
? AppColors.errorColor
: AppColors.blackColor,
: AppColors.textColor,
).onPress((){
onitemClicked(FacilitySelection.HMG);
}),
@ -81,7 +81,7 @@ class TypeSelectionWidget extends StatelessWidget {
side: BorderSide(
color: selectedFacility == FacilitySelection.HMC
? AppColors.errorColor
: AppColors.chipBorderColorOpacity20,
: AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
@ -90,7 +90,7 @@ class TypeSelectionWidget extends StatelessWidget {
?AppColors.secondaryLightRedColor: AppColors.whiteColor,
textColor: selectedFacility == FacilitySelection.HMC
? AppColors.errorColor
: AppColors.blackColor,
: AppColors.textColor,
).onPress((){
onitemClicked(FacilitySelection.HMC);
}),

@ -59,7 +59,7 @@ class EmergencyServicesPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.callAmbulance.tr().toText16(isBold: true, color: AppColors.blackColor),
LocaleKeys.callAmbulance.tr().toText16(isBold: true, color: AppColors.textColor),
LocaleKeys.requestAmbulanceInEmergency.tr()
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
],
@ -146,7 +146,7 @@ class EmergencyServicesPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.nearester.tr(context: context).toText16(isBold: true, color: AppColors.blackColor),
LocaleKeys.nearester.tr(context: context).toText16(isBold: true, color: AppColors.textColor),
LocaleKeys.getDetailsOfNearestBranch.tr()
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
],
@ -175,7 +175,7 @@ class EmergencyServicesPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.rapidResponseTeam.tr(context: context).toText16(isBold: true, color: AppColors.blackColor),
LocaleKeys.rapidResponseTeam.tr(context: context).toText16(isBold: true, color: AppColors.textColor),
"Comprehensive medical service for all sorts of urgent and stable cases"
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
],
@ -274,7 +274,7 @@ class EmergencyServicesPage extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.emergencyCheckIn.tr(context: context).toText16(isBold: true, color: AppColors.blackColor),
LocaleKeys.emergencyCheckIn.tr(context: context).toText16(isBold: true, color: AppColors.textColor),
LocaleKeys.priorERCheckInToSkipLine.tr()
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
],

@ -36,7 +36,7 @@ class ErOnlineCheckinHome extends StatelessWidget {
_supportsNFC = (value == NFCAvailability.available);
});
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(

@ -29,7 +29,7 @@ class ErOnlineCheckinPaymentDetailsPage extends StatelessWidget {
appState = getIt.get<AppState>();
emergencyServicesViewModel = Provider.of<EmergencyServicesViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -109,7 +109,7 @@ class ErOnlineCheckinPaymentDetailsPage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.amountBeforeTax.tr().toText18(isBold: true),
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShare.toString().toText16(isBold: true), AppColors.blackColor, 13,
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShare.toString().toText16(isBold: true), AppColors.textColor, 13,
isSaudiCurrency: true),
],
),
@ -135,7 +135,7 @@ class ErOnlineCheckinPaymentDetailsPage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Utils.getPaymentAmountWithSymbol(
emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShareWithTax.toString().toText24(isBold: true), AppColors.blackColor, 17,
emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShareWithTax.toString().toText24(isBold: true), AppColors.textColor, 17,
isSaudiCurrency: true),
],
),

@ -76,7 +76,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
payfortViewModel = Provider.of<PayfortViewModel>(context, listen: false);
emergencyServicesViewModel = Provider.of<EmergencyServicesViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
children: [
Expanded(
@ -109,7 +109,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -151,7 +151,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -188,7 +188,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -221,7 +221,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
? Container(
height: 50.h,
decoration: ShapeDecoration(
color: AppColors.secondaryLightRedBorderColor,
color: AppColors.secondaryLightRedColor,
shape: SmoothRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
smoothness: 1,
@ -241,7 +241,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
);
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.secondaryLightRedBorderColor,
borderColor: AppColors.secondaryLightRedColor,
textColor: AppColors.whiteColor,
fontSize: 10,
fontWeight: FontWeight.w500,
@ -260,7 +260,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.amountBeforeTax.tr(context: context).toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShare.toString().toText16(isBold: true), AppColors.blackColor, 13,
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShare.toString().toText16(isBold: true), AppColors.textColor, 13,
isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),
@ -278,7 +278,7 @@ class _ErOnlineCheckinPaymentPageState extends State<ErOnlineCheckinPaymentPage>
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
"".toText14(isBold: true),
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShareWithTax.toString().toText24(isBold: true), AppColors.blackColor, 17,
Utils.getPaymentAmountWithSymbol(emergencyServicesViewModel.erOnlineCheckInPaymentDetailsResponse.patientShareWithTax.toString().toText24(isBold: true), AppColors.textColor, 17,
isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),

@ -117,7 +117,7 @@ class ErOnlineCheckinSelectCheckinBottomSheet extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,

@ -97,12 +97,12 @@ class ErHistoryListing extends StatelessWidget {
labelText: LocaleKeys.allFacilities.tr(context: context),
shape: RoundedRectangleBorder(
side: BorderSide(
color: value == OrderDislpay.ALL ? AppColors.errorColor : AppColors.chipBorderColorOpacity20,
color: value == OrderDislpay.ALL ? AppColors.errorColor : AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
backgroundColor: value == OrderDislpay.ALL ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
textColor: value == OrderDislpay.ALL ? AppColors.errorColor : AppColors.blackColor,
textColor: value == OrderDislpay.ALL ? AppColors.errorColor : AppColors.textColor,
).onPress(() {
context.read<EmergencyServicesViewModel>().changeOrderDisplayItems(OrderDislpay.ALL);
}).toShimmer2(isShow: isLoading),
@ -115,12 +115,12 @@ class ErHistoryListing extends StatelessWidget {
icon: AppAssets.ambulance,
shape: RoundedRectangleBorder(
side: BorderSide(
color: value == OrderDislpay.AMBULANCE ? AppColors.errorColor : AppColors.chipBorderColorOpacity20,
color: value == OrderDislpay.AMBULANCE ? AppColors.errorColor : AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
backgroundColor: value == OrderDislpay.AMBULANCE ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
textColor: value == OrderDislpay.AMBULANCE ? AppColors.errorColor : AppColors.blackColor,
textColor: value == OrderDislpay.AMBULANCE ? AppColors.errorColor : AppColors.textColor,
).toShimmer2(isShow: isLoading).onPress(() {
context.read<EmergencyServicesViewModel>().changeOrderDisplayItems(OrderDislpay.AMBULANCE);
}),
@ -134,12 +134,12 @@ class ErHistoryListing extends StatelessWidget {
icon: AppAssets.ic_rrt_vehicle,
shape: RoundedRectangleBorder(
side: BorderSide(
color: value == OrderDislpay.RRT ? AppColors.errorColor : AppColors.chipBorderColorOpacity20,
color: value == OrderDislpay.RRT ? AppColors.errorColor : AppColors.borderGrayColor,
width: 1,
),
borderRadius: BorderRadius.circular(10)),
backgroundColor: value == OrderDislpay.RRT ? AppColors.secondaryLightRedColor : AppColors.whiteColor,
textColor: value == OrderDislpay.RRT ? AppColors.errorColor : AppColors.blackColor,
textColor: value == OrderDislpay.RRT ? AppColors.errorColor : AppColors.textColor,
).toShimmer2(isShow: isLoading).onPress(() {
context.read<EmergencyServicesViewModel>().changeOrderDisplayItems(OrderDislpay.RRT);
}),

@ -41,8 +41,8 @@ class AmbulanceHistoryItem extends StatelessWidget {
Row(
spacing: 4.w,
children: [
chip( Utils.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.time)), AppAssets.calendar, AppColors.blackBgColor),
chip(LocaleKeys.ambulancerequest.tr(context: context), AppAssets.ambulance, AppColors.blackBgColor),
chip( Utils.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.time)), AppAssets.calendar, AppColors.textColor),
chip(LocaleKeys.ambulancerequest.tr(context: context), AppAssets.ambulance, AppColors.textColor),
],
),
Row(

@ -41,8 +41,8 @@ class RRTItem extends StatelessWidget {
Row(
spacing: 4.w,
children: [
chip( Utils.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.time)), AppAssets.calendar, AppColors.blackBgColor),
chip(LocaleKeys.rapidResponseTeam.tr(context: context), AppAssets.ic_rrt_vehicle, AppColors.blackBgColor),
chip( Utils.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.time)), AppAssets.calendar, AppColors.textColor),
chip(LocaleKeys.rapidResponseTeam.tr(context: context), AppAssets.ic_rrt_vehicle, AppColors.textColor),
],
),
SizedBox(height: 4.h),

@ -87,7 +87,7 @@ class LocationInputBottomSheet extends StatelessWidget {
Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 20.h,
height: 15.h,
fit: BoxFit.contain,

@ -31,7 +31,7 @@ class _HabibWalletState extends State<HabibWalletPage> {
habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false);
AppState _appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: LocaleKeys.myWallet.tr(),
child: Padding(
@ -44,7 +44,7 @@ class _HabibWalletState extends State<HabibWalletPage> {
width: double.infinity,
height: 180.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.blackBgColor,
color: AppColors.textColor,
borderRadius: 24,
),
child: Padding(

@ -13,8 +13,8 @@ import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_mode
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/wallet_payment_confirm_page.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/widgets/select_hospital_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/input_widget.dart';
@ -41,7 +41,9 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
@override
void initState() {
scheduleMicrotask(() {
habibWalletVM.setDepositorDetails(appState.getAuthenticatedUser()!.patientId.toString(), "${appState.getAuthenticatedUser()!.firstName} ${appState.getAuthenticatedUser()!.lastName}",
habibWalletVM.setDepositorDetails(
appState.getAuthenticatedUser()!.patientId.toString(),
"${appState.getAuthenticatedUser()!.firstName} ${appState.getAuthenticatedUser()!.lastName}",
appState.getAuthenticatedUser()!.mobileNumber!);
habibWalletVM.setSelectedRechargeType(0);
habibWalletVM.getProjectsList();
@ -54,7 +56,7 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false);
appState = getIt.get<AppState>();
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -138,7 +140,8 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
(habibWalletVM.getSelectedRechargeTypeValue()).toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
(habibWalletVM.getSelectedRechargeTypeValue())
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
"${LocaleKeys.medicalFile.tr(context: context)}: ${habibWalletVM.fileNumber}"
.toText14(color: AppColors.textColor, weight: FontWeight.w500, letterSpacing: -0.2),
],
@ -164,7 +167,7 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
}), callBackFunc: () {}, isFullScreen: false, isCloseButtonVisible: true);
}),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h),
Divider(color: AppColors.textColor.withValues(alpha: 0.1), height: 1.h),
SizedBox(height: 16.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -176,10 +179,14 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.hospital.tr(context: context).toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
LocaleKeys.hospital
.tr(context: context)
.toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
SizedBox(
width: MediaQuery.of(context).size.width * 0.55,
child: (habibWalletVM.selectedHospital != null ? habibWalletVM.selectedHospital!.name : LocaleKeys.selectHospital.tr(context: context))!
child: (habibWalletVM.selectedHospital != null
? habibWalletVM.selectedHospital!.name
: LocaleKeys.selectHospital.tr(context: context))!
.toText14(color: AppColors.textColor, weight: FontWeight.w500),
),
],
@ -190,10 +197,13 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
],
).onPress(() {
showCommonBottomSheetWithoutHeight(context,
title: LocaleKeys.selectHospital.tr(context: context), isDismissible: false, child: SelectHospitalBottomSheet(), callBackFunc: () {});
title: LocaleKeys.selectHospital.tr(context: context),
isDismissible: false,
child: SelectHospitalBottomSheet(),
callBackFunc: () {});
}),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h),
Divider(color: AppColors.textColor.withValues(alpha: 0.1), height: 1.h),
SizedBox(height: 16.h),
Row(
children: [
@ -203,13 +213,14 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.email.tr(context: context).toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500),
"${appState.getAuthenticatedUser()!.emailAddress}".toText14(color: AppColors.textColor, weight: FontWeight.w500, letterSpacing: -0.2),
"${appState.getAuthenticatedUser()!.emailAddress}"
.toText14(color: AppColors.textColor, weight: FontWeight.w500, letterSpacing: -0.2),
],
),
],
),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h),
Divider(color: AppColors.textColor.withValues(alpha: 0.1), height: 1.h),
SizedBox(height: 16.h),
TextInputWidget(
labelText: LocaleKeys.notes.tr(context: context),

@ -56,7 +56,7 @@ class _WalletPaymentConfirmPageState extends State<WalletPaymentConfirmPage> {
habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false);
payfortViewModel = Provider.of<PayfortViewModel>(context, listen: false);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -91,7 +91,7 @@ class _WalletPaymentConfirmPageState extends State<WalletPaymentConfirmPage> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -133,7 +133,7 @@ class _WalletPaymentConfirmPageState extends State<WalletPaymentConfirmPage> {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon_small,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 18.h,
height: 13.h,
fit: BoxFit.contain,
@ -175,13 +175,13 @@ class _WalletPaymentConfirmPageState extends State<WalletPaymentConfirmPage> {
],
).paddingSymmetrical(24.h, 0.h),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h).paddingSymmetrical(24.h, 0.h),
Divider(color: AppColors.textColor.withValues(alpha: 0.1), height: 1.h).paddingSymmetrical(24.h, 0.h),
SizedBox(height: 16.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocaleKeys.totalAmountToPay.tr(context: context).toText16(isBold: true),
Utils.getPaymentAmountWithSymbol(habibWalletVM.walletRechargeAmount.toString().toText24(isBold: true), AppColors.blackColor, 15.h, isSaudiCurrency: true),
Utils.getPaymentAmountWithSymbol(habibWalletVM.walletRechargeAmount.toString().toText24(isBold: true), AppColors.textColor, 15.h, isSaudiCurrency: true),
],
).paddingSymmetrical(24.h, 0.h),
SizedBox(height: 12.h),

@ -39,7 +39,7 @@ class HospitalListItemAdvancePayment extends StatelessWidget {
flipX: appState.isArabic(),
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
iconColor: AppColors.textColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
@ -61,7 +61,7 @@ class HospitalListItemAdvancePayment extends StatelessWidget {
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 16,
color: AppColors.blackColor,
color: AppColors.textColor,
),
),
)

@ -116,7 +116,7 @@ class _MultiPageBottomSheetState extends State<MultiPageBottomSheet> {
onError: (error) {});
},
backgroundColor: AppColors.primaryRedColor,
borderColor: AppColors.primaryRedBorderColor,
borderColor: AppColors.primaryRedColor,
textColor: AppColors.whiteColor,
),
],

@ -26,7 +26,7 @@ class SelectHospitalBottomSheet extends StatelessWidget {
// style: TextStyle(
// fontSize: 21,
// fontWeight: FontWeight.w600,
// color: AppColors.blackColor,
// color: AppColors.textColor,
// ),
// ),
Text(

@ -69,8 +69,8 @@ class _HealthCalculatorDetailedPageState extends State<HealthCalculatorDetailedP
},
icon: null,
fontSize: 16.f,
backgroundColor: calculatedResult == null ? AppColors.bgRedLightColor : AppColors.primaryRedColor,
borderColor: calculatedResult == null ? AppColors.bgRedLightColor : AppColors.primaryRedColor,
backgroundColor: calculatedResult == null ? AppColors.secondaryLightRedColor : AppColors.primaryRedColor,
borderColor: calculatedResult == null ? AppColors.secondaryLightRedColor : AppColors.primaryRedColor,
borderRadius: 12.r,
fontWeight: FontWeight.w500)),
child: getCalculatorWidget(

@ -537,7 +537,7 @@ class _AddHealthTrackerEntryPageState extends State<AddHealthTrackerEntryPage> {
FocusScope.of(context).unfocus();
},
child: Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView(
title: _getPageTitle(),
bottomChild: Container(

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save