king khalid university application

dev_v3.13.6
taha.alam 2 months ago
parent ed037edf22
commit 7486f320dc

@ -1,4 +1,4 @@
# diplomaticquarterapp
'# diplomaticquarterapp
A new Flutter application.

@ -142,7 +142,7 @@ dependencies {
// exclude group: 'com.google.protobuf',module: 'protobuf-javalite'
// exclude group: 'com.google.protobuf',module: 'protobuf-lite'
// })
implementation 'pub.devrel:easypermissions:0.4.0'
implementation 'pub.devrel:easypermissions:3.0.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
implementation 'com.google.guava:guava:27.0.1-android'
@ -167,7 +167,7 @@ dependencies {
implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.10.1"
implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.10.1"
implementation "org.jetbrains.anko:anko-commons:0.10.4"
// implementation "org.jetbrains.anko:anko-commons:0.10.4"
implementation 'com.github.kittinunf.fuel:fuel:2.3.0' //for JVM
implementation 'com.github.kittinunf.fuel:fuel-android:2.3.0'
implementation 'com.google.android.gms:play-services-location:17.1.0'//for Android

@ -22,7 +22,6 @@ import com.github.kittinunf.fuel.httpPost
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import io.flutter.plugin.common.MethodChannel
import org.jetbrains.anko.doAsyncResult
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject
@ -208,7 +207,6 @@ fun <T>httpPost(url: String, body: Map<String, Any?>, onSuccess: (response: HTTP
.header("Content-Type", "application/json")
.header("Allow", "*/*")
.response { request, response, result ->
result.doAsyncResult { }
result.fold({ data ->
val dataString = String(data)
if (isJSONValid(dataString)) {

@ -11,7 +11,8 @@ buildscript {
repositories {
google()
jcenter()
// jcenter()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' }
// maven {
@ -37,6 +38,9 @@ allprojects {
maven {
url 'https://developer.huawei.com/repo/'
}
maven {
url 'https://mvnrepository.com/artifact/'
}
maven {
url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local"
}

@ -1,7 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21.035" height="25.699" viewBox="0 0 21.035 25.699">
<g id="file_4_" data-name="file (4)" transform="translate(0 0)">
<path id="Path_4376" data-name="Path 4376" d="M199.117,108.4h.751v18.461a2.228,2.228,0,0,0,2.225,2.225h13.668v.684a1.42,1.42,0,0,1-1.42,1.42H199.12a1.42,1.42,0,0,1-1.42-1.42V109.82A1.418,1.418,0,0,1,199.117,108.4Z" transform="translate(-197.7 -105.491)" fill="#989898"/>
<path id="Path_4377" data-name="Path 4377" d="M95.931,22.79H88.32a1.42,1.42,0,0,1-1.42-1.42V1.42A1.42,1.42,0,0,1,88.32,0H98.462V.47a1.378,1.378,0,0,0-.008.15V4.509a2,2,0,0,0,2,2h3.889c.04,0,.083,0,.123-.005h.494V21.371a1.42,1.42,0,0,1-1.42,1.42H95.931Zm-.287-4.825h4.962a.671.671,0,0,0,0-1.342H95.641a.671.671,0,1,0,0,1.342Zm-4.965-3.424h9.927a.671.671,0,0,0,0-1.342H90.679a.671.671,0,0,0,0,1.342Zm9.927-4.978H90.679a.671.671,0,0,0,0,1.342h9.927a.671.671,0,0,0,0-1.342Z" transform="translate(-83.924 0)" fill="#989898"/>
<path id="Path_4378" data-name="Path 4378" d="M92.626,6.481h-3.9A1.191,1.191,0,0,1,87.546,5.3V1.4a.6.6,0,0,1,.6-.6.582.582,0,0,1,.419.177L93.05,5.462A.6.6,0,0,1,92.626,6.481Z" transform="translate(-72.209 -0.779)" fill="#989898"/>
<path id="Path_4376" data-name="Path 4376" d="M199.117,108.4h.751v18.461a2.228,2.228,0,0,0,2.225,2.225h13.668v.684a1.42,1.42,0,0,1-1.42,1.42H199.12a1.42,1.42,0,0,1-1.42-1.42V109.82A1.418,1.418,0,0,1,199.117,108.4Z" transform="translate(-197.7 -105.491)" fill="#00000"/>
<path id="Path_4377" data-name="Path 4377" d="M95.931,22.79H88.32a1.42,1.42,0,0,1-1.42-1.42V1.42A1.42,1.42,0,0,1,88.32,0H98.462V.47a1.378,1.378,0,0,0-.008.15V4.509a2,2,0,0,0,2,2h3.889c.04,0,.083,0,.123-.005h.494V21.371a1.42,1.42,0,0,1-1.42,1.42H95.931Zm-.287-4.825h4.962a.671.671,0,0,0,0-1.342H95.641a.671.671,0,1,0,0,1.342Zm-4.965-3.424h9.927a.671.671,0,0,0,0-1.342H90.679a.671.671,0,0,0,0,1.342Zm9.927-4.978H90.679a.671.671,0,0,0,0,1.342h9.927a.671.671,0,0,0,0-1.342Z" transform="translate(-83.924 0)" fill="#00000"/>
<path id="Path_4378" data-name="Path 4378" d="M92.626,6.481h-3.9A1.191,1.191,0,0,1,87.546,5.3V1.4a.6.6,0,0,1,.6-.6.582.582,0,0,1,.419.177L93.05,5.462A.6.6,0,0,1,92.626,6.481Z" transform="translate(-72.209 -0.779)" fill="#00000"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:flutter/material.dart';
final Color? secondaryColor = Colors.red[800];
final Color? secondaryColor = appColor;
final Color? dividerColor = Colors.grey[600];

@ -116,13 +116,13 @@ const Map localizedValues = {
"national-id-number": {"en": "National ID Number", "ar": "رقم الهوية الوطنية / الاقامة"},
"medical-file-number": {"en": "Medical File Number", "ar": "رقم الملف الطبي"},
'login': {'en': 'Login', 'ar': 'دخول'},
'loginregister': {'en': 'Login / Register', 'ar': 'دخول/ تسجيل'},
'loginregister': {'en': 'Login', 'ar': 'دخول'},
'poweredBy': {'en': 'Powered by', 'ar': 'مشغل بواسطة'},
"welcome": {"en": "Welcome", "ar": "مرحبا بكم"},
"welcome-to": {"en": "Welcome to", "ar": "مرحبا بك في"},
"patient-app": {"en": "Patient App", "ar": "تطبيق المراجعين"},
"welcome_text": {"en": "Dr. Sulaiman Al Habib Mobile Application", "ar": "الدكتور سليمان الحبيب لتطبيقات الهاتف"},
"dr-sulaiman-text": {"en": "Dr. Sulaiman Al Habib", "ar": "د. سليمان الحبيب"},
"king-khalid-university": {"en": "King Khalid University", "ar": "جامعة الملك خالد"},
'welcome_text2': {'en': 'Have you previously visited the hospitals or medical centers of Dr. Sulaiman Al Habib?', 'ar': 'هل قمت مسبقا بزيارة مستشفيات او مراكز الدكتور سليمان الحبيب الطبية ؟'},
'yes': {'en': 'Yes', 'ar': 'نعم'},
'no': {'en': 'No', 'ar': 'لا'},
@ -269,6 +269,7 @@ const Map localizedValues = {
"register-info-family": {"en": "How would like to add the new member?", "ar": "كيف ترغب باضافة العضو الجديد؟"},
"remove-family-member": {"en": "Remove this member?", "ar": "إزالة ملف العضو؟"},
"MyMedicalFile": {"en": "My Medical File", 'ar': 'الملف الطبي الالكتروني'},
"MyMedicalFiles": {"en": "Medical File", 'ar': 'الملف الطبي'},
"myMedicalFileSubTitle": {"en": "All your medical records", 'ar': 'جميع سجلاتك الطبية'},
"viewMore": {"en": "View More", 'ar': 'عرض المزيد'},
"homeHealthCareService": {"en": "Home Health Care Service", 'ar': 'الرعاية الصحية المنزلية'},
@ -493,7 +494,7 @@ const Map localizedValues = {
"ar":
"توفر هذه الخدمة مجموعه من خدمات الرعايه الصحيه المنزلية و متابعه مستمره وشامله للذين لا يستطيعون الوصول للمنشات الصحيه في اماكن اقامتهم (التحاليل المخبرية الاشعة التطعيمات العلاج الطبيعي) ... "
},
"LoginRegister": {"en": "Login/Register", "ar": "دخول / تسجيل"},
"LoginRegister": {"en": "Login", "ar": "دخول"},
"OrderLog": {"en": "Order Log", "ar": " سجل الطلبات"},
"info-lab": {
"en": "This service allows you to view the results of all laboratory tests performed in Al Habib Medical Group as well as sending the report via e-mail.",
@ -538,6 +539,7 @@ const Map localizedValues = {
"review": {"en": " reviews", "ar": "تقييمات"},
"viewMedicalFile": {"en": "View Details", "ar": "عرض الملف الطبي"},
"viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"},
"allServices": {"en": "All Services", "ar": "جميع الخدمات"},
"medicalFile": {"en": "Medical File", "ar": "ملفي الطبي"},
"verified": {"en": "Verified", "ar": "تم التحقق"},
"checkup": {"en": "Checkup", "ar": "فحص"},
@ -550,7 +552,7 @@ const Map localizedValues = {
"erservices": {"en": "Emergency", "ar": "الطوارئ"},
"services2": {"en": "Services", "ar": "خدمات"},
"cantSeeProfile": {"en": "To view your medical profile, please log in or register now", "ar": "لتصفح ملفك الطبي الرجاء تسجيل الدخول أو التسجيل الآن"},
"loginRegisterNow": {"en": "Login or Register Now", "ar": "تسجيل الدخول أو التسجيل الآن"},
"loginRegisterNow": {"en": "Login Now", "ar": "تسجيل الدخول الآن"},
"HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"},
"ecommerceSolution": {"en": "Ecommerce Solution", "ar": "حل التجارة الإلكترونية"},
"comprehensive": {"en": "Comprehensive", "ar": "شامل"},
@ -1813,37 +1815,37 @@ const Map localizedValues = {
"ar": "الرجاء السماح لتطبيق مجموعة الحبيب الطبية للظهورعلى سطح الشاشة عند استلام الاتصال من الطبيب لخدمة اللايف كير"
},
"cameraPermissionDialog": {
"en": "Dr. Al Habib app needs to access Camera to enable virtual consultation between patient & doctor, attach images and scan QR for parking service.",
"ar": "يحتاج تطبيق دكتور الحبيب الى صلاحية الوصول إلى الكاميرا لخدمة الاستشارة الافتراضية بين المراجع والطبيب وإرفاق الصور ومسح رمز الاستجابة السريع لخدمة مواقف السيارات."
"en": "King Khalid University app needs to access Camera to enable virtual consultation between patient & doctor, attach images and scan QR for parking service.",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى الكاميرا لتمكين الاستشارة الافتراضية بين المريض والطبيب ، وإرفاق الصور ومسح QR لخدمة وقوف السيارات."
},
"galleryPermission": {
"en": "Dr. Al Habib app needs to access Read & write external storage to upload images & documents in the E-Referral module and renew and update the insurance cards.",
"ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول إلى معرض الصور وذلك لتحميل الصور والمستندات لخدمة الإحالة الإلكترونية وكذلك لخدمة تجديد بطاقات التأمين وتحديثها."
"en": "King Khalid University app needs to access Read & write external storage to upload images & documents in the E-Referral module and renew and update the insurance cards.",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى وحدة التخزين الخارجية للقراءة والكتابة لتحميل الصور والمستندات في وحدة الإحالة الإلكترونية وتجديد وتحديث بطاقات التأمين."
},
"locationPermissionDialog": {
"en":
"Dr. Al Habib app collects location data to show the nearest HMG hospitals and ER Locations and provides health care services to your location and Health weather indicators service and the medication delivery.",
"ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى الموقع لإظهار أقرب مستشفيات المجموعة، مواقع الطوارئ، تقديم خدمات الرعاية الصحية إلى موقعك، خدمة مؤشرات الطقس الصحية وكذلك خدمة توصيل الأدوية."
"King Khalid University app collects location data to show the nearest HMG hospitals and ER Locations and provides health care services to your location and Health weather indicators service and the medication delivery.",
"ar": "يجمع تطبيق جامعة الملك خالد بيانات الموقع لإظهار أقرب مستشفيات المجموعة ومواقع الطوارئ ويوفر خدمات الرعاية الصحية لموقعك وخدمة مؤشرات الطقس الصحي وتوصيل الأدوية."
},
"calendarPermission": {
"en": "Dr. Al Habib app collects calendar data to modify and set reminders for Appointments",
"ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى التقويم وذلك لاضافة تذكيرات بالمواعيد في التقويم."
"en": "King Khalid University app collects calendar data to modify and set reminders for Appointments",
"ar": "يقوم تطبيق جامعة الملك خالد بجمع بيانات التقويم لتعديل وتعيين تذكيرات للمواعيد"
},
"recordAudioPermission": {
"en": "Dr. Al Habib app needs audio permission to enable voice command features.",
"ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى الصوت لتفعيل خدمة الأوامر الصوتية."
"en": "King Khalid University app needs audio permission to enable voice command features.",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى إذن صوتي لتمكين ميزات الأوامر الصوتية."
},
"wifiPermission": {
"en": "Dr. Al Habib app needs to access WiFi state permission to connect to the HMG WiFi network from within the app when you visit the hospital.",
"ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى الواي فاي للاتصال بشبكة الواي فاي في المجموعة عند زيارة المستشفى."
"en": "King Khalid University app needs to access WiFi state permission to connect to the HMG WiFi network from within the app when you visit the hospital.",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى إذن حالة WiFi للاتصال بشبكة HMG WiFi من داخل التطبيق عند زيارة المستشفى."
},
"physicalActivityPermission": {
"en": "Dr. Al Habib app collects physical activity data to read heart rate, steps & distance from your smartwatch & send it to your doctor.",
"ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى بيانات النشاط البدني لقراءة معدل ضربات القلب والخطوات والمسافة من ساعتك الذكية وتحميلها على ملفك الطبي حتى يتمكن الطبيب من الاطلاع عليها."
"en": "King Khalid University app collects physical activity data to read heart rate, steps & distance from your smartwatch & send it to your doctor.",
"ar": "يجمع تطبيق جامعة الملك خالد بيانات النشاط البدني لقراءة معدل ضربات القلب والخطوات والمسافة من ساعتك الذكية وإرسالها إلى طبيبك."
},
"bluetoothPermission": {
"en": "Dr. Al Habib app needs to access Bluetooth permission to connect blood pressure & blood sugar devices with the app to analyze the data",
"ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى البلوتوث لربط أجهزة ضغط الدم وسكر الدم بالتطبيق لتحليل البيانات وتحميلها على ملفك الطبي حتى يتمكن الطبيب من الاطلاع عليها."
"en": "King Khalid University app needs to access Bluetooth permission to connect blood pressure & blood sugar devices with the app to analyze the data",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى الحصول على إذن Bluetooth لتوصيل أجهزة ضغط الدم وسكر الدم بالتطبيق لتحليل البيانات"
},
"privacyPolicy": {"en": "Privacy Policy", "ar": "سياسة الخصوصية"},
"termsConditions": {"en": "Terms & Conditions", "ar": "الأحكام والشروط"},

@ -25,6 +25,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../../../theme/theme_value.dart';
import '../dialogs/select_city_dialog.dart';
class NewEReferralStepThreePage extends StatefulWidget {
@ -161,7 +162,7 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
fontSize: 14,
letterSpacing: -0.56,
decoration: TextDecoration.underline,
color: CustomColors.accentColor,
color: appColor,
),
),
),
@ -248,7 +249,7 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
children: [
Checkbox(
value: isPatientInsured,
activeColor: CustomColors.accentColor,
activeColor: CustomColors.primaryColor,
onChanged: (bool? newValue) {
setState(() {
isPatientInsured = newValue!;
@ -342,7 +343,7 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
fontSize: 14,
letterSpacing: -0.56,
decoration: TextDecoration.underline,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
),

@ -174,7 +174,7 @@ class _BMICalculatorState extends State<BMICalculator> {
padding: EdgeInsets.all(16),
child: SecondaryButton(
label: TranslationBase.of(context).calculate,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
setState(() {
calculateBMI();

@ -220,7 +220,7 @@ class _BmrCalculatorState extends State<BmrCalculator> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(!isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(!isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -254,7 +254,7 @@ class _BmrCalculatorState extends State<BmrCalculator> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -410,7 +410,7 @@ class _BmrCalculatorState extends State<BmrCalculator> {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).calculate,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
setState(() {
calculateBmr();

@ -74,7 +74,7 @@ class BmrResultPage extends StatelessWidget {
),
],
),
progressColor: CustomColors.accentColor,
progressColor: CustomColors.primaryColor,
backgroundColor: Colors.white,
),
),
@ -98,7 +98,7 @@ class BmrResultPage extends StatelessWidget {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).viewDocList,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
getDoctorsList(context);
},

@ -327,7 +327,7 @@ class _BodyFatState extends State<BodyFat> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(!isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(!isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -361,7 +361,7 @@ class _BodyFatState extends State<BodyFat> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -493,7 +493,7 @@ class _BodyFatState extends State<BodyFat> {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).calculate,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
setState(() {
calculateBodyFat();

@ -78,7 +78,7 @@ class FatResult extends StatelessWidget {
),
],
),
progressColor: CustomColors.accentColor,
progressColor: CustomColors.primaryColor,
backgroundColor: Colors.white,
),
),
@ -96,7 +96,7 @@ class FatResult extends StatelessWidget {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).viewDocList,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
getDoctorsList(context);
},

@ -156,7 +156,7 @@ class _CalorieCalculatorState extends State<CalorieCalculator> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(!isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(!isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -190,7 +190,7 @@ class _CalorieCalculatorState extends State<CalorieCalculator> {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadius(isMale ? CustomColors.accentColor : Colors.white, 100),
decoration: containerRadius(isMale ? CustomColors.primaryColor : Colors.white, 100),
),
),
mWidth(12),
@ -344,7 +344,7 @@ class _CalorieCalculatorState extends State<CalorieCalculator> {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).calculate,
color: ageController.text.isNotEmpty ? int.parse(ageController.text) >120 ? Colors.grey : CustomColors.accentColor : CustomColors.accentColor,
color: ageController.text.isNotEmpty ? int.parse(ageController.text) >120 ? Colors.grey : CustomColors.primaryColor : CustomColors.accentColor,
onTap: () {
if(ageController.text.isNotEmpty && int.parse(ageController.text) <121 && int.parse(_heightController.text)<250 && int.parse(_weightController.text) <200)
setState(() {

@ -76,7 +76,7 @@ class CalorieResultPage extends StatelessWidget {
),
],
),
progressColor: CustomColors.accentColor,
progressColor: CustomColors.primaryColor,
backgroundColor: Colors.white,
),
),
@ -99,7 +99,7 @@ class CalorieResultPage extends StatelessWidget {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).viewDocList,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
getDoctorsList(context);
},

@ -137,7 +137,7 @@ class _CarbsState extends State<Carbs> {
padding: const EdgeInsets.all(12.0),
child: Text(
TranslationBase.of(context).notSure,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, letterSpacing: -0.56, color: CustomColors.accentColor, decoration: TextDecoration.underline),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, letterSpacing: -0.56, color: CustomColors.primaryColor, decoration: TextDecoration.underline),
),
),
)
@ -230,7 +230,7 @@ class _CarbsState extends State<Carbs> {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).calculate,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
setState(() {
{

@ -74,7 +74,7 @@ class CarbsResult extends StatelessWidget {
color: Colors.white,
child: SecondaryButton(
label: TranslationBase.of(context).seeListOfDoctor,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
onTap: () {
getDoctorsList(context);
},

@ -569,11 +569,15 @@ class _DoctorProfileState extends State<DoctorProfile> with TickerProviderStateM
});
}
navigateToLogin() {
navigateToLogin() async {
ConfirmDialog.closeAlertDialog(context);
Navigator.of(context).pushNamed(
WELCOME_LOGIN,
);
var data = await sharedPref.getObject(IMEI_USER_DATA);
sharedPref.remove(REGISTER_DATA_FOR_LOGIIN);
if (data != null) {
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
Navigator.of(context).pushNamed(LOGIN_TYPE);
}
}
Future navigateToBookConfirm(context) async {

@ -4,6 +4,8 @@ import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart
import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart';
import 'package:diplomaticquarterapp/models/header_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/reminder_dialog.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@ -17,6 +19,7 @@ import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import '../MyAppointments/MyAppointments.dart';
import 'BookSuccess.dart';
class BookReminderPage extends StatefulWidget {
@ -206,18 +209,13 @@ class _BookReminderPageState extends State<BookReminderPage> {
}
Future navigateToBookSuccess(BuildContext context) async {
Navigator.push(
Navigator.pop(context, null);
Navigator.pushAndRemoveUntil(
context,
FadePage(
page: BookSuccess(
docObject: widget.docObject,
patientShareResponse: widget.patientShareResponse,
appoDateFormatted: widget.appoDateFormatted,
appoTimeFormatted: widget.appoTimeFormatted,
isCash: widget.isCash,
),
),
MaterialPageRoute(builder: (context) => LandingPage()),
(Route<dynamic> route) => false,
);
Navigator.push(context, FadePage(page: MyAppointments()));
}
Future<Map<Permission, PermissionStatus>> requestPermissions() async {

@ -71,7 +71,7 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
minWidth: MediaQuery.of(context).size.width,
height: 45.0,
child: CustomTextButton(
backgroundColor: CustomColors.accentColor,
backgroundColor: CustomColors.primaryColor,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6),

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/core/viewModels/contactus/livechat_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -110,7 +111,7 @@ class _HospitalsLiveChatPageState extends State<HospitalsLiveChatPage> {
TranslationBase.of(context).start,
//Changed By Aamir URL
chat!.isEmpty ? null : () => {launch(chat!)},
color: Color(0xffD02127),
color: appColor,
textColor: chat!.isEmpty ? Color(0xff000000) : Colors.white,
disabledColor: Color(0xffEAEAEA),
),

@ -243,7 +243,7 @@ class _AmbulanceRequestIndexPageState extends State<AmbulanceRequestIndexPage> {
width: 8,
height: 8,
decoration: containerRadius(
CustomColors.accentColor,
CustomColors.primaryColor,
100,
),
),

@ -226,7 +226,7 @@ class OrderLogPage extends StatelessWidget {
width: 8,
height: 8,
decoration: containerRadius(
CustomColors.accentColor,
CustomColors.primaryColor,
100,
),
),

@ -366,7 +366,7 @@ class RRTRequestPageState extends State<RRTRequestPage> {
else
AppToast.showErrorToast(message: TranslationBase.of(context).pleaseAcceptTerms);
},
color: acceptTerms ? CustomColors.accentColor : Colors.grey,
color: acceptTerms ? CustomColors.primaryColor : Colors.grey,
),
),
],

@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/SchedulePage.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
@ -272,7 +273,7 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
TranslationBase.of(context).reviewAppointment,
goToBookConfirm,
// DocAvailableAppointments.areSlotsAvailable ? goToBookConfirm : null,
color: Color(0xFFD02127),
color: appColor,
disabledColor: Color(0xff28323A).withOpacity(0.3),
),
),
@ -389,15 +390,15 @@ class _AppointmentDetailsState extends State<AppointmentDetails> with SingleTick
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
tapOnlyMode: true,

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.
import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
@ -507,7 +508,7 @@ class _MyAppointmentsState extends State<MyAppointments> with SingleTickerProvid
height: 22,
child: Radio(
value: _value,
activeColor: _value == _currentPage ? Color(0xffD02127) : Color(0xffE8E8E8),
activeColor: _value == _currentPage ? appColor : Color(0xffE8E8E8),
groupValue: _currentPage,
onChanged: (index) {
setState(() {

@ -21,35 +21,11 @@ class ArrivedButtons {
"icon": 'lab_result.svg',
"caller": "labResult",
},
{
"title": TranslationBase.of(AppGlobal.context).vitalSigns,
"subtitle": TranslationBase.of(AppGlobal.context).vitalSignsSubtitle,
"icon": 'vital_signs.svg',
"caller": "VitalSigns",
},
{
"title": TranslationBase.of(AppGlobal.context).raise,
"subtitle": TranslationBase.of(AppGlobal.context).complaint,
"icon": "raise_comp.svg",
"caller": "insertComplaint",
},
{
"title": TranslationBase.of(AppGlobal.context).insuranceApproval,
"subtitle": TranslationBase.of(AppGlobal.context).insuranceApprovalSubtitle,
"icon": 'insurance_approval.svg',
"caller": "Insurance",
},
{
"title": TranslationBase.of(AppGlobal.context).askDoctor,
"subtitle": TranslationBase.of(AppGlobal.context).service,
"icon": 'ask_doctor.svg',
"caller": "askDoc",
},
{
"title": TranslationBase.of(AppGlobal.context).service,
"subtitle": TranslationBase.of(AppGlobal.context).appoSurvey,
"icon": "survey.svg",
"caller": "Survey",
}
];
}

@ -87,7 +87,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MADA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MADA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(
@ -137,7 +137,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "VISA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "VISA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(
@ -187,7 +187,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MASTERCARD" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MASTERCARD" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(
@ -237,7 +237,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(
@ -287,7 +287,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "Installment" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "Installment" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(
@ -338,7 +338,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container(
width: 24,
height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "ApplePay" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "ApplePay" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5),
),
mWidth(12),
Container(

@ -80,7 +80,7 @@ class _PaymentDialogState extends State<PaymentDialog> {
SizedBox(height: 12),
Text(
TranslationBase.of(context).appoPaymentConfirm,
style: TextStyle(fontSize: 14.0, color: CustomColors.accentColor, fontWeight: FontWeight.w600, letterSpacing: -0.56),
style: TextStyle(fontSize: 14.0, color: CustomColors.primaryColor, fontWeight: FontWeight.w600, letterSpacing: -0.56),
),
SizedBox(height: 12),
Container(

@ -55,7 +55,7 @@ class _TodoListCardState extends State<TodoListCard> {
),
Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
child: Text("01:23:22 " + TranslationBase.of(context).upcomingTimeLeft, style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: CustomColors.accentColor, letterSpacing: -0.48)),
child: Text("01:23:22 " + TranslationBase.of(context).upcomingTimeLeft, style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: CustomColors.primaryColor, letterSpacing: -0.48)),
),
],
),
@ -119,9 +119,9 @@ class _TodoListCardState extends State<TodoListCard> {
itemSize: 20,
ignoreGestures: true,
ratingWidget: RatingWidget(
full: Icon(Icons.star, color: CustomColors.accentColor,),
half: Icon(Icons.star_half, color: CustomColors.accentColor,),
empty: Icon(Icons.star, color: CustomColors.accentColor,),
full: Icon(Icons.star, color: CustomColors.primaryColor,),
half: Icon(Icons.star_half, color: CustomColors.primaryColor,),
empty: Icon(Icons.star, color: CustomColors.primaryColor,),
),
tapOnlyMode: true,
unratedColor: Colors.grey[500],
@ -158,7 +158,7 @@ class _TodoListCardState extends State<TodoListCard> {
padding: const EdgeInsets.only(top: 0.0),
child: Text(
"More Details",
style: TextStyle(fontSize: 10, fontWeight: FontWeight.w600, color: CustomColors.accentColor, letterSpacing: -0.48, height: 25 / 16, decoration: TextDecoration.underline),
style: TextStyle(fontSize: 10, fontWeight: FontWeight.w600, color: CustomColors.primaryColor, letterSpacing: -0.48, height: 25 / 16, decoration: TextDecoration.underline),
),
),
],

@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/permission/permission_service.dart';
import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
@ -345,7 +346,7 @@ class _SendFeedbackPageState extends State<SendFeedbackPage> {
});
}
},
color: Color(0xffD02127),
color: appColor,
textColor: Colors.white,
disabledColor: Color(0xffEAEAEA),
),

@ -209,7 +209,7 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
child: Container(
margin: EdgeInsets.only(top: 12),
decoration: BoxDecoration(
color: (cOCItemList[index].statusId==7||cOCItemList[index].statusId==8)?CustomColors.accentColor:(cOCItemList[index].statusId==10||cOCItemList[index].statusId==6||cOCItemList[index].statusId==9)?CustomColors.green:CustomColors.orange,
color: (cOCItemList[index].statusId==7||cOCItemList[index].statusId==8)?CustomColors.primaryColor:(cOCItemList[index].statusId==10||cOCItemList[index].statusId==6||cOCItemList[index].statusId==9)?CustomColors.green:CustomColors.orange,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),

@ -311,15 +311,15 @@ class _FinalProductsPageState extends State<FinalProductsPage> {
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star_border,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
onRatingUpdate: (double value) {},
@ -506,15 +506,15 @@ class _FinalProductsPageState extends State<FinalProductsPage> {
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star_border,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
onRatingUpdate: (double value) {},

@ -151,7 +151,7 @@ class _AttachInsuranceCardImageDialogState extends State<AttachInsuranceCardImag
);
},
textColor: Colors.white,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
Text(

@ -58,7 +58,7 @@ class _InsuranceUpdateState extends State<InsuranceUpdate> with SingleTickerProv
controller: _tabController,
isScrollable: false,
indicatorWeight: 3.0,
indicatorColor: CustomColors.accentColor,
indicatorColor: CustomColors.primaryColor,
labelColor: CustomColors.textDarkColor,
labelPadding: EdgeInsets.symmetric(horizontal: 13.0, vertical: 2.0),
unselectedLabelColor: CustomColors.textDarkColor,

@ -47,43 +47,57 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
super.initState();
}
initialiseHmgServices(bool isLogin) {
hmgServices.clear();
hmgServices.add(HmgServices(0, TranslationBase.of(context).book, TranslationBase.of(context).appointmentLabel, "assets/images/new/book appointment.svg", isLogin));
hmgServices.add(HmgServices(1, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
hmgServices.add(HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
hmgServices.add(HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
hmgServices.add(HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
hmgServices.add(HmgServices(5, TranslationBase.of(context).online, TranslationBase.of(context).payment, "assets/images/new/paymentMethods.png", isLogin));
hmgServices.add(HmgServices(6, TranslationBase.of(context).ereferralTitle, TranslationBase.of(context).ereferralSubtitle, "assets/images/new/E_Referral.svg", isLogin));
hmgServices.add(HmgServices(7, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/CoronaIcon.svg", isLogin));
hmgServices.add(HmgServices(8, TranslationBase.of(context).connectTitle, TranslationBase.of(context).connectSubtitle, "assets/images/new/reach_us.svg", isLogin));
}
// initialiseHmgServices(bool isLogin) {
// hmgServices.clear();
//
// hmgServices.add(HmgServices(0, TranslationBase.of(context).book, TranslationBase.of(context).appointmentLabel, "assets/images/new/book appointment.svg", isLogin));
// // hmgServices.add(HmgServices(1, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
// // hmgServices.add(HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
// // hmgServices.add(HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
// // hmgServices.add(HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
// // hmgServices.add(HmgServices(5, TranslationBase.of(context).online, TranslationBase.of(context).payment, "assets/images/new/paymentMethods.png", isLogin));
// // hmgServices.add(HmgServices(6, TranslationBase.of(context).ereferralTitle, TranslationBase.of(context).ereferralSubtitle, "assets/images/new/E_Referral.svg", isLogin));
// // hmgServices.add(HmgServices(7, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/CoronaIcon.svg", isLogin));
// hmgServices.add(HmgServices(8, TranslationBase.of(context).connectTitle, TranslationBase.of(context).connectSubtitle, "assets/images/new/reach_us.svg", isLogin));
// }
initialiseInPatientHmgServices(bool isLogin) {
hmgServices.clear();
// hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
// hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/CoronaIcon.svg", isLogin));
// hmgServices.add(new HmgServices(2, TranslationBase.of(context).online, TranslationBase.of(context).payment, "assets/images/new/paymentMethods.png", isLogin));
hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
hmgServices.add(new HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
hmgServices.add(new HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
hmgServices.add(new HmgServices(6, TranslationBase.of(context).ereferralTitle, TranslationBase.of(context).ereferralSubtitle, "assets/images/new/E_Referral.svg", isLogin));
hmgServices.add(new HmgServices(7, "H\u2082O", TranslationBase.of(context).dailyWater, "assets/images/new/h2o.svg", isLogin));
// hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
// hmgServices.add(new HmgServices(4, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
// hmgServices.add(new HmgServices(2, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
// hmgServices.add(new HmgServices(6, TranslationBase.of(context).ereferralTitle, TranslationBase.of(context).ereferralSubtitle, "assets/images/new/E_Referral.svg", isLogin));
// hmgServices.add(new HmgServices(7, "H\u2082O", TranslationBase.of(context).dailyWater, "assets/images/new/h2o.svg", isLogin));
hmgServices.add(new HmgServices(8, TranslationBase.of(context).connectTitle, TranslationBase.of(context).connectSubtitle, "assets/images/new/reach_us.svg", isLogin));
}
initServices(bool isLogin){
hmgServices.clear();
// hmgServices.add(HmgServices(0, TranslationBase.of(context).book, TranslationBase.of(context).appointmentLabel, "assets/images/new/book appointment.svg", isLogin));
hmgServices.add(HmgServices(31, TranslationBase.of(context).myAppointments, TranslationBase.of(context).medicalFile, "assets/images/new/bottom_nav/my_file.svg", isLogin));
hmgServices.add(HmgServices(24, TranslationBase.of(context).myAppointments, TranslationBase.of(context).myAppointmentsList, "assets/images/new/services/appointment_list.svg", isLogin));
hmgServices.add(HmgServices(25, TranslationBase.of(context).lab, TranslationBase.of(context).labSubtitle, "assets/images/new/services/lab_result.svg", isLogin));
hmgServices.add(HmgServices(26, TranslationBase.of(context).radiology, TranslationBase.of(context).radiologySubtitle, "assets/images/new/services/radiology.svg", isLogin));
hmgServices.add(HmgServices(27, TranslationBase.of(context).medicines, TranslationBase.of(context).medicinesSubtitle, "assets/images/new/services/medicine_prescription.svg", isLogin));
// hmgServices.add(HmgServices(28, TranslationBase.of(context).vitalSigns, TranslationBase.of(context).vitalSignsSubtitle, "assets/images/new/services/vital_signs.svg", isLogin));
hmgServices.add(HmgServices(29, TranslationBase.of(context).myMedical, TranslationBase.of(context).myMedicalSubtitle, "assets/images/new/services/active_medication.svg", isLogin));
hmgServices.add(HmgServices(30, TranslationBase.of(context).myDoctor, TranslationBase.of(context).myDoctorSubtitle, "assets/images/new/services/my_doc.svg", isLogin));
// hmgServices.add(HmgServices(31, TranslationBase.of(context).invoicesList, TranslationBase.of(context).myInvoice, "assets/images/new/services/invoice_list.svg", isLogin));
// hmgServices.add(HmgServices(32, TranslationBase.of(context).anicllaryOrders, TranslationBase.of(context).myInvoice, "assets/images/new/services/ancillary.svg", isLogin));
// hmgServices.add(HmgServices(1, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
// hmgServices.add(new HmgServices(8, TranslationBase.of(context).connectTitle, TranslationBase.of(context).connectSubtitle, "assets/images/new/reach_us.svg", isLogin));
}
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
if (projectViewModel.isPatientAdmitted || projectViewModel.patientHasAdmissionRequest) {
initialiseInPatientHmgServices(false);
} else {
initialiseHmgServices(false);
}
initServices(false);
var appoCountProvider = Provider.of<ToDoCountProviderModel>(context);
// var userProvider = Provider.of<ToDoCountProviderModel>(context);
List<Widget> myMedicalList = Utils.myMedicalListHomePage(projectViewModel: projectViewModel, context: context, count: appoCountProvider.count, isLogin: projectViewModel.isLogin);
@ -127,109 +141,109 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
// height: MediaQuery.of(context).size.width / 2.6,
),
),
projectViewModel.isLogin
? Column(
children: [
Padding(
padding: projectViewModel.isArabic
? EdgeInsets.only(
right: 20,
left: 8,
)
: EdgeInsets.only(
left: 20,
right: 8,
),
child: Row(
children: [
Expanded(
child: Text(
TranslationBase.of(context).myMedicalFile,
style: TextStyle(
color: Colors.black,
fontSize: 16,
fontWeight: FontWeight.bold,
letterSpacing: -0.96,
height: 19 / 16,
),
),
),
TextButton(
onPressed: () {
widget.onMedicalFileClick!();
// navigateTo(context, MedicalProfilePageNew());
},
child: Text(
TranslationBase.of(context).viewMedicalFile,
style: TextStyle(
color: CustomColors.accentColor,
fontSize: 12,
letterSpacing: -0.72,
height: 23 / 12,
),
),
),
],
),
),
mHeight(4),
Container(
width: double.infinity,
height: MediaQuery.of(context).size.width * 0.26,
child: ListView.separated(
itemCount: myMedicalList.length,
padding: EdgeInsets.zero,
scrollDirection: Axis.horizontal,
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) {
return projectViewModel.isArabic
? Container(
child: myMedicalList[index],
width: MediaQuery.of(context).size.width * 0.26,
height: MediaQuery.of(context).size.width * 0.26,
margin: EdgeInsets.only(left: index == 4 ? 20 : 0, right: index == 0 ? 20 : 0),
)
: Container(
child: myMedicalList[index],
width: MediaQuery.of(context).size.width * 0.26,
height: MediaQuery.of(context).size.width * 0.26,
margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == 4 ? 20 : 0),
);
},
separatorBuilder: (BuildContext context, int index) {
return mWidth(12);
},
),
),
],
)
: Container(),
// projectViewModel.isLogin
// ? Column(
// children: [
// Padding(
// padding: projectViewModel.isArabic
// ? EdgeInsets.only(
// right: 20,
// left: 8,
// )
// : EdgeInsets.only(
// left: 20,
// right: 8,
// ),
// child: Row(
// children: [
// Expanded(
// child: Text(
// TranslationBase.of(context).myMedicalFile,
// style: TextStyle(
// color: Colors.black,
// fontSize: 16,
// fontWeight: FontWeight.bold,
// letterSpacing: -0.96,
// height: 19 / 16,
// ),
// ),
// ),
// TextButton(
// onPressed: () {
// widget.onMedicalFileClick!();
// // navigateTo(context, MedicalProfilePageNew());
// },
// child: Text(
// TranslationBase.of(context).viewMedicalFile,
// style: TextStyle(
// color: CustomColors.primaryColor,
// fontSize: 12,
// letterSpacing: -0.72,
// height: 23 / 12,
// ),
// ),
// ),
// ],
// ),
// ),
// mHeight(4),
// Container(
// width: double.infinity,
// height: MediaQuery.of(context).size.width * 0.26,
// child: ListView.separated(
// itemCount: myMedicalList.length,
// padding: EdgeInsets.zero,
// scrollDirection: Axis.horizontal,
// physics: BouncingScrollPhysics(),
// itemBuilder: (context, index) {
// return projectViewModel.isArabic
// ? Container(
// child: myMedicalList[index],
// width: MediaQuery.of(context).size.width * 0.26,
// height: MediaQuery.of(context).size.width * 0.26,
// margin: EdgeInsets.only(left: index == 4 ? 20 : 0, right: index == 0 ? 20 : 0),
// )
// : Container(
// child: myMedicalList[index],
// width: MediaQuery.of(context).size.width * 0.26,
// height: MediaQuery.of(context).size.width * 0.26,
// margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == 4 ? 20 : 0),
// );
// },
// separatorBuilder: (BuildContext context, int index) {
// return mWidth(12);
// },
// ),
// ),
// ],
// )
// : Container(),
mHeight(16),
Column(
children: [
Divider(
height: 1,
color: Color(0xFFC7C7C7),
),
Container(
width: double.infinity,
height: MediaQuery.of(context).size.width * 0.3,
padding: EdgeInsets.only(left: 20, right: 20, top: 14, bottom: 14),
color: Colors.white,
child: Row(
children: [
offersButton(),
mWidth(10),
hmgButton(),
],
),
),
Divider(
height: 1,
color: Color(0xFFC7C7C7),
),
],
),
// Column(
// children: [
// Divider(
// height: 1,
// color: Color(0xFFC7C7C7),
// ),
// Container(
// width: double.infinity,
// height: MediaQuery.of(context).size.width * 0.3,
// padding: EdgeInsets.only(left: 20, right: 20, top: 14, bottom: 14),
// color: Colors.white,
// child: Row(
// children: [
// offersButton(),
// mWidth(10),
// hmgButton(),
// ],
// ),
// ),
// Divider(
// height: 1,
// color: Color(0xFFC7C7C7),
// ),
// ],
// ),
mHeight(12),
Column(
children: [
@ -247,7 +261,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
children: [
Expanded(
child: Text(
TranslationBase.of(context).hMGService,
TranslationBase.of(context).allServices,
style: TextStyle(
color: Colors.black,
fontSize: 16,
@ -257,28 +271,29 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
),
),
),
TextButton(
onPressed: () {
// AppSharedPreferences().getAll().then((value){
// debugPrint("ALL SHARED PREFERENCES!!!!!");
// debugPrint(jsonEncode(value));
// });
Navigator.push(context, FadePage(page: AllHabibMedicalSevicePage2()));
projectViewModel.analytics.hmgServices.viewAll();
},
child: Text(
TranslationBase.of(context).viewAllServices,
style: TextStyle(
color: CustomColors.accentColor,
fontSize: 12,
letterSpacing: -0.72,
height: 23 / 12,
),
),
),
// TextButton(
// onPressed: () {
// // AppSharedPreferences().getAll().then((value){
// // debugPrint("ALL SHARED PREFERENCES!!!!!");
// // debugPrint(jsonEncode(value));
// // });
// Navigator.push(context, FadePage(page: AllHabibMedicalSevicePage2()));
// projectViewModel.analytics.hmgServices.viewAll();
// },
// child: Text(
// TranslationBase.of(context).viewAllServices,
// style: TextStyle(
// color: CustomColors.accentColor,
// fontSize: 12,
// letterSpacing: -0.72,
// height: 23 / 12,
// ),
// ),
// ),
],
),
),
mHeight(12),
projectViewModel.isPatientAdmitted || projectViewModel.patientHasAdmissionRequest
? Column(
children: [
@ -375,7 +390,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
width: double.infinity,
height: double.infinity,
// color: Color(0xFF2B353E),
decoration: containerRadius(CustomColors.accentColor, 20),
decoration: containerRadius(CustomColors.primaryColor, 20),
),
Container(
width: double.infinity,
@ -622,7 +637,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
return Container(
width: MediaQuery.of(context).size.width * 0.06,
height: MediaQuery.of(context).size.width * 0.06,
decoration: containerRadius(CustomColors.accentColor, 100),
decoration: containerRadius(CustomColors.primaryColor, 100),
padding: EdgeInsets.all(4),
child: SvgPicture.asset(icon),
);

@ -397,25 +397,27 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
if (data != null) {
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
// AppGlobal.context = context;
GifLoaderDialogUtils.showMyDialog(context);
authService.selectDeviceImei(DEVICE_TOKEN).then((value) async {
GifLoaderDialogUtils.hideDialog(context);
var data = await sharedPref.getObject(IMEI_USER_DATA);
if (value != null) {
setUserValues(value);
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pushNamed(
WELCOME_LOGIN,
);
}
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pushNamed(WELCOME_LOGIN);
});
Navigator.of(context).pushNamed(LOGIN_TYPE);
}
// AppGlobal.context = context;
// GifLoaderDialogUtils.showMyDialog(context);
// authService.selectDeviceImei(DEVICE_TOKEN).then((value) async {
// GifLoaderDialogUtils.hideDialog(context);
// var data = await sharedPref.getObject(IMEI_USER_DATA);
// if (value != null) {
// setUserValues(value);
// Navigator.of(context).pushNamed(CONFIRM_LOGIN);
// } else {
// GifLoaderDialogUtils.hideDialog(context);
// Navigator.of(context).pushNamed(
// WELCOME_LOGIN,
// );
// }
// }).catchError((err) {
// GifLoaderDialogUtils.hideDialog(context);
// Navigator.of(context).pushNamed(WELCOME_LOGIN);
// });
// }
}
dummyCall() async {
@ -559,7 +561,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
child: new Container(
padding: EdgeInsets.all(4),
decoration: new BoxDecoration(
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
borderRadius: BorderRadius.circular(20),
),
constraints: BoxConstraints(
@ -650,20 +652,22 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
),
RobotIcon()
])),
bottomNavigationBar: BottomNavBar(
changeIndex: changeCurrentTab,
index: currentTab,
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
// bottomNavigationBar: BottomNavBar(
// changeIndex: changeCurrentTab,
// index: currentTab,
// ),
floatingActionButtonLocation: FloatingActionButtonLocation.endContained,
floatingActionButton:
(projectViewModel.havePrivilege(34) && currentTab == 0)
? FloatingButton(
elevation: true,
onTap: () {
changeCurrentTab(2);
projectViewModel.analytics.appointment.book_appointment();
},
)
? Padding(
padding: const EdgeInsets.only(bottom: 50.0, right: 10),
child: FloatingButton(
elevation: true,
onTap: () {
changeCurrentTab(2);
},
),
)
: null);
}

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/models/slider_data.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
@ -59,7 +60,7 @@ class LoggedSliderView extends StatelessWidget {
Row(
children: [
Container(
decoration: projectViewModel.isArabic ? containerColorRadiusLeft(Color(0xFFFBF2E31), 100) : containerColorRadiusRight(Color(0xFFFBF2E31), 100),
decoration: projectViewModel.isArabic ? containerColorRadiusLeft(appColor, 100) : containerColorRadiusRight(appColor, 100),
padding: EdgeInsets.only(left: 20, right: 16, top: 6, bottom: 6),
child: Text(
TranslationBase.of(context).medicalFile,
@ -132,75 +133,75 @@ class LoggedSliderView extends StatelessWidget {
),
),
mFlex(3),
Padding(
padding: const EdgeInsets.only(left: 20, right: 20),
child: Row(
children: <Widget>[
Expanded(
flex: 3,
child: Row(
children: <Widget>[
SvgPicture.asset(
'assets/images/new/height.svg',
width: 11,
height: 11,
),
mWidth(6),
Texts(
"${TranslationBase.of(context).height}: ${model.heightCm} ${TranslationBase.of(context).cm}",
color: Colors.white,
fontSize: 8,
)
],
),
),
SizedBox(
width: 3,
),
Expanded(
flex: 3,
child: Row(
children: <Widget>[
SvgPicture.asset(
'assets/images/new/weight.svg',
width: 11,
height: 11,
),
mWidth(6),
Texts(
'${TranslationBase.of(context).weight}: ${model.weightKg} ${TranslationBase.of(context).kg}',
color: Colors.white,
fontSize: 8,
)
],
),
),
SizedBox(
width: 3,
),
Expanded(
flex: 3,
child: Row(
children: <Widget>[
SvgPicture.asset(
'assets/images/new/blood.svg',
width: 11,
height: 11,
),
mWidth(6),
Texts(
'${TranslationBase.of(context).bloodType1} ${model.booldType}',
color: Colors.white,
fontSize: 7,
)
],
),
),
mFlex(1),
],
),
),
mFlex(2),
// Padding(
// padding: const EdgeInsets.only(left: 20, right: 20),
// child: Row(
// children: <Widget>[
// Expanded(
// flex: 3,
// child: Row(
// children: <Widget>[
// SvgPicture.asset(
// 'assets/images/new/height.svg',
// width: 11,
// height: 11,
// ),
// mWidth(6),
// Texts(
// "${TranslationBase.of(context).height}: ${model.heightCm} ${TranslationBase.of(context).cm}",
// color: Colors.white,
// fontSize: 8,
// )
// ],
// ),
// ),
// SizedBox(
// width: 3,
// ),
// Expanded(
// flex: 3,
// child: Row(
// children: <Widget>[
// SvgPicture.asset(
// 'assets/images/new/weight.svg',
// width: 11,
// height: 11,
// ),
// mWidth(6),
// Texts(
// '${TranslationBase.of(context).weight}: ${model.weightKg} ${TranslationBase.of(context).kg}',
// color: Colors.white,
// fontSize: 8,
// )
// ],
// ),
// ),
// SizedBox(
// width: 3,
// ),
// Expanded(
// flex: 3,
// child: Row(
// children: <Widget>[
// SvgPicture.asset(
// 'assets/images/new/blood.svg',
// width: 11,
// height: 11,
// ),
// mWidth(6),
// Texts(
// '${TranslationBase.of(context).bloodType1} ${model.booldType}',
// color: Colors.white,
// fontSize: 7,
// )
// ],
// ),
// ),
// mFlex(1),
// ],
// ),
// ),
// mFlex(2),
],
),
),

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart';
import '../../../theme/theme_value.dart';
class OfferView extends StatelessWidget {
@override
Widget build(BuildContext context) {
@ -21,7 +23,7 @@ class OfferView extends StatelessWidget {
Text(
"Kid's Offer",
style: TextStyle(
color: Color(0xFFFBF2E31),
color: appColor,
fontSize: 18,
fontWeight: FontWeight.bold,
),
@ -40,14 +42,14 @@ class OfferView extends StatelessWidget {
Text(
"Only ",
style: TextStyle(
color: Color(0xFFFBF2E31),
color: appColor,
fontSize: 14,
),
),
Text(
"500 ",
style: TextStyle(
color: Color(0xFFFBF2E31),
color: appColor,
fontSize: 14,
fontWeight: FontWeight.bold,
),
@ -55,7 +57,7 @@ class OfferView extends StatelessWidget {
Text(
"SAR ",
style: TextStyle(
color: Color(0xFFFBF2E31),
color: appColor,
fontSize: 14,
),
),

@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/analytics/google-analytics.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/hmg_services.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart';
@ -28,6 +29,7 @@ import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.dart';
import 'package:diplomaticquarterapp/pages/medical/smart_watch_health_data/smart_watch_instructions.dart';
import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sign_details_screen.dart';
import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
@ -39,9 +41,16 @@ import 'package:diplomaticquarterapp/widgets/dialogs/covid_consent_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../../locator.dart';
import '../../MyAppointments/MyAppointments.dart';
import '../../medical/active_medications/ActiveMedicationsPage.dart';
import '../../medical/doctor/doctor_home_page.dart';
import '../../medical/labs/labs_home_page.dart';
import '../../medical/prescriptions/prescriptions_home_page.dart';
import '../../medical/radiology/radiology_home_page.dart';
import '../landing_page_pharmcy.dart';
class ServicesView extends StatelessWidget {
@ -49,14 +58,18 @@ class ServicesView extends StatelessWidget {
int index;
AuthenticatedUser authUser = new AuthenticatedUser();
AuthProvider authProvider = new AuthProvider();
PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>();
PharmacyModuleViewModel pharmacyModuleViewModel =
locator<PharmacyModuleViewModel>();
late LocationUtils locationUtils;
bool isHomePage;
ProjectViewModel? projectViewModel;
ServicesView(this.hmgServices, this.index, this.isHomePage);
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
return InkWell(
onTap: () {
if (isHomePage) {
@ -68,7 +81,9 @@ class ServicesView extends StatelessWidget {
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadiusWithGradientServices(20, lightColor: CustomColors.lightGreyColor, darkColor: CustomColors.darkGreyColor),
decoration: containerRadiusWithGradientServices(20,
lightColor: CustomColors.lightGreyColor,
darkColor: CustomColors.darkGreyColor),
child: Stack(
children: [
Container(
@ -113,7 +128,11 @@ class ServicesView extends StatelessWidget {
Container(
width: double.infinity,
height: double.infinity,
padding: EdgeInsets.only(left: SizeConfig.widthMultiplier! * 3, right: SizeConfig.widthMultiplier! * 3, top: SizeConfig.widthMultiplier! * 3, bottom: SizeConfig.widthMultiplier! * 2),
padding: EdgeInsets.only(
left: SizeConfig.widthMultiplier! * 3,
right: SizeConfig.widthMultiplier! * 3,
top: SizeConfig.widthMultiplier! * 3,
bottom: SizeConfig.widthMultiplier! * 2),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -121,12 +140,18 @@ class ServicesView extends StatelessWidget {
hmgServices.action == (isHomePage ? 5 : 8)
? Image.asset(
hmgServices.icon,
height: index == 0 ? MediaQuery.of(context).size.width / 18 : MediaQuery.of(context).size.width / 18,
height: index == 0
? MediaQuery.of(context).size.width / 18
: MediaQuery.of(context).size.width / 18,
)
: Container(
// color: Colors.yellow,
width: index == 4 ? MediaQuery.of(context).size.width / 12 : MediaQuery.of(context).size.width / 12,
height: index == 4 ? MediaQuery.of(context).size.width / 10 : MediaQuery.of(context).size.width / 12,
width: index == 4
? MediaQuery.of(context).size.width / 12
: MediaQuery.of(context).size.width / 12,
height: index == 4
? MediaQuery.of(context).size.width / 10
: MediaQuery.of(context).size.width / 12,
child: SvgPicture.asset(
hmgServices.icon,
// width: MediaQuery.of(context).size.width / 12,
@ -179,7 +204,9 @@ class ServicesView extends StatelessWidget {
locator<GAnalytics>().hmgServices.logServiceName('home health care');
} else if (hmgServices.action == 4) {
Navigator.push(context, FadePage(page: CMCPage()));
locator<GAnalytics>().hmgServices.logServiceName('comprehensive medical checkup');
locator<GAnalytics>()
.hmgServices
.logServiceName('comprehensive medical checkup');
} else if (hmgServices.action == 5) {
Navigator.push(context, FadePage(page: PaymentService()));
locator<GAnalytics>().hmgServices.logServiceName('online payments');
@ -195,6 +222,44 @@ class ServicesView extends StatelessWidget {
} else if (hmgServices.action == 23) {
Navigator.push(context, FadePage(page: InPatientServicesHome()));
locator<GAnalytics>().hmgServices.logServiceName('find us reach us');
} else if (hmgServices.action == 31) {
Navigator.push(context, FadePage(page: MedicalProfilePageNew()));
locator<GAnalytics>().hmgServices.logServiceName('my medical file');
} else if (hmgServices.action == 24 &&
projectViewModel?.havePrivilege(5) == true) {
Navigator.push(context, FadePage(page: MyAppointments()));
locator<GAnalytics>().hmgServices.logServiceName('my appointment');
} else if (hmgServices.action == 25) {
Navigator.push(context, FadePage(page: LabsHomePage()));
locator<GAnalytics>().hmgServices.logServiceName('lab result');
} else if (hmgServices.action == 26 &&
projectViewModel?.havePrivilege(7) == true) {
Navigator.push(context, FadePage(page: RadiologyHomePage()));
locator<GAnalytics>().hmgServices.logServiceName('radiology result');
} else if (hmgServices.action == 27 &&
projectViewModel?.havePrivilege(12) == true) {
Navigator.push(context, FadePage(page: HomePrescriptionsPage()));
locator<GAnalytics>().hmgServices.logServiceName('medicine prescription');
} else if (hmgServices.action == 28 &&
projectViewModel?.havePrivilege(25) == true) {
Navigator.push(
context,
FadePage(page: VitalSignDetailsScreen()),
);
locator<GAnalytics>().hmgServices.logServiceName('vital signs');
} else if (hmgServices.action == 29 &&
projectViewModel?.havePrivilege(48) == true) {
Navigator.push(context, FadePage(page: ActiveMedicationsPage()));
locator<GAnalytics>().hmgServices.logServiceName('active medication');
} else if (hmgServices.action == 30 &&
projectViewModel?.havePrivilege(6) == true) {
Navigator.push(
context,
FadePage(
page: DoctorHomePage(),
),
);
locator<GAnalytics>().hmgServices.logServiceName('active medication');
}
}
@ -212,7 +277,9 @@ class ServicesView extends StatelessWidget {
locator<GAnalytics>().hmgServices.logServiceName('home health care');
} else if (hmgServices.action == 4) {
Navigator.push(context, FadePage(page: CMCPage()));
locator<GAnalytics>().hmgServices.logServiceName('comprehensive medical checkup');
locator<GAnalytics>()
.hmgServices
.logServiceName('comprehensive medical checkup');
} else if (hmgServices.action == 5) {
// getPharmacyToken(context);
Uri uri = Uri.parse(PHARMACY_REDIRECT_URL);
@ -267,15 +334,19 @@ class ServicesView extends StatelessWidget {
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) => MyWebView(
title: "HMG News",
selectedUrl:"https://twitter.com/hmg" //"https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
),
title: "HMG News",
selectedUrl:
"https://twitter.com/hmg" //"https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
),
),
);
locator<GAnalytics>().hmgServices.logServiceName('latest news');
} else if (hmgServices.action == 22) {
Navigator.push(context, FadePage(page: ContactUsPage()));
locator<GAnalytics>().hmgServices.logServiceName('find us reach us');
} else if (hmgServices.action == 31) {
Navigator.push(context, FadePage(page: MedicalProfilePageNew()));
locator<GAnalytics>().hmgServices.logServiceName('my medical file');
}
// if (hmgServices.action == 10) {
@ -409,7 +480,8 @@ class ServicesView extends StatelessWidget {
title: TranslationBase.of(context).covidConsentHeader,
message: TranslationBase.of(context).covidConsent,
onTap: () async {
Navigator.push(context, FadePage(page: CovidDrivethruLocation()));
Navigator.push(
context, FadePage(page: CovidDrivethruLocation()));
},
));
} else {

@ -8,6 +8,8 @@ import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../../theme/theme_value.dart';
class SliderView extends StatefulWidget {
VoidCallback onLoginClick;
@ -48,7 +50,7 @@ class _SliderViewState extends State<SliderView> {
children: [
mFlex(3),
Container(
decoration: projectViewModel.isArabic ? containerColorRadiusLeft(Color(0xFFFBF2E31), 100) : containerColorRadiusRight(Color(0xFFFBF2E31), 100),
decoration: projectViewModel.isArabic ? containerColorRadiusLeft(appColor, 100) : containerColorRadiusRight(appColor, 100),
padding: EdgeInsets.only(left: projectViewModel.isArabic ? 16 : 20, right: projectViewModel.isArabic ? 20 : 16, top: 6, bottom: 6),
child: Text(
TranslationBase.of(context).medicalFile,
@ -98,7 +100,7 @@ class _SliderViewState extends State<SliderView> {
child: CustomTextButton(
shape: cardRadiusNew(8),
//shape: OutlinedBorder(),
backgroundColor: Color(0xFFFBF2E31),
backgroundColor: appColor,
elevation: 0,
onPressed: () {

@ -91,7 +91,7 @@ class _LiveCarePatmentPageState extends State<LiveCarePatmentPage> {
style: TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
letterSpacing: -0.66,
),
),
@ -255,7 +255,7 @@ class _LiveCarePatmentPageState extends State<LiveCarePatmentPage> {
fontSize: 12.0,
fontWeight: FontWeight.w600,
letterSpacing: -0.48,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
),

@ -47,7 +47,7 @@ class _LiveCareHistoryCardState extends State<LiveCareHistoryCard> {
return Container(
margin: EdgeInsets.only(left: 12, right: 12, top: widget.isFirstOrLast == 0 ? 12 : 6, bottom: widget.isFirstOrLast == 1 ? 12 : 6),
decoration: BoxDecoration(
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),

@ -63,7 +63,7 @@ class _State extends State<ClinicCard> {
),
child: Container(
decoration: BoxDecoration(
color: widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.accentColor,
color: widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.primaryColor,
borderRadius: BorderRadius.all(
Radius.circular(6.0),
),
@ -110,7 +110,7 @@ class _State extends State<ClinicCard> {
width: 4,
height: 4,
decoration: containerRadius(
widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.accentColor,
widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.primaryColor,
100,
),
),
@ -120,7 +120,7 @@ class _State extends State<ClinicCard> {
style: TextStyle(
fontSize: 10,
fontWeight: FontWeight.w600,
color: widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.accentColor,
color: widget.patientERGetClinicsList.isOnline == 1 ? CustomColors.green : CustomColors.primaryColor,
letterSpacing: -0.48,
),
),

@ -776,7 +776,7 @@ class _clinic_listState extends State<ClinicList> {
minWidth: MediaQuery.of(context).size.width * 0.7,
height: 45.0,
child: CustomTextButton(
backgroundColor: CustomColors.accentColor,
backgroundColor: CustomColors.primaryColor,
disabledForegroundColor: Color(0xFFbcc2c4).withOpacity(0.38),
disabledBackgroundColor: Color(0xFFbcc2c4).withOpacity(0.12),
elevation: 0,

@ -109,6 +109,7 @@ class _ConfirmLogin extends State<ConfirmLogin> {
@override
void initState() {
AppGlobal.context = context;
_getAvailableBiometrics();
setDefault();
super.initState();
@ -307,7 +308,7 @@ class _ConfirmLogin extends State<ConfirmLogin> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset(
'assets/images/habib-logo.png',
'assets/images/new/ic_logo.png',
height: 90,
width: 90,
),

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/pages/login/forgot-password.dart';
import 'package:diplomaticquarterapp/pages/login/login.dart';
import 'package:diplomaticquarterapp/pages/login/register_new.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/habib_logo_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -68,26 +69,26 @@ class LoginType extends StatelessWidget {
],
),
),
SizedBox(
height: 43,
width: double.infinity,
child: TextButton(
onPressed: () {
Navigator.of(context).push(FadePage(page: RegisterNew()));
locator<GAnalytics>().loginRegistration.register_now();
},
child: Text(
TranslationBase.of(context).registerNow,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48),
),
style: TextButton.styleFrom(
backgroundColor: Color(0xffD02127),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6),
),
),
),
),
// SizedBox(
// height: 43,
// width: double.infinity,
// child: TextButton(
// onPressed: () {
// Navigator.of(context).push(FadePage(page: RegisterNew()));
// locator<GAnalytics>().loginRegistration.register_now();
// },
// child: Text(
// TranslationBase.of(context).registerNow,
// style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48),
// ),
// style: TextButton.styleFrom(
// backgroundColor: appColor,
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(6),
// ),
// ),
// ),
// ),
]),
),
);

@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/pages/login/confirm-login.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/pages/login/login.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
@ -160,7 +161,8 @@ class _Register extends State<Register> {
child: DefaultButton(TranslationBase.of(context).cancel, () {
Navigator.of(context).pop();
locator<GAnalytics>().loginRegistration.registration_cancel(step: 'enter details');
}, textColor: Colors.white, color: Color(0xffD02127))),
}, textColor: Colors.white,
color: appColor)),
),
Expanded(
child: Padding(

@ -84,7 +84,7 @@ class _WelcomeLogin extends State<WelcomeLogin> {
Navigator.of(context).push(FadePage(page: RegisterNew())),
locator<GAnalytics>().loginRegistration.visited_alhabib_group(false),
},
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
textColor: Colors.white,
),
),

@ -119,7 +119,7 @@ class _ViewDoctorResponsesPageState extends State<ViewDoctorResponsesPage> {
() {
openResponseRateDialog(context);
},
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
],
@ -216,7 +216,7 @@ class _ViewDoctorResponsesPageState extends State<ViewDoctorResponsesPage> {
rateDoctorResponse();
}
},
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
],
@ -303,7 +303,7 @@ class _ViewDoctorResponsesPageState extends State<ViewDoctorResponsesPage> {
decoration: InputDecoration(
isDense: true,
hintText: _hintText,
fillColor: CustomColors.accentColor,
fillColor: CustomColors.primaryColor,
hintStyle: TextStyle(
fontSize: isEnable ? 14 : 24,
height: 21 / 14,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_mod
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
@ -117,7 +118,7 @@ class _RequestTypePageState extends State<RequestTypePage> {
}
})
},
color: Color(0xffD02127),
color: appColor,
textColor: Colors.white,
disabledColor: Color(0xffEAEAEA),
),

@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStat
import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
@ -350,7 +351,7 @@ class _AdvancePaymentPageState extends State<AdvancePaymentPage> {
});
projectViewModel.analytics.advancePayments.wallet_payment_details();
},
color: Color(0xffD02127),
color: appColor,
textColor: Colors.white,
disabledColor: Color(0xffEAEAEA),
),

@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/models/header_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/reminder_dialog.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/pharmacy_for_prescriptions_page.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
@ -206,7 +207,7 @@ class PrescriptionDetailsPageINP extends StatelessWidget {
return;
},
iconData: Icons.notifications_active,
color: Color(0xffD02127),
color: appColor,
fontSize: 13.0,
//textColor: Color(0xff2B353E),
),

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/models/header_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/reminder_dialog.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/pharmacy_for_prescriptions_page.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
@ -233,7 +234,7 @@ class _PrescriptionDetailsPageState extends State<PrescriptionDetailsPage> {
}
},
iconData: Icons.notifications_active,
color: Color(0xffD02127),
color: appColor,
fontSize: 13.0,
//textColor: Color(0xff2B353E),
),

@ -54,8 +54,9 @@ class PayfortService extends BaseService {
"Pat_Token": result.tokenName,
"IsRefund": false,
"RemmeberMe": false,
"Reconciliation_Reference": result.reconciliationReference,
// "Reconciliation_Reference": result.reconciliationReference,
"LanguageID": 1,
"PatientID": patientID
};

@ -97,7 +97,7 @@ class _SplashScreenState extends State<SplashScreen> {
Padding(
padding: EdgeInsets.symmetric(horizontal: 53),
child: Image.asset(
'assets/images/new/hmg_logo.png',
'assets/images/new/ic_logo.png',
fit: BoxFit.fitWidth,
width: MediaQuery.of(context).size.width,
),

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:flutter/material.dart';
class CustomColors {
@ -11,6 +12,7 @@ class CustomColors {
static const Color black = Color(0xFF141414);
static const Color white = Color(0xFFFFFFFF);
static const Color accentColor = Color(0xFFD02127);
static const Color primaryColor = appColor;
static const Color lightGreyColor = Color(0xFFE2E2E2);
static const Color devider = Color(0xFFE5E5E5);
static const Color darkGreyColor = Color(0xFFC9C9C9);

@ -10,13 +10,27 @@ import 'package:flutter/services.dart';
final bluePrimary = Color(0xFF00000);
final blueAccent = Color(0xFFFF9800);
final blueBackground = Color(0xFFFFFFFF);
const MaterialColor appColor = MaterialColor(
0xFF045531,
<int, Color>{
50: Color(0xFFFFEBEE),
100: Color(0xFF2E6049),
200: Color(0xFF185339),
300: Color(0xFF125939),
400: Color(0xE6085734),
500: Color(0xFF045531),
600: Color(0xFF024024),
700: Color(0xFF034226),
800: Color(0xFF022C1A),
900: Color(0xFF011C10),
},
);
defaultTheme({fontName}) {
return ThemeData(
fontFamily: fontName,
useMaterial3: false,
//projectProvider.isArabic ? 'Cairo' : 'WorkSans',
primarySwatch: Colors.red,
primarySwatch: appColor,
visualDensity: VisualDensity.adaptivePlatformDensity,
brightness: Brightness.light,
pageTransitionsTheme: const PageTransitionsTheme(
@ -60,7 +74,7 @@ invertThemes({fontName}) {
return ThemeData(
fontFamily: fontName,
//projectProvider.isArabic ? 'Cairo' : 'WorkSans',
primarySwatch: Colors.red,
primarySwatch: appColor,
useMaterial3: false,
visualDensity: VisualDensity.adaptivePlatformDensity,
brightness: Brightness.dark,
@ -98,7 +112,7 @@ bwThemes({fontName}) {
return ThemeData(
fontFamily: fontName,
//projectProvider.isArabic ? 'Cairo' : 'WorkSans',
primarySwatch: Colors.red,
primarySwatch: appColor,
useMaterial3: false,
visualDensity: VisualDensity.adaptivePlatformDensity,
brightness: Brightness.dark,
@ -113,14 +127,14 @@ bwThemes({fontName}) {
hintColor: Colors.grey[400],
textTheme: TextTheme(
bodyText1: TextStyle(color: Colors.red[900]),
headline1: TextStyle(color: Colors.red[900]),
bodyText1: TextStyle(color: appColor[900]),
headline1: TextStyle(color: appColor[900]),
headline2: TextStyle(color: Colors.white),
bodyText2: TextStyle(color: Colors.red[900]),
subtitle1: TextStyle(color: Colors.red[900]),
bodyText2: TextStyle(color: appColor[900]),
subtitle1: TextStyle(color: appColor[900]),
),
tabBarTheme: TabBarTheme(labelColor: Colors.red[900]),
tabBarTheme: TabBarTheme(labelColor: appColor[900]),
disabledColor: Colors.grey[800],
errorColor: Color.fromRGBO(235, 80, 60, 1.0),
@ -148,7 +162,7 @@ dimTheme({fontName}) {
return ThemeData(
fontFamily: fontName,
//projectProvider.isArabic ? 'Cairo' : 'WorkSans',
primarySwatch: Colors.red,
primarySwatch: appColor,
visualDensity: VisualDensity.adaptivePlatformDensity,
brightness: Brightness.dark,
useMaterial3: false,

@ -157,7 +157,7 @@ class TranslationBase {
String get welcomeTo => localizedValues['welcome-to'][locale.languageCode];
String get drSulaimanText => localizedValues['dr-sulaiman-text'][locale.languageCode];
String get kingKhalidUniversity => localizedValues['king-khalid-university'][locale.languageCode];
String get patientApp => localizedValues['patient-app'][locale.languageCode];
@ -567,6 +567,8 @@ class TranslationBase {
String get myMedicalFile => localizedValues['MyMedicalFile'][locale.languageCode];
String get myMedicalFiles => localizedValues['MyMedicalFiles'][locale.languageCode];
String get myMedicalFileSubTitle => localizedValues['myMedicalFileSubTitle'][locale.languageCode];
String get viewMore => localizedValues['viewMore'][locale.languageCode];
@ -2963,6 +2965,7 @@ class TranslationBase {
String get selectHospitalBloodDonation => localizedValues["selectHospitalBloodDonation"][locale.languageCode];
String get wecare => localizedValues["wecare"][locale.languageCode];
String get myinstructions => localizedValues["myinstructions"][locale.languageCode];
String get allServices => localizedValues["allServices"][locale.languageCode];
}

File diff suppressed because it is too large Load Diff

@ -1,4 +1,6 @@
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gif_view/gif_view.dart';
class GifLoaderContainer extends StatefulWidget {
@ -42,9 +44,8 @@ class _GifLoaderContainerState extends State<GifLoaderContainer> with TickerProv
//progress-loading.gif
child: Container(
// margin: EdgeInsets.only(bottom: 40),
child: GifView(
controller: controller,
image: AssetImage("assets/images/progress-loading-red.gif"), //NetworkImage("http://img.mp.itc.cn/upload/20161107/5cad975eee9e4b45ae9d3c1238ccf91e.jpg"),
child: CircularProgressIndicator(
color: appColor,
),
),
),

@ -57,15 +57,15 @@ class _BottomNavBarState extends State<BottomNavBar> {
currentIndex: 1,
name: TranslationBase.of(context).medicalFile,
),
BottomNavigationItem(
icon: "assets/images/new/bottom_nav/family_files.svg",
activeIcon: "assets/images/new/bottom_nav/family_files.svg",
changeIndex: _changeIndex,
index: widget.index,
currentIndex: 3,
name: TranslationBase.of(context).myFamily,
isDisabled: projectViewModel.isLoginChild,
),
// BottomNavigationItem(
// icon: "assets/images/new/bottom_nav/family_files.svg",
// activeIcon: "assets/images/new/bottom_nav/family_files.svg",
// changeIndex: _changeIndex,
// index: widget.index,
// currentIndex: 3,
// name: TranslationBase.of(context).myFamily,
// isDisabled: projectViewModel.isLoginChild,
// ),
if (widget.index == 0)
(widget.showHomeIcon)
? BottomNavigationItem(
@ -94,15 +94,15 @@ class _BottomNavBarState extends State<BottomNavBar> {
// currentIndex: 2,
// name: TranslationBase.of(context).bookAppo,
// ),
if (/*widget.index == 0 && */ projectViewModel.havePrivilege(34))
BottomNavigationItem(
icon: "assets/images/new/bottom_nav/todo.svg",
activeIcon: "assets/images/new/bottom_nav/todo.svg",
changeIndex: _changeIndex,
index: widget.index,
currentIndex: 4,
name: TranslationBase.of(context).todoList,
),
// if (/*widget.index == 0 && */ projectViewModel.havePrivilege(34))
// BottomNavigationItem(
// icon: "assets/images/new/bottom_nav/todo.svg",
// activeIcon: "assets/images/new/bottom_nav/todo.svg",
// changeIndex: _changeIndex,
// index: widget.index,
// currentIndex: 4,
// name: TranslationBase.of(context).todoList,
// ),
if (projectViewModel.havePrivilege(77))
BottomNavigationItem(
icon: "assets/images/new/bottom_nav/help.svg",

@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import '../../theme/theme_value.dart';
extension WithContainer on Widget {
Widget get insideContainer => Container(color: Colors.white, padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21), child: this);
@ -21,7 +23,7 @@ class DefaultButton extends StatelessWidget {
final bool isTextExpanded;
final int count;
DefaultButton(this.text, this.onPress, {this.color, this.isTextExpanded = true, this.svgIcon, this.disabledColor, this.count = 0, this.textColor = Colors.white, this.iconData, this.fontSize});
DefaultButton(this.text, this.onPress, {this.color = appColor, this.isTextExpanded = true, this.svgIcon, this.disabledColor, this.count = 0, this.textColor = Colors.white, this.iconData, this.fontSize});
@override
Widget build(BuildContext context) {
@ -71,7 +73,7 @@ class DefaultButton extends StatelessWidget {
],
),
style: TextButton.styleFrom(
backgroundColor: color ?? const Color(0xffD02127),
backgroundColor: color ?? appColor,
disabledForegroundColor: disabledColor,
disabledBackgroundColor: disabledColor,
shape: RoundedRectangleBorder(

@ -1,8 +1,12 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/services/permission/permission_service.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import '../../uitl/translations_delegate_base.dart';
/// FloatingButton widget
/// [onTap] button function
/// [elevation] color elevation value
@ -70,27 +74,42 @@ class _FloatingButtonState extends State<FloatingButton>
child: AnimatedContainer(
duration: Duration(milliseconds: 150),
margin: EdgeInsets.only(bottom: 4),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(70.0)),
color: Theme.of(context).primaryColor,
boxShadow: [
BoxShadow(
color: Color.fromRGBO(
120, 71, 80, widget.elevation ? 0.28 : 0.0),
spreadRadius:
_buttonSize < 1.0 ? -(1 - _buttonSize) * 50 : 0.0,
offset: Offset(0, 7.0),
blurRadius: 70.0)
]),
child: Image.asset(
projectViewModel.isArabic
? 'assets/images/book_appointment_ar.png'
: 'assets/images/appointment_booking_en.png',
// fit: BoxFit.cover,
width: 90,
height: 90,
),
)),
));
child: Container(
width: 100,
height: 100,
decoration: BoxDecoration(
// borderRadius: BorderRadius.all(Radius.circular(70.0)),
color: appColor,
shape: BoxShape.circle,
),
child: Padding(
padding: const EdgeInsets.all(18),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset(
"assets/images/new/book appointment.svg",
width: 50,
height: 30,
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn)
),
Text(
TranslationBase.of(context).book,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 11, fontWeight: FontWeight.w600, color: Colors.white,),
), Text(
TranslationBase.of(context).appointmentLabel,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 8, fontWeight: FontWeight.w400, color: Colors.white,),
),
],
),
),
)
),
)));
}
}

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -96,7 +97,7 @@ class DoctorCard extends StatelessWidget {
: isLiveCareAppointment != null && isLiveCareAppointment == true
? Color(0xff2E303A)
: isInOutPatient != null && isInOutPatient == false
? Color(0xffD02127)
? appColor
: Color(0xffa9a089),
borderRadius: BorderRadius.only(
topLeft: projectViewModel!.isArabic ? Radius.circular(0) : Radius.circular(10),
@ -210,15 +211,15 @@ class DoctorCard extends StatelessWidget {
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star_border,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
unratedColor: Colors.grey[500],

@ -23,6 +23,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import '../../../theme/theme_value.dart';
class TimeLineView extends StatefulWidget {
bool isLogged, isArabic;
List<AppoitmentAllHistoryResultList> appoitmentAllHistoryResultList;
@ -304,7 +306,7 @@ class _TimeLineViewState extends State<TimeLineView> {
child: CustomTextButton(
shape: cardRadiusNew(8),
elevation: 0,
backgroundColor: Color(0xFFFBF2E31),
backgroundColor: appColor,
onPressed: () {
// onLoginClick();
login();

@ -105,65 +105,58 @@ class _AppDrawerState extends State<AppDrawer> {
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
Container(
height: SizeConfig.screenHeight! * .30,
child: InkWell(
child: Padding(
padding: const EdgeInsets.all(14.0),
child: Column(
children: <Widget>[
Container(
width: double.infinity,
padding: EdgeInsets.only(top: 12),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
SvgPicture.asset(
"assets/images/new/logo.svg",
height: 60,
width: 60,
),
IconButton(
icon: Icon(Icons.clear),
onPressed: () {
Navigator.pop(context);
},
)
],
),
InkWell(
child: Padding(
padding: const EdgeInsets.all(14.0),
child: Column(
children: <Widget>[
Container(
width: double.infinity,
padding: EdgeInsets.only(top: 12),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Image.asset(
'assets/images/new/ic_logo.png',
fit: BoxFit.fitWidth,
height: 60,
width: 60,
),
IconButton(
icon: Icon(Icons.clear),
onPressed: () {
Navigator.pop(context);
},
)
],
),
mHeight(12),
Container(
width: double.infinity,
margin: EdgeInsets.only(top: 12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
(user != null && projectProvider!.isLogin) ? user!.firstName! + ' ' + user!.lastName! : TranslationBase.of(context).cantSeeProfile,
style: TextStyle(color: Color(0xff2E303A), fontWeight: FontWeight.bold, fontSize: 20, letterSpacing: -1.2, height: 35 / 20),
),
Text(
(user != null && projectProvider!.isLogin)
? TranslationBase.of(context).fileNumber + ": " + user!.patientID.toString()
: TranslationBase.of(context).loginRegisterNow,
style: TextStyle(
color: Color(0xff2E303A),
fontSize: 16,
letterSpacing: -0.96,
height: 1,
),
),
mHeight(20.0),
),
SizedBox(
width: double.infinity,
// margin: EdgeInsets.only(top: 12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
(user != null && projectProvider!.isLogin) ? user!.firstName! + ' ' + user!.lastName! : TranslationBase.of(context).cantSeeProfile,
style: TextStyle(color: Color(0xff2E303A), fontWeight: FontWeight.bold, fontSize: 20, letterSpacing: -1.2, height: 35 / 20),
),
Text(
(user != null && projectProvider!.isLogin)
? Image.network("https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=${user!.patientID.toString()}", fit: BoxFit.fill, height: 73.5, width: 73.5)
: Container(),
],
),
? TranslationBase.of(context).fileNumber + ": " + user!.patientID.toString()
: TranslationBase.of(context).loginRegisterNow,
style: TextStyle(
color: Color(0xff2E303A),
fontSize: 16,
letterSpacing: -0.96,
height: 1,
),
),
],
),
],
),
),
],
),
),
),
@ -172,11 +165,11 @@ class _AppDrawerState extends State<AppDrawer> {
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
(user != null && projectProvider!.isLogin)
? Container()
? SizedBox.shrink()
: InkWell(
child: DrawerItem(
TranslationBase.of(context).arabicChange,
Padding(child: Image.asset('assets/images/lang.png'), padding: EdgeInsets.all(3)),
Image.asset('assets/images/lang.png'),
isImageIcon: true,
bottomLine: false,
projectProvider: projectProvider,
@ -199,139 +192,6 @@ class _AppDrawerState extends State<AppDrawer> {
? Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
(user!.isFamily == null || user!.isFamily == false)
? InkWell(
child: DrawerItem(TranslationBase.of(context).family, SvgPicture.asset("assets/images/new/family_files.svg"),
isImageIcon: true,
bottomLine: false,
textColor: Theme.of(context).textTheme.bodyText1!.color,
iconColor: Theme.of(context).textTheme.bodyText1!.color,
sideArrow: true,
letterSpacing: -0.84,
projectProvider: projectProvider),
onTap: () {
Navigator.of(context).pop();
Navigator.of(context).pushNamed(
MY_FAMILIY,
);
locator<GAnalytics>().hamburgerMenu.logMenuItemClick('my family');
},
)
: SizedBox(),
FutureBuilder(
future: getFamilyFiles(), // async work
builder: (BuildContext context, AsyncSnapshot<GetAllSharedRecordsByStatusResponse?> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Padding(padding: EdgeInsets.all(10), child: CircularProgressIndicator());
default:
if (snapshot.hasError)
return Padding(padding: EdgeInsets.all(10), child: Text(snapshot.error.toString()));
else
return Container(
child: Column(
children: [
user!.isFamily == true
? Container(
padding: EdgeInsets.only(bottom: 5, left: 4),
child: InkWell(
onTap: () {
switchUser(mainUser, context);
},
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: SvgPicture.asset("assets/images/new/family_files.svg"),
),
Expanded(
flex: 7,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
mainUser!.firstName! + ' ' + mainUser!.lastName!,
color: Color(0xff2E303A), //Theme.of(context).textTheme.bodyText1.color,
fontWeight: FontWeight.w600,
fontSize: 12,
letterSpacing: -0.33,
),
AppText(
TranslationBase.of(context).fileno + ": " + mainUser!.patientID.toString(),
color: Color(0xff989898),
fontSize: 12,
letterSpacing: -0.33,
),
Container(
height: 1,
margin: EdgeInsets.only(top: 7.5),
color: Color(0xffEDEDED),
),
],
),
),
],
),
),
)
: SizedBox(),
Column(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: snapshot.data!.getAllSharedRecordsByStatusList!.map<Widget>((result) {
return result.status == 3
? Container(
padding: EdgeInsets.only(bottom: 5),
child: InkWell(
onTap: () {
switchUser(result, context);
},
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Expanded(
child: Icon(Icons.person, color: result.responseID == user!.patientID ? Colors.transparent : Colors.transparent),
),
Expanded(
flex: 7,
child: Padding(
padding: EdgeInsets.only(left: 5, right: 5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
result.patientName!,
color: result.responseID == user!.patientID ? Color(0xffC5272D) : Color(0xff2B353E),
fontWeight: FontWeight.w600,
fontSize: 11,
letterSpacing: -0.33,
),
AppText(
TranslationBase.of(context).fileno + ": " + result.responseID.toString(),
color: result.responseID == user!.patientID ? Color(0xffC5272D) : Color(0xff989898),
fontSize: 11,
letterSpacing: -0.33,
),
Divider(
color: Colors.grey[400],
),
],
),
),
),
],
),
),
)
: SizedBox();
}).toList())
],
));
}
},
),
mHeight(20),
InkWell(
child: DrawerItem(TranslationBase.of(context).arabicChange,
Padding(child: Image.asset('assets/images/lang.png'), padding: EdgeInsets.only(left: 3, right: 3, top: 3, bottom: projectProvider!.isArabic ? 3 : 0)),
@ -368,73 +228,7 @@ class _AppDrawerState extends State<AppDrawer> {
// readQRCode();
// },
// ),
InkWell(
child: Stack(
children: [
DrawerItem(
TranslationBase.of(context).notification,
SvgPicture.asset("assets/images/new/notifications.svg"),
isImageIcon: true,
bottomLine: false,
letterSpacing: -0.84,
fontSize: 14,
projectProvider: projectProvider,
count: toDoProvider!.notificationsCount != "0" && !projectProvider!.isLoginChild
? new Container(
padding: EdgeInsets.all(4),
margin: EdgeInsets.all(2),
decoration: new BoxDecoration(
color: CustomColors.accentColor,
borderRadius: BorderRadius.circular(20),
),
constraints: BoxConstraints(
minWidth: 20,
minHeight: 20,
),
child: new Text(
toDoProvider!.notificationsCount.toString(),
style: new TextStyle(
color: Colors.white,
fontSize: projectProvider!.isArabic ? 8 : 9,
),
textAlign: TextAlign.center,
),
// ),
)
: SizedBox(),
),
],
),
onTap: () {
//NotificationsPage
// Navigator.of(context).pop();
if (!projectProvider!.isLoginChild) Navigator.push(context, FadePage(page: NotificationsPage()));
locator<GAnalytics>().hamburgerMenu.logMenuItemClick('notifications');
},
),
if (projectProvider!.havePrivilege(3))
InkWell(
child: DrawerItem(TranslationBase.of(context).appsetting, SvgPicture.asset("assets/images/new/app_setting.svg"),
isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, projectProvider: projectProvider),
onTap: () {
Navigator.of(context).pushNamed(
SETTINGS,
);
locator<GAnalytics>().hamburgerMenu.logMenuItemClick('app settings');
},
),
InkWell(
child: DrawerItem(TranslationBase.of(context).rateApp, Icons.star, bottomLine: false, letterSpacing: -0.84, fontSize: 14, projectProvider: projectProvider),
onTap: () {
openAppReviewDialog();
locator<GAnalytics>().hamburgerMenu.logMenuItemClick('rate our app');
// if (Platform.isIOS) {
// launchUrl(Uri.parse("https://apps.apple.com/sa/app/dr-suliaman-alhabib/id733503978"));
// } else {
// launchUrl(Uri.parse("https://play.google.com/store/apps/details?id=com.ejada.hmg&hl=en"));
// }
},
),
InkWell(
child: DrawerItem(TranslationBase.of(context).logout, SvgPicture.asset("assets/images/new/logout.svg"),
isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, projectProvider: projectProvider),
@ -451,21 +245,21 @@ class _AppDrawerState extends State<AppDrawer> {
login();
},
),
InkWell(
child: DrawerItem(TranslationBase.of(context).privacyPolicy, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
onTap: () {
if (projectProvider!.isArabic)
launch("https://hmg.com/ar/Pages/Privacy.aspx");
else
launch("https://hmg.com/en/Pages/Privacy.aspx");
},
),
InkWell(
child: DrawerItem(TranslationBase.of(context).termsConditions, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
onTap: () {
Navigator.of(context).push(FadePage(page: UserAgreementPage()));
},
)
// InkWell(
// child: DrawerItem(TranslationBase.of(context).privacyPolicy, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
// onTap: () {
// if (projectProvider!.isArabic)
// launch("https://hmg.com/ar/Pages/Privacy.aspx");
// else
// launch("https://hmg.com/en/Pages/Privacy.aspx");
// },
// ),
// InkWell(
// child: DrawerItem(TranslationBase.of(context).termsConditions, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
// onTap: () {
// Navigator.of(context).push(FadePage(page: UserAgreementPage()));
// },
// )
],
))
],

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
@ -8,8 +9,8 @@ class HabibLogoWidget extends StatelessWidget {
Widget build(BuildContext context) {
return Row(
children: [
SvgPicture.asset(
"assets/images/new/hmg_icon.svg",
Image.asset(
'assets/images/new/ic_logo.png',
height: 62,
width: 62,
),
@ -25,12 +26,12 @@ class HabibLogoWidget extends StatelessWidget {
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.72, height: 23 / 12),
),
Text(
TranslationBase.of(context).drSulaimanText,
TranslationBase.of(context).kingKhalidUniversity,
style: TextStyle(fontSize: 24, fontWeight: FontWeight.w700, color: Color(0xff2B353E), letterSpacing: -1.44, height: 23 / 24),
),
Text(
TranslationBase.of(context).patientApp,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffD02127), letterSpacing: -0.72),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: appColor, letterSpacing: -0.72),
),
SizedBox(height: 2),
],

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/models/Appointments/DoctorRateDetails.dart'
import 'package:diplomaticquarterapp/models/header_model.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
@ -139,15 +140,15 @@ class DoctorHeader extends StatelessWidget {
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star_border,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
unratedColor: Colors.grey[500],
@ -178,7 +179,7 @@ class DoctorHeader extends StatelessWidget {
child: Container(
padding: EdgeInsets.only(top: 10, bottom: 10, right: 15, left: 15),
decoration: BoxDecoration(
color: Color(0XFFD02127), borderRadius: projectViewModel.isArabic ? BorderRadius.only(topRight: Radius.circular(10)) : BorderRadius.only(topLeft: Radius.circular(10))),
color: appColor, borderRadius: projectViewModel.isArabic ? BorderRadius.only(topRight: Radius.circular(10)) : BorderRadius.only(topLeft: Radius.circular(10))),
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -304,15 +305,15 @@ class DoctorHeader extends StatelessWidget {
ratingWidget: RatingWidget(
full: Icon(
Icons.star,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
half: Icon(
Icons.star_half,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
empty: Icon(
Icons.star_border,
color: CustomColors.accentColor,
color: CustomColors.primaryColor,
),
),
unratedColor: Colors.grey[500],

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
import 'package:flutter/material.dart';
import '../../theme/theme_value.dart';
class MyTabView extends StatelessWidget {
final String title;
final FilterType value;
@ -36,7 +38,7 @@ class MyTabView extends StatelessWidget {
Container(
margin: EdgeInsets.only(top: 13),
height: 3,
color: value == groupValue ? Color(0xffD02127) : Colors.transparent,
color: value == groupValue ? appColor : Colors.transparent,
)
],
),

@ -17,6 +17,7 @@ import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
import '../../splashPage.dart';
import '../../theme/theme_value.dart';
class NotAutPage extends StatefulWidget {
final String title;
@ -114,7 +115,7 @@ class _NotAutPageState extends State<NotAutPage> {
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48),
),
style: TextButton.styleFrom(
backgroundColor: Color(0xffD02127),
backgroundColor: appColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6),
),
@ -334,23 +335,8 @@ class _NotAutPageState extends State<NotAutPage> {
if (data != null) {
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
GifLoaderDialogUtils.showMyDialog(context);
authService.selectDeviceImei(DEVICE_TOKEN).then((SelectDeviceIMEIRES? value) {
GifLoaderDialogUtils.hideDialog(context);
if (value != null) {
sharedPref.setObject(IMEI_USER_DATA, value);
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
Navigator.of(context).pushNamed(
WELCOME_LOGIN,
);
}
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pushNamed(
WELCOME_LOGIN,
);
});
Navigator.of(context).pushNamed(LOGIN_TYPE);
}
}
}

Loading…
Cancel
Save