Compare commits

..

4 Commits

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

@ -142,7 +142,7 @@ dependencies {
// exclude group: 'com.google.protobuf',module: 'protobuf-javalite' // exclude group: 'com.google.protobuf',module: 'protobuf-javalite'
// exclude group: 'com.google.protobuf',module: 'protobuf-lite' // exclude group: 'com.google.protobuf',module: 'protobuf-lite'
// }) // })
implementation 'pub.devrel:easypermissions:3.0.0' implementation 'pub.devrel:easypermissions:0.4.0'
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0' // implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.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' 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-annotation:1.10.1"
implementation "us.zoom.videosdk:zoomvideosdk-videoeffects: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:2.3.0' //for JVM
implementation 'com.github.kittinunf.fuel:fuel-android:2.3.0' implementation 'com.github.kittinunf.fuel:fuel-android:2.3.0'
implementation 'com.google.android.gms:play-services-location:17.1.0'//for Android implementation 'com.google.android.gms:play-services-location:17.1.0'//for Android

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

@ -11,8 +11,7 @@ buildscript {
repositories { repositories {
google() google()
// jcenter() jcenter()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' } maven { url 'https://developer.huawei.com/repo/' }
// maven { // maven {
@ -38,9 +37,6 @@ allprojects {
maven { maven {
url 'https://developer.huawei.com/repo/' url 'https://developer.huawei.com/repo/'
} }
maven {
url 'https://mvnrepository.com/artifact/'
}
maven { maven {
url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local" 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"> <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)"> <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="#00000"/> <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="#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="#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="#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="#989898"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

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

@ -313,6 +313,8 @@ var GET_LIVECARE_CLINIC_TIMING = 'Services/ER_VirtualCall.svc/REST/PatientER_Get
var GET_ER_APPOINTMENT_FEES = 'Services/DoctorApplication.svc/REST/GetERAppointmentFees'; var GET_ER_APPOINTMENT_FEES = 'Services/DoctorApplication.svc/REST/GetERAppointmentFees';
var GET_ER_APPOINTMENT_TIME = 'Services/ER_VirtualCall.svc/REST/GetRestTime'; var GET_ER_APPOINTMENT_TIME = 'Services/ER_VirtualCall.svc/REST/GetRestTime';
var CHECK_PATIENT_DERMA_PACKAGE = 'Services/OUTPs.svc/REST/getPatientPackageComponentsForOnlineCheckIn';
var ADD_NEW_CALL_FOR_PATIENT_ER = 'Services/DoctorApplication.svc/REST/NewCallForPatientER'; var ADD_NEW_CALL_FOR_PATIENT_ER = 'Services/DoctorApplication.svc/REST/NewCallForPatientER';
var GET_LIVECARE_HISTORY = 'Services/ER_VirtualCall.svc/REST/GetPatientErVirtualHistory'; var GET_LIVECARE_HISTORY = 'Services/ER_VirtualCall.svc/REST/GetPatientErVirtualHistory';
@ -344,7 +346,7 @@ var UPDATE_COVID_QUESTIONNAIRE = 'Services/Doctors.svc/REST/COVID19_Questionnari
var CHANNEL = 3; var CHANNEL = 3;
var GENERAL_ID = 'Cs2020@2016\$2958'; var GENERAL_ID = 'Cs2020@2016\$2958';
var IP_ADDRESS = '10.20.10.20'; var IP_ADDRESS = '10.20.10.20';
var VERSION_ID = 15.9; var VERSION_ID = 16.1;
var SETUP_ID = '91877'; var SETUP_ID = '91877';
var LANGUAGE = 2; var LANGUAGE = 2;
// var PATIENT_OUT_SA = 0; // var PATIENT_OUT_SA = 0;

@ -116,13 +116,13 @@ const Map localizedValues = {
"national-id-number": {"en": "National ID Number", "ar": "رقم الهوية الوطنية / الاقامة"}, "national-id-number": {"en": "National ID Number", "ar": "رقم الهوية الوطنية / الاقامة"},
"medical-file-number": {"en": "Medical File Number", "ar": "رقم الملف الطبي"}, "medical-file-number": {"en": "Medical File Number", "ar": "رقم الملف الطبي"},
'login': {'en': 'Login', 'ar': 'دخول'}, 'login': {'en': 'Login', 'ar': 'دخول'},
'loginregister': {'en': 'Login', 'ar': 'دخول'}, 'loginregister': {'en': 'Login / Register', 'ar': 'دخول/ تسجيل'},
'poweredBy': {'en': 'Powered by', 'ar': 'مشغل بواسطة'}, 'poweredBy': {'en': 'Powered by', 'ar': 'مشغل بواسطة'},
"welcome": {"en": "Welcome", "ar": "مرحبا بكم"}, "welcome": {"en": "Welcome", "ar": "مرحبا بكم"},
"welcome-to": {"en": "Welcome to", "ar": "مرحبا بك في"}, "welcome-to": {"en": "Welcome to", "ar": "مرحبا بك في"},
"patient-app": {"en": "Patient App", "ar": "تطبيق المراجعين"}, "patient-app": {"en": "Patient App", "ar": "تطبيق المراجعين"},
"welcome_text": {"en": "Dr. Sulaiman Al Habib Mobile Application", "ar": "الدكتور سليمان الحبيب لتطبيقات الهاتف"}, "welcome_text": {"en": "Dr. Sulaiman Al Habib Mobile Application", "ar": "الدكتور سليمان الحبيب لتطبيقات الهاتف"},
"king-khalid-university": {"en": "King Khalid University", "ar": "جامعة الملك خالد"}, "dr-sulaiman-text": {"en": "Dr. Sulaiman Al Habib", "ar": "د. سليمان الحبيب"},
'welcome_text2': {'en': 'Have you previously visited the hospitals or medical centers of Dr. Sulaiman Al Habib?', 'ar': 'هل قمت مسبقا بزيارة مستشفيات او مراكز الدكتور سليمان الحبيب الطبية ؟'}, 'welcome_text2': {'en': 'Have you previously visited the hospitals or medical centers of Dr. Sulaiman Al Habib?', 'ar': 'هل قمت مسبقا بزيارة مستشفيات او مراكز الدكتور سليمان الحبيب الطبية ؟'},
'yes': {'en': 'Yes', 'ar': 'نعم'}, 'yes': {'en': 'Yes', 'ar': 'نعم'},
'no': {'en': 'No', 'ar': 'لا'}, 'no': {'en': 'No', 'ar': 'لا'},
@ -269,7 +269,6 @@ const Map localizedValues = {
"register-info-family": {"en": "How would like to add the new member?", "ar": "كيف ترغب باضافة العضو الجديد؟"}, "register-info-family": {"en": "How would like to add the new member?", "ar": "كيف ترغب باضافة العضو الجديد؟"},
"remove-family-member": {"en": "Remove this member?", "ar": "إزالة ملف العضو؟"}, "remove-family-member": {"en": "Remove this member?", "ar": "إزالة ملف العضو؟"},
"MyMedicalFile": {"en": "My Medical File", 'ar': 'الملف الطبي الالكتروني'}, "MyMedicalFile": {"en": "My Medical File", 'ar': 'الملف الطبي الالكتروني'},
"MyMedicalFiles": {"en": "Medical File", 'ar': 'الملف الطبي'},
"myMedicalFileSubTitle": {"en": "All your medical records", 'ar': 'جميع سجلاتك الطبية'}, "myMedicalFileSubTitle": {"en": "All your medical records", 'ar': 'جميع سجلاتك الطبية'},
"viewMore": {"en": "View More", 'ar': 'عرض المزيد'}, "viewMore": {"en": "View More", 'ar': 'عرض المزيد'},
"homeHealthCareService": {"en": "Home Health Care Service", 'ar': 'الرعاية الصحية المنزلية'}, "homeHealthCareService": {"en": "Home Health Care Service", 'ar': 'الرعاية الصحية المنزلية'},
@ -494,7 +493,7 @@ const Map localizedValues = {
"ar": "ar":
"توفر هذه الخدمة مجموعه من خدمات الرعايه الصحيه المنزلية و متابعه مستمره وشامله للذين لا يستطيعون الوصول للمنشات الصحيه في اماكن اقامتهم (التحاليل المخبرية الاشعة التطعيمات العلاج الطبيعي) ... " "توفر هذه الخدمة مجموعه من خدمات الرعايه الصحيه المنزلية و متابعه مستمره وشامله للذين لا يستطيعون الوصول للمنشات الصحيه في اماكن اقامتهم (التحاليل المخبرية الاشعة التطعيمات العلاج الطبيعي) ... "
}, },
"LoginRegister": {"en": "Login", "ar": "دخول"}, "LoginRegister": {"en": "Login/Register", "ar": "دخول / تسجيل"},
"OrderLog": {"en": "Order Log", "ar": " سجل الطلبات"}, "OrderLog": {"en": "Order Log", "ar": " سجل الطلبات"},
"info-lab": { "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.", "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.",
@ -539,7 +538,6 @@ const Map localizedValues = {
"review": {"en": " reviews", "ar": "تقييمات"}, "review": {"en": " reviews", "ar": "تقييمات"},
"viewMedicalFile": {"en": "View Details", "ar": "عرض الملف الطبي"}, "viewMedicalFile": {"en": "View Details", "ar": "عرض الملف الطبي"},
"viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"}, "viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"},
"allServices": {"en": "All Services", "ar": "جميع الخدمات"},
"medicalFile": {"en": "Medical File", "ar": "ملفي الطبي"}, "medicalFile": {"en": "Medical File", "ar": "ملفي الطبي"},
"verified": {"en": "Verified", "ar": "تم التحقق"}, "verified": {"en": "Verified", "ar": "تم التحقق"},
"checkup": {"en": "Checkup", "ar": "فحص"}, "checkup": {"en": "Checkup", "ar": "فحص"},
@ -552,7 +550,7 @@ const Map localizedValues = {
"erservices": {"en": "Emergency", "ar": "الطوارئ"}, "erservices": {"en": "Emergency", "ar": "الطوارئ"},
"services2": {"en": "Services", "ar": "خدمات"}, "services2": {"en": "Services", "ar": "خدمات"},
"cantSeeProfile": {"en": "To view your medical profile, please log in or register now", "ar": "لتصفح ملفك الطبي الرجاء تسجيل الدخول أو التسجيل الآن"}, "cantSeeProfile": {"en": "To view your medical profile, please log in or register now", "ar": "لتصفح ملفك الطبي الرجاء تسجيل الدخول أو التسجيل الآن"},
"loginRegisterNow": {"en": "Login Now", "ar": "تسجيل الدخول الآن"}, "loginRegisterNow": {"en": "Login or Register Now", "ar": "تسجيل الدخول أو التسجيل الآن"},
"HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"}, "HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"},
"ecommerceSolution": {"en": "Ecommerce Solution", "ar": "حل التجارة الإلكترونية"}, "ecommerceSolution": {"en": "Ecommerce Solution", "ar": "حل التجارة الإلكترونية"},
"comprehensive": {"en": "Comprehensive", "ar": "شامل"}, "comprehensive": {"en": "Comprehensive", "ar": "شامل"},
@ -1815,37 +1813,37 @@ const Map localizedValues = {
"ar": "الرجاء السماح لتطبيق مجموعة الحبيب الطبية للظهورعلى سطح الشاشة عند استلام الاتصال من الطبيب لخدمة اللايف كير" "ar": "الرجاء السماح لتطبيق مجموعة الحبيب الطبية للظهورعلى سطح الشاشة عند استلام الاتصال من الطبيب لخدمة اللايف كير"
}, },
"cameraPermissionDialog": { "cameraPermissionDialog": {
"en": "King Khalid University app needs to access Camera to enable virtual consultation between patient & doctor, attach images and scan QR for parking service.", "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": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى الكاميرا لتمكين الاستشارة الافتراضية بين المريض والطبيب ، وإرفاق الصور ومسح QR لخدمة وقوف السيارات." "ar": "يحتاج تطبيق دكتور الحبيب الى صلاحية الوصول إلى الكاميرا لخدمة الاستشارة الافتراضية بين المراجع والطبيب وإرفاق الصور ومسح رمز الاستجابة السريع لخدمة مواقف السيارات."
}, },
"galleryPermission": { "galleryPermission": {
"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.", "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": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى وحدة التخزين الخارجية للقراءة والكتابة لتحميل الصور والمستندات في وحدة الإحالة الإلكترونية وتجديد وتحديث بطاقات التأمين." "ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول إلى معرض الصور وذلك لتحميل الصور والمستندات لخدمة الإحالة الإلكترونية وكذلك لخدمة تجديد بطاقات التأمين وتحديثها."
}, },
"locationPermissionDialog": { "locationPermissionDialog": {
"en": "en":
"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.", "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": "يجمع تطبيق جامعة الملك خالد بيانات الموقع لإظهار أقرب مستشفيات المجموعة ومواقع الطوارئ ويوفر خدمات الرعاية الصحية لموقعك وخدمة مؤشرات الطقس الصحي وتوصيل الأدوية." "ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى الموقع لإظهار أقرب مستشفيات المجموعة، مواقع الطوارئ، تقديم خدمات الرعاية الصحية إلى موقعك، خدمة مؤشرات الطقس الصحية وكذلك خدمة توصيل الأدوية."
}, },
"calendarPermission": { "calendarPermission": {
"en": "King Khalid University app collects calendar data to modify and set reminders for Appointments", "en": "Dr. Al Habib app collects calendar data to modify and set reminders for Appointments",
"ar": "يقوم تطبيق جامعة الملك خالد بجمع بيانات التقويم لتعديل وتعيين تذكيرات للمواعيد" "ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى التقويم وذلك لاضافة تذكيرات بالمواعيد في التقويم."
}, },
"recordAudioPermission": { "recordAudioPermission": {
"en": "King Khalid University app needs audio permission to enable voice command features.", "en": "Dr. Al Habib app needs audio permission to enable voice command features.",
"ar": "يحتاج تطبيق جامعة الملك خالد إلى إذن صوتي لتمكين ميزات الأوامر الصوتية." "ar": "يحتاج تطبيق دكتور الحبيب إلى صلاحية الوصول الى الصوت لتفعيل خدمة الأوامر الصوتية."
}, },
"wifiPermission": { "wifiPermission": {
"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.", "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": "يحتاج تطبيق جامعة الملك خالد إلى الوصول إلى إذن حالة WiFi للاتصال بشبكة HMG WiFi من داخل التطبيق عند زيارة المستشفى." "ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى الواي فاي للاتصال بشبكة الواي فاي في المجموعة عند زيارة المستشفى."
}, },
"physicalActivityPermission": { "physicalActivityPermission": {
"en": "King Khalid University app collects physical activity data to read heart rate, steps & distance from your smartwatch & send it to your doctor.", "en": "Dr. Al Habib app collects physical activity data to read heart rate, steps & distance from your smartwatch & send it to your doctor.",
"ar": "يجمع تطبيق جامعة الملك خالد بيانات النشاط البدني لقراءة معدل ضربات القلب والخطوات والمسافة من ساعتك الذكية وإرسالها إلى طبيبك." "ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى بيانات النشاط البدني لقراءة معدل ضربات القلب والخطوات والمسافة من ساعتك الذكية وتحميلها على ملفك الطبي حتى يتمكن الطبيب من الاطلاع عليها."
}, },
"bluetoothPermission": { "bluetoothPermission": {
"en": "King Khalid University app needs to access Bluetooth permission to connect blood pressure & blood sugar devices with the app to analyze the data", "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": "يحتاج تطبيق جامعة الملك خالد إلى الحصول على إذن Bluetooth لتوصيل أجهزة ضغط الدم وسكر الدم بالتطبيق لتحليل البيانات" "ar": "يحتاج تطبيق دكتور الحبيب إلى الوصول إلى البلوتوث لربط أجهزة ضغط الدم وسكر الدم بالتطبيق لتحليل البيانات وتحميلها على ملفك الطبي حتى يتمكن الطبيب من الاطلاع عليها."
}, },
"privacyPolicy": {"en": "Privacy Policy", "ar": "سياسة الخصوصية"}, "privacyPolicy": {"en": "Privacy Policy", "ar": "سياسة الخصوصية"},
"termsConditions": {"en": "Terms & Conditions", "ar": "الأحكام والشروط"}, "termsConditions": {"en": "Terms & Conditions", "ar": "الأحكام والشروط"},
@ -1978,4 +1976,9 @@ const Map localizedValues = {
"selectHospitalBloodDonation": {"en": "Please select the hospital you want to book an appointment with: ", "ar": "يرجى اختيار المستشفى الذي تريد حجز موعد معه:"}, "selectHospitalBloodDonation": {"en": "Please select the hospital you want to book an appointment with: ", "ar": "يرجى اختيار المستشفى الذي تريد حجز موعد معه:"},
"wecare": {"en": "We Care", "ar": "نحن نهتم"}, "wecare": {"en": "We Care", "ar": "نحن نهتم"},
"myinstructions": {"en": "My Instructions", "ar": "تعليماتي"}, "myinstructions": {"en": "My Instructions", "ar": "تعليماتي"},
"existingPackage":{"en":"This patient has a package under this clinic,","ar":"هذا المريض لديه حزمة تحت هذه العيادة،"},
"continueOrbookNew":{"en":"do you want to continue with that package? or book new appointment?","ar":"هل تريد الاستمرار في هذه الباقة؟ أو حجز موعد جديد؟"},
"newAppointment":{"en":"New Appointment","ar":"موعد جديد"},
"proceedPackage":{"en":"Proceed with package","ar":"المضي قدما في الحزمة"},
}; };

@ -30,7 +30,7 @@ class ProjectViewModel extends BaseViewModel {
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
Locale _appLocale = Locale('ar'); Locale _appLocale = Locale('ar');
String currentLanguage = 'ar'; String currentLanguage = 'ar';
bool _isArabic = false; bool _isArabic = true;
bool isInternetConnection = true; bool isInternetConnection = true;
bool isLoading = false; bool isLoading = false;
bool isError = false; bool isError = false;

@ -0,0 +1,64 @@
class PatientPackageComponent {
List<PatientPackageComponents>? patientPackageComponents;
PatientPackageComponent({this.patientPackageComponents});
PatientPackageComponent.fromJson(Map<String, dynamic> json) {
if (json['PatientPackageComponents'] != null) {
patientPackageComponents = <PatientPackageComponents>[];
json['PatientPackageComponents'].forEach((v) {
patientPackageComponents!.add(new PatientPackageComponents.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.patientPackageComponents != null) {
data['PatientPackageComponents'] =
this.patientPackageComponents!.map((v) => v.toJson()).toList();
}
return data;
}
}
class PatientPackageComponents {
int? invoiceNo;
int? lineItemNo;
String? procedureID;
String? procedureName;
int? projectID;
int? sequence;
String? setupID;
PatientPackageComponents(
{this.invoiceNo,
this.lineItemNo,
this.procedureID,
this.procedureName,
this.projectID,
this.sequence,
this.setupID});
PatientPackageComponents.fromJson(Map<String, dynamic> json) {
invoiceNo = json['InvoiceNo'];
lineItemNo = json['LineItemNo'];
procedureID = json['ProcedureID'];
procedureName = json['ProcedureName'];
projectID = json['ProjectID'];
sequence = json['Sequence'];
setupID = json['SetupID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['InvoiceNo'] = this.invoiceNo;
data['LineItemNo'] = this.lineItemNo;
data['ProcedureID'] = this.procedureID;
data['ProcedureName'] = this.procedureName;
data['ProjectID'] = this.projectID;
data['Sequence'] = this.sequence;
data['SetupID'] = this.setupID;
return data;
}
}

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

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

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

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

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

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

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

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

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

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

@ -28,6 +28,7 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../models/Appointments/PatientPackageComponent.dart';
import 'book_reminder_page.dart'; import 'book_reminder_page.dart';
import 'components/DocAvailableAppointments.dart'; import 'components/DocAvailableAppointments.dart';
@ -215,7 +216,7 @@ class _BookConfirmState extends State<BookConfirm> {
if (isLiveCareSchedule) { if (isLiveCareSchedule) {
insertLiveCareScheduledAppointment(context, widget.doctor); insertLiveCareScheduledAppointment(context, widget.doctor);
} else { } else {
insertAppointment(context, widget.doctor, widget.initialSlotDuration); checkPatientHasDermaPackage(widget.doctor, projectViewModel.user.patientID!);
} }
}, },
child: Text(TranslationBase.of(context).bookAppo, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, color: Colors.white)), child: Text(TranslationBase.of(context).bookAppo, style: TextStyle(fontSize: 16.0, letterSpacing: -0.48, color: Colors.white)),
@ -253,7 +254,7 @@ class _BookConfirmState extends State<BookConfirm> {
); );
} }
cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo, BuildContext context) async { cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo, BuildContext context, {int? invoiceNumber, int? lineItemNo}) async {
ConfirmDialog.closeAlertDialog(context); ConfirmDialog.closeAlertDialog(context);
GifLoaderDialogUtils.showMyDialog(context, barrierDismissible: false); GifLoaderDialogUtils.showMyDialog(context, barrierDismissible: false);
DoctorsListService service = new DoctorsListService(); DoctorsListService service = new DoctorsListService();
@ -265,7 +266,7 @@ class _BookConfirmState extends State<BookConfirm> {
if (isLiveCareSchedule != null && isLiveCareSchedule) { if (isLiveCareSchedule != null && isLiveCareSchedule) {
insertLiveCareScheduledAppointment(context, widget.doctor); insertLiveCareScheduledAppointment(context, widget.doctor);
} else { } else {
insertAppointment(context, widget.doctor, widget.initialSlotDuration); insertAppointment(widget.doctor, widget.initialSlotDuration, invoiceNumber: invoiceNumber, lineItemNo: lineItemNo);
} }
}); });
} else { } else {
@ -320,16 +321,52 @@ class _BookConfirmState extends State<BookConfirm> {
}); });
} }
insertAppointment(context, DoctorList docObject, int initialSlotDuration) async { checkPatientHasDermaPackage(DoctorList doctor, int patientID) {
GifLoaderDialogUtils.showMyDialog(context);
widget.service
.checkPatientHasDermaPackage(
patientID!,
doctor.clinicID!,
doctor.projectID!,
doctor.doctorID!,
projectViewModel.isArabic ? 1 : 2,
context,
)
.then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1 && res['PatientPackageComponent']['Message'] == 'Success') {
PatientPackageComponent package = PatientPackageComponent.fromJson(res['PatientPackageComponent']);
ConfirmDialog dialog = ConfirmDialog(
context: context,
confirmMessage: "${TranslationBase.of(context).existingPackage} ${package.patientPackageComponents![0].procedureName}, ${TranslationBase.of(context).continueOrbookNew}",
okText: TranslationBase.of(context).proceedPackage,
cancelText: TranslationBase.of(context).newAppointment,
okFunction: () => {
ConfirmDialog.closeAlertDialog(context),
insertAppointment(widget.doctor, widget.initialSlotDuration, invoiceNumber: package.patientPackageComponents![0].invoiceNo, lineItemNo: package.patientPackageComponents![0].lineItemNo)
},
cancelFunction: () => {insertAppointment(widget.doctor, widget.initialSlotDuration)},
);
dialog.showAlertDialog(context);
} else {
insertAppointment(widget.doctor, widget.initialSlotDuration);
}
}).onError((error, stackTrace) {
insertAppointment(widget.doctor, widget.initialSlotDuration);
});
}
insertAppointment(DoctorList docObject, int initialSlotDuration, {int? invoiceNumber, int? lineItemNo}) async {
final timeSlot = DocAvailableAppointments.selectedAppoDateTime; final timeSlot = DocAvailableAppointments.selectedAppoDateTime;
String logs = await sharedPref.getString('selectedLogSlots'); String logs = await sharedPref.getString('selectedLogSlots');
List<dynamic> decodedLogs = json.decode(logs); List<dynamic> decodedLogs = json.decode(logs);
GifLoaderDialogUtils.showMyDialog(context, barrierDismissible: false); GifLoaderDialogUtils.showMyDialog(context, barrierDismissible: true);
AppoitmentAllHistoryResultList appo; AppoitmentAllHistoryResultList appo;
widget.service widget.service
// .insertAppointment(docObject.doctorID!, docObject.clinicID!, docObject.projectID!, widget.selectedTime, widget.selectedDate, initialSlotDuration, context, 'null', null, null, projectViewModel) // .insertAppointment(docObject.doctorID!, docObject.clinicID!, docObject.projectID!, widget.selectedTime, widget.selectedDate, initialSlotDuration, context, 'null', null, null, projectViewModel)
.insertAppointment(docObject.doctorID!, docObject.clinicID!, docObject.projectID!, widget.selectedTime, widget.selectedDate, initialSlotDuration, projectViewModel.isArabic ? 1 : 2, context, .insertAppointment(docObject.doctorID!, docObject.clinicID!, docObject.projectID!, widget.selectedTime, widget.selectedDate, initialSlotDuration, projectViewModel.isArabic ? 1 : 2, context,
null, null, null, projectViewModel) null, null, null, projectViewModel, invoiceNumber, lineItemNo)
.then((res) { .then((res) {
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess); AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess);
@ -366,14 +403,14 @@ class _BookConfirmState extends State<BookConfirm> {
confirmMessage: res['ErrorEndUserMessage'], confirmMessage: res['ErrorEndUserMessage'],
okText: TranslationBase.of(context).confirm, okText: TranslationBase.of(context).confirm,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => {cancelAppointment(docObject, appo, context)}, okFunction: () => {cancelAppointment(docObject, appo, context, invoiceNumber: invoiceNumber, lineItemNo: lineItemNo)},
cancelFunction: () => {}, cancelFunction: () => {},
); );
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
} }
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: err); AppToast.showErrorToast(message: err, localContext: context);
}); });
projectViewModel.analytics.appointment.book_appointment_click_confirm(appointment_type: 'regular', dateTime: timeSlot!, doctor: widget.doctor); projectViewModel.analytics.appointment.book_appointment_click_confirm(appointment_type: 'regular', dateTime: timeSlot!, doctor: widget.doctor);
} }

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

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

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

