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

@ -853,7 +853,7 @@
"setTheDateRange": "Set The Date Range", "setTheDateRange": "Set The Date Range",
"historyFlowchart": "History FlowChart", "historyFlowchart": "History FlowChart",
"to": "to", "to": "to",
"startDate" : "Start Date", "startDate": "Start Date",
"endDate": "End Date", "endDate": "End Date",
"hmgHospitals": "HMG Hospitals", "hmgHospitals": "HMG Hospitals",
"hmcMedicalClinic": "HMC Medical Centers", "hmcMedicalClinic": "HMC Medical Centers",
@ -866,7 +866,7 @@
"walkin": "Walk In", "walkin": "Walk In",
"continueString": "Continue", "continueString": "Continue",
"laserClinic": "Laser Clinic", "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", "appointmentDetails": "Appointment Details",
"checkingDoctorAvailability": "Checking doctor availability...", "checkingDoctorAvailability": "Checking doctor availability...",
"cancellingAppointmentPleaseWait": "Cancelling Appointment, Please Wait...", "cancellingAppointmentPleaseWait": "Cancelling Appointment, Please Wait...",
@ -1574,5 +1574,6 @@
"invalidInsurance": "You cannot make online payment because you do not have a valid insurance.", "invalidInsurance": "You cannot make online payment because you do not have a valid insurance.",
"continueCash": "Continue as cash", "continueCash": "Continue as cash",
"timeFor": "Time For", "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 */; }; 61243B542EC5FA3700D46FA0 /* PenguinPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B442EC5FA3700D46FA0 /* PenguinPlugin.swift */; };
61243B562EC5FA3700D46FA0 /* PenguinNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B432EC5FA3700D46FA0 /* PenguinNavigator.swift */; }; 61243B562EC5FA3700D46FA0 /* PenguinNavigator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B432EC5FA3700D46FA0 /* PenguinNavigator.swift */; };
61243B572EC5FA3700D46FA0 /* PenguinViewFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61243B462EC5FA3700D46FA0 /* PenguinViewFactory.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 */; }; 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 */; }; 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 */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
@ -49,9 +48,9 @@
dstPath = ""; dstPath = "";
dstSubfolderSpec = 10; dstSubfolderSpec = 10;
files = ( files = (
765A5A8F2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Embed Frameworks */, 68D444222F3BBBDA00995552 /* Penguin.xcframework in Embed Frameworks */,
765A5A8D2F35CD8B0003FF7D /* Penguin.xcframework in Embed Frameworks */, 68D444202F3BBBDA00995552 /* PenguinINRenderer.xcframework in Embed Frameworks */,
765A5A912F35CD8B0003FF7D /* PenNavUI.xcframework in Embed Frameworks */, 68D4441E2F3BBBD900995552 /* PenNavUI.xcframework in Embed Frameworks */,
); );
name = "Embed Frameworks"; name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@ -72,15 +71,14 @@
61243B442EC5FA3700D46FA0 /* PenguinPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PenguinPlugin.swift; sourceTree = "<group>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
765A5A8C2F35CD8B0003FF7D /* Penguin.xcframework in Frameworks */, 68D444212F3BBBDA00995552 /* Penguin.xcframework in Frameworks */,
765A5A902F35CD8B0003FF7D /* PenNavUI.xcframework in Frameworks */,
765A5A8E2F35CD8B0003FF7D /* PenguinINRenderer.xcframework in Frameworks */,
DE1EF78253E64BE86845D2CC /* Pods_Runner.framework in Frameworks */, DE1EF78253E64BE86845D2CC /* Pods_Runner.framework in Frameworks */,
68D4441F2F3BBBDA00995552 /* PenguinINRenderer.xcframework in Frameworks */,
68D4441D2F3BBBD900995552 /* PenNavUI.xcframework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -140,9 +138,9 @@
766D8CB22EC60BE600D05E07 /* Frameworks */ = { 766D8CB22EC60BE600D05E07 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
765A5A802F35CD730003FF7D /* Penguin.xcframework */, 68D4441C2F3BBBD900995552 /* Penguin.xcframework */,
765A5A812F35CD730003FF7D /* PenguinINRenderer.xcframework */, 68D4441B2F3BBBD900995552 /* PenguinINRenderer.xcframework */,
765A5A822F35CD730003FF7D /* PenNavUI.xcframework */, 68D4441A2F3BBBD900995552 /* PenNavUI.xcframework */,
D562310E31D1DDEFA02A6C12 /* Pods_Runner.framework */, D562310E31D1DDEFA02A6C12 /* Pods_Runner.framework */,
); );
name = Frameworks; name = Frameworks;
@ -194,7 +192,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */, 76AA18AC2F3B2A4D00DC8DFC /* ring_30Sec.caf */,
76AA18AD2F3B2A4D00DC8DFC /* ring_30Sec.mp3 */,
61243B412EC5FA3700D46FA0 /* Helper */, 61243B412EC5FA3700D46FA0 /* Helper */,
61243B472EC5FA3700D46FA0 /* Penguin */, 61243B472EC5FA3700D46FA0 /* Penguin */,
769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */, 769C9BF82E6F106D009F68A9 /* RunnerDebug.entitlements */,
@ -307,7 +304,6 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
76AA18AE2F3B2A4D00DC8DFC /* ring_30Sec.caf in Resources */, 76AA18AE2F3B2A4D00DC8DFC /* ring_30Sec.caf in Resources */,
76AA18AF2F3B2A4D00DC8DFC /* ring_30Sec.mp3 in Resources */,
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
478CFA942E638C8E0064F3D7 /* GoogleService-Info.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 doctorResponseIcon = '$svgBasePath/doctor_response_icon.svg';
static const String changeLanguageHomePageIcon = '$svgBasePath/change_language_home_page.svg'; static const String changeLanguageHomePageIcon = '$svgBasePath/change_language_home_page.svg';
static const String aiOverView = '$svgBasePath/ai_overview.svg'; static const String aiOverView = '$svgBasePath/ai_overview.svg';
static const String darkModeIcon = '$svgBasePath/dark_mode_icon.svg';
// PNGS // // PNGS //
static const String hmgLogo = '$pngBasePath/hmg_logo.png'; 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()), 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()); getIt.registerLazySingleton<DateRangeSelectorRangeViewModel>(() => DateRangeSelectorRangeViewModel());

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

@ -91,7 +91,7 @@ class Utils {
toastLength: longDuration ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT, toastLength: longDuration ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM, gravity: ToastGravity.BOTTOM,
timeInSecForIosWeb: 1, timeInSecForIosWeb: 1,
backgroundColor: AppColors.blackColor, backgroundColor: AppColors.textColor,
textColor: AppColors.whiteColor, textColor: AppColors.whiteColor,
fontSize: 16.0); fontSize: 16.0);
} }
@ -268,7 +268,7 @@ class Utils {
_isLoadingVisible = true; _isLoadingVisible = true;
showDialog( showDialog(
context: navigationService.navigatorKey.currentContext!, context: navigationService.navigatorKey.currentContext!,
barrierColor: AppColors.blackColor, barrierColor: AppColors.textColor,
builder: (BuildContext context) => LoadingDialog(), builder: (BuildContext context) => LoadingDialog(),
) )
.then((value) { .then((value) {
@ -369,7 +369,7 @@ class Utils {
Lottie.asset(AppAnimations.loadingAnimation, Lottie.asset(AppAnimations.loadingAnimation,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 80.h, height: 80.h, fit: BoxFit.fill), repeat: true, reverse: false, frameRate: FrameRate(60), width: 80.h, height: 80.h, fit: BoxFit.fill),
SizedBox(height: 8.h), 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), SizedBox(height: 8.h),
], ],
).center; ).center;
@ -382,7 +382,7 @@ class Utils {
children: [ children: [
Lottie.asset(AppAnimations.checkmark, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill), Lottie.asset(AppAnimations.checkmark, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h), SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.blackColor), (loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 8.h), SizedBox(height: 8.h),
], ],
).center; ).center;
@ -396,7 +396,7 @@ class Utils {
Lottie.asset(AppAnimations.errorAnimation, Lottie.asset(AppAnimations.errorAnimation,
repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill), repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h), SizedBox(height: 8.h),
(loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.blackColor), (loadingText ?? LocaleKeys.loadingText.tr()).toText16(color: AppColors.textColor),
SizedBox(height: 8.h), SizedBox(height: 8.h),
], ],
).center; ).center;
@ -418,7 +418,7 @@ class Utils {
Lottie.asset(AppAnimations.warningAnimation, Lottie.asset(AppAnimations.warningAnimation,
repeat: false, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill), repeat: false, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h), 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), SizedBox(height: 16.h),
bodyWidget ?? SizedBox.shrink(), bodyWidget ?? SizedBox.shrink(),
SizedBox(height: 16.h), SizedBox(height: 16.h),
@ -802,7 +802,7 @@ class Utils {
double? letterSpacing, double? letterSpacing,
FontWeight? fontWeight, FontWeight? fontWeight,
Color iconColor = AppColors.textColor, Color iconColor = AppColors.textColor,
Color textColor = AppColors.blackColor, Color textColor = AppColors.textColor,
bool isSaudiCurrency = true, bool isSaudiCurrency = true,
bool isExpanded = 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/dependencies.dart';
import 'package:hmg_patient_app_new/core/enums.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/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:hmg_patient_app_new/theme/colors.dart';
import 'package:intl/intl.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 { extension CapExtension on String {
String get toCamelCase => "${this[0].toUpperCase()}${substring(1)}"; String get toCamelCase => "${this[0].toUpperCase()}${substring(1)}";
@ -31,61 +42,40 @@ extension EmailValidator on String {
fontSize: 8.f, fontSize: 8.f,
fontStyle: fontStyle ?? FontStyle.normal, fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: 0, letterSpacing: 0,
), ),
); );
Widget toText10( 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(
{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, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines, maxLines: maxlines,
overflow: textOverflow, overflow: textOverflow,
style: TextStyle( style: TextStyle(
fontSize: 10.f, fontSize: 9.f,
fontStyle: fontStyle ?? FontStyle.normal, fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins', decorationColor: color ?? _defaultTextColor),
decorationColor: color ?? AppColors.blackColor),
); );
Widget toText9( 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(
{Color? color,
FontWeight? weight,
bool isBold = false,
bool isUnderLine = false,
bool isCenter = false,
int? maxlines,
FontStyle? fontStyle,
TextOverflow? textOverflow,
double letterSpacing = 0}) =>
Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines, maxLines: maxlines,
overflow: textOverflow, overflow: textOverflow,
style: TextStyle( style: TextStyle(
fontSize: 9.f, fontSize: 10.f,
fontStyle: fontStyle ?? FontStyle.normal, fontStyle: fontStyle ?? FontStyle.normal,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null, 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( 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( style: TextStyle(
fontSize: 11.f, fontSize: 11.f,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
), ),
); );
Widget toText12( 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(
{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, this,
textAlign: isCenter ? TextAlign.center : textAlignment, textAlign: isCenter ? TextAlign.center : textAlignment,
maxLines: (maxLine > 0) ? maxLine : null, maxLines: (maxLine > 0) ? maxLine : null,
style: TextStyle( style: TextStyle(
fontSize: 12.f, fontSize: 12.f,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing ?? 0, letterSpacing: letterSpacing ?? 0,
height: height, height: height,
decorationColor: isUnderLine ? AppColors.blackColor : null, decorationColor: isUnderLine ? color ?? _defaultTextColor : null,
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins', fontFamily: isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins',
), ),
@ -136,25 +116,13 @@ extension EmailValidator on String {
style: TextStyle( style: TextStyle(
fontSize: 12.f, fontSize: 12.f,
fontWeight: isBold ? FontWeight.bold : FontWeight.normal, fontWeight: isBold ? FontWeight.bold : FontWeight.normal,
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: 0, letterSpacing: 0,
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
), ),
); );
Widget toTextAuto({ 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(
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, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
maxLines: (maxLine > 0) ? maxLine : null, maxLines: (maxLine > 0) ? maxLine : null,
@ -164,7 +132,7 @@ extension EmailValidator on String {
style: TextStyle( style: TextStyle(
fontSize: fontSize, fontSize: fontSize,
fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: fontWeight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
), ),
@ -177,38 +145,25 @@ extension EmailValidator on String {
style: TextStyle( style: TextStyle(
fontSize: 13.f, fontSize: 13.f,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
decoration: isUnderLine ? TextDecoration.underline : null), decoration: isUnderLine ? TextDecoration.underline : null),
); );
Widget toText14({ 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(
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, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines, maxLines: maxlines,
overflow: textOverflow, overflow: textOverflow,
style: TextStyle( style: TextStyle(
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
fontSize: 14.f, fontSize: 14.f,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
height: height, height: height,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
decoration: isUnderLine ? TextDecoration.underline : null, decoration: isUnderLine ? TextDecoration.underline : null,
fontFamily: fontFamily ?? (isEnglishOnly ? "Poppins" : getIt.get<AppState>().getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'), 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( 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, textAlign: isCenter ? TextAlign.center : null,
maxLines: maxlines, maxLines: maxlines,
style: TextStyle( style: TextStyle(
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
fontSize: 15.f, fontSize: 15.f,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal), fontWeight: weight ?? (isBold ? FontWeight.bold : FontWeight.normal),
decoration: isUnderLine ? TextDecoration.underline : null), decoration: isUnderLine ? TextDecoration.underline : null),
); );
Widget toText16({bool isEnglishOnly = false, Color? color, 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(
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(
this, this,
maxLines: maxlines, maxLines: maxlines,
textAlign: isCenter ? textAlign ?? TextAlign.center : null, textAlign: isCenter ? textAlign ?? TextAlign.center : null,
// locale: Locale('en', 'US'),
style: TextStyle( style: TextStyle(
color: color ?? AppColors.blackColor, color: color ?? _defaultTextColor,
fontSize: 16.f, fontSize: 16.f,
letterSpacing: letterSpacing, letterSpacing: letterSpacing,
height: height, height: height,
@ -255,74 +197,93 @@ extension EmailValidator on String {
Widget toText17({bool isEnglishOnly = false, Color? color, bool isBold = false, bool isCenter = false}) => Text( Widget toText17({bool isEnglishOnly = false, Color? color, bool isBold = false, bool isCenter = false}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, 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( Widget toText18({Color? color, FontWeight? weight, bool isBold = false, bool isCenter = false, int? maxlines, TextOverflow? textOverflow}) => Text(
this,
maxLines: maxlines, maxLines: maxlines,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
this,
overflow: textOverflow, 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( Widget toText19({Color? color, bool isBold = false}) => Text(
this, 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({ Widget toText20({Color? color, FontWeight? weight, bool isBold = false}) => Text(
Color? color,
FontWeight? weight,
bool isBold = false,
}) =>
Text(
this, 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( Widget toText21({Color? color, bool isBold = false, FontWeight? weight, int? maxlines}) => Text(
this, this,
maxLines: maxlines, 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( Widget toText22({Color? color, bool isBold = false, bool isCenter = false}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, 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( Widget toText24({Color? color, bool isBold = false, bool isCenter = false, FontWeight? fontWeight, double? letterSpacing}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
style: TextStyle( 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( Widget toText26({Color? color, bool isBold = false, double? height, bool isCenter = false, FontWeight? weight, double? letterSpacing}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
style: TextStyle( 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( Widget toText28({bool isEnglishOnly = false, Color? color, bool isBold = false, double? height, bool isCenter = false, double? letterSpacing}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, 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( Widget toText32({bool isEnglishOnly = false, FontWeight? weight, Color? color, bool isBold = false, bool isCenter = false}) => Text(
this, this,
textAlign: isCenter ? TextAlign.center : null, textAlign: isCenter ? TextAlign.center : null,
style: TextStyle( 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( Widget toText44({Color? color, bool isBold = false}) => Text(
this, 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 = ""}) { Widget toSectionHeading({String upperHeading = "", String lowerHeading = ""}) {
@ -331,7 +292,6 @@ extension EmailValidator on String {
String heading = this; String heading = this;
if (heading.isNotEmpty) { if (heading.isNotEmpty) {
List<String> data = heading.split(" "); List<String> data = heading.split(" ");
if (data.length > 1) { if (data.length > 1) {
upper = data[0]; upper = data[0];
data.removeAt(0); data.removeAt(0);
@ -340,13 +300,8 @@ extension EmailValidator on String {
lower = data[0]; lower = data[0];
} }
} }
if (upperHeading.isNotEmpty) { if (upperHeading.isNotEmpty) upper = upperHeading;
upper = upperHeading; if (lowerHeading.isNotEmpty) lower = lowerHeading;
}
if (lowerHeading.isNotEmpty) {
lower = lowerHeading;
}
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
@ -370,32 +325,19 @@ extension EmailValidator on String {
String getMonth(int month) { String getMonth(int month) {
switch (month) { switch (month) {
case 1: case 1: return "January";
return "January"; case 2: return "February";
case 2: case 3: return "March";
return "February"; case 4: return "April";
case 3: case 5: return "May";
return "March"; case 6: return "June";
case 4: case 7: return "July";
return "April"; case 8: return "August";
case 5: case 9: return "September";
return "May"; case 10: return "October";
case 6: case 11: return "November";
return "June"; case 12: return "December";
case 7: default: return "";
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 { extension DynamicTextStyleExtension on BuildContext {
TextStyle dynamicTextStyle( TextStyle dynamicTextStyle({
{double? fontSize, double? fontSize,
FontWeight? fontWeight, FontWeight? fontWeight,
Color? color, Color? color,
double? letterSpacing, double? letterSpacing,
double? wordSpacing, double? wordSpacing,
double? height, double? height,
List<Shadow>? shadows, List<Shadow>? shadows,
Color? backgroundColor, Color? backgroundColor,
TextDecoration? decoration, TextDecoration? decoration,
Color? decorationColor, Color? decorationColor,
TextDecorationStyle? decorationStyle, TextDecorationStyle? decorationStyle,
double? decorationThickness, double? decorationThickness,
Locale? locale, Locale? locale,
TextBaseline? textBaseline, TextBaseline? textBaseline,
FontStyle? fontStyle, FontStyle? fontStyle,
String? fontFamily, String? fontFamily,
bool isLanguageSwitcher = false}) { }) {
AppState appState = getIt.get<AppState>(); AppState appState = getIt.get<AppState>();
final family = appState.getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins'; final family = appState.getLanguageCode() == "ar" ? 'GESSTwo' : 'Poppins';
return TextStyle( 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 { extension CountryExtension on CountryEnum {
String get displayName { String get displayName {
switch (this) { switch (this) {
case CountryEnum.saudiArabia: case CountryEnum.saudiArabia: return "Kingdom Of Saudi Arabia";
return "Kingdom Of Saudi Arabia"; case CountryEnum.unitedArabEmirates: return "United Arab Emirates";
case CountryEnum.unitedArabEmirates:
return "United Arab Emirates";
} }
} }
String get nameArabic { String get nameArabic {
switch (this) { switch (this) {
case CountryEnum.saudiArabia: case CountryEnum.saudiArabia: return "المملكة العربية السعودية";
return "المملكة العربية السعودية"; case CountryEnum.unitedArabEmirates: return "الإمارات العربية المتحدة";
case CountryEnum.unitedArabEmirates:
return "الإمارات العربية المتحدة";
} }
} }
String get iconPath { String get iconPath {
switch (this) { switch (this) {
case CountryEnum.saudiArabia: case CountryEnum.saudiArabia: return AppAssets.ksa;
return AppAssets.ksa; case CountryEnum.unitedArabEmirates: return AppAssets.uae;
case CountryEnum.unitedArabEmirates:
return AppAssets.uae;
} }
} }
String get countryCode { String get countryCode {
switch (this) { switch (this) {
case CountryEnum.saudiArabia: case CountryEnum.saudiArabia: return "966";
return "966"; case CountryEnum.unitedArabEmirates: return "971";
case CountryEnum.unitedArabEmirates:
return "971";
} }
} }
@ -516,30 +437,22 @@ extension CountryExtension on CountryEnum {
extension GenderTypeExtension on GenderTypeEnum { extension GenderTypeExtension on GenderTypeEnum {
String get value => this == GenderTypeEnum.male ? "M" : "F"; String get value => this == GenderTypeEnum.male ? "M" : "F";
String get type => this == GenderTypeEnum.male ? "Male" : "Female"; String get type => this == GenderTypeEnum.male ? "Male" : "Female";
String get typeAr => this == GenderTypeEnum.male ? "ذكر" : "أنثى"; String get typeAr => this == GenderTypeEnum.male ? "ذكر" : "أنثى";
static GenderTypeEnum? fromValue(String? value) { static GenderTypeEnum? fromValue(String? value) {
switch (value) { switch (value) {
case "M": case "M": return GenderTypeEnum.male;
return GenderTypeEnum.male; case "F": return GenderTypeEnum.female;
case "F": default: return null;
return GenderTypeEnum.female;
default:
return null;
} }
} }
static GenderTypeEnum? fromType(String? type) { static GenderTypeEnum? fromType(String? type) {
switch (type) { switch (type) {
case "Male": case "Male": return GenderTypeEnum.male;
return GenderTypeEnum.male; case "Female": return GenderTypeEnum.female;
case "Female": default: return null;
return GenderTypeEnum.female;
default:
return null;
} }
} }
} }
@ -547,70 +460,48 @@ extension GenderTypeExtension on GenderTypeEnum {
extension MaritalStatusTypeExtension on MaritalStatusTypeEnum { extension MaritalStatusTypeExtension on MaritalStatusTypeEnum {
String get value { String get value {
switch (this) { switch (this) {
case MaritalStatusTypeEnum.single: case MaritalStatusTypeEnum.single: return "U";
return "U"; case MaritalStatusTypeEnum.married: return "M";
case MaritalStatusTypeEnum.married: case MaritalStatusTypeEnum.divorced: return "D";
return "M"; case MaritalStatusTypeEnum.widowed: return "W";
case MaritalStatusTypeEnum.divorced:
return "D";
case MaritalStatusTypeEnum.widowed:
return "W";
} }
} }
String get type { String get type {
switch (this) { switch (this) {
case MaritalStatusTypeEnum.single: case MaritalStatusTypeEnum.single: return "Single";
return "Single"; case MaritalStatusTypeEnum.married: return "Married";
case MaritalStatusTypeEnum.married: case MaritalStatusTypeEnum.divorced: return "Divorced";
return "Married"; case MaritalStatusTypeEnum.widowed: return "Widowed";
case MaritalStatusTypeEnum.divorced:
return "Divorced";
case MaritalStatusTypeEnum.widowed:
return "Widowed";
} }
} }
String get typeAr { String get typeAr {
switch (this) { switch (this) {
case MaritalStatusTypeEnum.single: case MaritalStatusTypeEnum.single: return "أعزب";
return "أعزب"; case MaritalStatusTypeEnum.married: return "متزوج";
case MaritalStatusTypeEnum.married: case MaritalStatusTypeEnum.divorced: return "مطلق";
return "متزوج"; case MaritalStatusTypeEnum.widowed: return "أرمل";
case MaritalStatusTypeEnum.divorced:
return "مطلق";
case MaritalStatusTypeEnum.widowed:
return "أرمل";
} }
} }
static MaritalStatusTypeEnum? fromValue(String? value) { static MaritalStatusTypeEnum? fromValue(String? value) {
switch (value) { switch (value) {
case "U": case "U": return MaritalStatusTypeEnum.single;
return MaritalStatusTypeEnum.single; case "M": return MaritalStatusTypeEnum.married;
case "M": case "D": return MaritalStatusTypeEnum.divorced;
return MaritalStatusTypeEnum.married; case "W": return MaritalStatusTypeEnum.widowed;
case "D": default: return null;
return MaritalStatusTypeEnum.divorced;
case "W":
return MaritalStatusTypeEnum.widowed;
default:
return null;
} }
} }
static MaritalStatusTypeEnum? fromType(String? type) { static MaritalStatusTypeEnum? fromType(String? type) {
switch (type) { switch (type) {
case "Single": case "Single": return MaritalStatusTypeEnum.single;
return MaritalStatusTypeEnum.single; case "Married": return MaritalStatusTypeEnum.married;
case "Married": case "Divorced": return MaritalStatusTypeEnum.divorced;
return MaritalStatusTypeEnum.married; case "Widowed": return MaritalStatusTypeEnum.widowed;
case "Divorced": default: return null;
return MaritalStatusTypeEnum.divorced;
case "Widowed":
return MaritalStatusTypeEnum.widowed;
default:
return null;
} }
} }
} }

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

@ -55,7 +55,7 @@ class HospitalBottomSheetBodySelection extends StatelessWidget {
), ),
Transform.flip( Transform.flip(
flipX: appState.isArabic(), 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), ).paddingSymmetrical(16.h, 16.h),
@ -75,7 +75,7 @@ class HospitalBottomSheetBodySelection extends StatelessWidget {
children: [ children: [
Utils.buildSvgWithAssets(icon: AppAssets.hmg).paddingOnly(right: 10), Utils.buildSvgWithAssets(icon: AppAssets.hmg).paddingOnly(right: 10),
Expanded( 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')) { if (s.contains('high')) {
return const VitalSignUiModel( return const VitalSignUiModel(
iconBg: AppColors.chipSecondaryLightRedColor, iconBg: AppColors.secondaryLightRedColor,
iconFg: AppColors.primaryRedColor, iconFg: AppColors.primaryRedColor,
chipBg: AppColors.chipSecondaryLightRedColor, chipBg: AppColors.secondaryLightRedColor,
chipFg: AppColors.primaryRedColor, chipFg: AppColors.primaryRedColor,
); );
} }

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

@ -1,8 +1,27 @@
import 'package:flutter/foundation.dart'; 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 { 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(); notifyListeners();
} }
} }

@ -1574,6 +1574,7 @@ abstract class LocaleKeys {
static const invalidInsurance = 'invalidInsurance'; static const invalidInsurance = 'invalidInsurance';
static const continueCash = 'continueCash'; static const continueCash = 'continueCash';
static const hmgPolicies = 'hmgPolicies'; static const hmgPolicies = 'hmgPolicies';
static const darkMode = 'darkMode';
static const timeFor = 'Time for'; 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/app_state.dart';
import 'package:hmg_patient_app_new/core/dependencies.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/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/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/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/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/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/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/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/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/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/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/immediate_livecare/immediate_livecare_view_model.dart';
import 'package:hmg_patient_app_new/features/insurance/insurance_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/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/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/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/routes/app_routes.dart';
import 'package:hmg_patient_app_new/services/logger_service.dart'; import 'package:hmg_patient_app_new/services/logger_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart'; import 'package:hmg_patient_app_new/services/navigation_service.dart';
@ -228,7 +228,10 @@ void main() async {
), ),
ChangeNotifierProvider<ServicesPriceListViewModel>( ChangeNotifierProvider<ServicesPriceListViewModel>(
create: (_) => getIt.get<ServicesPriceListViewModel>(), create: (_) => getIt.get<ServicesPriceListViewModel>(),
) ),
ChangeNotifierProvider<ProfileSettingsViewModel>(
create: (_) => getIt.get<ProfileSettingsViewModel>(),
),
], child: MyApp()), ], child: MyApp()),
), // Wrap your app ), // Wrap your app
); );
@ -240,34 +243,39 @@ class MyApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SafeArea( return SafeArea(
top: false, // Set to true if you want to avoid the notch area as well top: false,
bottom: Platform.isIOS ? false : true, bottom: Platform.isIOS ? false : true,
child: LayoutBuilder( child: LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
return Sizer( return Sizer(
builder: (context, orientation, deviceType) { builder: (context, orientation, deviceType) {
// SizeConfig().init(constraints, orientation); final isArabic = EasyLocalization.of(context)?.locale.languageCode == "ar";
return MaterialApp( return Consumer<ProfileSettingsViewModel>(
// title: 'Dr. AlHabib', builder: (context, profileVm, _) {
title: 'Dr. AlHabib Beta', return MaterialApp(
builder: (context, mchild) { title: 'Dr. AlHabib Beta',
return MediaQuery( builder: (context, mchild) {
data: MediaQuery.of(context).copyWith( return MediaQuery(
textScaler: TextScaler.noScaling, data: MediaQuery.of(context).copyWith(
alwaysUse24HourFormat: true, textScaler: TextScaler.noScaling,
), alwaysUse24HourFormat: true,
child: mchild!, ),
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(), Text(LocaleKeys.medications.tr(),
style: TextStyle( style: TextStyle(
color: AppColors.primaryRedBorderColor, color: AppColors.primaryRedColor,
fontSize: 12.f, fontSize: 12.f,
fontWeight: FontWeight.w500)), fontWeight: FontWeight.w500)),
SizedBox(height: 16.h), SizedBox(height: 16.h),
@ -467,7 +467,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.circle, shape: BoxShape.circle,
color: value color: value
? AppColors.textGreenColor ? AppColors.successColor
: AppColors.greyTextColor, : AppColors.greyTextColor,
), ),
), ),
@ -528,7 +528,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
height: 24.h, height: 24.h,
width: 24.h, width: 24.h,
iconColor: iconColor:
AppColors.blackBgColor, AppColors.textColor,
), ),
), ),
], ],
@ -539,7 +539,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
itemCount: doses, itemCount: doses,
itemBuilder: (context, doseIndex) { itemBuilder: (context, doseIndex) {
final badgeColor = [ final badgeColor = [
AppColors.textGreenColor, AppColors.successColor,
AppColors.infoColor, AppColors.infoColor,
AppColors.labelColorYellow, AppColors.labelColorYellow,
AppColors.mainPurple AppColors.mainPurple
@ -702,11 +702,11 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
color: isSelected color: isSelected
? AppColors.secondaryLightRedBorderColor ? AppColors.secondaryLightRedColor
: Colors.transparent, : Colors.transparent,
border: Border.all( border: Border.all(
color: isSelected color: isSelected
? AppColors.primaryRedBorderColor ? AppColors.primaryRedColor
: AppColors.spacerLineColor, : AppColors.spacerLineColor,
width: 1, width: 1,
), ),
@ -720,7 +720,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
date.day == currentDate.day ? "Today" : label, date.day == currentDate.day ? "Today" : label,
style: TextStyle( style: TextStyle(
color: isSelected color: isSelected
? AppColors.primaryRedBorderColor ? AppColors.primaryRedColor
: AppColors.greyTextColor, : AppColors.greyTextColor,
fontSize: 11.f, fontSize: 11.f,
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
@ -731,7 +731,7 @@ class _ActiveMedicationPageState extends State<ActiveMedicationPage> {
fontSize: 16.f, fontSize: 16.f,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: isSelected color: isSelected
? AppColors.primaryRedBorderColor ? AppColors.primaryRedColor
: AppColors.textColor)) : AppColors.textColor))
]), ]),
), ),
@ -859,7 +859,7 @@ class _ReminderTimerDialogState extends State<ReminderTimerDialog> {
height: 24.h, height: 24.h,
width: 24.h, width: 24.h,
iconColor: iconColor:
AppColors.blackBgColor, AppColors.textColor,
),), ),),
], ],
), ),

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

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

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

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

@ -54,7 +54,7 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context, listen: false); myAppointmentsViewModel = Provider.of<MyAppointmentsViewModel>(context, listen: false);
bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false); bookAppointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView( body: CollapsingListView(
title: LocaleKeys.appointmentsList.tr(context: context), title: LocaleKeys.appointmentsList.tr(context: context),
child: SingleChildScrollView( child: SingleChildScrollView(
@ -105,9 +105,9 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
onPressed: () { onPressed: () {
myAppointmentsVM.setIsAppointmentsSortByClinic(true); 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), 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, fontSize: 12,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
borderRadius: 10, borderRadius: 10,
@ -120,9 +120,9 @@ class _MyAppointmentsPageState extends State<MyAppointmentsPage> {
onPressed: () { onPressed: () {
myAppointmentsVM.setIsAppointmentsSortByClinic(false); 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, 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, fontSize: 12,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
borderRadius: 10, borderRadius: 10,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -209,7 +209,7 @@ class _AppointmentCalendarState extends State<AppointmentCalendar> {
children: [ children: [
Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill), Lottie.asset(AppAnimations.errorAnimation, repeat: true, reverse: false, frameRate: FrameRate(60), width: 100.h, height: 100.h, fit: BoxFit.fill),
SizedBox(height: 8.h), 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), SizedBox(height: 16.h),
Row( Row(
children: [ children: [

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -31,7 +31,7 @@ class _HabibWalletState extends State<HabibWalletPage> {
habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false); habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false);
AppState _appState = getIt.get<AppState>(); AppState _appState = getIt.get<AppState>();
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.scaffoldBgColor,
body: CollapsingListView( body: CollapsingListView(
title: LocaleKeys.myWallet.tr(), title: LocaleKeys.myWallet.tr(),
child: Padding( child: Padding(
@ -44,7 +44,7 @@ class _HabibWalletState extends State<HabibWalletPage> {
width: double.infinity, width: double.infinity,
height: 180.h, height: 180.h,
decoration: RoundedRectangleBorder().toSmoothCornerDecoration( decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.blackBgColor, color: AppColors.textColor,
borderRadius: 24, borderRadius: 24,
), ),
child: Padding( 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/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/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/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/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/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart'; import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/input_widget.dart'; import 'package:hmg_patient_app_new/widgets/input_widget.dart';
@ -41,7 +41,9 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
@override @override
void initState() { void initState() {
scheduleMicrotask(() { 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!); appState.getAuthenticatedUser()!.mobileNumber!);
habibWalletVM.setSelectedRechargeType(0); habibWalletVM.setSelectedRechargeType(0);
habibWalletVM.getProjectsList(); habibWalletVM.getProjectsList();
@ -54,7 +56,7 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false); habibWalletVM = Provider.of<HabibWalletViewModel>(context, listen: false);
appState = getIt.get<AppState>(); appState = getIt.get<AppState>();
return Scaffold( return Scaffold(
backgroundColor: AppColors.bgScaffoldColor, backgroundColor: AppColors.scaffoldBgColor,
body: Column( body: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -138,7 +140,8 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ 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}" "${LocaleKeys.medicalFile.tr(context: context)}: ${habibWalletVM.fileNumber}"
.toText14(color: AppColors.textColor, weight: FontWeight.w500, letterSpacing: -0.2), .toText14(color: AppColors.textColor, weight: FontWeight.w500, letterSpacing: -0.2),
], ],
@ -164,7 +167,7 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
}), callBackFunc: () {}, isFullScreen: false, isCloseButtonVisible: true); }), callBackFunc: () {}, isFullScreen: false, isCloseButtonVisible: true);
}), }),
SizedBox(height: 16.h), 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), SizedBox(height: 16.h),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -176,10 +179,14 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ 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( SizedBox(
width: MediaQuery.of(context).size.width * 0.55, 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), .toText14(color: AppColors.textColor, weight: FontWeight.w500),
), ),
], ],
@ -190,10 +197,13 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
], ],
).onPress(() { ).onPress(() {
showCommonBottomSheetWithoutHeight(context, 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), 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), SizedBox(height: 16.h),
Row( Row(
children: [ children: [
@ -203,13 +213,14 @@ class _RechargeWalletPageState extends State<RechargeWalletPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
LocaleKeys.email.tr(context: context).toText12(color: AppColors.greyTextColor, fontWeight: FontWeight.w500), 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), 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), SizedBox(height: 16.h),
TextInputWidget( TextInputWidget(
labelText: LocaleKeys.notes.tr(context: context), labelText: LocaleKeys.notes.tr(context: context),

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

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

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

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

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

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

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

Loading…
Cancel
Save