@ -54,7 +54,6 @@ Future<void> _showReminderDialog(BuildContext context, DateTime dateTime, String
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(0.0)), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(0.0)),
insetPadding: EdgeInsets.all(21), insetPadding: EdgeInsets.all(21),
child: ReminderDialog( child: ReminderDialog(
shouldPop: false,
onClick: (int i) async { onClick: (int i) async {
String text = ""; String text = "";
if (i == 0) { if (i == 0) {
@ -86,7 +85,6 @@ Future<void> _showReminderDialog(BuildContext context, DateTime dateTime, String
description: description ?? "At " + appoDateFormatted + " " + appoTimeFormatted, description: description ?? "At " + appoDateFormatted + " " + appoTimeFormatted,
scheduleDateTime: dateTime, scheduleDateTime: dateTime,
eventId: eventId); eventId: eventId);
Navigator.of(context).pop();
onSuccess(); onSuccess();
} }
} else { } else {
@ -102,9 +100,8 @@ Future<void> _showReminderDialog(BuildContext context, DateTime dateTime, String
class ReminderDialog extends StatefulWidget { class ReminderDialog extends StatefulWidget {
Function? onClick; Function? onClick;
bool? shouldPop;
ReminderDialog({this.onClick, this.shouldPop = true}); ReminderDialog({this.onClick});
@override @override
_ReminderDialogState createState() => _ReminderDialogState(); _ReminderDialogState createState() => _ReminderDialogState();
@ -250,9 +247,7 @@ class _ReminderDialogState extends State<ReminderDialog> {
TranslationBase.of(context).save, TranslationBase.of(context).save,
() { () {
widget.onClick!(i); widget.onClick!(i);
if(widget.shouldPop == true) {
Navigator.pop(context); Navigator.pop(context);
}
}, },
color: CustomColors.green, color: CustomColors.green,
), ),

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

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

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

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

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

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

@ -21,11 +21,35 @@ class ArrivedButtons {
"icon": 'lab_result.svg', "icon": 'lab_result.svg',
"caller": "labResult", "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, "title": TranslationBase.of(AppGlobal.context).askDoctor,
"subtitle": TranslationBase.of(AppGlobal.context).service, "subtitle": TranslationBase.of(AppGlobal.context).service,
"icon": 'ask_doctor.svg', "icon": 'ask_doctor.svg',
"caller": "askDoc", "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( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MADA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MADA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(
@ -137,7 +137,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "VISA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "VISA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(
@ -187,7 +187,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MASTERCARD" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "MASTERCARD" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(
@ -237,7 +237,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "TAMARA" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(
@ -287,7 +287,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "Installment" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "Installment" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(
@ -338,7 +338,7 @@ class _PaymentMethodState extends State<PaymentMethod> {
Container( Container(
width: 24, width: 24,
height: 24, height: 24,
decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "ApplePay" ? CustomColors.primaryColor : Colors.transparent, 100, Colors.grey, 0.5), decoration: containerColorRadiusBorderWidth(selectedPaymentMethod == "ApplePay" ? CustomColors.accentColor : Colors.transparent, 100, Colors.grey, 0.5),
), ),
mWidth(12), mWidth(12),
Container( Container(

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

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

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

@ -209,7 +209,7 @@ class _StatusFeedbackPageState extends State<StatusFeedbackPage> {
child: Container( child: Container(
margin: EdgeInsets.only(top: 12), margin: EdgeInsets.only(top: 12),
decoration: BoxDecoration( decoration: BoxDecoration(
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, 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,
borderRadius: BorderRadius.all( borderRadius: BorderRadius.all(
Radius.circular(10.0), Radius.circular(10.0),
), ),

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

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

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

@ -47,57 +47,43 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
super.initState(); super.initState();
} }
// initialiseHmgServices(bool isLogin) { initialiseHmgServices(bool isLogin) {
// hmgServices.clear(); hmgServices.clear();
//
// hmgServices.add(HmgServices(0, TranslationBase.of(context).book, TranslationBase.of(context).appointmentLabel, "assets/images/new/book appointment.svg", isLogin)); 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(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(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(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(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(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(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(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)); hmgServices.add(HmgServices(8, TranslationBase.of(context).connectTitle, TranslationBase.of(context).connectSubtitle, "assets/images/new/reach_us.svg", isLogin));
// } }
initialiseInPatientHmgServices(bool isLogin) { initialiseInPatientHmgServices(bool isLogin) {
hmgServices.clear(); 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(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(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(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(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(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(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(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(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)); 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
initServices(false);
if (projectViewModel.isPatientAdmitted || projectViewModel.patientHasAdmissionRequest) {
initialiseInPatientHmgServices(false);
} else {
initialiseHmgServices(false);
}
var appoCountProvider = Provider.of<ToDoCountProviderModel>(context); var appoCountProvider = Provider.of<ToDoCountProviderModel>(context);
// var userProvider = 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); List<Widget> myMedicalList = Utils.myMedicalListHomePage(projectViewModel: projectViewModel, context: context, count: appoCountProvider.count, isLogin: projectViewModel.isLogin);
@ -141,109 +127,109 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
// height: MediaQuery.of(context).size.width / 2.6, // height: MediaQuery.of(context).size.width / 2.6,
), ),
), ),
// projectViewModel.isLogin projectViewModel.isLogin
// ? Column( ? Column(
// children: [ children: [
// Padding( Padding(
// padding: projectViewModel.isArabic padding: projectViewModel.isArabic
// ? EdgeInsets.only( ? EdgeInsets.only(
// right: 20, right: 20,
// left: 8, left: 8,
// ) )
// : EdgeInsets.only( : EdgeInsets.only(
// left: 20, left: 20,
// right: 8, right: 8,
// ), ),
// child: Row( child: Row(
// children: [ children: [
// Expanded( Expanded(
// child: Text( child: Text(
// TranslationBase.of(context).myMedicalFile, TranslationBase.of(context).myMedicalFile,
// style: TextStyle( style: TextStyle(
// color: Colors.black, color: Colors.black,
// fontSize: 16, fontSize: 16,
// fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
// letterSpacing: -0.96, letterSpacing: -0.96,
// height: 19 / 16, height: 19 / 16,
// ), ),
// ), ),
// ), ),
// TextButton( TextButton(
// onPressed: () { onPressed: () {
// widget.onMedicalFileClick!(); widget.onMedicalFileClick!();
// // navigateTo(context, MedicalProfilePageNew()); // navigateTo(context, MedicalProfilePageNew());
// }, },
// child: Text( child: Text(
// TranslationBase.of(context).viewMedicalFile, TranslationBase.of(context).viewMedicalFile,
// style: TextStyle( style: TextStyle(
// color: CustomColors.primaryColor, color: CustomColors.accentColor,
// fontSize: 12, fontSize: 12,
// letterSpacing: -0.72, letterSpacing: -0.72,
// height: 23 / 12, height: 23 / 12,
// ), ),
// ), ),
// ), ),
// ], ],
// ), ),
// ), ),
// mHeight(4), mHeight(4),
// Container( Container(
// width: double.infinity, width: double.infinity,
// height: MediaQuery.of(context).size.width * 0.26, height: MediaQuery.of(context).size.width * 0.26,
// child: ListView.separated( child: ListView.separated(
// itemCount: myMedicalList.length, itemCount: myMedicalList.length,
// padding: EdgeInsets.zero, padding: EdgeInsets.zero,
// scrollDirection: Axis.horizontal, scrollDirection: Axis.horizontal,
// physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
// itemBuilder: (context, index) { itemBuilder: (context, index) {
// return projectViewModel.isArabic return projectViewModel.isArabic
// ? Container( ? Container(
// child: myMedicalList[index], child: myMedicalList[index],
// width: MediaQuery.of(context).size.width * 0.26, width: MediaQuery.of(context).size.width * 0.26,
// height: 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), margin: EdgeInsets.only(left: index == 4 ? 20 : 0, right: index == 0 ? 20 : 0),
// ) )
// : Container( : Container(
// child: myMedicalList[index], child: myMedicalList[index],
// width: MediaQuery.of(context).size.width * 0.26, width: MediaQuery.of(context).size.width * 0.26,
// height: 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), margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == 4 ? 20 : 0),
// ); );
// }, },
// separatorBuilder: (BuildContext context, int index) { separatorBuilder: (BuildContext context, int index) {
// return mWidth(12); return mWidth(12);
// }, },
// ), ),
// ), ),
// ], ],
// ) )
// : Container(), : Container(),
mHeight(16), mHeight(16),
// Column( Column(
// children: [ children: [
// Divider( Divider(
// height: 1, height: 1,
// color: Color(0xFFC7C7C7), color: Color(0xFFC7C7C7),
// ), ),
// Container( Container(
// width: double.infinity, width: double.infinity,
// height: MediaQuery.of(context).size.width * 0.3, height: MediaQuery.of(context).size.width * 0.3,
// padding: EdgeInsets.only(left: 20, right: 20, top: 14, bottom: 14), padding: EdgeInsets.only(left: 20, right: 20, top: 14, bottom: 14),
// color: Colors.white, color: Colors.white,
// child: Row( child: Row(
// children: [ children: [
// offersButton(), offersButton(),
// mWidth(10), mWidth(10),
// hmgButton(), hmgButton(),
// ], ],
// ), ),
// ), ),
// Divider( Divider(
// height: 1, height: 1,
// color: Color(0xFFC7C7C7), color: Color(0xFFC7C7C7),
// ), ),
// ], ],
// ), ),
mHeight(12), mHeight(12),
Column( Column(
children: [ children: [
@ -261,7 +247,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
children: [ children: [
Expanded( Expanded(
child: Text( child: Text(
TranslationBase.of(context).allServices, TranslationBase.of(context).hMGService,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
fontSize: 16, fontSize: 16,
@ -271,29 +257,28 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
), ),
), ),
), ),
// TextButton( TextButton(
// onPressed: () { onPressed: () {
// // AppSharedPreferences().getAll().then((value){ // AppSharedPreferences().getAll().then((value){
// // debugPrint("ALL SHARED PREFERENCES!!!!!"); // debugPrint("ALL SHARED PREFERENCES!!!!!");
// // debugPrint(jsonEncode(value)); // debugPrint(jsonEncode(value));
// // }); // });
// Navigator.push(context, FadePage(page: AllHabibMedicalSevicePage2())); Navigator.push(context, FadePage(page: AllHabibMedicalSevicePage2()));
// projectViewModel.analytics.hmgServices.viewAll(); projectViewModel.analytics.hmgServices.viewAll();
// }, },
// child: Text( child: Text(
// TranslationBase.of(context).viewAllServices, TranslationBase.of(context).viewAllServices,
// style: TextStyle( style: TextStyle(
// color: CustomColors.accentColor, color: CustomColors.accentColor,
// fontSize: 12, fontSize: 12,
// letterSpacing: -0.72, letterSpacing: -0.72,
// height: 23 / 12, height: 23 / 12,
// ), ),
// ), ),
// ), ),
], ],
), ),
), ),
mHeight(12),
projectViewModel.isPatientAdmitted || projectViewModel.patientHasAdmissionRequest projectViewModel.isPatientAdmitted || projectViewModel.patientHasAdmissionRequest
? Column( ? Column(
children: [ children: [
@ -390,7 +375,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
// color: Color(0xFF2B353E), // color: Color(0xFF2B353E),
decoration: containerRadius(CustomColors.primaryColor, 20), decoration: containerRadius(CustomColors.accentColor, 20),
), ),
Container( Container(
width: double.infinity, width: double.infinity,
@ -637,7 +622,7 @@ class _HomePageFragment2State extends State<HomePageFragment2> {
return Container( return Container(
width: MediaQuery.of(context).size.width * 0.06, width: MediaQuery.of(context).size.width * 0.06,
height: MediaQuery.of(context).size.width * 0.06, height: MediaQuery.of(context).size.width * 0.06,
decoration: containerRadius(CustomColors.primaryColor, 100), decoration: containerRadius(CustomColors.accentColor, 100),
padding: EdgeInsets.all(4), padding: EdgeInsets.all(4),
child: SvgPicture.asset(icon), child: SvgPicture.asset(icon),
); );

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

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

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

@ -5,7 +5,6 @@ import 'package:diplomaticquarterapp/analytics/google-analytics.dart';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/size_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/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/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/hmg_services.dart'; import 'package:diplomaticquarterapp/models/hmg_services.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/%E2%80%8B%20health_calculators.dart';
@ -29,7 +28,6 @@ import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.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/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/pages/paymentService/payment_service.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
@ -41,16 +39,9 @@ import 'package:diplomaticquarterapp/widgets/dialogs/covid_consent_dialog.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import '../../../locator.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'; import '../landing_page_pharmcy.dart';
class ServicesView extends StatelessWidget { class ServicesView extends StatelessWidget {
@ -58,18 +49,14 @@ class ServicesView extends StatelessWidget {
int index; int index;
AuthenticatedUser authUser = new AuthenticatedUser(); AuthenticatedUser authUser = new AuthenticatedUser();
AuthProvider authProvider = new AuthProvider(); AuthProvider authProvider = new AuthProvider();
PharmacyModuleViewModel pharmacyModuleViewModel = PharmacyModuleViewModel pharmacyModuleViewModel = locator<PharmacyModuleViewModel>();
locator<PharmacyModuleViewModel>();
late LocationUtils locationUtils; late LocationUtils locationUtils;
bool isHomePage; bool isHomePage;
ProjectViewModel? projectViewModel;
ServicesView(this.hmgServices, this.index, this.isHomePage); ServicesView(this.hmgServices, this.index, this.isHomePage);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
return InkWell( return InkWell(
onTap: () { onTap: () {
if (isHomePage) { if (isHomePage) {
@ -81,9 +68,7 @@ class ServicesView extends StatelessWidget {
child: Container( child: Container(
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
decoration: containerRadiusWithGradientServices(20, decoration: containerRadiusWithGradientServices(20, lightColor: CustomColors.lightGreyColor, darkColor: CustomColors.darkGreyColor),
lightColor: CustomColors.lightGreyColor,
darkColor: CustomColors.darkGreyColor),
child: Stack( child: Stack(
children: [ children: [
Container( Container(
@ -128,11 +113,7 @@ class ServicesView extends StatelessWidget {
Container( Container(
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
padding: EdgeInsets.only( padding: EdgeInsets.only(left: SizeConfig.widthMultiplier! * 3, right: SizeConfig.widthMultiplier! * 3, top: SizeConfig.widthMultiplier! * 3, bottom: SizeConfig.widthMultiplier! * 2),
left: SizeConfig.widthMultiplier! * 3,
right: SizeConfig.widthMultiplier! * 3,
top: SizeConfig.widthMultiplier! * 3,
bottom: SizeConfig.widthMultiplier! * 2),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -140,18 +121,12 @@ class ServicesView extends StatelessWidget {
hmgServices.action == (isHomePage ? 5 : 8) hmgServices.action == (isHomePage ? 5 : 8)
? Image.asset( ? Image.asset(
hmgServices.icon, hmgServices.icon,
height: index == 0 height: index == 0 ? MediaQuery.of(context).size.width / 18 : MediaQuery.of(context).size.width / 18,
? MediaQuery.of(context).size.width / 18
: MediaQuery.of(context).size.width / 18,
) )
: Container( : Container(
// color: Colors.yellow, // color: Colors.yellow,
width: index == 4 width: index == 4 ? MediaQuery.of(context).size.width / 12 : 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,
: MediaQuery.of(context).size.width / 12,
height: index == 4
? MediaQuery.of(context).size.width / 10
: MediaQuery.of(context).size.width / 12,
child: SvgPicture.asset( child: SvgPicture.asset(
hmgServices.icon, hmgServices.icon,
// width: MediaQuery.of(context).size.width / 12, // width: MediaQuery.of(context).size.width / 12,
@ -204,9 +179,7 @@ class ServicesView extends StatelessWidget {
locator<GAnalytics>().hmgServices.logServiceName('home health care'); locator<GAnalytics>().hmgServices.logServiceName('home health care');
} else if (hmgServices.action == 4) { } else if (hmgServices.action == 4) {
Navigator.push(context, FadePage(page: CMCPage())); Navigator.push(context, FadePage(page: CMCPage()));
locator<GAnalytics>() locator<GAnalytics>().hmgServices.logServiceName('comprehensive medical checkup');
.hmgServices
.logServiceName('comprehensive medical checkup');
} else if (hmgServices.action == 5) { } else if (hmgServices.action == 5) {
Navigator.push(context, FadePage(page: PaymentService())); Navigator.push(context, FadePage(page: PaymentService()));
locator<GAnalytics>().hmgServices.logServiceName('online payments'); locator<GAnalytics>().hmgServices.logServiceName('online payments');
@ -222,44 +195,6 @@ class ServicesView extends StatelessWidget {
} else if (hmgServices.action == 23) { } else if (hmgServices.action == 23) {
Navigator.push(context, FadePage(page: InPatientServicesHome())); Navigator.push(context, FadePage(page: InPatientServicesHome()));
locator<GAnalytics>().hmgServices.logServiceName('find us reach us'); 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');
} }
} }
@ -277,9 +212,7 @@ class ServicesView extends StatelessWidget {
locator<GAnalytics>().hmgServices.logServiceName('home health care'); locator<GAnalytics>().hmgServices.logServiceName('home health care');
} else if (hmgServices.action == 4) { } else if (hmgServices.action == 4) {
Navigator.push(context, FadePage(page: CMCPage())); Navigator.push(context, FadePage(page: CMCPage()));
locator<GAnalytics>() locator<GAnalytics>().hmgServices.logServiceName('comprehensive medical checkup');
.hmgServices
.logServiceName('comprehensive medical checkup');
} else if (hmgServices.action == 5) { } else if (hmgServices.action == 5) {
// getPharmacyToken(context); // getPharmacyToken(context);
Uri uri = Uri.parse(PHARMACY_REDIRECT_URL); Uri uri = Uri.parse(PHARMACY_REDIRECT_URL);
@ -335,8 +268,7 @@ class ServicesView extends StatelessWidget {
MaterialPageRoute( MaterialPageRoute(
builder: (BuildContext context) => MyWebView( builder: (BuildContext context) => MyWebView(
title: "HMG News", title: "HMG News",
selectedUrl: selectedUrl:"https://twitter.com/hmg" //"https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
"https://twitter.com/hmg" //"https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
), ),
), ),
); );
@ -344,9 +276,6 @@ class ServicesView extends StatelessWidget {
} else if (hmgServices.action == 22) { } else if (hmgServices.action == 22) {
Navigator.push(context, FadePage(page: ContactUsPage())); Navigator.push(context, FadePage(page: ContactUsPage()));
locator<GAnalytics>().hmgServices.logServiceName('find us reach us'); 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) { // if (hmgServices.action == 10) {
@ -480,8 +409,7 @@ class ServicesView extends StatelessWidget {
title: TranslationBase.of(context).covidConsentHeader, title: TranslationBase.of(context).covidConsentHeader,
message: TranslationBase.of(context).covidConsent, message: TranslationBase.of(context).covidConsent,
onTap: () async { onTap: () async {
Navigator.push( Navigator.push(context, FadePage(page: CovidDrivethruLocation()));
context, FadePage(page: CovidDrivethruLocation()));
}, },
)); ));
} else { } else {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -335,7 +335,7 @@ class DoctorsListService extends BaseService {
} }
Future<Map> insertAppointment(int docID, int clinicID, int projectID, String selectedTime, String selectedDate, int initialSlotDuration, int languageID, BuildContext context, Future<Map> insertAppointment(int docID, int clinicID, int projectID, String selectedTime, String selectedDate, int initialSlotDuration, int languageID, BuildContext context,
[String? procedureID, num? testTypeEnum, num? testProcedureEnum, ProjectViewModel? projectViewModel]) async { [String? procedureID, num? testTypeEnum, num? testProcedureEnum, ProjectViewModel? projectViewModel, int? invoiceNumber, int? lineItemNo]) async {
Map<String, dynamic> request; Map<String, dynamic> request;
if (await this.sharedPref.getObject(USER_PROFILE) != null) { if (await this.sharedPref.getObject(USER_PROFILE) != null) {
@ -374,7 +374,10 @@ class DoctorsListService extends BaseService {
"DeviceTypeID": req.DeviceTypeID, "DeviceTypeID": req.DeviceTypeID,
"PatientID": authUser.patientID, "PatientID": authUser.patientID,
"PatientTypeID": authUser.patientType, "PatientTypeID": authUser.patientType,
"PatientType": authUser.patientType "PatientType": authUser.patientType,
"InvoiceNo": invoiceNumber,
"LineItemNo": lineItemNo,
// "TokenID":"@dm!n"
}; };
if (clinicID == 253) { if (clinicID == 253) {
@ -509,6 +512,26 @@ class DoctorsListService extends BaseService {
return Future.value(localRes); return Future.value(localRes);
} }
Future<Map> checkPatientHasDermaPackage(int patientID, int clinicID, int projectID, int doctorID, int languageID, BuildContext context) async {
Map<String, dynamic> request;
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
var data = AuthenticatedUser.fromJson(await this.sharedPref.getObject(USER_PROFILE));
authUser = data;
}
request = {"PatientID": patientID, "ClinicID": clinicID, "ProjectID": projectID, "LanguageID": languageID};
//request = { "PatientID":4768732, "ClinicID":1, "ProjectID": 15, "LanguageID": languageID, "TokenID":"@dm!n" };
dynamic localRes;
await baseAppClient.post(CHECK_PATIENT_DERMA_PACKAGE, onSuccess: (response, statusCode) async {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
return Future.value(localRes);
}
Future<Map> getLiveCareAppointmentPatientShare(String appoID, int clinicID, int projectID, int languageID, BuildContext context) async { Future<Map> getLiveCareAppointmentPatientShare(String appoID, int clinicID, int projectID, int languageID, BuildContext context) async {
Map<String, dynamic> request; Map<String, dynamic> request;

@ -52,7 +52,7 @@ class ClinicListService extends BaseService {
Future<Map> getProjectsList(int languageID, context) async { Future<Map> getProjectsList(int languageID, context) async {
Map<String, dynamic> request = {}; Map<String, dynamic> request = {};
request = {"LanguageID": languageID}; // request = {"LanguageID": languageID};
dynamic localRes; dynamic localRes;

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

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

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

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

@ -76,7 +76,7 @@ class AppSharedPreferences {
final SharedPreferences prefs = await _prefs; final SharedPreferences prefs = await _prefs;
await prefs.reload(); await prefs.reload();
String value = prefs.getString(key).toString(); String value = prefs.getString(key).toString();
return value == null ? defaultVal : value; return (value == null ) || (value =="null") ? defaultVal : value;
} }
/// Get List of String [key] the key was saved /// Get List of String [key] the key was saved

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

File diff suppressed because it is too large Load Diff

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

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

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

@ -1,12 +1,8 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/services/permission/permission_service.dart'; import 'package:diplomaticquarterapp/services/permission/permission_service.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../uitl/translations_delegate_base.dart';
/// FloatingButton widget /// FloatingButton widget
/// [onTap] button function /// [onTap] button function
/// [elevation] color elevation value /// [elevation] color elevation value
@ -74,42 +70,27 @@ class _FloatingButtonState extends State<FloatingButton>
child: AnimatedContainer( child: AnimatedContainer(
duration: Duration(milliseconds: 150), duration: Duration(milliseconds: 150),
margin: EdgeInsets.only(bottom: 4), margin: EdgeInsets.only(bottom: 4),
child: Container(
width: 100,
height: 100,
decoration: BoxDecoration( decoration: BoxDecoration(
// borderRadius: BorderRadius.all(Radius.circular(70.0)), borderRadius: BorderRadius.all(Radius.circular(70.0)),
color: appColor, color: Theme.of(context).primaryColor,
shape: BoxShape.circle, boxShadow: [
BoxShadow(
), color: Color.fromRGBO(
child: Padding( 120, 71, 80, widget.elevation ? 0.28 : 0.0),
padding: const EdgeInsets.all(18), spreadRadius:
child: Column( _buttonSize < 1.0 ? -(1 - _buttonSize) * 50 : 0.0,
mainAxisSize: MainAxisSize.min, offset: Offset(0, 7.0),
mainAxisAlignment: MainAxisAlignment.center, blurRadius: 70.0)
children: [ ]),
SvgPicture.asset( child: Image.asset(
"assets/images/new/book appointment.svg", projectViewModel.isArabic
width: 50, ? 'assets/images/book_appointment_ar.png'
height: 30, : 'assets/images/appointment_booking_en.png',
colorFilter: ColorFilter.mode(Colors.white, BlendMode.srcIn) // fit: BoxFit.cover,
), width: 90,
Text( height: 90,
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,7 +1,6 @@
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart'; import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/theme/colors.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/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -97,7 +96,7 @@ class DoctorCard extends StatelessWidget {
: isLiveCareAppointment != null && isLiveCareAppointment == true : isLiveCareAppointment != null && isLiveCareAppointment == true
? Color(0xff2E303A) ? Color(0xff2E303A)
: isInOutPatient != null && isInOutPatient == false : isInOutPatient != null && isInOutPatient == false
? appColor ? Color(0xffD02127)
: Color(0xffa9a089), : Color(0xffa9a089),
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: projectViewModel!.isArabic ? Radius.circular(0) : Radius.circular(10), topLeft: projectViewModel!.isArabic ? Radius.circular(0) : Radius.circular(10),
@ -211,15 +210,15 @@ class DoctorCard extends StatelessWidget {
ratingWidget: RatingWidget( ratingWidget: RatingWidget(
full: Icon( full: Icon(
Icons.star, Icons.star,
color: CustomColors.primaryColor, color: CustomColors.accentColor,
), ),
half: Icon( half: Icon(
Icons.star_half, Icons.star_half,
color: CustomColors.primaryColor, color: CustomColors.accentColor,
), ),
empty: Icon( empty: Icon(
Icons.star_border, Icons.star_border,
color: CustomColors.primaryColor, color: CustomColors.accentColor,
), ),
), ),
unratedColor: Colors.grey[500], unratedColor: Colors.grey[500],

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

@ -73,7 +73,9 @@ class Mdialog extends StatelessWidget {
Text( Text(
// title != null ? title : TranslationBase.of(context).confirm, // title != null ? title : TranslationBase.of(context).confirm,
title!, title!,
style: TextStyle( style: TextStyle(
fontSize: 24, fontSize: 24,
letterSpacing: -0.94, letterSpacing: -0.94,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
@ -82,6 +84,7 @@ class Mdialog extends StatelessWidget {
Text( Text(
// this.confirmMessage, // this.confirmMessage,
description!, description!,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
letterSpacing: -0.48, letterSpacing: -0.48,
@ -101,7 +104,7 @@ class Mdialog extends StatelessWidget {
child: Container( child: Container(
decoration: containerRadius(CustomColors.accentColor, 12), decoration: containerRadius(CustomColors.accentColor, 12),
padding: EdgeInsets.only(top: 8,bottom: 8), padding: EdgeInsets.only(top: 8,bottom: 8),
child: Center(child: Texts(cancelText, variant: "caption3", color: CustomColors.white,)), child: Center(child: Texts(cancelText, textAlign: TextAlign.center, variant: "caption3", color: CustomColors.white,)),
), ),
), ),
), ),
@ -115,6 +118,7 @@ class Mdialog extends StatelessWidget {
child: Center( child: Center(
child: Texts( child: Texts(
okText, okText,
textAlign: TextAlign.center,
color: Colors.white, color: Colors.white,
variant: "caption3", variant: "caption3",
), ),

@ -105,7 +105,9 @@ class _AppDrawerState extends State<AppDrawer> {
child: ListView( child: ListView(
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
children: <Widget>[ children: <Widget>[
InkWell( Container(
height: SizeConfig.screenHeight! * .30,
child: InkWell(
child: Padding( child: Padding(
padding: const EdgeInsets.all(14.0), padding: const EdgeInsets.all(14.0),
child: Column( child: Column(
@ -116,9 +118,8 @@ class _AppDrawerState extends State<AppDrawer> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Image.asset( SvgPicture.asset(
'assets/images/new/ic_logo.png', "assets/images/new/logo.svg",
fit: BoxFit.fitWidth,
height: 60, height: 60,
width: 60, width: 60,
), ),
@ -131,9 +132,10 @@ class _AppDrawerState extends State<AppDrawer> {
], ],
), ),
), ),
SizedBox( mHeight(12),
Container(
width: double.infinity, width: double.infinity,
// margin: EdgeInsets.only(top: 12), margin: EdgeInsets.only(top: 12),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
@ -153,6 +155,10 @@ class _AppDrawerState extends State<AppDrawer> {
height: 1, height: 1,
), ),
), ),
mHeight(20.0),
(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(),
], ],
), ),
), ),
@ -160,16 +166,17 @@ class _AppDrawerState extends State<AppDrawer> {
), ),
), ),
), ),
),
Container( Container(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
(user != null && projectProvider!.isLogin) (user != null && projectProvider!.isLogin)
? SizedBox.shrink() ? Container()
: InkWell( : InkWell(
child: DrawerItem( child: DrawerItem(
TranslationBase.of(context).arabicChange, TranslationBase.of(context).arabicChange,
Image.asset('assets/images/lang.png'), Padding(child: Image.asset('assets/images/lang.png'), padding: EdgeInsets.all(3)),
isImageIcon: true, isImageIcon: true,
bottomLine: false, bottomLine: false,
projectProvider: projectProvider, projectProvider: projectProvider,
@ -192,6 +199,139 @@ class _AppDrawerState extends State<AppDrawer> {
? Column( ? Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ 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( InkWell(
child: DrawerItem(TranslationBase.of(context).arabicChange, 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)), Padding(child: Image.asset('assets/images/lang.png'), padding: EdgeInsets.only(left: 3, right: 3, top: 3, bottom: projectProvider!.isArabic ? 3 : 0)),
@ -228,7 +368,73 @@ class _AppDrawerState extends State<AppDrawer> {
// readQRCode(); // 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( InkWell(
child: DrawerItem(TranslationBase.of(context).logout, SvgPicture.asset("assets/images/new/logout.svg"), child: DrawerItem(TranslationBase.of(context).logout, SvgPicture.asset("assets/images/new/logout.svg"),
isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, projectProvider: projectProvider), isImageIcon: true, bottomLine: false, letterSpacing: -0.84, fontSize: 14, projectProvider: projectProvider),
@ -245,21 +451,21 @@ class _AppDrawerState extends State<AppDrawer> {
login(); login();
}, },
), ),
// InkWell( InkWell(
// child: DrawerItem(TranslationBase.of(context).privacyPolicy, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false), child: DrawerItem(TranslationBase.of(context).privacyPolicy, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
// onTap: () { onTap: () {
// if (projectProvider!.isArabic) if (projectProvider!.isArabic)
// launch("https://hmg.com/ar/Pages/Privacy.aspx"); launch("https://hmg.com/ar/Pages/Privacy.aspx");
// else else
// launch("https://hmg.com/en/Pages/Privacy.aspx"); launch("https://hmg.com/en/Pages/Privacy.aspx");
// }, },
// ), ),
// InkWell( InkWell(
// child: DrawerItem(TranslationBase.of(context).termsConditions, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false), child: DrawerItem(TranslationBase.of(context).termsConditions, Icons.web, letterSpacing: -0.84, fontSize: 14, bottomLine: false),
// onTap: () { onTap: () {
// Navigator.of(context).push(FadePage(page: UserAgreementPage())); Navigator.of(context).push(FadePage(page: UserAgreementPage()));
// }, },
// ) )
], ],
)) ))
], ],

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

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

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

@ -17,7 +17,6 @@ import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../splashPage.dart'; import '../../splashPage.dart';
import '../../theme/theme_value.dart';
class NotAutPage extends StatefulWidget { class NotAutPage extends StatefulWidget {
final String title; final String title;
@ -115,7 +114,7 @@ class _NotAutPageState extends State<NotAutPage> {
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48), style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.48),
), ),
style: TextButton.styleFrom( style: TextButton.styleFrom(
backgroundColor: appColor, backgroundColor: Color(0xffD02127),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6), borderRadius: BorderRadius.circular(6),
), ),
@ -335,8 +334,23 @@ class _NotAutPageState extends State<NotAutPage> {
if (data != null) { if (data != null) {
Navigator.of(context).pushNamed(CONFIRM_LOGIN); Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else { } else {
Navigator.of(context).pushNamed(LOGIN_TYPE); 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,
);
});
} }
} }
} }

Loading…
Cancel
Save