diff --git a/android/gradle.properties b/android/gradle.properties
index 38c8d454..a5965ab8 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
-android.enableJetifier=true
+android.enableJetifier=true
\ No newline at end of file
diff --git a/assets/images/new-design/ic_schedule.svg b/assets/images/new-design/ic_schedule.svg
new file mode 100644
index 00000000..c6fe44a1
--- /dev/null
+++ b/assets/images/new-design/ic_schedule.svg
@@ -0,0 +1,12 @@
+
diff --git a/assets/images/pharmacy/offers_banner.png b/assets/images/pharmacy/offers_banner.png
new file mode 100644
index 00000000..6eab63fb
Binary files /dev/null and b/assets/images/pharmacy/offers_banner.png differ
diff --git a/assets/images/pharmacy/offers_banner_ar.png b/assets/images/pharmacy/offers_banner_ar.png
new file mode 100644
index 00000000..d987d3c6
Binary files /dev/null and b/assets/images/pharmacy/offers_banner_ar.png differ
diff --git a/assets/images/pharmacy_module/offers_banner.png b/assets/images/pharmacy_module/offers_banner.png
new file mode 100644
index 00000000..6eab63fb
Binary files /dev/null and b/assets/images/pharmacy_module/offers_banner.png differ
diff --git a/assets/images/pharmacy_module/offers_banner_ar.png b/assets/images/pharmacy_module/offers_banner_ar.png
new file mode 100644
index 00000000..d987d3c6
Binary files /dev/null and b/assets/images/pharmacy_module/offers_banner_ar.png differ
diff --git a/assets/images/svg/tamara.svg b/assets/images/svg/tamara.svg
new file mode 100644
index 00000000..acc21074
--- /dev/null
+++ b/assets/images/svg/tamara.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/lib/config/config.dart b/lib/config/config.dart
index bbbacaa4..6f05a414 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -14,8 +14,9 @@ const PACKAGES_PRODUCTS = '/api/products';
const PACKAGES_CUSTOMER = '/api/customers';
const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items';
const PACKAGES_ORDERS = '/api/orders';
-const BASE_URL = 'https://uat.hmgwebservices.com/';
-// const BASE_URL = 'https://hmgwebservices.com/';
+const PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
+// const BASE_URL = 'https://uat.hmgwebservices.com/';
+const BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs
// const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
@@ -297,8 +298,8 @@ const UPLOAD_INSURANCE_CARD = 'Services/Patients.svc/REST/PatientER_PatientInfoF
const GET_VACCINES = "Services/Patients.svc/REST/GetDoneVaccinesByPatientID";
const GET_VACCINES_EMAIL = "Services/Notifications.svc/REST/SendVaccinesEmail";
-// const GET_PAtIENTS_INSURANCE_APPROVALS = "Services/Patients.svc/REST/GetApprovalStatus_DWH";
-const GET_PAtIENTS_INSURANCE_APPROVALS = "Services/Patients.svc/REST/GetApprovalStatus";
+const GET_PAtIENTS_INSURANCE_APPROVALS = "Services/Patients.svc/REST/GetApprovalStatus_Async";
+// const GET_PAtIENTS_INSURANCE_APPROVALS = "Services/Patients.svc/REST/GetApprovalStatus";
const SEARCH_BOT = 'HabibiChatBotApi/BotInterface/GetVoiceCommandResponse';
const GET_VACCINATIONS_ITEMS = "/Services/ERP.svc/REST/GET_VACCINATIONS_ITEMS";
@@ -457,6 +458,11 @@ const ADD_RRT_ORDER_RC = "rc/api/rrt/add";
const GET_ALL_RRT_ORDERS_RC = "rc/api/rrt/list";
const UPDATE_RRT_ORDER_RC = 'rc/api/rrt/update';
+// PRESCRIPTION RC SERVICES
+const ADD_PRESCRIPTION_ORDER_RC = "rc/api/prescription/add";
+const GET_ALL_PRESCRIPTION_ORDERS_RC = "rc/api/prescription/list";
+const UPDATE_PRESCRIPTION_ORDER_RC = 'rc/api/prescription/update';
+
//Pharmacy wishlist
const GET_WISHLIST = "shopping_cart_items/";
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index f73e5fe2..aa786e77 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -396,8 +396,9 @@ const Map localizedValues = {
"PaymentOnline": {"en": "Service", "ar": "الالكتروني"},
"OnlineCheckIn": {"en": "Online Check-In", "ar": "مدفوعات معلقة"},
"MyBalances": {"en": "My Balances", "ar": "رصيدي"},
+ "MyWallet": {"en": "My Wallet", "ar": "محفظتى"},
"BalanceAmount": {"en": "Wallet Amount", "ar": "مبلغ المحفظة"},
- "TotalBalance": {"en": "Total Amount", "ar": "المبلغ الإجمالي"},
+ "TotalBalance": {"en": "Total Balance", "ar": "إجمالي الرصيد"},
"CreateAdvancedPayment": {"en": "Recharge Wallet", "ar": "شحن المحفظة"},
"AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"},
"AdvancePaymentLabel": {"en": "You can create and add an Advanced Payment for your account or other accounts.", "ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"},
@@ -421,7 +422,7 @@ const Map localizedValues = {
"country": {"en": "Country", "ar": "دولة"},
"Ok": {"en": "Ok", "ar": "موافق"},
"averageWaitingTime": {"en": "Average Waiting Time:", "ar": "متوسط وقت الانتظار:"},
- "waitingTime": {"en": "Waiting Time:", "ar": "وقت الانتظار:"},
+ "waitingTime": {"en": "Expected waiting time:", "ar": "وقت الانتظار المتوقع:"},
"WaterConsumedInWeek": {"en": "Water consumed in a week", "ar": "معدل شرب الماء خلال الاسبوع"},
"WaterConsumedInMonth": {"en": "Water consumed in a month", "ar": "معدل شرب الماء خلال الشهر"},
"TheVerificationCodeExpiresIn": {"en": "The Verification Code Expires in", "ar": "تنتهي صلاحية رمز التحقق في"},
@@ -1146,7 +1147,7 @@ const Map localizedValues = {
"ar": "تحويل مستوى السكر في الدم من مليمول/ لتر (مقياس المملكة المتحدة) الى ملغ/ ديسيلتر (مقياس الولايات المتحدة) والعكس"
},
"convertCholesterolStatement": {
- "en": "Convert blood cholesterol from\n mmol/l to mg/dlt and vice versa.",
+ "en": "Convert blood cholesterol from mmol/l to mg/dlt and vice versa.",
"ar": "تحويل مستوى الكولسترول في الدم من مليمول/ لتر (مقياس المملكة المتحدة) الى ملغ/ ديسيلتر (مقياس الولايات المتحدة) والعكس"
},
"triglyceridesConvertStatement": {
@@ -1496,7 +1497,7 @@ const Map localizedValues = {
"RRTRequestSuccess": {"en": "Request has been sent successfully, you will be contacted soon.", "ar": "تم إرسال الطلب بنجاح ، وسيتم الاتصال بك باسرع وقت ممكن"},
"rateDoctorAppo": {"en": "Rate DR & Appointment", "ar": "تقييم الطبيب والموعد"},
"invoice": {"en": "Invoice", "ar": "الفاتورة"},
- "requestedDate": {"en": "Reqeusted Date", "ar": "التاريخ "},
+ "requestedDate": {"en": "Req Date", "ar": "التاريخ "},
"callDuration": {"en": "Call Duration", "ar": "مدة الاتصال"},
"alreadyRated": {"en": "This appointment has been previously evaluated.", "ar": "تم تقييم هذا الموعد مسبقاً"},
"insuranceCompany": {"en": "Insurance Company", "ar": "شركة تأمين"},
@@ -1598,11 +1599,16 @@ const Map localizedValues = {
"ios-instructions-2": { "en": "Make sure that your Apple Watch is connected with the Watch & Health Apps.", "ar": "تأكد من اتصال Apple Watch بتطبيقات Watch & Health." },
"ios-instructions-3": { "en": "Make sure that data like heart rate, steps, distance etc. are being shown on your health app.", "ar": "تأكد من عرض بيانات مثل معدل ضربات القلب والخطوات والمسافة وما إلى ذلك على تطبيق صحتك." },
"supportedWatches": { "en": "Supported SmartWatches", "ar": "الساعات الذكية المدعومة" },
- "watchInstructions": { "en": "Watch Instructions:", "ar": "تعليمات الساعة:" },
+ "watchInstructions": { "en": "View watch instructions", "ar": "عرض تعليمات الساعة" },
"monthlyTab": {"en": "Monthly", "ar": "شهري"},
"moreSupportedWatches": {"en": "More Supported Smartwatches...", "ar": "المزيد من الساعات الذكية المدعومة..."},
"android-instructions-1": { "en": "Make sure that you have installed 'WearOS' & 'Google Fit' apps from Google PlayStore.", "ar": "تأكد من تثبيت تطبيقات 'WearOS' و 'Google Fit' من متجر Google PlayStore." },
"android-instructions-2": { "en": "Make sure that you have installed your watch related apps from Google PlayStore.", "ar": "تأكد من أنك قمت بتثبيت التطبيقات المتعلقة بالساعات من Google PlayStore." },
"android-instructions-3": { "en": "Make sure that your Smart Watch is connected with the WearOS app & your watch apps.", "ar": "تأكد من أن ساعتك الذكية متصلة بتطبيق WearOS وتطبيقات ساعتك." },
"android-instructions-4": { "en": "Make sure that your smart watch apps are linked/associated with Google Fit App.", "ar": "تأكد من أن تطبيقات ساعتك الذكية مرتبطة / مرتبطة بتطبيق Google Fit." }, "android-instructions-5": { "en": "Make sure that data like heart rate, steps, distance etc. are being shown on your watch app & on Google Fit app & both are in sync.", "ar": "تأكد من عرض بيانات مثل معدل ضربات القلب والخطوات والمسافة وما إلى ذلك على تطبيق الساعة وعلى تطبيق Google Fit وكلاهما في حالة مزامنة." },
+ "onlineTag": {"en": "Online", "ar": "متصل"},
+ "offlineTag": {"en": "Offline", "ar": "غير متصل"},
+ "viewDocList": {"en": "View List of Doctors", "ar": "عرض قائمة الأطباء"},
+ "bodyFatTitle": {"en": "Body Fat", "ar": " الدهون في الجسم"},
+ "cholesTitle": {"en": "Blood Cholesterol", "ar": " الكولسترول في الدم"},
};
diff --git a/lib/core/model/packages_offers/responses/tamara_payment_option.dart b/lib/core/model/packages_offers/responses/tamara_payment_option.dart
new file mode 100644
index 00000000..ad79f5f3
--- /dev/null
+++ b/lib/core/model/packages_offers/responses/tamara_payment_option.dart
@@ -0,0 +1,35 @@
+class TamaraPaymentOption {
+ String name;
+ double minLimit;
+ double maxLimit;
+ int id;
+
+ String fullName() => '$name Months';
+
+ TamaraPaymentOption({
+ this.name,
+ this.minLimit,
+ this.maxLimit,
+ this.id});
+
+
+ @override
+ String toString() => fullName();
+
+ TamaraPaymentOption.fromJson(dynamic json) {
+ name = json["name"];
+ minLimit = json["min_limit"];
+ maxLimit = json["max_limit"];
+ id = json["id"];
+ }
+
+ Map toJson() {
+ var map = {};
+ map["name"] = name;
+ map["min_limit"] = minLimit;
+ map["max_limit"] = maxLimit;
+ map["id"] = id;
+ return map;
+ }
+
+}
\ No newline at end of file
diff --git a/lib/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart b/lib/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart
index c952a88f..139c251b 100644
--- a/lib/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart
+++ b/lib/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart
@@ -13,6 +13,9 @@ class BariatricsService extends BaseService {
List doctorList = [];
List doctorListByTime = [];
+ double lat;
+ double long;
+
Future getClinicCategory() async {
hasError = false;
Map body = Map();
@@ -104,12 +107,20 @@ class BariatricsService extends BaseService {
}
Future getCalculationDoctors({@required int calculationID}) async {
+
+ if (await this.sharedPref.getDouble(USER_LAT) != null && await this.sharedPref.getDouble(USER_LONG) != null) {
+ lat = await this.sharedPref.getDouble(USER_LAT);
+ long = await this.sharedPref.getDouble(USER_LONG);
+ }
+
hasError = false;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Map body = Map();
body['CalculationID'] = calculationID; // hint: it is static depend on IONIC project
body['LanguageID'] = languageID == 'ar' ? 1 : 2;
+ body['Latitude'] = lat != null ? lat.toString() : 0;
+ body['Longitude'] = long != null ? long.toString() : 0;
dynamic localRes;
diff --git a/lib/core/service/PrescriptionDeliveryService.dart b/lib/core/service/PrescriptionDeliveryService.dart
index c36efe89..104b390d 100644
--- a/lib/core/service/PrescriptionDeliveryService.dart
+++ b/lib/core/service/PrescriptionDeliveryService.dart
@@ -2,13 +2,7 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class PrescriptionDeliveryService extends BaseService {
- Future insertDeliveryOrder(
- {int lineItemNo,
- double latitude,
- double longitude,
- int appointmentNo,
- int createdBy,
- int dischargeID}) async {
+ Future insertDeliveryOrder({int lineItemNo, double latitude, double longitude, int appointmentNo, int createdBy, int dischargeID}) async {
hasError = false;
Map body = Map();
body['LineItemNo'] = lineItemNo;
@@ -17,11 +11,26 @@ class PrescriptionDeliveryService extends BaseService {
body['AppointmentNo'] = appointmentNo;
body['CreatedBy'] = createdBy;
body['DischargeID'] = dischargeID;
- await baseAppClient.post(INSERT_ER_INERT_PRES_ORDER,
- onSuccess: (dynamic response, int statusCode) {
- var asd="";
- },
- onFailure: (String error, int statusCode) {
+ await baseAppClient.post(INSERT_ER_INERT_PRES_ORDER, onSuccess: (dynamic response, int statusCode) {
+ var asd = "";
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ print(error);
+ super.error = error;
+ }, body: body);
+ }
+
+ Future insertDeliveryOrderRC({double latitude, double longitude, int appointmentNo, int createdBy, int dischargeID}) async {
+ hasError = false;
+ Map body = Map();
+ body['latitude'] = latitude;
+ body['longitude'] = longitude;
+ body['AppointmentNo'] = appointmentNo;
+ body['CreatedBy'] = createdBy;
+ body['DischargeID'] = dischargeID;
+ await baseAppClient.post(ADD_PRESCRIPTION_ORDER_RC, onSuccess: (dynamic response, int statusCode) {
+ var asd = "";
+ }, onFailure: (String error, int statusCode) {
hasError = true;
print(error);
super.error = error;
diff --git a/lib/core/service/blood/blood_details_servies.dart b/lib/core/service/blood/blood_details_servies.dart
index 644d96d9..589b8dda 100644
--- a/lib/core/service/blood/blood_details_servies.dart
+++ b/lib/core/service/blood/blood_details_servies.dart
@@ -22,7 +22,7 @@ class BloodDetailsService extends BaseService{
BloodModelList.add(List_BloodGroupDetailsModel.fromJson(vital));
});
}, onFailure: (String error, int statusCode) {
- hasError = true;
+ // hasError = true;
super.error = error;
}, body: body);
}
diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart
index 108b9695..19c8eac2 100644
--- a/lib/core/service/client/base_app_client.dart
+++ b/lib/core/service/client/base_app_client.dart
@@ -10,7 +10,6 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
-import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@@ -31,8 +30,7 @@ AppSharedPreferences sharedPref = new AppSharedPreferences();
/// onFailure: (String error, int statusCode) {},
/// body: Map();
///
-AuthenticatedUserObject authenticatedUserObject =
- locator();
+AuthenticatedUserObject authenticatedUserObject = locator();
VitalSignService _vitalSignService = locator();
class BaseAppClient {
@@ -102,7 +100,7 @@ class BaseAppClient {
? body['PatientOutSA']
: PATIENT_OUT_SA
: PATIENT_OUT_SA;
- body['SessionID'] = SESSION_ID; //getSe
+ body['SessionID'] = getSessionId(body['TokenID']); //getSe
headers = {
'Content-Type': 'application/json',
@@ -162,8 +160,8 @@ class BaseAppClient {
// if (parsed != null) {
// onSuccess(parsed, statusCode);
// } else {
- onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
- // logout();
+ onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
+ // logout();
// }
}
} else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) {
@@ -467,7 +465,8 @@ class BaseAppClient {
simplePost(
String fullUrl, {
- Map body, Map headers,
+ Map body,
+ Map headers,
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
}) async {
@@ -484,8 +483,7 @@ class BaseAppClient {
final int statusCode = response.statusCode;
print("statusCode :$statusCode");
- if(await handleUnauthorized(statusCode, forUrl: fullUrl))
- simplePost(fullUrl, onFailure: onFailure, onSuccess: onSuccess, body: body, headers: headers);
+ if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePost(fullUrl, onFailure: onFailure, onSuccess: onSuccess, body: body, headers: headers);
if (statusCode < 200 || statusCode >= 400 || json == null) {
onFailure('Error While Fetching data', statusCode);
@@ -497,7 +495,8 @@ class BaseAppClient {
}
}
- simpleGet(String fullUrl, {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map queryParams, Map headers}) async {
+ simpleGet(String fullUrl,
+ {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map queryParams, Map headers}) async {
String url = fullUrl;
print("URL Query String: $url");
@@ -517,8 +516,7 @@ class BaseAppClient {
final int statusCode = response.statusCode;
print("statusCode :$statusCode");
- if(await handleUnauthorized(statusCode, forUrl: fullUrl))
- simpleGet(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, queryParams: queryParams);
+ if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleGet(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, queryParams: queryParams);
if (statusCode < 200 || statusCode >= 400 || json == null) {
onFailure('Error While Fetching data', statusCode);
@@ -544,8 +542,7 @@ class BaseAppClient {
final int statusCode = response.statusCode;
print("statusCode :$statusCode");
- if(await handleUnauthorized(statusCode, forUrl: fullUrl))
- simplePut(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, body: body);
+ if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simplePut(fullUrl, onFailure: onFailure, onSuccess: onSuccess, headers: headers, body: body);
if (statusCode < 200 || statusCode >= 400 || json == null) {
onFailure('Error While Fetching data', statusCode);
@@ -557,7 +554,8 @@ class BaseAppClient {
}
}
- simpleDelete(String fullUrl, {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map queryParams, Map headers}) async {
+ simpleDelete(String fullUrl,
+ {Function(dynamic response, int statusCode) onSuccess, Function(String error, int statusCode) onFailure, Map queryParams, Map headers}) async {
String url = fullUrl;
print("URL Query String: $url");
@@ -577,8 +575,7 @@ class BaseAppClient {
final int statusCode = response.statusCode;
print("statusCode :$statusCode");
- if(await handleUnauthorized(statusCode, forUrl: fullUrl))
- simpleDelete(fullUrl, onFailure: onFailure, onSuccess: onSuccess, queryParams: queryParams, headers: headers);
+ if (await handleUnauthorized(statusCode, forUrl: fullUrl)) simpleDelete(fullUrl, onFailure: onFailure, onSuccess: onSuccess, queryParams: queryParams, headers: headers);
if (statusCode < 200 || statusCode >= 400 || json == null) {
onFailure('Error While Fetching data', statusCode);
@@ -590,13 +587,13 @@ class BaseAppClient {
}
}
- Future handleUnauthorized(int statusCode, {String forUrl}) async{
- if(forUrl.startsWith(EXA_CART_API_BASE_URL) && statusCode == 401) {
- final token = await generatePackagesToken();
- packagesAuthHeader['Authorization'] = 'Bearer $token';
- return token != null && (token is String);
- }
- return false;
+ Future handleUnauthorized(int statusCode, {String forUrl}) async {
+ if (forUrl.startsWith(EXA_CART_API_BASE_URL) && statusCode == 401) {
+ final token = await generatePackagesToken();
+ packagesAuthHeader['Authorization'] = 'Bearer $token';
+ return token != null && (token is String);
+ }
+ return false;
}
logout() async {
@@ -727,7 +724,7 @@ class BaseAppClient {
print("statusCode :$statusCode");
if (statusCode < 200 || statusCode >= 400 || json == null) {
var parsed = json.decode(utf8.decode(response.bodyBytes));
- onFailure(parsed['error']['ErrorEndUserMsg'] ??'Error While Fetching data', statusCode);
+ onFailure(parsed['error']['ErrorEndUserMsg'] ?? 'Error While Fetching data', statusCode);
} else {
// var parsed = json.decode(response.body.toString());
var parsed = json.decode(utf8.decode(response.bodyBytes));
@@ -792,15 +789,10 @@ class BaseAppClient {
}
}
-
-
Future generatePackagesToken() async {
var url = EXA_CART_API_BASE_URL + PACKAGES_TOKEN;
var body = {
- "api_client": {
- "client_id": "a4ab6be4-424f-4836-b032-46caed88e184",
- "client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c"
- }
+ "api_client": {"client_id": "a4ab6be4-424f-4836-b032-46caed88e184", "client_secret": "3c1a3e07-4a40-4510-9fb0-ee5f0a72752c"}
};
String token;
final completer = Completer();
diff --git a/lib/core/service/packages_offers/PackagesOffersServices.dart b/lib/core/service/packages_offers/PackagesOffersServices.dart
index 46e042a4..17abdc05 100644
--- a/lib/core/service/packages_offers/PackagesOffersServices.dart
+++ b/lib/core/service/packages_offers/PackagesOffersServices.dart
@@ -13,6 +13,7 @@ import 'package:diplomaticquarterapp/core/model/packages_offers/responses/Packag
import 'package:diplomaticquarterapp/core/model/packages_offers/responses/PackagesCustomerResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/packages_offers/responses/PackagesResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/packages_offers/responses/order_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/packages_offers/responses/tamara_payment_option.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
@@ -26,6 +27,7 @@ class OffersAndPackagesServices extends BaseService {
List categoryList = List();
List productList = List();
List latestOffersList = List();
+ List tamaraPaymentOptions = List();
List bestSellerList = List();
List bannersList = List();
List cartItemList = List();
@@ -71,6 +73,25 @@ class OffersAndPackagesServices extends BaseService {
return productList;
}
+ Future> getTamaraOptions({@required BuildContext context, @required bool showLoading = true}) async {
+ if(tamaraPaymentOptions != null && tamaraPaymentOptions.isNotEmpty)
+ return tamaraPaymentOptions;
+
+ var url = EXA_CART_API_BASE_URL + PACKAGES_TAMARA_OPT;
+ await baseAppClient.simpleGet(url, headers: packagesAuthHeader, onSuccess: (dynamic stringResponse, int statusCode) {
+ if (statusCode == 200) {
+ var jsonResponse = json.decode(stringResponse);
+ jsonResponse['payment_option'].forEach((json) {
+ tamaraPaymentOptions.add(TamaraPaymentOption.fromJson(json));
+ });
+ }
+ }, onFailure: (String error, int statusCode) {
+ log(error);
+ });
+
+ return tamaraPaymentOptions;
+ }
+
Future> getLatestOffers({@required OffersProductsRequestModel request, @required BuildContext context, @required bool showLoading = true}) async {
var url = EXA_CART_API_BASE_URL + PACKAGES_PRODUCTS;
@@ -313,20 +334,19 @@ class OffersAndPackagesServices extends BaseService {
// --------------------
// Place Order
// --------------------
- Future placeOrder({@required String paymentOption, @required BuildContext context, bool showLoading = true}) async{
+ Future placeOrder({@required Map paymentParams, @required BuildContext context, bool showLoading = true}) async{
Future errorThrow;
- var jsonBody = {
+ var jsonBody = {
"order": {
"customer_id" : customer.id,
"billing_address": {
"email": patientUser.emailAddress,
"phone_number": patientUser.mobileNumber
},
- "payment_method_system_name": "Payments.PayFort",
- "payment_option": paymentOption
}
};
+ jsonBody.addAll(paymentParams);
int order_id;
_showLoading(context, showLoading);
diff --git a/lib/core/viewModels/medical/PrescriptionDeliveryViewModel.dart b/lib/core/viewModels/medical/PrescriptionDeliveryViewModel.dart
index 424a4b20..ada4da78 100644
--- a/lib/core/viewModels/medical/PrescriptionDeliveryViewModel.dart
+++ b/lib/core/viewModels/medical/PrescriptionDeliveryViewModel.dart
@@ -7,15 +7,11 @@ import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class PrescriptionDeliveryViewModel extends BaseViewModel {
- CustomerAddressesService _customerAddressesService =
- locator();
- PharmacyModuleService _pharmacyModuleService =
- locator();
- PrescriptionDeliveryService _prescriptionDeliveryService =
- locator();
+ CustomerAddressesService _customerAddressesService = locator();
+ PharmacyModuleService _pharmacyModuleService = locator();
+ PrescriptionDeliveryService _prescriptionDeliveryService = locator();
- List get addressesList =>
- _customerAddressesService.addressesList;
+ List get addressesList => _customerAddressesService.addressesList;
Future getCustomerInfo() async {
setState(ViewState.Busy);
@@ -27,28 +23,16 @@ class PrescriptionDeliveryViewModel extends BaseViewModel {
if (_customerAddressesService.hasError) {
error = _customerAddressesService.error;
setState(ViewState.ErrorLocal);
- } else {
- }
+ } else {}
await getCustomerAddresses();
}
- Future insertDeliveryOrder(
- {int lineItemNo,
- double latitude,
- double longitude,
- int appointmentNo,
- int createdBy,
- int dischargeID}) async {
-
+ Future insertDeliveryOrder({int lineItemNo, double latitude, double longitude, int appointmentNo, int createdBy, int dischargeID}) async {
setState(ViewState.BusyLocal);
- await _prescriptionDeliveryService.insertDeliveryOrder(
- lineItemNo: lineItemNo,
- latitude: latitude,
- longitude: longitude,
- appointmentNo: appointmentNo,
- createdBy: createdBy,
- dischargeID: dischargeID
- );
+ // await _prescriptionDeliveryService.insertDeliveryOrder(
+ // lineItemNo: lineItemNo, latitude: latitude, longitude: longitude, appointmentNo: appointmentNo, createdBy: createdBy, dischargeID: dischargeID);
+ await _prescriptionDeliveryService.insertDeliveryOrderRC(
+ latitude: latitude, longitude: longitude, appointmentNo: appointmentNo, createdBy: createdBy, dischargeID: dischargeID);
if (_prescriptionDeliveryService.hasError) {
error = _prescriptionDeliveryService.error;
setState(ViewState.ErrorLocal);
diff --git a/lib/core/viewModels/medical/my_balance_view_model.dart b/lib/core/viewModels/medical/my_balance_view_model.dart
index ce9f35fa..a92b6e16 100644
--- a/lib/core/viewModels/medical/my_balance_view_model.dart
+++ b/lib/core/viewModels/medical/my_balance_view_model.dart
@@ -32,7 +32,7 @@ class MyBalanceViewModel extends BaseViewModel {
_bloodDonationService.CitiesModelList;
BloodDetailsService _bloodDetailsService = locator();
- List get BloodDetailsModelList =>
+ List get bloodDetailsModelList =>
_bloodDetailsService
.BloodModelList; //_bloodDonationService.CitiesModelList;
@@ -52,6 +52,9 @@ class MyBalanceViewModel extends BaseViewModel {
PatientInfoAndMobileNumber get patientInfoAndMobileNumber =>
_myBalanceService.patientInfoAndMobileNumber;
+ List get bloodModelList =>
+ _bloodDetailsService.BloodModelList;
+
String get logInTokenID => _myBalanceService.logInTokenID;
String get verificationCode => _myBalanceService.verificationCode;
diff --git a/lib/core/viewModels/medical/prescriptions_view_model.dart b/lib/core/viewModels/medical/prescriptions_view_model.dart
index 0c1fafdf..03018878 100644
--- a/lib/core/viewModels/medical/prescriptions_view_model.dart
+++ b/lib/core/viewModels/medical/prescriptions_view_model.dart
@@ -77,7 +77,6 @@ class PrescriptionsViewModel extends BaseViewModel {
}
getPrescriptionsOrders({bool showLoading = false}) async {
- // print(showLoading);
setState(ViewState.Busy);
Future.delayed(new Duration(milliseconds: 300)).then((value) async {
await _prescriptionsService.getPrescriptionsOrders();
diff --git a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart
index f2f87712..e64ab20c 100644
--- a/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart
+++ b/lib/core/viewModels/pharmacyModule/OrderPreviewViewModel.dart
@@ -228,4 +228,4 @@ class OrderPreviewViewModel extends BaseViewModel {
}
}
-enum PaymentOption { meda, sadad, visa, mastercard, installments }
+enum PaymentOption { meda, sadad, visa, mastercard, installments, applepay }
diff --git a/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart b/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart
index facccf1e..27fe3234 100644
--- a/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart
+++ b/lib/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart
@@ -1,16 +1,12 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
-import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyImageObject.dart';
-import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
-import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/recommendedProduct_model.dart';
-import 'package:diplomaticquarterapp/core/service/medical/prescriptions_service.dart';
//import 'package:diplomaticquarterapp/core/model/prescriptions/perscription_pharmacy.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart';
-import 'package:diplomaticquarterapp/core/service/parmacyModule/prescription_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/recommendedProduct_service.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
@@ -20,13 +16,11 @@ import '../../../locator.dart';
class PharmacyModuleViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyService = locator();
- RecommendedProductService _recommendedProductService =
- locator();
+ RecommendedProductService _recommendedProductService = locator();
List get bannerList => _pharmacyService.bannerItems;
- List get recommendedProductList =>
- _recommendedProductService.recommendedList;
+ List get recommendedProductList => _recommendedProductService.recommendedList;
Future generatePharmacyToken() async {
setState(ViewState.Busy);
@@ -40,8 +34,6 @@ class PharmacyModuleViewModel extends BaseViewModel {
}
Future verifyCustomer() async {
- // if (authenticatedUserObject.isLogin) await generatePharmacyToken();
-
var data = await sharedPref.getObject(USER_PROFILE);
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
@@ -70,11 +62,9 @@ class PharmacyModuleViewModel extends BaseViewModel {
Future getBannerList() async {
if (bannerList.isEmpty) {
- GifLoaderDialogUtils.showMyDialog(
- locator().navigatorKey.currentContext);
+ GifLoaderDialogUtils.showMyDialog(locator().navigatorKey.currentContext);
await _pharmacyService.getBannerListList();
- GifLoaderDialogUtils.hideDialog(
- locator().navigatorKey.currentContext);
+ GifLoaderDialogUtils.hideDialog(locator().navigatorKey.currentContext);
if (_pharmacyService.hasError) {
error = _pharmacyService.error;
setState(ViewState.Error);
@@ -83,9 +73,15 @@ class PharmacyModuleViewModel extends BaseViewModel {
}
}
- List getBannerImagesUrl() {
+ List getBannerImagesUrl(ProjectViewModel projectViewModel) {
List images = List();
images.add('assets/images/pharmacy_module/pharmacy_logo_green.png');
+
+ if (projectViewModel.isArabic)
+ images.add('assets/images/pharmacy_module/offers_banner_ar.png');
+ else
+ images.add('assets/images/pharmacy_module/offers_banner.png');
+
_pharmacyService.bannerItems.forEach((element) {
images.add(element.src);
});
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/orders_log_details_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/orders_log_details_page.dart
index a5c89c17..d3c7f970 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/orders_log_details_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/orders_log_details_page.dart
@@ -51,36 +51,6 @@ class OrdersLogDetailsPage extends StatelessWidget {
},
));
return;
-
- // todo 'sikander' remove useless code
- showDialog(
- context: context,
- child: ConfirmCancelOrderDialog(
- model: model,
- onTap: () async {
- UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
- Future.delayed(new Duration(milliseconds: 300)).then((value) async {
- GifLoaderDialogUtils.showMyDialog(context);
- await model.updateCmcPresOrder(updatePresOrderRequestModel);
- if (model.state == ViewState.ErrorLocal) {
- Utils.showErrorToast(model.error);
- GifLoaderDialogUtils.hideDialog(context);
- } else {
- AppToast.showSuccessToast(message: TranslationBase.of(context).processDoneSuccessfully);
- await model.getCmcAllPresOrders();
- GifLoaderDialogUtils.hideDialog(context);
- }
- });
- // await model.updateCmcPresOrder(updatePresOrderRequestModel);
- // if (model.state == ViewState.ErrorLocal) {
- // Utils.showErrorToast(model.error);
- // } else {
- // AppToast.showSuccessToast(message: TranslationBase.of(context).processDoneSuccessfully);
- // await model.getCmcAllPresOrders();
- // }
- },
- ),
- );
}
return AppScaffold(
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_country_ingo_Dialog.dart b/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_country_ingo_Dialog.dart
index d58fd29f..8046346f 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_country_ingo_Dialog.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_country_ingo_Dialog.dart
@@ -4,6 +4,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// ignore: must_be_immutable
+
+// todo 'sikander' remove this file when usage known
class SelectCountryDialog extends StatefulWidget {
final Function(dynamic) onValueSelected;
dynamic selectedCountry;
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_search_criteria_dialog.dart b/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_search_criteria_dialog.dart
deleted file mode 100644
index e970f208..00000000
--- a/lib/pages/AlHabibMedicalService/E-Referral/dialogs/select_search_criteria_dialog.dart
+++ /dev/null
@@ -1,139 +0,0 @@
-import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_criteria_model.dart';
-import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-
-// ignore: must_be_immutable
-class SelectSearchCriteriaDialog extends StatefulWidget {
- List searchCriteria = [
- SearchCriteriaModel(name: "Identification Number",nameAr:"رقم الهوية",value: 1),
- SearchCriteriaModel(name: "Referral Number",nameAr:"رقم الإحالة",value: 2),
- ];
- final Function(SearchCriteriaModel) onValueSelected;
- SearchCriteriaModel selectedCriteria;
- ProjectViewModel projectViewModel;
-
- SelectSearchCriteriaDialog(
- {Key key, this.onValueSelected, this.selectedCriteria, this.projectViewModel});
-
- @override
- _SelectSearchCriteriaDialogState createState() => _SelectSearchCriteriaDialogState();
-}
-
-class _SelectSearchCriteriaDialogState extends State {
- @override
- void initState() {
- super.initState();
- widget.selectedCriteria = widget.selectedCriteria ?? widget.searchCriteria[0];
- }
-
- @override
- Widget build(BuildContext context) {
- return SimpleDialog(
- children: [
- Column(
- children: [
- Text(TranslationBase.of(context).searchCriteria),
- Divider(),
- ...List.generate(
- widget.searchCriteria.length,
- (index) => Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- SizedBox(
- height: 2,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- widget.selectedCriteria = widget.searchCriteria[index];
- });
- },
- child: ListTile(
- title: Text(widget.projectViewModel.isArabic ? widget.searchCriteria[index].nameAr : widget.searchCriteria[index].name),
- leading: Radio(
- value: widget.searchCriteria[index],
- groupValue: widget.selectedCriteria,
- activeColor: Colors.red[800],
- onChanged: (value) {
- setState(() {
- widget.selectedCriteria = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- ],
- ),
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- // mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- Navigator.pop(context);
- },
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Container(
- child: Center(
- child: Texts(
- TranslationBase.of(context).cancel.toUpperCase(),
- color: Colors.red,
- ),
- ),
- ),
- ),
- ),
- ),
- Container(
- width: 1,
- height: 30,
- color: Colors.grey[500],
- ),
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- widget.onValueSelected(widget.selectedCriteria);
- Navigator.pop(context);
- },
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Center(
- child: Texts(
- TranslationBase.of(context).ok,
- fontWeight: FontWeight.w400,
- )),
- ),
- ),
- ),
- ],
- )
- ],
- )
- ],
- );
- }
-}
-
-
-
-
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart
index b3fffa4b..5751dcfe 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart
@@ -4,17 +4,17 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/
import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/referral_details.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.dart';
-import 'package:diplomaticquarterapp/widgets/my_rich_text.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
+import 'package:diplomaticquarterapp/widgets/my_rich_text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@@ -23,7 +23,6 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'dialogs/select_country_ingo_Dialog.dart';
-import 'dialogs/select_search_criteria_dialog.dart';
class SearchForReferralsPage extends StatefulWidget {
SearchForReferralsPage({Key key});
@@ -79,74 +78,31 @@ class _SearchForReferralsPageState extends State {
SizedBox(
height: 10,
),
- // InkWell(
- // onTap: () => selectSearchCriteriaDialog(),
- // child: Container(
- // padding: EdgeInsets.all(12),
- // width: double.infinity,
- // height: 65,
- // decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.white),
- // child: Row(
- // mainAxisAlignment: MainAxisAlignment.spaceBetween,
- // children: [Texts(getSearchCriteriaName()), Icon(Icons.arrow_drop_down)],
- // ),
- // ),
- // ),
- Container(
- padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
- alignment: Alignment.center,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(15),
- color: Colors.white,
- border: Border.all(
- color: Color(0xffefefef),
- width: 1,
- ),
- ),
- child: InkWell(
- onTap: () => selectSearchCriteriaDialog(projectViewModel),
- child: Row(
- children: [
- Expanded(
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- TranslationBase.of(context).selectSearchCriteria,
- style: TextStyle(
- fontSize: 11,
- fontWeight: FontWeight.w600,
- color: Color(0xff2B353E),
- letterSpacing: -0.44,
- ),
- ),
- Text(
- getSearchCriteriaName(projectViewModel),
- style: TextStyle(
- fontSize: 14,
- height: 21 / 14,
- fontWeight: FontWeight.w400,
- color: Color(0xff2B353E),
- letterSpacing: -0.44,
- ),
- ),
- ],
- ),
- ),
- Icon(Icons.arrow_drop_down),
- ],
+ CommonDropDownView(TranslationBase.of(context).selectSearchCriteria, getSearchCriteriaName(projectViewModel), () {
+ List searchCriteria = [
+ SearchCriteriaModel(name: "Identification Number", nameAr: "رقم الهوية", value: 1),
+ SearchCriteriaModel(name: "Referral Number", nameAr: "رقم الإحالة", value: 2),
+ ];
+ List list = [];
+ for (int i = 0; i < searchCriteria.length; i++) {
+ list.add(RadioSelectionDialogModel(projectViewModel.isArabic ? searchCriteria[i].nameAr : searchCriteria[i].name, searchCriteria[i].value));
+ }
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: selectedCriteria.value,
+ onValueSelected: (index) {
+ selectedCriteria = searchCriteria[index - 1];
+ setState(() {});
+ },
),
- ),
- ),
- SizedBox(
- height: 12,
- ),
-
- inputWidget(selectedCriteria.value == 1 ? TranslationBase.of(context).enterIdentificationNumber : TranslationBase.of(context).referralNumber, "", _searchTextController, isInputTypeNum: true),
-
- SizedBox(
- height: 12,
- ),
+ );
+ }).withBorderedContainer,
+ SizedBox(height: 12),
+ inputWidget(selectedCriteria.value == 1 ? TranslationBase.of(context).enterIdentificationNumber : TranslationBase.of(context).referralNumber, "", _searchTextController,
+ isInputTypeNum: true),
+ SizedBox(height: 12),
PhoneNumberSelectorWidget(onNumberChange: (value) {
setState(() {
mobileNo = value;
@@ -179,9 +135,7 @@ class _SearchForReferralsPageState extends State {
// },
// code: _selectedCountry == null ? "11" : _selectedCountry["code"],
// ),
- SizedBox(
- height: 12,
- ),
+ SizedBox(height: 12),
if ((model.state == ViewState.Idle && model.allReferral.length == 0)) Center(child: Text(TranslationBase.of(context).noSearchResult)),
if ((model.state == ViewState.ErrorLocal)) AppEmbeddedError(error: model.error),
model.allReferral.length > 0
@@ -293,92 +247,65 @@ class _SearchForReferralsPageState extends State {
return "Country";
}
- void selectSearchCriteriaDialog(ProjectViewModel projectViewModel) {
- showDialog(
- context: context,
- child: SelectSearchCriteriaDialog(
- selectedCriteria: selectedCriteria,
- projectViewModel: projectViewModel,
- onValueSelected: (value) {
- setState(() {
- selectedCriteria = value;
- });
- },
- ),
- );
- }
-
Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller,
{VoidCallback suffixTap, bool isEnable = true, bool hasSelection = false, int lines, bool isInputTypeNum = false}) {
- return Container(
- padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
- alignment: Alignment.center,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(15),
- color: Colors.white,
- border: Border.all(
- color: Color(0xffefefef),
- width: 1,
- ),
- ),
- child: InkWell(
- onTap: hasSelection ? () {} : null,
- child: Row(
- children: [
- Expanded(
- child: Column(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- _labelText,
- style: TextStyle(
- fontSize: 11,
- fontWeight: FontWeight.w600,
- color: Color(0xff2B353E),
- letterSpacing: -0.44,
- ),
+ return InkWell(
+ onTap: hasSelection ? () {} : null,
+ child: Row(
+ children: [
+ Expanded(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ _labelText,
+ style: TextStyle(
+ fontSize: 11,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
+ ),
+ TextField(
+ enabled: isEnable,
+ scrollPadding: EdgeInsets.zero,
+ keyboardType: isInputTypeNum ? TextInputType.number : TextInputType.text,
+ controller: _controller,
+ maxLines: lines,
+ onChanged: (value) => {setState(() {})},
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
),
- TextField(
- enabled: isEnable,
- scrollPadding: EdgeInsets.zero,
- keyboardType: isInputTypeNum ? TextInputType.number : TextInputType.text,
- controller: _controller,
- maxLines: lines,
- onChanged: (value) => {setState(() {})},
- style: TextStyle(
+ decoration: InputDecoration(
+ isDense: true,
+ hintText: _hintText,
+ hintStyle: TextStyle(
fontSize: 14,
height: 21 / 14,
fontWeight: FontWeight.w400,
- color: Color(0xff2B353E),
- letterSpacing: -0.44,
- ),
- decoration: InputDecoration(
- isDense: true,
- hintText: _hintText,
- hintStyle: TextStyle(
- fontSize: 14,
- height: 21 / 14,
- fontWeight: FontWeight.w400,
- color: Color(0xff575757),
- letterSpacing: -0.56,
- ),
- suffixIconConstraints: BoxConstraints(minWidth: 50),
- suffixIcon: suffixTap == null ? null : IconButton(icon: Icon(Icons.mic, color: Color(0xff2E303A)), onPressed: suffixTap),
- contentPadding: EdgeInsets.zero,
- border: InputBorder.none,
- focusedBorder: InputBorder.none,
- enabledBorder: InputBorder.none,
+ color: Color(0xff575757),
+ letterSpacing: -0.56,
),
+ suffixIconConstraints: BoxConstraints(minWidth: 50),
+ suffixIcon: suffixTap == null ? null : IconButton(icon: Icon(Icons.mic, color: Color(0xff2E303A)), onPressed: suffixTap),
+ contentPadding: EdgeInsets.zero,
+ border: InputBorder.none,
+ focusedBorder: InputBorder.none,
+ enabledBorder: InputBorder.none,
),
- ],
- ),
+ ),
+ ],
),
- if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
- ],
- ),
+ ),
+ if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
+ ],
),
- );
+ ).withBorderedContainer;
}
String getSearchCriteriaName(ProjectViewModel projectViewModel) {
diff --git a/lib/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_one_page.dart b/lib/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_one_page.dart
index b401a127..f8e377b7 100644
--- a/lib/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_one_page.dart
+++ b/lib/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_one_page.dart
@@ -95,7 +95,7 @@ class _NewHomeHealthCareStepOnePageState extends State with Tick
ProjectViewModel projectViewModel = Provider.of(context);
- return Scaffold(
- body: SafeArea(
- child: SingleChildScrollView(
- child: Container(
- height: MediaQuery.of(context).size.height * 0.8,
- child: Column(
- children: [
- Expanded(
- child: PageView(
- physics: NeverScrollableScrollPhysics(),
- controller: _controller,
- onPageChanged: (index) {
- setState(() {
- _currentIndex = index;
- });
- },
- scrollDirection: Axis.horizontal,
- children: [
- widget.model.pendingOrder != null
- ? ListView(padding: EdgeInsets.symmetric(horizontal: 20, vertical: 15), children: [
- (Container(
- decoration: BoxDecoration(
- color: Color(0xffCC9B14),
- borderRadius: BorderRadius.all(
- Radius.circular(10.0),
+ return PageView(
+ physics: NeverScrollableScrollPhysics(),
+ controller: _controller,
+ onPageChanged: (index) {
+ setState(() {
+ _currentIndex = index;
+ });
+ },
+ scrollDirection: Axis.horizontal,
+ children: [
+ widget.model.pendingOrder != null
+ ? ListView(padding: EdgeInsets.symmetric(horizontal: 20, vertical: 15), children: [
+ (Container(
+ decoration: BoxDecoration(
+ color: Color(0xffCC9B14),
+ borderRadius: BorderRadius.all(
+ Radius.circular(10.0),
+ ),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
+ ),
+ ],
+ ),
+ child: Container(
+ // decoration: containerColorRadiusLeft(Colors.white, 12),
+ margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 6, right: projectViewModel.isArabic ? 6 : 0),
+ padding: EdgeInsets.symmetric(vertical: 14, horizontal: 12),
+ decoration: BoxDecoration(
+ color: Colors.white,
+ border: Border.all(color: Colors.white, width: 1),
+ borderRadius: BorderRadius.only(
+ bottomRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
+ topRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
+ bottomLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
+ topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
+ ),
+ ),
+ // clipBehavior: Clip.antiAlias,
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Expanded(
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.start,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ widget.model.pendingOrder.statusText,
+ style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffCC9B14), letterSpacing: -0.4, height: 16 / 10),
+ ),
+ SizedBox(height: 6),
+ Text(
+ '${TranslationBase.of(context).requestID}: ${widget.model.pendingOrder.iD.toString()}',
+ style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
+ ),
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ TranslationBase.of(context).serviceName + ": ",
+ style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
),
- boxShadow: [
- BoxShadow(
- color: Color(0xff000000).withOpacity(.05),
- blurRadius: 27,
- offset: Offset(0, -3),
- ),
- ],
- ),
+ Column(
+ children: [
+ ...List.generate(
+ widget.model.hhcAllOrderDetail.length,
+ (index) => Container(
+ child: Texts(
+ projectViewModel.isArabic ? widget.model.hhcAllOrderDetail[index].descriptionN : widget.model.hhcAllOrderDetail[index].description.capitalize(),
+ fontSize: 13,
+ bold: false,
+ ),
+ ),
+ )
+ ],
+ )
+ ],
+ )
+ ],
+ ),
+ ),
+ Column(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ crossAxisAlignment: CrossAxisAlignment.end,
+ children: [
+ Text(
+ DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(widget.model.pendingOrder.created)),
+ style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
+ ),
+ SizedBox(height: 12),
+ if (widget.model.pendingOrder.statusId == 1 || widget.model.pendingOrder.statusId == 2)
+ InkWell(
+ onTap: () {
+ showConfirmMessage(widget.model, widget.model.pendingOrder);
+ },
child: Container(
- // decoration: containerColorRadiusLeft(Colors.white, 12),
- margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 6, right: projectViewModel.isArabic ? 6 : 0),
- padding: EdgeInsets.symmetric(vertical: 14, horizontal: 12),
+ padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
decoration: BoxDecoration(
- color: Colors.white,
+ color: Color(0xffD02127),
border: Border.all(color: Colors.white, width: 1),
- borderRadius: BorderRadius.only(
- bottomRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
- topRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
- bottomLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
- topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
- ),
+ borderRadius: BorderRadius.circular(10),
),
- // clipBehavior: Clip.antiAlias,
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Expanded(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- widget.model.pendingOrder.statusText,
- style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffCC9B14), letterSpacing: -0.4, height: 16 / 10),
- ),
- SizedBox(height: 6),
- Text(
- '${TranslationBase.of(context).requestID}: ${widget.model.pendingOrder.iD.toString()}',
- style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
- ),
- Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- TranslationBase.of(context).serviceName + ": ",
- style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
- ),
- Column(
- children: [
- ...List.generate(
- widget.model.hhcAllOrderDetail.length,
- (index) => Container(
- child: Texts(
- projectViewModel.isArabic
- ? widget.model.hhcAllOrderDetail[index].descriptionN
- : widget.model.hhcAllOrderDetail[index].description.capitalize(),
- fontSize: 13,
- bold: false,
- ),
- ),
- )
- ],
- )
- ],
- )
- ],
- ),
- ),
- Column(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- crossAxisAlignment: CrossAxisAlignment.end,
- children: [
- Text(
- DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(widget.model.pendingOrder.created)),
- style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
- ),
- SizedBox(height: 12),
- if (widget.model.pendingOrder.statusId == 1 || widget.model.pendingOrder.statusId == 2)
- InkWell(
- onTap: () {
- showConfirmMessage(widget.model, widget.model.pendingOrder);
- },
- child: Container(
- padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
- decoration: BoxDecoration(
- color: Color(0xffD02127),
- border: Border.all(color: Colors.white, width: 1),
- borderRadius: BorderRadius.circular(10),
- ),
- child: Text(
- TranslationBase.of(context).cancel_nocaps,
- style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
- ),
- ),
- ),
- ],
- ),
- ],
+ child: Text(
+ TranslationBase.of(context).cancel_nocaps,
+ style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
),
),
- ))
- ])
-
- // FractionallySizedBox(
- // widthFactor: 0.9,
- // child: SingleChildScrollView(
- // child: Container(
- // // margin: EdgeInsets.all(10),
- // child: Container(
- // width: double.infinity,
- // padding: EdgeInsets.only(left: 12, right: 12, top: 12),
- // child: Card(
- // shape: cardRadius(12),
- // elevation: 2,
- // margin: EdgeInsets.zero,
- // color: Color(0xffcd9e1b),
- // clipBehavior: Clip.antiAlias,
- // child: Container(
- // // decoration: containerColorRadiusLeft(Colors.white, 12),
- // margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 8, right: projectViewModel.isArabic ? 8 : 0),
- // padding: EdgeInsets.all(12),
- // // color: Colors.white,
- // decoration: BoxDecoration(
- // shape: BoxShape.rectangle,
- // color: Colors.white,
- // borderRadius: BorderRadius.only(
- // topLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0),
- // topRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero,
- // bottomLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0),
- // bottomRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero,
- // ),
- // ),
- // // clipBehavior: Clip.antiAlias,
- // child: Row(
- // children: [
- // Expanded(
- // child: Column(
- // mainAxisAlignment: MainAxisAlignment.start,
- // crossAxisAlignment: CrossAxisAlignment.start,
- // children: [
- // Texts(
- // TranslationBase.of(context).OrderStatus +
- // ' ' +
- // (projectViewModel.isArabic ? widget.model.pendingOrder.descriptionN : widget.model.pendingOrder.description),
- // bold: false,
- // fontSize: 12,
- // color: Color(0xffcd9e1b),
- // fontWeight: FontWeight.bold,
- // ),
- // Texts(
- // TranslationBase.of(context).requestID + ' ' + widget.model.pendingOrder.iD.toString(),
- // fontWeight: FontWeight.w600,
- // fontSize: 18,
- // ),
- // Texts(
- // TranslationBase.of(context).serviceName,
- // fontSize: 12,
- // fontWeight: FontWeight.w600,
- // ),
- // ...List.generate(
- // widget.model.hhcAllOrderDetail.length,
- // (index) => Container(
- // child: Texts(
- // projectViewModel.isArabic ? widget.model.hhcAllOrderDetail[index].descriptionN : widget.model.hhcAllOrderDetail[index].description.capitalize(),
- // fontSize: 13,
- // bold: false,
- // ),
- // ),
- // ),
- // ],
- // )),
- // Column(
- // children: [
- // Texts(
- // DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.model.pendingOrder.createdOn)),
- // fontSize: 14,
- // ),
- // mHeight(8),
- // // SecondaryButton(
- // // onTap: () {
- // // showConfirmMessage(widget.model, widget.model.hhcAllOrderDetail[0]);
- // // },
- // // label: TranslationBase.of(context).cancel,
- // // color: Colors.red[900],
- // // small: true,
- // // )
- // ],
- // ),
- // ],
- // ))),
- // ))))
- : NewHomeHealthCareStepOnePage(
- changePageViewIndex: _changeCurrentTab,
- patientERInsertPresOrderRequestModel: patientERInsertPresOrderRequestModel,
- model: widget.model,
- ),
- ],
+ ),
+ ],
+ ),
+ ],
+ ),
),
- ),
- ],
- ),
- ),
- ),
- ),
+ ))
+ ])
+
+ // FractionallySizedBox(
+ // widthFactor: 0.9,
+ // child: SingleChildScrollView(
+ // child: Container(
+ // // margin: EdgeInsets.all(10),
+ // child: Container(
+ // width: double.infinity,
+ // padding: EdgeInsets.only(left: 12, right: 12, top: 12),
+ // child: Card(
+ // shape: cardRadius(12),
+ // elevation: 2,
+ // margin: EdgeInsets.zero,
+ // color: Color(0xffcd9e1b),
+ // clipBehavior: Clip.antiAlias,
+ // child: Container(
+ // // decoration: containerColorRadiusLeft(Colors.white, 12),
+ // margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 8, right: projectViewModel.isArabic ? 8 : 0),
+ // padding: EdgeInsets.all(12),
+ // // color: Colors.white,
+ // decoration: BoxDecoration(
+ // shape: BoxShape.rectangle,
+ // color: Colors.white,
+ // borderRadius: BorderRadius.only(
+ // topLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0),
+ // topRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero,
+ // bottomLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0),
+ // bottomRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero,
+ // ),
+ // ),
+ // // clipBehavior: Clip.antiAlias,
+ // child: Row(
+ // children: [
+ // Expanded(
+ // child: Column(
+ // mainAxisAlignment: MainAxisAlignment.start,
+ // crossAxisAlignment: CrossAxisAlignment.start,
+ // children: [
+ // Texts(
+ // TranslationBase.of(context).OrderStatus +
+ // ' ' +
+ // (projectViewModel.isArabic ? widget.model.pendingOrder.descriptionN : widget.model.pendingOrder.description),
+ // bold: false,
+ // fontSize: 12,
+ // color: Color(0xffcd9e1b),
+ // fontWeight: FontWeight.bold,
+ // ),
+ // Texts(
+ // TranslationBase.of(context).requestID + ' ' + widget.model.pendingOrder.iD.toString(),
+ // fontWeight: FontWeight.w600,
+ // fontSize: 18,
+ // ),
+ // Texts(
+ // TranslationBase.of(context).serviceName,
+ // fontSize: 12,
+ // fontWeight: FontWeight.w600,
+ // ),
+ // ...List.generate(
+ // widget.model.hhcAllOrderDetail.length,
+ // (index) => Container(
+ // child: Texts(
+ // projectViewModel.isArabic ? widget.model.hhcAllOrderDetail[index].descriptionN : widget.model.hhcAllOrderDetail[index].description.capitalize(),
+ // fontSize: 13,
+ // bold: false,
+ // ),
+ // ),
+ // ),
+ // ],
+ // )),
+ // Column(
+ // children: [
+ // Texts(
+ // DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.model.pendingOrder.createdOn)),
+ // fontSize: 14,
+ // ),
+ // mHeight(8),
+ // // SecondaryButton(
+ // // onTap: () {
+ // // showConfirmMessage(widget.model, widget.model.hhcAllOrderDetail[0]);
+ // // },
+ // // label: TranslationBase.of(context).cancel,
+ // // color: Colors.red[900],
+ // // small: true,
+ // // )
+ // ],
+ // ),
+ // ],
+ // ))),
+ // ))))
+ : NewHomeHealthCareStepOnePage(
+ changePageViewIndex: _changeCurrentTab,
+ patientERInsertPresOrderRequestModel: patientERInsertPresOrderRequestModel,
+ model: widget.model,
+ ),
+ ],
);
}
}
diff --git a/lib/pages/AlHabibMedicalService/HomeHealthCare/orders_log_details_page.dart b/lib/pages/AlHabibMedicalService/HomeHealthCare/orders_log_details_page.dart
index 22ffd68f..e14d07e8 100644
--- a/lib/pages/AlHabibMedicalService/HomeHealthCare/orders_log_details_page.dart
+++ b/lib/pages/AlHabibMedicalService/HomeHealthCare/orders_log_details_page.dart
@@ -45,27 +45,6 @@ class OrdersLogDetailsPage extends StatelessWidget {
),
);
return;
-
- // todo 'sikander' remove useless code
-
- showDialog(
- context: context,
- child: ConfirmCancelOrderDialog(
- model: model,
- onTap: () async {
- UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
- model.setState(ViewState.Busy);
- await model.updateHHCPresOrder(updatePresOrderRequestModel);
- if (model.state == ViewState.ErrorLocal) {
- Utils.showErrorToast(model.error);
- } else {
- AppToast.showSuccessToast(message: TranslationBase.of(context).processDoneSuccessfully);
- await model.getHHCAllPresOrders();
- // await model.getHHCAllServices();
- }
- },
- ),
- );
}
return AppScaffold(
diff --git a/lib/pages/AlHabibMedicalService/h2o/Dialog/confirm_add_amount_dialog.dart b/lib/pages/AlHabibMedicalService/h2o/Dialog/confirm_add_amount_dialog.dart
deleted file mode 100644
index 0197873b..00000000
--- a/lib/pages/AlHabibMedicalService/h2o/Dialog/confirm_add_amount_dialog.dart
+++ /dev/null
@@ -1,104 +0,0 @@
-import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/H2O/insert_user_activity_request_model.dart';
-import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-// todo 'sikander' remove useless code
-// ignore: must_be_immutable
-// class ConfirmAddAmountDialog extends StatefulWidget {
-// final int amount;
-// final String unit;
-// final H2OViewModel model;
-//
-// ConfirmAddAmountDialog({Key key, this.model, this.amount, this.unit = "ml"});
-//
-// @override
-// _ConfirmAddAmountDialogState createState() => _ConfirmAddAmountDialogState();
-// }
-//
-// class _ConfirmAddAmountDialogState extends State {
-// @override
-// void initState() {
-// super.initState();
-// }
-//
-// @override
-// Widget build(BuildContext context) {
-// return SimpleDialog(
-// contentPadding: EdgeInsets.fromLTRB(24.0, 0.0, 24.0, 8.0),
-// titlePadding: EdgeInsets.fromLTRB(24.0, 16.0, 24.0, 8.0),
-// title: Center(
-// child: Texts(
-// TranslationBase.of(context).confirm,
-// textAlign: TextAlign.center,
-// color: Colors.black,
-// ),
-// ),
-// children: [
-// Column(
-// children: [
-// Divider(),
-// Center(
-// child: Texts(
-// "${TranslationBase.of(context).areyousure} ${widget.amount} ${widget.unit} ?",
-// textAlign: TextAlign.center,
-// color: Colors.grey,
-// ),
-// ),
-// SizedBox(
-// height: 16.0,
-// ),
-// Row(
-// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: const EdgeInsets.all(8.0),
-// child: Container(
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).cancel.toUpperCase(),
-// color: Colors.red,
-// ),
-// ),
-// ),
-// ),
-// ),
-// ),
-// Container(
-// width: 1,
-// height: 30,
-// color: Colors.grey[500],
-// ),
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () async {
-// InsertUserActivityRequestModel insertUserActivityRequestModel = InsertUserActivityRequestModel(quantityIntake: widget.amount);
-// await widget.model.insertUserActivity(insertUserActivityRequestModel);
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: const EdgeInsets.all(8.0),
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).ok.toUpperCase(),
-// fontWeight: FontWeight.w400,
-// )),
-// ),
-// ),
-// ),
-// ],
-// ),
-// ],
-// )
-// ],
-// );
-// }
-// }
diff --git a/lib/pages/AlHabibMedicalService/h2o/Dialog/select_amount_dialog.dart b/lib/pages/AlHabibMedicalService/h2o/Dialog/select_amount_dialog.dart
deleted file mode 100644
index 4d02c27b..00000000
--- a/lib/pages/AlHabibMedicalService/h2o/Dialog/select_amount_dialog.dart
+++ /dev/null
@@ -1,166 +0,0 @@
-import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
-import 'package:diplomaticquarterapp/pages/base/base_view.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-// todo 'sikander' remove useless code
-// ignore: must_be_immutable
-// class SelectAmountDialog extends StatefulWidget {
-// final Function(AmountModel) onValueSelected;
-// AmountModel selectedAmount;
-//
-// SelectAmountDialog({Key key, this.onValueSelected, this.selectedAmount});
-//
-// @override
-// _SelectAmountDialogState createState() => _SelectAmountDialogState();
-// }
-//
-// class _SelectAmountDialogState extends State {
-// List searchAmount = [
-// AmountModel(name: "l", nameAr: "لتر", value: 1),
-// AmountModel(name: "ml", nameAr: "مم لتر", value: 2),
-// ];
-// @override
-// void initState() {
-// super.initState();
-// widget.selectedAmount = widget.selectedAmount ?? searchAmount[0];
-// getLanguage();
-// }
-//
-// String languageID = "en";
-//
-// void getLanguage() async {
-// languageID = await sharedPref.getString(APP_LANGUAGE);
-// setState(() {});
-// }
-//
-// @override
-// Widget build(BuildContext context) {
-// return SimpleDialog(
-// children: [
-// Column(
-// children: [
-// Texts(
-// TranslationBase.of(context).preferredunit,
-// fontSize: 20,
-// ),
-// Divider(),
-// ...List.generate(
-// searchAmount.length,
-// (index) => Column(
-// crossAxisAlignment: CrossAxisAlignment.start,
-// children: [
-// SizedBox(
-// height: 2,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// setState(() {
-// widget.selectedAmount = searchAmount[index];
-// });
-// },
-// child: ListTile(
-// title: Text(languageID == "ar" ? searchAmount[index].nameAr : searchAmount[index].name),
-// leading: Radio(
-// value: searchAmount[index],
-// groupValue: widget.selectedAmount,
-// activeColor: Colors.red[800],
-// onChanged: (value) {
-// setState(() {
-// widget.selectedAmount = value;
-// });
-// },
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// ],
-// ),
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: const EdgeInsets.all(8.0),
-// child: Container(
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).cancel.toUpperCase(),
-// color: Colors.red,
-// ),
-// ),
-// ),
-// ),
-// ),
-// ),
-// Container(
-// width: 1,
-// height: 30,
-// color: Colors.grey[500],
-// ),
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// widget.onValueSelected(widget.selectedAmount);
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: const EdgeInsets.all(8.0),
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).ok,
-// fontWeight: FontWeight.w400,
-// )),
-// ),
-// ),
-// ),
-// ],
-// )
-// ],
-// )
-// ],
-// );
-// }
-// }
-//
-// class AmountModel {
-// String name;
-// String nameAr;
-// int value;
-//
-// AmountModel({this.name, this.nameAr, this.value});
-//
-// AmountModel.fromJson(Map json) {
-// name = json['name'];
-// nameAr = json['nameAr'];
-// value = json['value'];
-// }
-//
-// Map toJson() {
-// final Map data = new Map();
-// data['name'] = this.name;
-// data['nameAr'] = this.nameAr;
-// data['value'] = this.value;
-// return data;
-// }
-// }
diff --git a/lib/pages/AlHabibMedicalService/h2o/add_custom_amount.dart b/lib/pages/AlHabibMedicalService/h2o/add_custom_amount.dart
deleted file mode 100644
index 641f6df7..00000000
--- a/lib/pages/AlHabibMedicalService/h2o/add_custom_amount.dart
+++ /dev/null
@@ -1,133 +0,0 @@
-import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/Dialog/confirm_add_amount_dialog.dart';
-import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-
-import 'Dialog/select_amount_dialog.dart';
-
-// todo 'sikander' remove useless code
-// class AddCustomAmount extends StatefulWidget {
-// final H2OViewModel model;
-// final Function changePageViewIndex;
-//
-// const AddCustomAmount({Key key, this.model, this.changePageViewIndex})
-// : super(key: key);
-//
-// @override
-// _AddCustomAmountState createState() => _AddCustomAmountState();
-// }
-//
-// class _AddCustomAmountState extends State {
-// TextEditingController _nameTextController = TextEditingController();
-// AmountModel selectedAmount;
-//
-// @override
-// void initState() {
-// setState(() {
-// _nameTextController.text = "0";
-// });
-// super.initState();
-// }
-//
-// @override
-// Widget build(BuildContext context) {
-// return AppScaffold(
-// isShowAppBar: true,
-// appBarTitle:TranslationBase.of(context).customLabel,
-// body: SingleChildScrollView(
-// physics: ScrollPhysics(),
-// child: Container(
-// margin: EdgeInsets.all(12),
-// child: Center(
-// child: FractionallySizedBox(
-// widthFactor: 0.94,
-// child: Column(
-// crossAxisAlignment: CrossAxisAlignment.start,
-// children: [
-// SizedBox(
-// height: 12,
-// ),
-// NewTextFields(
-// hintText: TranslationBase.of(context).h2oAmountOfWater,
-// // type: "Number",
-// controller: _nameTextController,
-// ),
-// SizedBox(
-// height: 12,
-// ),
-// InkWell(
-// onTap: () => confirmAmountTypeDialog(),
-// child: Container(
-// padding: EdgeInsets.all(12),
-// width: double.infinity,
-// height: 65,
-// decoration: BoxDecoration(
-// borderRadius: BorderRadius.circular(12),
-// color: Colors.white),
-// child: Row(
-// mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// Texts(getAmountName()),
-// Icon(Icons.arrow_drop_down)
-// ],
-// ),
-// ),
-// ),
-// SizedBox(
-// height: 12,
-// ),
-// SecondaryButton(
-// textColor: Colors.white,
-// label: TranslationBase.of(context).ok,
-// onTap: () async {
-// Navigator.of(context).pop();
-// showConfirmMessage (int.parse(_nameTextController.text), widget.model);
-// },
-// // loading: model.state == ViewState.BusyLocal,
-// disabled: _nameTextController.text.isEmpty || selectedAmount == null),
-// SizedBox(
-// height: 12,
-// ),
-// ],
-// ),
-// ),
-// ),
-// ),
-// ),
-// );
-// }
-//
-//
-// void confirmAmountTypeDialog() {
-// showDialog(
-// context: context,
-// child: SelectAmountDialog(
-// selectedAmount: selectedAmount,
-// onValueSelected: (value) {
-// setState(() {
-// selectedAmount = value;
-// });
-// },
-// ),
-// );
-// }
-//
-//
-// String getAmountName() {
-// if (selectedAmount != null)
-// return selectedAmount.name;
-// else
-// return TranslationBase.of(context).selectUnit;
-// }
-//
-//
-//
-// void showConfirmMessage(int amount, H2OViewModel model) {
-// showDialog(context: context, child: ConfirmAddAmountDialog(model: model,amount:amount,));
-// }
-// }
diff --git a/lib/pages/AlHabibMedicalService/h2o/h20_setting.dart b/lib/pages/AlHabibMedicalService/h2o/h20_setting.dart
index 904f4183..edc82034 100644
--- a/lib/pages/AlHabibMedicalService/h2o/h20_setting.dart
+++ b/lib/pages/AlHabibMedicalService/h2o/h20_setting.dart
@@ -126,7 +126,7 @@ class _H2oSettingState extends State {
),
),
SizedBox(height: 12),
- _containerWidget(inputWidget(TranslationBase.of(context).enterNameHere, TranslationBase.of(context).name, _nameController)),
+ inputWidget(TranslationBase.of(context).enterNameHere, TranslationBase.of(context).name, _nameController).withBorderedContainer,
SizedBox(height: 16),
Text(
TranslationBase.of(context).preferredunit,
@@ -210,80 +210,77 @@ class _H2oSettingState extends State {
},
_weightPopupList),
SizedBox(height: 12),
- _containerWidget(
- _commonDropDownView(TranslationBase.of(context).dateOfBirth, DateUtil.getFormattedDate(_dobDate, "dd MMMM, yyyy"), () {
- showModalBottomSheet(
- context: context,
- builder: (context) {
- return Container(
- height: 250,
- padding: EdgeInsets.all(8),
- child: Column(children: [
- Container(
- height: 40,
- alignment: Alignment.centerRight,
- child: Row(mainAxisSize: MainAxisSize.min, children: [
- InkWell(
- onTap: () => Navigator.pop(context),
- child: Container(
- alignment: Alignment.center,
- padding: EdgeInsets.fromLTRB(8, 4, 8, 4),
- child: Text(TranslationBase.of(context).cancel),
- ),
+ CommonDropDownView(TranslationBase.of(context).dateOfBirth, DateUtil.getFormattedDate(_dobDate, "dd MMMM, yyyy"), () {
+ showModalBottomSheet(
+ context: context,
+ builder: (context) {
+ return Container(
+ height: 250,
+ padding: EdgeInsets.all(8),
+ child: Column(children: [
+ Container(
+ height: 40,
+ alignment: Alignment.centerRight,
+ child: Row(mainAxisSize: MainAxisSize.min, children: [
+ InkWell(
+ onTap: () => Navigator.pop(context),
+ child: Container(
+ alignment: Alignment.center,
+ padding: EdgeInsets.fromLTRB(8, 4, 8, 4),
+ child: Text(TranslationBase.of(context).cancel),
),
- SizedBox(width: 8),
- InkWell(
- onTap: () {
- Navigator.pop(context);
- setState(() {
- _dobDate = _tempDate;
- });
- },
- child: Container(
- alignment: Alignment.center,
- padding: EdgeInsets.fromLTRB(8, 4, 8, 4),
- child: Text(TranslationBase.of(context).ok),
- ),
- )
- ]),
- ),
- Expanded(
- child: Container(
- width: MediaQuery.of(context).size.width,
- child: CupertinoDatePicker(
- initialDateTime: _dobDate,
- mode: CupertinoDatePickerMode.date,
- onDateTimeChanged: (_date) {
- _tempDate = _date;
- },
+ ),
+ SizedBox(width: 8),
+ InkWell(
+ onTap: () {
+ Navigator.pop(context);
+ setState(() {
+ _dobDate = _tempDate;
+ });
+ },
+ child: Container(
+ alignment: Alignment.center,
+ padding: EdgeInsets.fromLTRB(8, 4, 8, 4),
+ child: Text(TranslationBase.of(context).ok),
),
+ )
+ ]),
+ ),
+ Expanded(
+ child: Container(
+ width: MediaQuery.of(context).size.width,
+ child: CupertinoDatePicker(
+ initialDateTime: _dobDate,
+ mode: CupertinoDatePickerMode.date,
+ onDateTimeChanged: (_date) {
+ _tempDate = _date;
+ },
),
- )
- ]),
- );
- });
- }, iconData: Icons.calendar_today),
- ),
+ ),
+ )
+ ]),
+ );
+ });
+ }, iconData: Icons.calendar_today)
+ .withBorderedContainer,
SizedBox(height: 12),
- _containerWidget(
- _commonDropDownView(TranslationBase.of(context).activityLevel, _activityLevelListEng[_selectedActiveLevel - 1], () {
- List list = [
- for (int i = 0; i < _activityLevelListEng.length; i++) RadioSelectionDialogModel(_activityLevelListEng[i], i + 1),
- ];
+ CommonDropDownView(TranslationBase.of(context).activityLevel, _activityLevelListEng[_selectedActiveLevel - 1], () {
+ List list = [
+ for (int i = 0; i < _activityLevelListEng.length; i++) RadioSelectionDialogModel(_activityLevelListEng[i], i + 1),
+ ];
- showDialog(
- context: context,
- child: RadioSelectionDialog(
- listData: list,
- selectedIndex: _selectedActiveLevel,
- onValueSelected: (index) {
- _selectedActiveLevel = index;
- setState(() {});
- },
- ),
- );
- }),
- ),
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: _selectedActiveLevel,
+ onValueSelected: (index) {
+ _selectedActiveLevel = index;
+ setState(() {});
+ },
+ ),
+ );
+ }).withBorderedContainer,
SizedBox(height: 18),
Text(
TranslationBase.of(context).reminderLabel,
@@ -296,25 +293,23 @@ class _H2oSettingState extends State {
),
),
SizedBox(height: 12),
- _containerWidget(
- _commonDropDownView(TranslationBase.of(context).reminderTimesLabel, _remindedTimeListEng[_selectedRemindedTime], () {
- List list = [
- for (int i = 0; i < _remindedTimeListEng.length; i++) RadioSelectionDialogModel(_remindedTimeListEng[i], i),
- ];
+ CommonDropDownView(TranslationBase.of(context).reminderTimesLabel, _remindedTimeListEng[_selectedRemindedTime], () {
+ List list = [
+ for (int i = 0; i < _remindedTimeListEng.length; i++) RadioSelectionDialogModel(_remindedTimeListEng[i], i),
+ ];
- showDialog(
- context: context,
- child: RadioSelectionDialog(
- listData: list,
- selectedIndex: _selectedRemindedTime,
- onValueSelected: (index) {
- _selectedRemindedTime = index;
- setState(() {});
- },
- ),
- );
- }),
- ),
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: _selectedRemindedTime,
+ onValueSelected: (index) {
+ _selectedRemindedTime = index;
+ setState(() {});
+ },
+ ),
+ );
+ }).withBorderedContainer,
],
),
),
@@ -333,58 +328,6 @@ class _H2oSettingState extends State {
);
}
- Widget _containerWidget(Widget child) {
- return Container(
- padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
- alignment: Alignment.center,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(15),
- color: Colors.white,
- border: Border.all(
- color: Color(0xffefefef),
- width: 1,
- ),
- ),
- child: child,
- );
- }
-
- Widget _commonDropDownView(String title, String value, VoidCallback callback, {IconData iconData}) {
- return InkWell(
- onTap: callback,
- child: Row(
- children: [
- Expanded(
- child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
- Text(
- title,
- style: TextStyle(
- fontSize: 12,
- fontWeight: FontWeight.w600,
- color: Color(0xff2E303A),
- letterSpacing: -0.44,
- ),
- ),
- Text(
- value,
- style: TextStyle(
- fontSize: 14,
- fontWeight: FontWeight.w400,
- color: Color(0xff575757),
- letterSpacing: -0.56,
- ),
- ),
- ]),
- ),
- Icon(
- iconData ?? Icons.keyboard_arrow_down_sharp,
- color: Color(0xff2E303A),
- )
- ],
- ),
- );
- }
-
Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String prefix, bool isEnable = true, bool hasSelection = false}) {
return InkWell(
onTap: hasSelection ? () {} : null,
@@ -501,81 +444,79 @@ class _H2oSettingState extends State {
Widget _commonInputAndUnitRow(_title, _controller, double _minValue, double _maxValue, double _valueOrg, Function(String) onTextValueChange, Function(double) onValueChange, String unitTitle,
Function(bool) onUnitTap, _list) {
- return _containerWidget(
- Row(
- children: [
- Expanded(
- flex: 3,
- child: Column(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- _title,
- style: TextStyle(
- fontSize: 12,
- fontWeight: FontWeight.w600,
- color: Color(0xff2E303A),
- letterSpacing: -0.44,
- ),
+ return Row(
+ children: [
+ Expanded(
+ flex: 3,
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ _title,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2E303A),
+ letterSpacing: -0.44,
),
- TextField(
- controller: _controller,
- keyboardType: TextInputType.number,
- onChanged: (value) {
- double _value = double.parse(value);
- if (_value > _maxValue) {
- onTextValueChange(_maxValue.toStringAsFixed(0));
- onValueChange(_maxValue);
- return;
- } else if (_value < _minValue) {
- onTextValueChange(_minValue.toStringAsFixed(0));
- onValueChange(_minValue);
- return;
- } else if (_value >= _minValue && _value <= _maxValue) {
- onValueChange(_value);
- return;
- }
- },
- inputFormatters: [
- FilteringTextInputFormatter.allow(RegExp(r'[0-9]')),
- ],
- style: TextStyle(
+ ),
+ TextField(
+ controller: _controller,
+ keyboardType: TextInputType.number,
+ onChanged: (value) {
+ double _value = double.parse(value);
+ if (_value > _maxValue) {
+ onTextValueChange(_maxValue.toStringAsFixed(0));
+ onValueChange(_maxValue);
+ return;
+ } else if (_value < _minValue) {
+ onTextValueChange(_minValue.toStringAsFixed(0));
+ onValueChange(_minValue);
+ return;
+ } else if (_value >= _minValue && _value <= _maxValue) {
+ onValueChange(_value);
+ return;
+ }
+ },
+ inputFormatters: [
+ FilteringTextInputFormatter.allow(RegExp(r'[0-9]')),
+ ],
+ style: TextStyle(
+ color: Color(0xff575757),
+ letterSpacing: -0.56,
+ ),
+ decoration: InputDecoration(
+ isDense: true,
+ hintText: "0",
+ hintStyle: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
color: Color(0xff575757),
letterSpacing: -0.56,
),
- decoration: InputDecoration(
- isDense: true,
- hintText: "0",
- hintStyle: TextStyle(
- fontSize: 14,
- height: 21 / 14,
- fontWeight: FontWeight.w400,
- color: Color(0xff575757),
- letterSpacing: -0.56,
- ),
- contentPadding: EdgeInsets.zero,
- border: InputBorder.none,
- focusedBorder: InputBorder.none,
- enabledBorder: InputBorder.none,
- ),
+ contentPadding: EdgeInsets.zero,
+ border: InputBorder.none,
+ focusedBorder: InputBorder.none,
+ enabledBorder: InputBorder.none,
),
- ],
- ),
+ ),
+ ],
),
- Container(height: 34, width: 1, color: Color(0xffE0E0E0), margin: EdgeInsets.only(left: 12, right: 12)),
- Expanded(
- flex: 1,
- child: PopupMenuButton(
- child: _commonDropDownView(TranslationBase.of(context).unit, unitTitle, null),
- onSelected: (value) {
- onUnitTap(value);
- },
- itemBuilder: (context) => _list),
- )
- ],
- ),
- );
+ ),
+ Container(height: 34, width: 1, color: Color(0xffE0E0E0), margin: EdgeInsets.only(left: 12, right: 12)),
+ Expanded(
+ flex: 1,
+ child: PopupMenuButton(
+ child: CommonDropDownView(TranslationBase.of(context).unit, unitTitle, null),
+ onSelected: (value) {
+ onUnitTap(value);
+ },
+ itemBuilder: (context) => _list),
+ )
+ ],
+ ).withBorderedContainer;
}
void _updateUserDetails() async {
@@ -627,3 +568,65 @@ class _H2oSettingState extends State {
});
}
}
+
+// todo 'sikander' move these to separate file once usability known
+class CommonDropDownView extends StatelessWidget {
+ final String title;
+ final String value;
+ final VoidCallback callback;
+ final IconData iconData;
+ CommonDropDownView(this.title, this.value, this.callback, {Key key, this.iconData}) : super(key: key);
+
+ @override
+ Widget build(BuildContext context) {
+ return InkWell(
+ onTap: callback,
+ child: Row(
+ children: [
+ Expanded(
+ child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
+ Text(
+ title,
+ style: TextStyle(
+ fontSize: 12,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2E303A),
+ letterSpacing: -0.44,
+ ),
+ ),
+ Text(
+ value,
+ style: TextStyle(
+ fontSize: 14,
+ fontWeight: FontWeight.w400,
+ color: Color(0xff575757),
+ letterSpacing: -0.56,
+ ),
+ ),
+ ]),
+ ),
+ Icon(
+ iconData ?? Icons.keyboard_arrow_down_sharp,
+ color: Color(0xff2E303A),
+ )
+ ],
+ ),
+ );
+ }
+}
+
+extension BorderedContainer on Widget {
+ Widget get withBorderedContainer => Container(
+ padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(15),
+ color: Colors.white,
+ border: Border.all(
+ color: Color(0xffefefef),
+ width: 1,
+ ),
+ ),
+ child: this,
+ );
+}
diff --git a/lib/pages/AlHabibMedicalService/h2o/today_page.dart b/lib/pages/AlHabibMedicalService/h2o/today_page.dart
index fe385ade..accd6887 100644
--- a/lib/pages/AlHabibMedicalService/h2o/today_page.dart
+++ b/lib/pages/AlHabibMedicalService/h2o/today_page.dart
@@ -1,7 +1,6 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/H2O/insert_user_activity_request_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
@@ -18,9 +17,6 @@ import 'package:shared_preferences/shared_preferences.dart';
import 'package:wave/config.dart';
import 'package:wave/wave.dart';
-import 'Dialog/confirm_add_amount_dialog.dart';
-import 'add_custom_amount.dart';
-
class TodayPage extends StatefulWidget {
TodayPage({Key key}) : super(key: key);
diff --git a/lib/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart b/lib/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart
deleted file mode 100644
index 9b876cc1..00000000
--- a/lib/pages/AlHabibMedicalService/h2o/widgets/h20_floating_action_button.dart
+++ /dev/null
@@ -1,201 +0,0 @@
-import 'dart:math' as math;
-
-import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_view_model.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/Dialog/confirm_add_amount_dialog.dart';
-import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
-import 'package:flutter/material.dart';
-
-import '../add_custom_amount.dart';
-
-
-// todo 'sikander' remove useless code
-
-
-// class H20FloatingActionButton extends StatefulWidget {
-// const H20FloatingActionButton({Key key, @required AnimationController controller, @required this.model}) : super(key: key);
-//
-// final H2OViewModel model;
-//
-// @override
-// _H20FloatingActionButtonState createState() => _H20FloatingActionButtonState();
-// }
-//
-// class _H20FloatingActionButtonState extends State with TickerProviderStateMixin {
-// AnimationController _controller;
-// @override
-// void initState() {
-// _controller = new AnimationController(
-// vsync: this,
-// duration: const Duration(milliseconds: 500),
-// );
-// super.initState();
-// }
-//
-// void showConfirmMessage(int amount, H2OViewModel model) {
-// showDialog(
-// context: context,
-// child: ConfirmAddAmountDialog(
-// model: model,
-// amount: amount,
-// ),
-// );
-// }
-//
-// @override
-// Widget build(BuildContext context) {
-// return Container(
-// margin: EdgeInsets.only(left: 20, right: 20),
-// child: new Column(mainAxisSize: MainAxisSize.min, children: [
-// Row(
-// mainAxisAlignment: MainAxisAlignment.start,
-// children: [
-// Column(
-// crossAxisAlignment: CrossAxisAlignment.end,
-// children: [
-// ActionButton(
-// controller: _controller,
-// text: "600${TranslationBase.of(context).ml}",
-// onTap: () {
-// showConfirmMessage(600, widget.model);
-// },
-// ),
-// ActionButton(
-// controller: _controller,
-// text: "330${TranslationBase.of(context).ml}",
-// onTap: () {
-// showConfirmMessage(330, widget.model);
-// },
-// ),
-// ActionButton(
-// controller: _controller,
-// text: "200${TranslationBase.of(context).ml}",
-// onTap: () {
-// showConfirmMessage(200, widget.model);
-// },
-// ),
-// ],
-// ),
-// ],
-// ),
-// Row(
-// mainAxisAlignment: MainAxisAlignment.start,
-// children: [
-// FloatingActionButton(
-// heroTag: null,
-// child: new AnimatedBuilder(
-// animation: _controller,
-// builder: (BuildContext context, Widget child) {
-// return new Transform(
-// transform: new Matrix4.rotationZ(_controller.value * 0.5 * math.pi),
-// alignment: FractionalOffset.center,
-// child: new Icon(_controller.isDismissed ? Icons.add : Icons.close),
-// );
-// },
-// ),
-// onPressed: () {
-// if (_controller.isDismissed) {
-// _controller.forward();
-// } else {
-// _controller.reverse();
-// }
-// },
-// ),
-// new Container(
-// margin: EdgeInsets.only(left: 8, bottom: 4),
-// alignment: FractionalOffset.topCenter,
-// child: new ScaleTransition(
-// scale: new CurvedAnimation(
-// parent: _controller,
-// curve: new Interval(0.0, 1.0 - 0 / 6 / 2.0, curve: Curves.easeOut),
-// ),
-// child: new FloatingActionButton(
-// backgroundColor: Colors.white,
-// heroTag: null,
-// // mini: true,
-// child: Text(
-// TranslationBase.of(context).custom,
-// textAlign: TextAlign.center,
-// style: TextStyle(fontSize: 12, color: Colors.grey),
-// ),
-// onPressed: () {
-// Navigator.push(
-// context,
-// FadePage(
-// page: AddCustomAmount(
-// model: widget.model,
-// ),
-// ),
-// );
-// },
-// ),
-// ),
-// ),
-// new Container(
-// margin: EdgeInsets.only(left: 8, bottom: 4),
-// alignment: FractionalOffset.topCenter,
-// child: new ScaleTransition(
-// scale: new CurvedAnimation(
-// parent: _controller,
-// curve: new Interval(0.0, 1.0 - 0 / 6 / 2.0, curve: Curves.easeOut),
-// ),
-// child: new FloatingActionButton(
-// backgroundColor: Colors.white,
-// heroTag: null,
-// //mini: true,
-// child: Text(
-// TranslationBase.of(context).undo,
-// textAlign: TextAlign.center,
-// style: TextStyle(fontSize: 12.0, color: Colors.grey),
-// ),
-// onPressed: undoVolume,
-// ),
-// ),
-// ),
-// ],
-// ),
-// ]),
-// );
-// }
-//
-// void undoVolume() async {
-// GifLoaderDialogUtils.showMyDialog(context);
-// await widget.model.undoUserActivity();
-// GifLoaderDialogUtils.hideDialog(context);
-// }
-// }
-//
-// class ActionButton extends StatelessWidget {
-// const ActionButton({Key key, @required AnimationController controller, @required this.text, this.onTap})
-// : _controller = controller,
-// super(key: key);
-//
-// final AnimationController _controller;
-// final String text;
-// final Function onTap;
-//
-// @override
-// Widget build(BuildContext context) {
-// return Container(
-// margin: EdgeInsets.only(left: 4, bottom: 8),
-// alignment: FractionalOffset.topCenter,
-// child: new ScaleTransition(
-// scale: new CurvedAnimation(
-// parent: _controller,
-// curve: new Interval(0.0, 1.0 - 0 / 6 / 2.0, curve: Curves.easeOut),
-// ),
-// child: new FloatingActionButton(
-// heroTag: null,
-// backgroundColor: Colors.white,
-// //mini: true,
-// child: Text(
-// text,
-// textAlign: TextAlign.center,
-// style: TextStyle(fontSize: 12.0, color: Colors.grey),
-// ),
-// onPressed: onTap),
-// ),
-// );
-// }
-// }
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
index ae7a35a7..13de0140 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
@@ -1,9 +1,15 @@
+import 'dart:collection';
+
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HealthCalculator/DiseasesByClinic.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/health-calculator/Bariatrics-viewmodel.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
+import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
+import 'package:diplomaticquarterapp/uitl/app_toast.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/borderedButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@@ -61,9 +67,7 @@ class _BariatricsPageState extends State {
activeColor: Colors.blue.shade700,
value: item.diseasesID,
groupValue: _selectedDisease != null ? _selectedDisease.diseasesID : -1,
- selected: _selectedDisease != null
- ? item.diseasesID == _selectedDisease.diseasesID
- : false,
+ selected: _selectedDisease != null ? item.diseasesID == _selectedDisease.diseasesID : false,
onChanged: (val) {
setState(() {
_selectedDisease = item;
@@ -95,10 +99,14 @@ class _BariatricsPageState extends State {
radius: 8,
fontWeight: FontWeight.bold,
handler: () async {
- Navigator.push(
- context,
- FadePage(page: DoctorList(diseaseByClinic: _selectedDisease,)),
- );
+ callDoctorsSearchAPI();
+ // Navigator.push(
+ // context,
+ // FadePage(
+ // page: DoctorList(
+ // diseaseByClinic: _selectedDisease,
+ // )),
+ // );
},
),
),
@@ -116,10 +124,11 @@ class _BariatricsPageState extends State {
borderColor: Color(0x00000000),
fontWeight: FontWeight.bold,
handler: () async {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ callDoctorsSearchAPI();
+ // Navigator.push(
+ // context,
+ // FadePage(page: DoctorList()),
+ // );
},
),
),
@@ -129,6 +138,65 @@ class _BariatricsPageState extends State {
);
}
+ callDoctorsSearchAPI() {
+ GifLoaderDialogUtils.showMyDialog(context);
+ List doctorsList = [];
+ List arr = [];
+ List arrDistance = [];
+ List result;
+ int numAll;
+ List _patientDoctorAppointmentListHospital = List();
+
+ DoctorsListService service = new DoctorsListService();
+ service.getDoctorsList(108, 0, false, context).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ if (res['MessageStatus'] == 1) {
+ setState(() {
+ if (res['DoctorList'].length != 0) {
+ doctorsList.clear();
+ res['DoctorList'].forEach((v) {
+ doctorsList.add(new DoctorList.fromJson(v));
+ });
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital
+ .add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: element.projectDistanceInKiloMeters.toString(), patientDoctorAppointment: element));
+ }
+ });
+ } else {}
+ });
+
+ result = LinkedHashSet.from(arr).toList();
+ numAll = result.length;
+ navigateToSearchResults(context, doctorsList, _patientDoctorAppointmentListHospital);
+ } else {
+ AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ AppToast.showErrorToast(message: err);
+ });
+ }
+
+ Future navigateToSearchResults(context, List docList, List patientDoctorAppointmentListHospital) async {
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: docList, patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital)))
+ .then((value) {
+ setState(() {
+ // dropdownValue = null;
+ });
+ // getProjectsList();
+ });
+ }
+
_getImageName(int gender, double obeseResult, bool isArabic) {
String path = "assets/images/BMI/";
double result = obeseResult;
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_calculator.dart b/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_calculator.dart
index 0e22c7ae..ad35c61d 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_calculator.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_calculator.dart
@@ -1,4 +1,5 @@
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -123,7 +124,9 @@ class _BmrCalculatorState extends State {
return AppScaffold(
isShowAppBar: true,
isShowDecPage: false,
- appBarTitle: 'Bmr Calculator',
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).bmr,
showHomeAppBarIcon: false,
appBarIcons: [
Padding(
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_result_page.dart
index 6e7d6279..e1409ee5 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/bmr_calculator/bmr_result_page.dart
@@ -1,4 +1,8 @@
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -9,13 +13,17 @@ import 'package:percent_indicator/circular_percent_indicator.dart';
class BmrResultPage extends StatelessWidget {
final double bmrResult;
final double calories;
+
BmrResultPage({this.bmrResult, this.calories});
+
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
isShowDecPage: false,
- appBarTitle: 'BMR Calculator',
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).bmr,
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
@@ -58,16 +66,66 @@ class BmrResultPage extends StatelessWidget {
Container(
width: 350,
child: Button(
- label: 'See List Of Doctors',
+ label: TranslationBase.of(context).viewDocList,
onTap: () {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ getDoctorsList(context);
}),
),
],
),
);
}
+
+ getDoctorsList(BuildContext context) {
+ GifLoaderDialogUtils.showMyDialog(context);
+ BariatricsService service = new BariatricsService();
+
+ List doctorsList = [];
+ List _patientDoctorAppointmentListHospital = List();
+
+ service.getCalculationDoctors(calculationID: 3).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(res['List_CalculationTable'].length);
+ if (res['MessageStatus'] == 1) {
+ if (res['List_CalculationTable'].length != 0) {
+ res['List_CalculationTable'].forEach((item) {
+ DoctorList docList = new DoctorList();
+ docList.clinicID = item['ClinicID'];
+ docList.clinicName = item['ClinicName'];
+ docList.doctorID = item['DoctorID'];
+ docList.doctorImageURL = item['DoctorImageURL'];
+ docList.name = item['DoctorName'];
+ docList.doctorTitle = item['DoctorTitle'];
+ docList.gender = item['Gender'];
+ docList.genderDescription = item['GenderDescription'];
+ docList.nationalityName = item['Nationality'];
+ docList.nationalityFlagURL = item['NationalityFlagURL'];
+ docList.projectID = item['ProjectID'];
+ docList.projectName = item['ProjectName'];
+ docList.actualDoctorRate = 0;
+ doctorsList.add(docList);
+ });
+
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: "0", patientDoctorAppointment: element));
+ }
+ });
+
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: doctorsList, patientDoctorAppointmentListHospital: _patientDoctorAppointmentListHospital)));
+ }
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ });
+ }
}
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat.dart b/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat.dart
index afbc9f1c..7b32c840 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat.dart
@@ -1,5 +1,6 @@
import 'dart:math';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -210,8 +211,10 @@ class _BodyFatState extends State {
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Body Fat',
- showHomeAppBarIcon: false,
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).bodyFatTitle,
appBarIcons: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0, vertical: 7.0),
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat_result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat_result_page.dart
index f41f9598..9ba23a1e 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat_result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/body_fat/body_fat_result_page.dart
@@ -1,4 +1,8 @@
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -12,7 +16,9 @@ class FatResult extends StatelessWidget {
final String textResult;
FatResult({this.bodyFat, this.fat, this.textResult = ''});
+
Color inductorColor;
+
Color colorInductor() {
if (bodyFat >= 17) {
inductorColor = Color(0xffC70D00);
@@ -30,7 +36,10 @@ class FatResult extends StatelessWidget {
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Body Fat',
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).bodyFatTitle,
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
@@ -69,12 +78,9 @@ class FatResult extends StatelessWidget {
Container(
width: 350,
child: Button(
- label: 'See List Of Doctors',
+ label: TranslationBase.of(context).viewDocList,
onTap: () {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ getDoctorsList(context);
},
),
),
@@ -82,4 +88,57 @@ class FatResult extends StatelessWidget {
),
);
}
+
+ getDoctorsList(BuildContext context) {
+ GifLoaderDialogUtils.showMyDialog(context);
+ BariatricsService service = new BariatricsService();
+
+ List doctorsList = [];
+ List _patientDoctorAppointmentListHospital = List();
+
+ service.getCalculationDoctors(calculationID: 5).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(res['List_CalculationTable'].length);
+ if (res['MessageStatus'] == 1) {
+ if (res['List_CalculationTable'].length != 0) {
+ res['List_CalculationTable'].forEach((item) {
+ DoctorList docList = new DoctorList();
+ docList.clinicID = item['ClinicID'];
+ docList.clinicName = item['ClinicName'];
+ docList.doctorID = item['DoctorID'];
+ docList.doctorImageURL = item['DoctorImageURL'];
+ docList.name = item['DoctorName'];
+ docList.doctorTitle = item['DoctorTitle'];
+ docList.gender = item['Gender'];
+ docList.genderDescription = item['GenderDescription'];
+ docList.nationalityName = item['Nationality'];
+ docList.nationalityFlagURL = item['NationalityFlagURL'];
+ docList.projectID = item['ProjectID'];
+ docList.projectName = item['ProjectName'];
+ docList.actualDoctorRate = 0;
+ doctorsList.add(docList);
+ });
+
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: "0", patientDoctorAppointment: element));
+ }
+ });
+
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: doctorsList, patientDoctorAppointmentListHospital: _patientDoctorAppointmentListHospital)));
+ }
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ });
+ }
}
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_result_page.dart
index ed3dd8f8..749bf241 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_result_page.dart
@@ -1,4 +1,7 @@
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@@ -15,9 +18,11 @@ class CalorieResultPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return AppScaffold(
- isShowDecPage: false,
appBarTitle: "${TranslationBase.of(context).calories} ${TranslationBase.of(context).calculators}",
isShowAppBar: true,
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
@@ -52,12 +57,9 @@ class CalorieResultPage extends StatelessWidget {
Container(
width: 350,
child: Button(
- label: 'See List Of Doctors',
+ label: TranslationBase.of(context).viewDocList,
onTap: () {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ getDoctorsList(context);
},
),
),
@@ -65,4 +67,57 @@ class CalorieResultPage extends StatelessWidget {
),
);
}
+
+ getDoctorsList(BuildContext context) {
+ GifLoaderDialogUtils.showMyDialog(context);
+ BariatricsService service = new BariatricsService();
+
+ List doctorsList = [];
+ List _patientDoctorAppointmentListHospital = List();
+
+ service.getCalculationDoctors(calculationID: 2).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(res['List_CalculationTable'].length);
+ if (res['MessageStatus'] == 1) {
+ if (res['List_CalculationTable'].length != 0) {
+ res['List_CalculationTable'].forEach((item) {
+ DoctorList docList = new DoctorList();
+ docList.clinicID = item['ClinicID'];
+ docList.clinicName = item['ClinicName'];
+ docList.doctorID = item['DoctorID'];
+ docList.doctorImageURL = item['DoctorImageURL'];
+ docList.name = item['DoctorName'];
+ docList.doctorTitle = item['DoctorTitle'];
+ docList.gender = item['Gender'];
+ docList.genderDescription = item['GenderDescription'];
+ docList.nationalityName = item['Nationality'];
+ docList.nationalityFlagURL = item['NationalityFlagURL'];
+ docList.projectID = item['ProjectID'];
+ docList.projectName = item['ProjectName'];
+ docList.actualDoctorRate = 0;
+ doctorsList.add(docList);
+ });
+
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: "0", patientDoctorAppointment: element));
+ }
+ });
+
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: doctorsList, patientDoctorAppointmentListHospital: _patientDoctorAppointmentListHospital)));
+ }
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ });
+ }
}
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs.dart b/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs.dart
index 7d8f4655..4b68687a 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs.dart
@@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/calorie_calculator/calorie_calculator.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@@ -81,8 +82,10 @@ class _CarbsState extends State {
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Carb Protein Fat',
- showHomeAppBarIcon: false,
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).carbohydrate,
appBarIcons: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 10.0, vertical: 7.0),
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs_result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs_result_page.dart
index 71055d7b..46c14ee0 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs_result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/carbs/carbs_result_page.dart
@@ -1,5 +1,9 @@
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -32,7 +36,10 @@ class CarbsResult extends StatelessWidget {
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Carb Protein Fat',
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).carbohydrate,
body: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
@@ -156,27 +163,68 @@ class CarbsResult extends StatelessWidget {
Container(
width: 350,
child: Button(
- label: 'See List Of Doctors',
+ label: TranslationBase.of(context).viewDocList,
onTap: () {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ getDoctorsList(context);
},
),
),
],
),
-
- // Texts(pCal.ceil().toString()),
- // Texts(cCal.ceil().toString()),
- // Texts(fCal.ceil().toString()),
- // Texts(pCalGram.ceil().toString()),
- // Texts(cCalGram.ceil().toString()),
- // Texts(fCalGram.ceil().toString()),
- // Texts(pCalMeal.ceil().toString()),
- // Texts(cCalMeal.ceil().toString()),
- // Texts(fCalMeal.ceil().toString()),
);
}
+
+ getDoctorsList(BuildContext context) {
+ GifLoaderDialogUtils.showMyDialog(context);
+ BariatricsService service = new BariatricsService();
+
+ List doctorsList = [];
+ List _patientDoctorAppointmentListHospital = List();
+
+ service.getCalculationDoctors(calculationID: 11).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(res['List_CalculationTable'].length);
+ if (res['MessageStatus'] == 1) {
+ if (res['List_CalculationTable'].length != 0) {
+ res['List_CalculationTable'].forEach((item) {
+ DoctorList docList = new DoctorList();
+ docList.clinicID = item['ClinicID'];
+ docList.clinicName = item['ClinicName'];
+ docList.doctorID = item['DoctorID'];
+ docList.doctorImageURL = item['DoctorImageURL'];
+ docList.name = item['DoctorName'];
+ docList.doctorTitle = item['DoctorTitle'];
+ docList.gender = item['Gender'];
+ docList.genderDescription = item['GenderDescription'];
+ docList.nationalityName = item['Nationality'];
+ docList.nationalityFlagURL = item['NationalityFlagURL'];
+ docList.projectID = item['ProjectID'];
+ docList.projectName = item['ProjectName'];
+ docList.actualDoctorRate = 0;
+ doctorsList.add(docList);
+ });
+
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: "0", patientDoctorAppointment: element));
+ }
+ });
+
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: doctorsList, patientDoctorAppointmentListHospital: _patientDoctorAppointmentListHospital)));
+ }
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ });
+ }
+
}
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body.dart b/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body.dart
index 84f76153..e8d89b13 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body.dart
@@ -1,4 +1,5 @@
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -100,7 +101,10 @@ class _IdealBodyState extends State {
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Ideal Body Weight',
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).idealBody,
showHomeAppBarIcon: false,
appBarIcons: [
Padding(
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body_result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body_result_page.dart
index 311b423a..6a40bee7 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body_result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/ideal_body/ideal_body_result_page.dart
@@ -1,5 +1,8 @@
-
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/doctor_list.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/health-calculator/bariatrics-service.dart';
+import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
+import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -14,11 +17,15 @@ class IdealBodyResult extends StatelessWidget {
final String textResult;
IdealBodyResult({this.idealBodyWeight, this.minRange, this.mixRange, this.overWeightBy, this.textResult});
+
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: 'Ideal Body Weight',
+ isShowDecPage: false,
+ showNewAppBarTitle: true,
+ showNewAppBar: true,
+ appBarTitle: TranslationBase.of(context).idealBody,
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
@@ -81,8 +88,7 @@ class IdealBodyResult extends StatelessWidget {
children: [
Texts('This means that the weight is a little bit more than ideal weight by'),
Texts(overWeightBy.toStringAsFixed(1)),
- Texts(
- 'May wish to consult with the doctor for medical help. Click to view our list of Doctors'),
+ Texts('May wish to consult with the doctor for medical help. Click to view our list of Doctors'),
],
)
: overWeightBy >= 18
@@ -104,8 +110,7 @@ class IdealBodyResult extends StatelessWidget {
SizedBox(
height: 25.0,
),
- Texts(
- 'May wish to consult with the doctor for\n medical help. Click to view our list of\n Doctors'),
+ Texts('May wish to consult with the doctor for\n medical help. Click to view our list of\n Doctors'),
],
),
)
@@ -148,20 +153,16 @@ class IdealBodyResult extends StatelessWidget {
SizedBox(
height: 25.0,
),
- Texts(
- 'May wish to consult with the doctor for\n medical help. Click to view our list of\n Doctors'),
+ Texts('May wish to consult with the doctor for\n medical help. Click to view our list of\n Doctors'),
],
),
),
Container(
width: 350,
child: Button(
- label: 'See List Of Doctors',
+ label: TranslationBase.of(context).viewDocList,
onTap: () {
- Navigator.push(
- context,
- FadePage(page: DoctorList()),
- );
+ getDoctorsList(context);
},
),
),
@@ -169,4 +170,57 @@ class IdealBodyResult extends StatelessWidget {
),
);
}
+
+ getDoctorsList(BuildContext context) {
+ GifLoaderDialogUtils.showMyDialog(context);
+ BariatricsService service = new BariatricsService();
+
+ List doctorsList = [];
+ List _patientDoctorAppointmentListHospital = List();
+
+ service.getCalculationDoctors(calculationID: 4).then((res) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(res['List_CalculationTable'].length);
+ if (res['MessageStatus'] == 1) {
+ if (res['List_CalculationTable'].length != 0) {
+ res['List_CalculationTable'].forEach((item) {
+ DoctorList docList = new DoctorList();
+ docList.clinicID = item['ClinicID'];
+ docList.clinicName = item['ClinicName'];
+ docList.doctorID = item['DoctorID'];
+ docList.doctorImageURL = item['DoctorImageURL'];
+ docList.name = item['DoctorName'];
+ docList.doctorTitle = item['DoctorTitle'];
+ docList.gender = item['Gender'];
+ docList.genderDescription = item['GenderDescription'];
+ docList.nationalityName = item['Nationality'];
+ docList.nationalityFlagURL = item['NationalityFlagURL'];
+ docList.projectID = item['ProjectID'];
+ docList.projectName = item['ProjectName'];
+ docList.actualDoctorRate = 0;
+ doctorsList.add(docList);
+ });
+
+ doctorsList.forEach((element) {
+ List doctorByHospital = _patientDoctorAppointmentListHospital
+ .where(
+ (elementClinic) => elementClinic.filterName == element.projectName,
+ )
+ .toList();
+
+ if (doctorByHospital.length != 0) {
+ _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, distanceInKMs: "0", patientDoctorAppointment: element));
+ }
+ });
+
+ Navigator.push(context, FadePage(page: SearchResults(isLiveCareAppointment: false, doctorsList: doctorsList, patientDoctorAppointmentListHospital: _patientDoctorAppointmentListHospital)));
+ }
+ }
+ }).catchError((err) {
+ GifLoaderDialogUtils.hideDialog(context);
+ print(err);
+ });
+ }
}
diff --git a/lib/pages/AlHabibMedicalService/health_converter.dart b/lib/pages/AlHabibMedicalService/health_converter.dart
index 27c2a05c..c4ad7760 100644
--- a/lib/pages/AlHabibMedicalService/health_converter.dart
+++ b/lib/pages/AlHabibMedicalService/health_converter.dart
@@ -26,12 +26,8 @@ class _HealthConverterState extends State {
appBarTitle: TranslationBase.of(context).converters,
body: Column(
children: [
- Container(
- width: double.infinity,
- height: 30,
- ),
Padding(
- padding: EdgeInsets.only(left: 12, right: 12),
+ padding: EdgeInsets.only(left: 12, right: 12, top: 20.0),
child: GridView.builder(
shrinkWrap: true,
primary: false,
@@ -59,9 +55,9 @@ class _HealthConverterState extends State {
),
child: MedicalProfileItem(
title: TranslationBase.of(context).bloodSugar,
- imagePath: 'assets/images/new-design/blood_sugar_icon.png',
+ imagePath: 'sugar-blood-level.svg',
subTitle: TranslationBase.of(context).sugar,
- isPngImage: true,
+ isPngImage: false,
),
));
@@ -72,9 +68,9 @@ class _HealthConverterState extends State {
),
child: MedicalProfileItem(
title: TranslationBase.of(context).bloodCholesterol,
- imagePath: 'assets/images/new-design/blood_cholesterol_icon.png',
+ imagePath: 'cholesterol.svg',
subTitle: TranslationBase.of(context).cholesterol,
- isPngImage: true,
+ isPngImage: false,
),
));
@@ -85,9 +81,9 @@ class _HealthConverterState extends State {
),
child: MedicalProfileItem(
title: TranslationBase.of(context).triglycerides,
- imagePath: 'assets/images/new-design/triglycerides_blood_icon.png',
+ imagePath: 'fat.svg',
subTitle: TranslationBase.of(context).fatInBlood,
- isPngImage: true,
+ isPngImage: false,
),
));
return medical;
diff --git a/lib/pages/AlHabibMedicalService/health_converter/blood_cholesterol.dart b/lib/pages/AlHabibMedicalService/health_converter/blood_cholesterol.dart
index faa3af72..af93afa4 100644
--- a/lib/pages/AlHabibMedicalService/health_converter/blood_cholesterol.dart
+++ b/lib/pages/AlHabibMedicalService/health_converter/blood_cholesterol.dart
@@ -1,12 +1,13 @@
+import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
+import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-const activeCardColor = Color(0xffD02127);
-const inactiveCardColor = Color(0xffFAFAFd);
+const activeCardColor = CustomColors.green;
+const inactiveCardColor = CustomColors.white;
class BloodCholesterol extends StatefulWidget {
@override
@@ -18,7 +19,6 @@ class _BloodCholesterolState extends State {
Color cardMMOLColor = inactiveCardColor;
void updateColor(int type) {
- //MG/DLT card
if (type == 1) {
if (cardMGColor == inactiveCardColor) {
cardMGColor = activeCardColor;
@@ -51,227 +51,246 @@ class _BloodCholesterolState extends State {
bool _visible = false;
TextEditingController textController = new TextEditingController();
+ TextEditingController resultTextController = new TextEditingController();
String finalValue;
double inputValue = 0.0;
String unit;
double conversionConst = 38.67;
+ @override
+ void initState() {
+ updateColor(1);
+ unit = 'mmol/l';
+ super.initState();
+ }
+
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
- appBarTitle: TranslationBase.of(context).bloodCholesterol,
+ appBarTitle: TranslationBase.of(context).cholesTitle,
isShowDecPage: false,
showNewAppBar: true,
showNewAppBarTitle: true,
body: Padding(
padding: const EdgeInsets.all(16.0),
- child: SingleChildScrollView(
- child: Container(
- height: MediaQuery.of(context).size.height * 0.7,
- child: Column(
- //crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Container(
- width: 350.0,
- child: Text(
- TranslationBase.of(context).convertCholesterolStatement,
- //textAlign: TextAlign.center,
- style: TextStyle(fontSize: 20.0),
- ),
- ),
- SizedBox(
- height: 15.0,
- ),
- Container(
- color: Colors.white,
- height: 120.0,
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- //crossAxisAlignment: CrossAxisAlignment.end,
+ child: Container(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(child: Text(TranslationBase.of(context).cholesTitle, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0, letterSpacing: -0.64, color: CustomColors.darkGrey))),
+ Container(
+ margin: EdgeInsets.only(top: 10.0),
+ child: Text(TranslationBase.of(context).convertCholesterolStatement, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ SizedBox(
+ height: 13.0,
+ ),
+ Container(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(top: 12.0),
+ child: Text(TranslationBase.of(context).convertFrom, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ SizedBox(
+ height: 9.0,
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.center,
children: [
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 15.0),
- child: Row(
- children: [
- Texts(
- TranslationBase.of(context).convertFrom,
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(1);
+ inputValue = double.parse(textController.text);
+ inputValue = inputValue / conversionConst;
+ unit = 'mmol/l';
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
+ ),
+ border: Border.all(width: 2, color: cardMGColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
+ ),
+ ],
+ color: Colors.white,
),
- ],
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text('MG/DLt to MMOL/L',
+ textAlign: TextAlign.center, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ ),
),
),
SizedBox(
- height: 9.0,
+ width: 12.0,
),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: [
- GestureDetector(
- onTap: () {
- setState(() {
- updateColor(1);
- inputValue =
- double.parse(textController.text);
- inputValue = inputValue / conversionConst;
- unit = 'mmol/l';
- });
- },
- child: Container(
- height: 65.0,
- width: 150.0,
- decoration: BoxDecoration(
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 3,
- blurRadius: 7,
- offset: Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- color: cardMGColor,
- borderRadius: BorderRadius.circular(3.0),
- ),
- child: Padding(
- padding: const EdgeInsets.symmetric(
- vertical: 0.0, horizontal: 18.0),
- child: Texts('MG/DLt TO \nMMOL/L'),
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(2);
+ inputValue = double.parse(textController.text);
+ inputValue = inputValue * conversionConst;
+ unit = 'mg/dlt';
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
),
+ border: Border.all(width: 2, color: cardMMOLColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
+ ),
+ ],
+ color: Colors.white,
),
- ),
- GestureDetector(
- onTap: () {
- setState(() {
- updateColor(2);
- inputValue =
- double.parse(textController.text);
- inputValue = inputValue * conversionConst;
- unit = 'mg/dlt';
- });
- },
- child: Container(
- height: 65.0,
- width: 150.0,
- decoration: BoxDecoration(
- color: cardMMOLColor,
- borderRadius: BorderRadius.circular(3.0),
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 3,
- blurRadius: 7,
- offset: Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
- child: Padding(
- padding: const EdgeInsets.symmetric(
- horizontal: 16.0),
- child: Texts('MG/DLt TO\n MMOL/L'),
- ),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text('MMOL/L to MG/DLt',
+ textAlign: TextAlign.center, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
),
),
- ],
+ ),
),
],
),
- ),
+ ],
),
- SizedBox(
- height: 25.0,
- ),
- Container(
- height: 65.0,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(6.0),
- color: Colors.white,
+ ),
+ SizedBox(
+ height: 12.0,
+ ),
+ inputWidget(TranslationBase.of(context).enterReadingValue, '0.0', textController),
+ SizedBox(
+ height: 12.0,
+ ),
+ Visibility(
+ visible: _visible,
+ child: inputWidget(TranslationBase.of(context).result, inputValue.toStringAsFixed(2) + " " + unit.toString(), resultTextController, isEnable: false),
+ ),
+ SizedBox(
+ height: 15.0,
+ ),
+ ],
+ ),
+ ),
+ ),
+ bottomSheet: Container(
+ color: CustomColors.white,
+ padding: EdgeInsets.fromLTRB(12.0, 1.0, 12.0, 25.0),
+ child: DefaultButton(
+ TranslationBase.of(context).calculate,
+ () {
+ setState(() {
+ _visible == false ? _visible = !_visible : _visible = _visible;
+ calculateBloodCholesterol();
+ });
+ },
+ color: CustomColors.green,
+ ),
+ ),
+ );
+ }
+
+ Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String prefix, bool isEnable = true, bool hasSelection = false}) {
+ return Container(
+ padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: isEnable ? Colors.white : CustomColors.grey2.withOpacity(0.4),
+ border: Border.all(
+ color: Color(0xffefefef),
+ width: 1,
+ ),
+ ),
+ child: InkWell(
+ onTap: hasSelection ? () {} : null,
+ child: Row(
+ children: [
+ Expanded(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ _labelText,
+ style: TextStyle(
+ fontSize: 11,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
),
- child: TextFormField(
- controller: textController,
- inputFormatters: [
-// FilteringTextInputFormatter.digitsOnly
- ],
+ TextField(
+ enabled: isEnable,
+ scrollPadding: EdgeInsets.zero,
keyboardType: TextInputType.number,
+ controller: _controller,
+ onChanged: (value) => {},
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
decoration: InputDecoration(
- border: OutlineInputBorder(
- borderSide: BorderSide(color: Colors.black45)),
- labelText: TranslationBase.of(context).enterReadingValue,
- labelStyle: TextStyle(
- color: Colors.black87,
+ isDense: true,
+ hintText: _hintText,
+ fillColor: CustomColors.accentColor,
+ hintStyle: TextStyle(
+ fontSize: isEnable ? 14 : 24,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: isEnable ? Color(0xff575757) : CustomColors.black,
+ letterSpacing: -0.56,
),
- ),
- ),
- ),
- SizedBox(
- height: 25.0,
- ),
- Visibility(
- visible: _visible,
- child: Container(
- height: 115.0,
- width: 350.0,
- decoration: BoxDecoration(
- color: Colors.white,
- border: Border.all(color: Colors.black),
- borderRadius: BorderRadius.circular(15.0),
- ),
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Texts(TranslationBase.of(context).result + ":"),
- Row(
- children: [
- Text(
- inputValue.toStringAsFixed(3).toString(),
- style: TextStyle(fontSize: 35.0),
+ prefixIconConstraints: BoxConstraints(minWidth: 50),
+ prefixIcon: prefix == null
+ ? null
+ : Text(
+ "+" + prefix,
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w500,
+ color: Color(0xff2E303A),
+ letterSpacing: -0.56,
),
- Padding(
- padding: EdgeInsets.only(left: 4.0, top: 10.0),
- child: Text(
- unit.toString(),
- style: TextStyle(
- color: Color(0xffC5273A),
- fontSize: 15.0,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- ],
- ),
- ],
- ),
- ),
- ),
- ),
- SizedBox(
- height: 15.0,
- ),
- Flexible(
- child: Container(
- height: 60.0,
- width: 150.0,
- child: SecondaryButton(
- label: TranslationBase.of(context).calculate,
- onTap: () {
- setState(() {
- _visible == false
- ? _visible = !_visible
- : _visible = _visible;
- calculateBloodCholesterol();
- });
- },
+ ),
+ contentPadding: EdgeInsets.zero,
+ border: InputBorder.none,
+ focusedBorder: InputBorder.none,
+ enabledBorder: InputBorder.none,
),
),
- ),
- ],
+ ],
+ ),
),
- ),
+ if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
+ ],
),
),
);
diff --git a/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart b/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart
index ebc41150..4604c3df 100644
--- a/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart
+++ b/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart
@@ -1,15 +1,15 @@
+import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-const activeCardColor = Color(0xffD02127);
-const activeTextColor = Color(0xffFAFAFA);
-const inactiveCardColor = Color(0xffFAFAFA);
-const inactiveTextColor = Color(0xff60686B);
+const activeCardColor = CustomColors.green;
+const activeTextColor = CustomColors.black;
+const inactiveCardColor = CustomColors.white;
+const inactiveTextColor = CustomColors.black;
class BloodSugar extends StatefulWidget {
@override
@@ -25,7 +25,6 @@ class _BloodSugarState extends State {
Color textMMOLColor = inactiveTextColor;
void updateColor(int type) {
- //MG/DLT card
if (type == 1) {
if (cardMGColor == inactiveCardColor) {
cardMGColor = activeCardColor;
@@ -59,10 +58,12 @@ class _BloodSugarState extends State {
inputValue = inputValue * 18;
unit = 'mg/dlt';
}
+ setState(() {});
}
bool _visible = false;
TextEditingController textController = new TextEditingController();
+ TextEditingController resultTextController = new TextEditingController();
String finalValue;
double inputValue = 0;
@@ -90,210 +91,222 @@ class _BloodSugarState extends State {
Expanded(
child: SingleChildScrollView(
child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
children: [
+ Container(child: Text(TranslationBase.of(context).bloodSugar, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0, letterSpacing: -0.64, color: CustomColors.darkGrey))),
Container(
- margin: EdgeInsets.symmetric(horizontal: 8),
- child: Text(
- TranslationBase.of(context).convertBloodSugarStatement,
- style: TextStyle(fontSize: 20.0),
- ),
+ margin: EdgeInsets.only(top: 10.0),
+ child: Text(TranslationBase.of(context).convertBloodSugarStatement,
+ style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
),
SizedBox(
height: 12.0,
),
Container(
- color: Colors.white,
- child: Padding(
- padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 8),
- child: Column(
- children: [
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16.0),
- child: Row(
- children: [
- Texts(
- TranslationBase.of(context).convertFrom,
- )
- ],
- ),
- ),
- SizedBox(
- height: 8.0,
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- SizedBox(
- width: 16.0,
- ),
- Expanded(
- child: GestureDetector(
- onTap: () {
- setState(() {
- updateColor(1);
- calculateBloodSugar();
- });
- },
- child: Container(
- height: 65.0,
- decoration: BoxDecoration(
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 1,
- blurRadius: 7,
- offset: Offset(0, 3), // changes position of shadow
- ),
- ],
- color: cardMGColor,
- borderRadius: BorderRadius.circular(3.0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(top: 12.0),
+ child: Text(TranslationBase.of(context).convertFrom, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ SizedBox(
+ height: 8.0,
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(1);
+ calculateBloodSugar();
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
),
- child: Padding(
- padding: const EdgeInsets.symmetric(vertical: 0.0, horizontal: 18.0),
- child: Texts(
- 'MG/DLt TO \nMMOL/L',
- color: textMGColor,
+ border: Border.all(width: 2, color: cardMGColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
),
+ ],
+ color: Colors.white,
+ ),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text(
+ 'MG/DLt to MMOL/L',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey),
),
),
),
),
- SizedBox(
- width: 12.0,
- ),
- Expanded(
- child: GestureDetector(
- onTap: () {
- setState(() {
- updateColor(2);
- calculateBloodSugar();
- });
- },
- child: Container(
- height: 65.0,
- decoration: BoxDecoration(
- color: cardMMOLColor,
- borderRadius: BorderRadius.circular(3.0),
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 3,
- blurRadius: 7,
- offset: Offset(0, 3), // changes position of shadow
- ),
- ],
+ ),
+ SizedBox(
+ width: 12.0,
+ ),
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(2);
+ calculateBloodSugar();
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
),
- child: Padding(
- padding: const EdgeInsets.symmetric(horizontal: 16.0),
- child: Texts(
- 'MMOL/L TO MG/DLt ',
- color: textMMOLColor,
+ border: Border.all(width: 2, color: cardMMOLColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
),
+ ],
+ color: Colors.white,
+ ),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text(
+ 'MMOL/L to MG/DLt',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey),
),
),
),
),
- SizedBox(
- width: 16.0,
- ),
- ],
- ),
- ],
- ),
+ ),
+ ],
+ ),
+ ],
),
),
SizedBox(
- height: 24.0,
- ),
- Container(
- height: 65.0,
- padding: EdgeInsets.symmetric(horizontal: 8),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(6.0),
- color: Colors.white,
- ),
- child: TextFormField(
- controller: textController,
- inputFormatters: [
-// FilteringTextInputFormatter.digitsOnly
- ],
- keyboardType: TextInputType.number,
- decoration: InputDecoration(
- labelText: TranslationBase.of(context).enterReadingValue,
- enabledBorder: UnderlineInputBorder(
- borderSide: BorderSide(color: Colors.white),
- ),
- disabledBorder: UnderlineInputBorder(
- borderSide: BorderSide(color: Colors.white),
- ),
- focusedBorder: UnderlineInputBorder(
- borderSide: BorderSide(color: Colors.white),
- ),
- border: UnderlineInputBorder(borderSide: BorderSide(color: Colors.white)),
- labelStyle: TextStyle(
- color: Colors.black87,
- ),
- ),
- ),
+ height: 12.0,
),
+ inputWidget(TranslationBase.of(context).enterReadingValue, '0.0', textController),
SizedBox(
- height: 24.0,
+ height: 12.0,
),
Visibility(
visible: _visible,
- child: Container(
- height: 115.0,
- width: 350.0,
- decoration: BoxDecoration(
- color: Colors.white,
- border: Border.all(color: Colors.black),
- borderRadius: BorderRadius.circular(15.0),
- ),
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Texts(TranslationBase.of(context).result + ": "),
- Row(
- children: [
- Text(
- inputValue.toStringAsFixed(2),
- style: TextStyle(fontSize: 35.0),
- ),
- Padding(
- padding: EdgeInsets.only(left: 4.0, top: 10.0),
- child: Text(
- unit.toString(),
- style: TextStyle(
- color: Color(0xffC5273A),
- fontSize: 15.0,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- ],
- ),
- ],
- ),
- ),
- ),
+ child: inputWidget(TranslationBase.of(context).result, inputValue.toStringAsFixed(2) + " " + unit.toString(), resultTextController, isEnable: false),
),
],
),
),
),
- Container(
- margin: EdgeInsets.symmetric(horizontal: 16),
- child: DefaultButton(TranslationBase.of(context).calculate, () {
- setState(() {
- _visible == false ? _visible = !_visible : _visible = _visible;
- calculateBloodSugar();
- });
- }),
+ ],
+ ),
+ ),
+ bottomSheet: Container(
+ color: CustomColors.white,
+ padding: EdgeInsets.fromLTRB(12.0, 1.0, 12.0, 25.0),
+ child: DefaultButton(
+ TranslationBase.of(context).calculate,
+ () {
+ setState(() {
+ _visible == false ? _visible = !_visible : _visible = _visible;
+ calculateBloodSugar();
+ });
+ },
+ color: CustomColors.green,
+ ),
+ ),
+ );
+ }
+
+ Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String prefix, bool isEnable = true, bool hasSelection = false}) {
+ return Container(
+ padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: isEnable ? Colors.white : CustomColors.grey2.withOpacity(0.4),
+ border: Border.all(
+ color: Color(0xffefefef),
+ width: 1,
+ ),
+ ),
+ child: InkWell(
+ onTap: hasSelection ? () {} : null,
+ child: Row(
+ children: [
+ Expanded(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ _labelText,
+ style: TextStyle(
+ fontSize: 11,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
+ ),
+ TextField(
+ enabled: isEnable,
+ scrollPadding: EdgeInsets.zero,
+ keyboardType: TextInputType.number,
+ controller: _controller,
+ onChanged: (value) => {},
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
+ decoration: InputDecoration(
+ isDense: true,
+ hintText: _hintText,
+ fillColor: CustomColors.accentColor,
+ hintStyle: TextStyle(
+ fontSize: isEnable ? 14 : 24,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: isEnable ? Color(0xff575757) : CustomColors.black,
+ letterSpacing: -0.56,
+ ),
+ prefixIconConstraints: BoxConstraints(minWidth: 50),
+ prefixIcon: prefix == null
+ ? null
+ : Text(
+ "+" + prefix,
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w500,
+ color: Color(0xff2E303A),
+ letterSpacing: -0.56,
+ ),
+ ),
+ contentPadding: EdgeInsets.zero,
+ border: InputBorder.none,
+ focusedBorder: InputBorder.none,
+ enabledBorder: InputBorder.none,
+ ),
+ ),
+ ],
+ ),
),
+ if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
],
),
),
diff --git a/lib/pages/AlHabibMedicalService/health_converter/triglycerides.dart b/lib/pages/AlHabibMedicalService/health_converter/triglycerides.dart
index b9571d2b..e441d935 100644
--- a/lib/pages/AlHabibMedicalService/health_converter/triglycerides.dart
+++ b/lib/pages/AlHabibMedicalService/health_converter/triglycerides.dart
@@ -1,13 +1,13 @@
+import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-const activeCardColor = Color(0xff70777A);
-const inactiveCardColor = Color(0xffFAFAFd);
+const activeCardColor = CustomColors.green;
+const inactiveCardColor = CustomColors.white;
class Triglycerides extends StatefulWidget {
@override
@@ -18,6 +18,7 @@ class _TriglyceridesState extends State {
Color cardMGColor = inactiveCardColor;
Color cardMMOLColor = inactiveCardColor;
int type;
+
void updateColor(type) {
//MG/DLT card
if (type == 1) {
@@ -52,12 +53,20 @@ class _TriglyceridesState extends State {
bool _visible = false;
TextEditingController textController = new TextEditingController();
+ TextEditingController resultTextController = new TextEditingController();
String finalValue;
double inputValue = 0.0;
String unit;
double conversionConst = 88.57;
+ @override
+ void initState() {
+ updateColor(1);
+ unit = 'mmol/l';
+ super.initState();
+ }
+
@override
Widget build(BuildContext context) {
return AppScaffold(
@@ -68,210 +77,226 @@ class _TriglyceridesState extends State {
showNewAppBarTitle: true,
body: Padding(
padding: const EdgeInsets.all(16.0),
- child: SingleChildScrollView(
- child: Container(
- height: MediaQuery.of(context).size.height * 0.7,
- child: Column(
- //crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Container(
- width: 350.0,
- child: Text(
- TranslationBase.of(context).triglyceridesConvertStatement,
- //textAlign: TextAlign.center,
- style: TextStyle(fontSize: 20.0),
- ),
- ),
- SizedBox(
- height: 15.0,
- ),
- Container(
- color: Colors.white,
- height: 120.0,
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- //crossAxisAlignment: CrossAxisAlignment.end,
+ child: Container(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(child: Text(TranslationBase.of(context).triglycerides, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0, letterSpacing: -0.64, color: CustomColors.darkGrey))),
+ Container(
+ margin: EdgeInsets.only(top: 10.0),
+ child:
+ Text(TranslationBase.of(context).triglyceridesConvertStatement, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 14.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ SizedBox(
+ height: 12.0,
+ ),
+ Container(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(top: 12.0),
+ child: Text(TranslationBase.of(context).convertFrom, style: TextStyle(fontWeight: FontWeight.w600, fontSize: 16.0, letterSpacing: -0.64, color: CustomColors.darkGrey)),
+ ),
+ SizedBox(
+ height: 9.0,
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+ crossAxisAlignment: CrossAxisAlignment.center,
children: [
- Padding(
- padding: const EdgeInsets.symmetric(horizontal: 15.0),
- child: Row(
- children: [
- Texts(TranslationBase.of(context).convertFrom)
- ],
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(1);
+ inputValue = double.parse(textController.text);
+ inputValue = inputValue / conversionConst;
+ unit = 'mmol/l';
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
+ ),
+ border: Border.all(width: 2, color: cardMGColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
+ ),
+ ],
+ color: Colors.white,
+ ),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text(
+ 'MG/DLt to MMOL/L',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey),
+ ),
+ ),
+ ),
),
),
SizedBox(
- height: 9.0,
+ width: 12.0,
),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: [
- GestureDetector(
- onTap: () {
- setState(() {
- updateColor(1);
- inputValue =
- double.parse(textController.text);
- inputValue = inputValue / conversionConst;
- unit = 'mmol/l';
- });
- },
- child: Container(
- height: 65.0,
- width: 150.0,
- decoration: BoxDecoration(
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 3,
- blurRadius: 7,
- offset: Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- color: cardMGColor,
- borderRadius: BorderRadius.circular(3.0),
- ),
- child: Padding(
- padding: const EdgeInsets.symmetric(
- vertical: 0.0, horizontal: 18.0),
- child: Texts('MG/DLt TO \nMMOL/L'),
+ Expanded(
+ child: GestureDetector(
+ onTap: () {
+ setState(() {
+ updateColor(2);
+ inputValue = double.parse(textController.text);
+ inputValue = inputValue * conversionConst;
+ unit = 'mg/dlt';
+ });
+ },
+ child: Container(
+ clipBehavior: Clip.antiAlias,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(
+ Radius.circular(6.0),
),
+ border: Border.all(width: 2, color: cardMMOLColor),
+ boxShadow: [
+ BoxShadow(
+ color: Color(0xff000000).withOpacity(.05),
+ blurRadius: 27,
+ offset: Offset(0, -3),
+ ),
+ ],
+ color: Colors.white,
),
- ),
- GestureDetector(
- onTap: () {
- setState(() {
- updateColor(2);
- inputValue =
- double.parse(textController.text);
- inputValue = inputValue * conversionConst;
- unit = 'mg/dlt';
- });
- },
- child: Container(
- height: 65.0,
- width: 150.0,
- decoration: BoxDecoration(
- color: cardMMOLColor,
- borderRadius: BorderRadius.circular(3.0),
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.5),
- spreadRadius: 3,
- blurRadius: 7,
- offset: Offset(
- 0, 3), // changes position of shadow
- ),
- ],
- ),
- child: Padding(
- padding: const EdgeInsets.symmetric(
- horizontal: 16.0),
- child: Texts('MG/DLt TO\n MMOL/L'),
+ child: Padding(
+ padding: const EdgeInsets.all(8.0),
+ child: Text(
+ 'MMOL/L to MG/DLt',
+ textAlign: TextAlign.center,
+ style: TextStyle(fontWeight: FontWeight.w600, fontSize: 13.0, letterSpacing: -0.64, color: CustomColors.darkGrey),
),
),
),
- ],
+ ),
),
],
),
- ),
- ),
- SizedBox(
- height: 25.0,
+ ],
),
- Container(
- height: 65.0,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(6.0),
- color: Colors.white,
+ ),
+ SizedBox(
+ height: 12.0,
+ ),
+ inputWidget(TranslationBase.of(context).enterReadingValue, "0.0", textController),
+ SizedBox(
+ height: 12.0,
+ ),
+ Visibility(
+ visible: _visible,
+ child: inputWidget(TranslationBase.of(context).result, inputValue.toStringAsFixed(2) + " " + unit.toString(), resultTextController, isEnable: false),
+ ),
+ ],
+ ),
+ ),
+ ),
+ bottomSheet: Container(
+ color: CustomColors.white,
+ padding: EdgeInsets.fromLTRB(12.0, 1.0, 12.0, 25.0),
+ child: DefaultButton(
+ TranslationBase.of(context).calculate.toUpperCase(),
+ () {
+ setState(() {
+ _visible == false ? _visible = !_visible : _visible = _visible;
+ calculateTriglycerides();
+ });
+ },
+ color: CustomColors.green,
+ ),
+ ),
+ );
+ }
+
+ Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String prefix, bool isEnable = true, bool hasSelection = false}) {
+ return Container(
+ padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
+ alignment: Alignment.center,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: isEnable ? Colors.white : CustomColors.grey2.withOpacity(0.4),
+ border: Border.all(
+ color: Color(0xffefefef),
+ width: 1,
+ ),
+ ),
+ child: InkWell(
+ onTap: hasSelection ? () {} : null,
+ child: Row(
+ children: [
+ Expanded(
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ _labelText,
+ style: TextStyle(
+ fontSize: 11,
+ fontWeight: FontWeight.w600,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
),
- child: TextFormField(
- controller: textController,
- inputFormatters: [
-// FilteringTextInputFormatter.digitsOnly
- ],
+ TextField(
+ enabled: isEnable,
+ scrollPadding: EdgeInsets.zero,
keyboardType: TextInputType.number,
+ controller: _controller,
+ onChanged: (value) => {},
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: Color(0xff2B353E),
+ letterSpacing: -0.44,
+ ),
decoration: InputDecoration(
- border: OutlineInputBorder(
- borderSide: BorderSide(color: Colors.black45)),
- labelText: TranslationBase.of(context).enterReadingValue,
- labelStyle: TextStyle(
- color: Colors.black87,
+ isDense: true,
+ hintText: _hintText,
+ fillColor: CustomColors.accentColor,
+ hintStyle: TextStyle(
+ fontSize: isEnable ? 14 : 24,
+ height: 21 / 14,
+ fontWeight: FontWeight.w400,
+ color: isEnable ? Color(0xff575757) : CustomColors.black,
+ letterSpacing: -0.56,
),
- ),
- ),
- ),
- SizedBox(
- height: 25.0,
- ),
- Visibility(
- visible: _visible,
- child: Container(
- height: 115.0,
- width: 350.0,
- decoration: BoxDecoration(
- color: Colors.white,
- border: Border.all(color: Colors.black),
- borderRadius: BorderRadius.circular(15.0),
- ),
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Texts(TranslationBase.of(context).result + ":"),
- Row(
- children: [
- Text(
- inputValue.toStringAsFixed(2),
- style: TextStyle(fontSize: 35.0),
+ prefixIconConstraints: BoxConstraints(minWidth: 50),
+ prefixIcon: prefix == null
+ ? null
+ : Text(
+ "+" + prefix,
+ style: TextStyle(
+ fontSize: 14,
+ height: 21 / 14,
+ fontWeight: FontWeight.w500,
+ color: Color(0xff2E303A),
+ letterSpacing: -0.56,
),
- Padding(
- padding: EdgeInsets.only(left: 4.0, top: 10.0),
- child: Text(
- unit.toString(),
- style: TextStyle(
- color: Color(0xffC5273A),
- fontSize: 15.0,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- ],
- ),
- ],
- ),
- ),
- ),
- ),
- SizedBox(
- height: 10.0,
- ),
- Flexible(
- child: Container(
- height: 60.0,
- width: 250.0,
- child: SecondaryButton(
- label:
- TranslationBase.of(context).calculate.toUpperCase(),
- onTap: () {
- setState(() {
- _visible == false
- ? _visible = !_visible
- : _visible = _visible;
- calculateTriglycerides();
- });
- },
+ ),
+ contentPadding: EdgeInsets.zero,
+ border: InputBorder.none,
+ focusedBorder: InputBorder.none,
+ enabledBorder: InputBorder.none,
),
),
- ),
- ],
+ ],
+ ),
),
- ),
+ if (hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
+ ],
),
),
);
diff --git a/lib/pages/AlHabibMedicalService/ health_calculators.dart b/lib/pages/AlHabibMedicalService/ health_calculators.dart
index 5dce5b15..341a298d 100644
--- a/lib/pages/AlHabibMedicalService/ health_calculators.dart
+++ b/lib/pages/AlHabibMedicalService/ health_calculators.dart
@@ -50,18 +50,23 @@ class _HealthCalculatorsState extends State with SingleTicker
children: [
TabBar(
controller: _tabController,
- isScrollable: true,
- indicatorWeight: 4.0,
- indicatorColor: Colors.red,
- labelColor: Theme.of(context).buttonColor,
+ indicatorWeight: 3.0,
+ indicatorSize: TabBarIndicatorSize.tab,
+ labelColor: Color(0xff2B353E),
+ unselectedLabelColor: Color(0xff575757),
labelPadding: EdgeInsets.only(top: 15, bottom: 13, left: 20, right: 20),
- unselectedLabelColor: Colors.grey,
labelStyle: TextStyle(
fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
fontSize: 16,
fontWeight: FontWeight.w600,
letterSpacing: -0.48,
),
+ unselectedLabelStyle: TextStyle(
+ fontFamily: projectViewModel.isArabic ? 'Cairo' : 'Poppins',
+ fontSize: 16,
+ fontWeight: FontWeight.w600,
+ letterSpacing: -0.48,
+ ),
tabs: [
Container(
width: MediaQuery.of(context).size.width * 0.35,
@@ -83,11 +88,11 @@ class _HealthCalculatorsState extends State with SingleTicker
controller: _tabController,
children: [
Container(
- margin: EdgeInsets.all(20.0),
+ // margin: EdgeInsets.all(20.0),
child: Column(
children: [
Padding(
- padding: EdgeInsets.only(left: 12, right: 12),
+ padding: EdgeInsets.only(left: 12, right: 12, top: 20.0),
child: GridView.builder(
shrinkWrap: true,
primary: false,
diff --git a/lib/pages/Blood/blood_donation.dart b/lib/pages/Blood/blood_donation.dart
index e3888240..8fb12f33 100644
--- a/lib/pages/Blood/blood_donation.dart
+++ b/lib/pages/Blood/blood_donation.dart
@@ -1,8 +1,8 @@
-import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
+
//import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
@@ -10,14 +10,15 @@ import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_mod
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/h2o/h20_setting.dart';
import 'package:diplomaticquarterapp/pages/Blood/user_agreement_page.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
-import 'package:diplomaticquarterapp/pages/medical/balance/dialogs/SelectCiteisDialog.dart';
+import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
@@ -25,12 +26,6 @@ import 'package:flutter/material.dart';
import 'package:giffy_dialog/giffy_dialog.dart';
import 'package:provider/provider.dart';
-import 'dialogs/SelectBeneficiaryDialog.dart';
-import 'dialogs/SelectBloodDialog.dart';
-import 'dialogs/SelectGenderDialog.dart';
-import 'dialogs/SelectPatientFamilyDialog.dart';
-import 'dialogs/SelectPatientInfoDialog.dart';
-
enum BeneficiaryType { MyAccount, MyFamilyFiles, OtherAccount, NON }
enum Gender { Male, Female, NON }
enum Blood { Oplus, Ominus, Aplus, Aminus, Bplus, Bminus, ABplus, ABminus, NON }
@@ -44,11 +39,16 @@ class _BloodDonationPageState extends State {
TextEditingController _fileTextController = TextEditingController();
TextEditingController _notesTextController = TextEditingController();
BeneficiaryType beneficiaryType = BeneficiaryType.NON;
- Gender gender = Gender.Male; //Gender.NON;
- Blood blood = Blood.Aminus; //Blood.NON;
+
+ // Gender gender = Gender.Male; //Gender.NON;
+ // Blood blood = Blood.Aminus; //Blood.NON;
//HospitalsModel _selectedHospital;
CitiesModel _selectedHospital;
+ int _selectedHospitalIndex = 0;
+ int _selectedGenderIndex = 1;
+ int _selectedBloodTypeIndex = 0;
+
String amount = "";
String email;
PatientInfo _selectedPatientInfo;
@@ -69,7 +69,7 @@ class _BloodDonationPageState extends State {
ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/images-info-home/blood/ar/0.png'),
);
WidgetsBinding.instance.addPostFrameCallback((_) {
- if (projectProvider.isLogin) getAuthUser();
+ if (projectProvider.isLogin) authUser = projectProvider.user;
});
super.initState();
}
@@ -79,404 +79,241 @@ class _BloodDonationPageState extends State {
projectProvider = Provider.of(context);
return BaseView(
- onModelReady: (model) => model.getCities(), //model.getHospitals(),
+ onModelReady: (model) {
+ model.getCities();
+ model.getBlood();
+ },
builder: (_, model, w) => AppScaffold(
- isShowAppBar: true,
- showNewAppBar: true,
- showNewAppBarTitle: true,
- baseViewModel: model,
- imagesInfo: imagesInfo,
- description: TranslationBase.of(context).bloodDonationInfo,
- appBarTitle: TranslationBase.of(context).bloodD,
- body: SingleChildScrollView(
- physics: ScrollPhysics(),
- child: Container(
- margin: EdgeInsets.all(12),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Texts(
- TranslationBase.of(context).bloodDEnterDesc
- ),
- SizedBox(
- height: 12,
- ),
- InkWell(
- onTap: () => confirmSelectHospitalDialog(model.CitiesModelList),
- //model.hospitals
- child: Container(
- padding: EdgeInsets.all(12),
- width: double.infinity,
- height: 65,
- decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.white),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [Texts(getHospitalName(projectProvider, context), color: Colors.black), Icon(Icons.arrow_drop_down)],
- ),
- ),
- ),
- SizedBox(
- height: 12,
- ),
- InkWell(
- //======Gender========
- onTap: () => confirmSelectGenderDialog(),
- child: Container(
- padding: EdgeInsets.all(12),
- width: double.infinity,
- height: 65,
- decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.white),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Texts(getGender(context), color: Colors.black),
- Icon(Icons.arrow_drop_down)
- ],
- ),
+ isShowAppBar: true,
+ showNewAppBar: true,
+ backgroundColor: Color(0xffF7F7F7),
+ showNewAppBarTitle: true,
+ baseViewModel: model,
+ imagesInfo: imagesInfo,
+ description: TranslationBase.of(context).bloodDonationInfo,
+ appBarTitle: TranslationBase.of(context).bloodD,
+ body: Column(
+ children: [
+ Expanded(
+ child: SingleChildScrollView(
+ physics: BouncingScrollPhysics(),
+ padding: EdgeInsets.all(21),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ TranslationBase.of(context).bloodDEnterDesc,
+ style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64),
),
- ),
- SizedBox(
- height: 12,
- ),
- InkWell(
- //======Gender========
- onTap: () => confirmSelectBloodDialog(),
- child: Container(
- padding: EdgeInsets.all(12),
- width: double.infinity,
- height: 65,
- decoration: BoxDecoration(borderRadius: BorderRadius.circular(12), color: Colors.white),
- child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [Texts(getBlood(), color: Colors.black), Icon(Icons.arrow_drop_down)],
- ),
- ),
- ),
- SizedBox(
- height: 12,
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Container(
- child: Text(
+ SizedBox(height: 12),
+ CommonDropDownView(
+ TranslationBase.of(context).city,
+ model.bloodModelList.isNotEmpty
+ ? model.bloodModelList[0].city
+ : projectProvider.isArabic
+ ? model.CitiesModelList[_selectedHospitalIndex].descriptionN
+ : model.CitiesModelList[_selectedHospitalIndex].description, () {
+ List list = [
+ for (int i = 0; i < model.CitiesModelList.length; i++)
+ RadioSelectionDialogModel(projectProvider.isArabic ? model.CitiesModelList[i].descriptionN : model.CitiesModelList[i].description, i),
+ ];
+
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: _selectedHospitalIndex,
+ isScrollable: true,
+ onValueSelected: (index) {
+ _selectedHospitalIndex = index;
+ _selectedHospital = model.CitiesModelList[index];
+ },
+ ),
+ );
+ }).withBorderedContainer,
+ SizedBox(height: 12),
+ CommonDropDownView(TranslationBase.of(context).gender, _selectedGenderIndex == 1 ? TranslationBase.of(context).male : TranslationBase.of(context).female, () {
+ List list = [
+ RadioSelectionDialogModel(TranslationBase.of(context).male, 1),
+ RadioSelectionDialogModel(TranslationBase.of(context).female, 2),
+ ];
+
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: _selectedGenderIndex,
+ onValueSelected: (index) {
+ _selectedGenderIndex = index;
+ setState(() {});
+ },
+ ),
+ );
+ }).withBorderedContainer,
+ SizedBox(height: 12),
+ CommonDropDownView(TranslationBase.of(context).bloodType, model.bloodModelList.isNotEmpty ? model.bloodModelList[0].bloodGroup : getBlood(_selectedBloodTypeIndex), () {
+ List list = [
+ RadioSelectionDialogModel("O+", 0),
+ RadioSelectionDialogModel("O-", 1),
+ RadioSelectionDialogModel("AB+", 2),
+ RadioSelectionDialogModel("AB-", 3),
+ RadioSelectionDialogModel("A+", 4),
+ RadioSelectionDialogModel("A-", 5),
+ RadioSelectionDialogModel("B+", 6),
+ RadioSelectionDialogModel("B-", 7),
+ ];
+
+ showDialog(
+ context: context,
+ child: RadioSelectionDialog(
+ listData: list,
+ selectedIndex: _selectedBloodTypeIndex,
+ isScrollable: true,
+ onValueSelected: (index) {
+ _selectedBloodTypeIndex = index;
+ setState(() {});
+ },
+ ),
+ );
+ }).withBorderedContainer,
+ SizedBox(height: 12),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Text(
TranslationBase.of(context).viewTermsConditions + ":",
- style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold),
+ style: TextStyle(fontWeight: FontWeight.w600, color: Color(0xff2E303A), fontSize: 14, letterSpacing: -0.56),
),
- ),
- InkWell(
- onTap: () {
- Navigator.of(context).push(FadePage(page: UserAgreementPage()));
- },
- child: Container(
- child: Texts(
+ InkWell(
+ onTap: () {
+ Navigator.of(context).push(FadePage(page: UserAgreementPage()));
+ },
+ child: Text(
TranslationBase.of(context).clickHere,
- color: Colors.blue,
- fontSize: 14.0,
+ style: TextStyle(fontWeight: FontWeight.w600, color: Colors.blue, fontSize: 14, letterSpacing: -0.56),
),
+ )
+ ],
+ ),
+ SizedBox(height: 12),
+ Row(
+ children: [
+ Checkbox(
+ onChanged: (bool value) {
+ setState(() {
+ checkedValue = value;
+ });
+ },
+ value: checkedValue,
+ activeColor: Color(0xFFc5272d),
+ ),
+ Text(
+ TranslationBase.of(context).iAgreeToTheTermsAndConditions,
+ style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold),
),
- )
- ],
- ),
- SizedBox(
- height: 12,
- ),
- Row(
- children: [
- Checkbox(
- onChanged: (bool value) {
- setState(() {
- checkedValue = value;
- });
- },
- value: checkedValue,
- activeColor: Color(0xFFc5272d),
- ),
- Text(
- TranslationBase.of(context).iAgreeToTheTermsAndConditions,
- style: TextStyle(fontSize: 14.0, fontWeight: FontWeight.bold),
- ),
- ],
- ),
- SizedBox(
- height: 10,
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- Center(
- child: Container(
- color: Theme.of(context).primaryColor,
- width: 350,
- child: InkWell(
- onTap: () {
- showDialog(
+ ],
+ ),
+ SizedBox(
+ height: 10,
+ ),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Center(
+ child: Container(
+ color: Theme.of(context).primaryColor,
+ width: 350,
+ child: InkWell(
+ onTap: () {
+ showDialog(
context: context,
builder: (_) => AssetGiffyDialog(
- title: Text(
- "",
- style: TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600),
- ),
- image: Image.asset('assets/images/BloodChrt_EN.png'),
- buttonCancelText: Text(TranslationBase.of(context).cancel),
- buttonCancelColor: Colors.grey,
- onlyCancelButton: true,
- ));
- },
- child: Container(width: 250, height: 200, child: Image.asset('assets/images/BloodChrt_EN.png'), color: Colors.white),
+ title: Text(
+ "",
+ style: TextStyle(fontSize: 22.0, fontWeight: FontWeight.w600),
+ ),
+ image: Image.asset('assets/images/BloodChrt_EN.png'),
+ buttonCancelText: Text(TranslationBase.of(context).cancel),
+ buttonCancelColor: Colors.grey,
+ onlyCancelButton: true,
+ ),
+ );
+ },
+ child: Container(width: 250, height: 200, child: Image.asset('assets/images/BloodChrt_EN.png'), color: Colors.white),
+ ),
),
),
- ),
- ],
- ),
- SizedBox(
- height: MediaQuery.of(context).size.height * 0.15,
- )
- ],
+ ],
+ ),
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.15,
+ )
+ ],
+ ),
),
),
- ),
- bottomSheet: Container(
- width: double.infinity,
- color: Theme.of(context).scaffoldBackgroundColor,
- padding: EdgeInsets.all(20),
- child: DefaultButton(TranslationBase.of(context).save, () async {
- if (_selectedHospital == null) {
- AppToast.showErrorToast(message: TranslationBase.of(context).selectCity);
- return;
- }
- bloodDetails.city = projectProvider.isArabic ? _selectedHospital.descriptionN : _selectedHospital.description;
- bloodDetails.cityCode = _selectedHospital.iD.toString();
- bloodDetails.gender = gender == Gender.Male ? 1 : 2;
- await model.updateBloodGroup(bloodDetails);
- if (model.state == ViewState.Idle) {
- AppToast.showSuccessToast(message: model.updatedRegisterBloodMessage);
- } else {
- AppToast.showErrorToast(message: model.error);
- }
- }),
- )),
- );
- }
-
- void confirmSelectBeneficiaryDialog(MyBalanceViewModel model) {
- showDialog(
- context: context,
- child: SelectBeneficiaryDialog(
- beneficiaryType: beneficiaryType,
- onValueSelected: (value) {
- setState(() {
- if (value == BeneficiaryType.MyAccount) {
- _fileTextController.text = model.user.patientID.toString();
- advanceModel.depositorName = model.user.firstName + " " + model.user.lastName;
- } else
- _fileTextController.text = "";
-
- beneficiaryType = value;
- });
- },
- ),
- );
- }
-
- void confirmSelectBloodDialog() {
- showDialog(
- context: context,
- child: SelectBloodDialog(
- bloodType: blood,
- onValueSelected: (value) {
- setState(() {
- if (value == Blood.Oplus) {
- bloodDetails.bloodGroup = "O+";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.Ominus) {
- // _fileTextController.text = model.user.patientID.toString();
- bloodDetails.bloodGroup = "O-";
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.ABplus) {
- bloodDetails.bloodGroup = "AB+";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.ABminus) {
- bloodDetails.bloodGroup = "AB-";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.Aplus) {
- bloodDetails.bloodGroup = "A+";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.Aminus) {
- bloodDetails.bloodGroup = "A-";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.Bplus) {
- bloodDetails.bloodGroup = "B+";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else if (value == Blood.Bminus) {
- bloodDetails.bloodGroup = "B-";
- // _fileTextController.text = model.user.patientID.toString();
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else
- _fileTextController.text = "";
-
- // beneficiaryType = value;
- blood = value;
- });
- },
- ),
- );
- }
-
- void confirmSelectGenderDialog() {
- showDialog(
- context: context,
- child: SelectGenderDialog(
- beneficiaryType: gender,
- onValueSelected: (value) {
- setState(() {
- if (value == Gender.Male) {
- // _fileTextController.text = model.user.patientID.toString();
- bloodDetails.patientType = 1;
- // advanceModel.depositorName =
- // model.user.firstName + " " + model.user.lastName;
- } else
- // _fileTextController.text = "";
- {
- bloodDetails.gender = 2;
- }
-
- // beneficiaryType = value;
- gender = value;
- });
- },
+ DefaultButton(
+ TranslationBase.of(context).save,
+ checkedValue
+ ? () async {
+ if (_selectedHospital == null) {
+ AppToast.showErrorToast(message: TranslationBase.of(context).selectCity);
+ return;
+ }
+ bloodDetails.city = projectProvider.isArabic ? _selectedHospital.descriptionN : _selectedHospital.description;
+ bloodDetails.cityCode = _selectedHospital.iD.toString();
+ bloodDetails.gender = _selectedGenderIndex;
+ bloodDetails.bloodGroup = getBlood(_selectedBloodTypeIndex);
+ await model.updateBloodGroup(bloodDetails);
+ if (model.state == ViewState.Idle) {
+ AppToast.showSuccessToast(message: model.updatedRegisterBloodMessage);
+ } else {
+ AppToast.showErrorToast(message: model.error);
+ }
+ }
+ : null,
+ disabledColor: CustomColors.grey2,
+ ).insideContainer
+ ],
+ ),
),
);
}
-//void confirmSelectHospitalDialog(List hospitals) {
- void confirmSelectHospitalDialog(List hospitals) {
- showDialog(
- context: context,
- child: SelectCiteisDialog(
- hospitals: hospitals,
- selectedHospital: _selectedHospital,
- onValueSelected: (value) {
- setState(() {
- _selectedHospital = value;
- });
- },
- ),
- );
- }
-
- void confirmSelectPatientDialog(List patientInfoList) {
- showDialog(
- context: context,
- child: SelectPatientInfoDialog(
- patientInfoList: patientInfoList,
- selectedPatientInfo: _selectedPatientInfo,
- onValueSelected: (value) {
- setState(() {
- advanceModel.depositorName = value.fullName;
- _selectedPatientInfo = value;
- });
- },
- ),
- );
- }
-
- void confirmSelectFamilyDialog(List getAllSharedRecordsByStatusList) {
- showDialog(
- context: context,
- child: SelectPatientFamilyDialog(
- getAllSharedRecordsByStatusList: getAllSharedRecordsByStatusList,
- selectedPatientFamily: selectedPatientFamily,
- onValueSelected: (value) {
- setState(() {
- selectedPatientFamily = value;
- _fileTextController.text = selectedPatientFamily.patientID.toString();
- advanceModel.depositorName = value.patientName;
- });
- },
- ),
- );
- }
-
- String getBeneficiaryType() {
- switch (beneficiaryType) {
- case BeneficiaryType.MyAccount:
- return TranslationBase.of(context).myAccount;
- case BeneficiaryType.MyFamilyFiles:
- return TranslationBase.of(context).myFamilyFiles;
- break;
- case BeneficiaryType.OtherAccount:
- return TranslationBase.of(context).otherAccount;
- break;
- case BeneficiaryType.NON:
- return TranslationBase.of(context).selectBeneficiary;
- }
- return TranslationBase.of(context).selectBeneficiary;
- }
-
- String getGender(BuildContext context) {
- switch (gender) {
- case Gender.Male:
- return TranslationBase.of(context).male;
- case Gender.Female:
- return TranslationBase.of(context).female;
- break;
-
- case Gender.NON:
- return TranslationBase.of(context).selectGender;
- }
- return TranslationBase.of(context).selectGender;
- }
-
- String getBlood() {
- switch (blood) {
- case Blood.Oplus:
+ String getBlood(int index) {
+ switch (index) {
+ case 0:
return "O+";
break;
- case Blood.Ominus:
+ case 1:
return "O-";
break;
- case Blood.ABplus:
+ case 2:
return "AB+";
break;
- case Blood.ABminus:
+ case 3:
return "AB-";
break;
- case Blood.Aplus:
+ case 4:
return "A+";
break;
- case Blood.Aminus:
+ case 5:
return "A-";
break;
- case Blood.Bplus:
+ case 6:
return "B-";
break;
- case Blood.Bminus:
+ case 7:
return "B-";
break;
- case Blood.Bplus:
+ case 8:
return "B+";
break;
- case Blood.NON:
- return "Select Blood Type"; //TranslationBase.of(context).selectBeneficiary;
+ default:
+ return "";
}
- return "Select Blood Type"; //TranslationBase.of(context).selectBeneficiary;
}
String getHospitalName(ProjectViewModel projectProvider, BuildContext context) {
@@ -484,32 +321,5 @@ class _BloodDonationPageState extends State {
return projectProvider.isArabic ? _selectedHospital.descriptionN : _selectedHospital.description;
else
return TranslationBase.of(context).selectCity;
- // return List_BloodGroupDetailsModel.fromJson(0).city.toString();//"Select City";//TranslationBase.of(context).selectHospital;
- }
-
- String getPatientName() {
- if (_selectedPatientInfo != null)
- return _selectedPatientInfo.fullName;
- else
- return TranslationBase.of(context).selectPatientName;
}
-
- getAuthUser() async {
- if (await this.sharedPref.getObject(USER_PROFILE) != null) {
- var data = AuthenticatedUser.fromJson(await this.sharedPref.getObject(USER_PROFILE));
- setState(() {
- authUser = data;
- });
- }
- }
-
- String getFamilyMembersName() {
- if (selectedPatientFamily != null)
- return selectedPatientFamily.patientName;
- else
- return TranslationBase.of(context).selectFamilyPatientName;
- }
-
-//================
-
}
diff --git a/lib/pages/Blood/dialogs/SelectBloodDialog.dart b/lib/pages/Blood/dialogs/SelectBloodDialog.dart
deleted file mode 100644
index 23e9e753..00000000
--- a/lib/pages/Blood/dialogs/SelectBloodDialog.dart
+++ /dev/null
@@ -1,328 +0,0 @@
-import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart';
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-
-
-class SelectBloodDialog extends StatefulWidget {
-
- final Blood bloodType;
- final Function(Blood) onValueSelected;
-
- SelectBloodDialog({Key key, this.bloodType, this.onValueSelected});
-
-
-
- @override
- _SelectBloodDialogState createState() => _SelectBloodDialogState(this.bloodType);
-}
-
-class _SelectBloodDialogState extends State {
- _SelectBloodDialogState(this.bloodType);
- Blood bloodType;
- @override
- Widget build(BuildContext context) {
- return SimpleDialog(
- children: [
- Container(
- child: Column(
- children: [
- Divider(),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Oplus;
- });
- },
- child: ListTile(
- title: Text("O+"),
- leading: Radio(
- value: Blood.Oplus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Ominus;
- });
- },
- child: ListTile(
- title: Text("O-"),
- leading: Radio(
- value: Blood.Ominus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.ABminus;
- });
- },
- child: ListTile(
- title: Text("AB-"),
- leading: Radio(
- value: Blood.ABminus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.ABplus;
- });
- },
- child: ListTile(
- title: Text("AB+"),
- leading: Radio(
- value: Blood.ABplus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Aplus;
- });
- },
- child: ListTile(
- title: Text("A+"),
- leading: Radio(
- value: Blood.Aplus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Aminus;
- });
- },
- child: ListTile(
- title: Text("A-"),
- leading: Radio(
- value: Blood.Aminus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Bplus;
- });
- },
- child: ListTile(
- title: Text("B+"),
- leading: Radio(
- value: Blood.Bplus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- setState(() {
- bloodType = Blood.Bminus;
- });
- },
- child: ListTile(
- title: Text("B-"),
- leading: Radio(
- value: Blood.Bminus,
- groupValue: bloodType,
- activeColor: Colors.red[800],
- onChanged: (Blood value) {
- setState(() {
- bloodType = value;
- });
- },
- ),
- ),
- ),
- )
- ],
- ),
- SizedBox(
- height: 5.0,
- ),
- SizedBox(
- height: 5.0,
- ),
- Row(
- // mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- Navigator.pop(context);
- },
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Container(
- child: Center(
- child: Texts(
- TranslationBase.of(context).cancel.toUpperCase(),
- color: Colors.red,
- ),
- ),
- ),
- ),
- ),
- ),
- Container(
- width: 1,
- height: 30,
- color: Colors.grey[500],
- ),
- Expanded(
- flex: 1,
- child: InkWell(
- onTap: () {
- widget.onValueSelected(bloodType);
- Navigator.pop(context);
- },
- child: Padding(
- padding: const EdgeInsets.all(8.0),
- child: Center(
- child: Texts(
- TranslationBase.of(context).ok,
- fontWeight: FontWeight.w400,
- ),
- ),
- ),
- ),
- ),
- ],
- )
- ],
- ),
- )
- ],
- );
- }
-}
diff --git a/lib/pages/BookAppointment/components/SearchByDoctor.dart b/lib/pages/BookAppointment/components/SearchByDoctor.dart
index dde431e6..6bfac9a7 100644
--- a/lib/pages/BookAppointment/components/SearchByDoctor.dart
+++ b/lib/pages/BookAppointment/components/SearchByDoctor.dart
@@ -46,17 +46,7 @@ class _SearchByDoctorState extends State {
),
),
),
- // Container(
- // decoration: BoxDecoration(color: Colors.white),
- // child: TextField(
- // controller: doctorNameController,
- // onChanged: (content) {
- // _onDocTextChanged(content);
- // },
- // decoration: InputDecoration(labelText: TranslationBase.of(context).enterDocName, fillColor: Colors.white, prefixIcon: Icon(Icons.search), border: OutlineInputBorder())),
- // ),
inputWidget(TranslationBase.of(context).enterDocName, '', doctorNameController),
-
],
),
),
@@ -193,7 +183,7 @@ class _SearchByDoctorState extends State {
TextField(
enabled: isEnable,
scrollPadding: EdgeInsets.zero,
- keyboardType: TextInputType.number,
+ keyboardType: TextInputType.text,
controller: _controller,
onChanged: (value) => {_onDocTextChanged(value)},
style: TextStyle(
diff --git a/lib/pages/ChildVaccines/new/child_vaccine_page.dart b/lib/pages/ChildVaccines/new/child_vaccine_page.dart
index 81f83798..5f55401e 100644
--- a/lib/pages/ChildVaccines/new/child_vaccine_page.dart
+++ b/lib/pages/ChildVaccines/new/child_vaccine_page.dart
@@ -60,7 +60,7 @@ class _ChildPageState extends State with SingleTickerProviderS
borderRadius: BorderRadius.all(Radius.circular(12)),
color: Colors.white,
gradient: LinearGradient(
- colors: model.babyInformationModelList[index].gender == 1
+ colors: model.babyInformationModelList[index].gender == 2
? [
Color(0xFFFDA4B0),
Color(0xFFFBC8CC),
@@ -94,7 +94,7 @@ class _ChildPageState extends State with SingleTickerProviderS
),
),
Text(
- model.babyInformationModelList[index].gender == 1 ? TranslationBase.of(context).female : TranslationBase.of(context).male,
+ model.babyInformationModelList[index].genderDescription,
style: TextStyle(
fontSize: 11,
color: selectedColor,
diff --git a/lib/pages/DrawerPages/family/my-family.dart b/lib/pages/DrawerPages/family/my-family.dart
index 18450954..1d2b470b 100644
--- a/lib/pages/DrawerPages/family/my-family.dart
+++ b/lib/pages/DrawerPages/family/my-family.dart
@@ -26,6 +26,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@@ -666,14 +667,15 @@ class _MyFamily extends State with TickerProviderStateMixin {
}
deleteFamily(family, context) {
- ConfirmDialog dialog = new ConfirmDialog(
- context: context,
- confirmMessage: TranslationBase.of(context).removeFamilyMember,
- okText: TranslationBase.of(context).confirm,
- cancelText: TranslationBase.of(context).cancel_nocaps,
- okFunction: () => {ConfirmDialog.closeAlertDialog(context), removeFamily(family, context)},
- cancelFunction: () => {});
- dialog.showAlertDialog(context);
+ showDialog(
+ context: context,
+ child: ConfirmWithMessageDialog(
+ message: TranslationBase.of(context).removeFamilyMember,
+ onTap: () {
+ removeFamily(family, context);
+ },
+ ),
+ );
}
removeFamily(GetAllSharedRecordsByStatusList family, context) {
diff --git a/lib/pages/ErService/EdOnline/ConfirmExitPageDialog.dart b/lib/pages/ErService/EdOnline/ConfirmExitPageDialog.dart
deleted file mode 100644
index b31d4a38..00000000
--- a/lib/pages/ErService/EdOnline/ConfirmExitPageDialog.dart
+++ /dev/null
@@ -1,76 +0,0 @@
-import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
-import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-// todo 'sikander' remove useless code
-// class ConfirmExitPageDialog extends StatelessWidget {
-// final GestureTapCallback onTapYes;
-// final GestureTapCallback onTapNo;
-//
-// const ConfirmExitPageDialog({Key key, this.onTapYes, this.onTapNo})
-// : super(key: key);
-//
-// @override
-// Widget build(BuildContext context) {
-// return SimpleDialog(
-// contentPadding: EdgeInsets.fromLTRB(28.0, 24.0, 28.0, 0.0),
-// title: Center(
-// child: Texts(
-// TranslationBase.of(context).confirm,
-// color: Colors.black,
-// ),
-// ),
-// children: [
-// Column(
-// crossAxisAlignment: CrossAxisAlignment.center,
-// children: [
-// Texts(
-// "Are you sure you want to exit this page ?",
-// color: Colors.grey,
-// ),
-// SizedBox(
-// height: 5,
-// ),
-// Divider(),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// InkWell(
-// onTap: () {
-// onTapNo();
-// },
-// child: Container(
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).no,
-// color: Colors.red,
-// ),
-// ),
-// ),
-// ),
-//
-// InkWell(
-// onTap: () {
-// Navigator.pop(context);
-// onTapYes();
-// },
-// child: Container(
-// child: Center(
-// child: Texts(TranslationBase.of(context).yes),
-// ),
-// ),
-// ),
-// ],
-// ),
-// SizedBox(
-// height: 20.0,
-// ),
-// ],
-// )
-// ],
-// );
-// }
-// }
diff --git a/lib/pages/ErService/EdOnline/DdServicesPage.dart b/lib/pages/ErService/EdOnline/DdServicesPage.dart
index 457e199c..dc2e8d78 100644
--- a/lib/pages/ErService/EdOnline/DdServicesPage.dart
+++ b/lib/pages/ErService/EdOnline/DdServicesPage.dart
@@ -5,8 +5,6 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
-
-import 'ConfirmExitPageDialog.dart';
import 'EdOnlineAgreementPage.dart';
import 'EdOnlineNotesPage.dart';
import 'EdOnlineQuestionsPage.dart';
@@ -104,21 +102,4 @@ class _DdServicesPageState extends State {
),
);
}
-
- // todo 'sikander' remove useless code
- // void showConfirmMessage(
- // BuildContext context,
- // ) {
- // showDialog(
- // context: context,
- // child: ConfirmExitPageDialog(
- // onTapYes: () {
- // Navigator.pop(context);
- // },
- // onTapNo: () {
- // Navigator.pop(context);
- // },
- // ),
- // );
- // }
}
diff --git a/lib/pages/ToDoList/payment_method_select.dart b/lib/pages/ToDoList/payment_method_select.dart
index 542c1c23..1cccf517 100644
--- a/lib/pages/ToDoList/payment_method_select.dart
+++ b/lib/pages/ToDoList/payment_method_select.dart
@@ -5,7 +5,6 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
-import 'package:flutter_svg/flutter_svg.dart';
class PaymentMethod extends StatefulWidget {
Function onSelectedMethod;
@@ -37,7 +36,6 @@ class _PaymentMethodState extends State {
children: [
Container(
margin: EdgeInsets.fromLTRB(4, 15.0, 4, 0.0),
-
child: Text(TranslationBase.of(context).selectPaymentOption, style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.bold)),
),
Container(
@@ -119,16 +117,6 @@ class _PaymentMethodState extends State {
width: 60,
child: Image.asset("assets/images/new/payment/visa.png"),
),
- // mWidth(12),
- // Text(
- // "VISA",
- // style: TextStyle(
- // color: Colors.black,
- // fontSize: 14,
- // fontWeight: FontWeight.bold,
- // ),
- // )
- // ,
mFlex(1),
if (selectedPaymentMethod == "VISA")
Container(
@@ -178,15 +166,6 @@ class _PaymentMethodState extends State {
width: 60,
child: Image.asset("assets/images/new/payment/Mastercard.png"),
),
- // mWidth(12),
- // Text(
- // "MasterCard",
- // style: TextStyle(
- // color: Colors.black,
- // fontSize: 14,
- // fontWeight: FontWeight.bold,
- // ),
- // ),
mFlex(1),
if (selectedPaymentMethod == "MASTERCARD")
Container(
@@ -236,15 +215,6 @@ class _PaymentMethodState extends State {
width: 60,
child: Image.asset("assets/images/new/payment/installments.png"),
),
- // mWidth(12),
- // Text(
- // "Installments",
- // style: TextStyle(
- // color: Colors.black,
- // fontSize: 14,
- // fontWeight: FontWeight.bold,
- // ),
- // ),
mFlex(1),
if (selectedPaymentMethod == "Installment")
Container(
@@ -295,15 +265,6 @@ class _PaymentMethodState extends State {
width: 60,
child: Image.asset("assets/images/new/payment/Apple_Pay.png"),
),
- // mWidth(12),
- // Text(
- // "Apple Pay",
- // style: TextStyle(
- // color: Colors.black,
- // fontSize: 14,
- // fontWeight: FontWeight.bold,
- // ),
- // ),
mFlex(1),
if (selectedPaymentMethod == "ApplePay")
Container(
@@ -323,40 +284,6 @@ class _PaymentMethodState extends State {
),
),
)
- // Container(
- // margin: EdgeInsets.only(top: 25.0),
- // child: Flex(
- // direction: Axis.horizontal,
- // children: [
- // Expanded(
- // child: Container(
- // child: InkWell(
- // onTap: () {
- // updateSelectedPaymentMethod("ApplePay");
- // },
- // child: Card(
- // elevation: 3.0,
- // margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
- // color: Colors.white,
- // shape: RoundedRectangleBorder(
- // borderRadius: BorderRadius.circular(10),
- // side: selectedPaymentMethod == "ApplePay" ? BorderSide(color: Colors.green, width: 5.0) : BorderSide(color: Colors.transparent, width: 0.0),
- // ),
- // child: Container(
- // height: 120.0,
- // padding: EdgeInsets.all(20.0),
- // child: SvgPicture.asset("assets/images/new-design/applepay.svg"),
- // ),
- // ),
- // ),
- // ),
- // ),
- // Expanded(
- // child: Container(),
- // ),
- // ],
- // ),
- // )
: Container(),
SizedBox(
height: 150.0,
diff --git a/lib/pages/feedback/send_feedback_page.dart b/lib/pages/feedback/send_feedback_page.dart
index dc1b47f7..298e617e 100644
--- a/lib/pages/feedback/send_feedback_page.dart
+++ b/lib/pages/feedback/send_feedback_page.dart
@@ -498,42 +498,6 @@ class _SendFeedbackPageState extends State {
);
return;
- // todo 'sikander' remove useless code
- // showDialog(
- // context: context,
- // child: FeedbackTypeDialog(
- // messageTypeDialog: messageType,
- // onValueSelected: (MessageType value) {
- // if (value == MessageType.ComplaintOnAnAppointment) {
- // appoList.clear();
- // GifLoaderDialogUtils.showMyDialog(context);
- // service.getPatientAppointmentHistory(false, context, isForCOC: true).then((res) {
- // GifLoaderDialogUtils.hideDialog(context);
- // setState(() {
- // if (res['MessageStatus'] == 1) {
- // if (res['AppoimentAllHistoryResultList'].length != 0) {
- // res['AppoimentAllHistoryResultList'].forEach((v) {
- // appoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
- // });
- // setState(() {
- // appointHistory = null;
- // isShowListAppointHistory = true;
- // });
- // } else {}
- // } else {}
- // });
- // }).catchError((err) {
- // GifLoaderDialogUtils.hideDialog(context);
- // // print(err);
- // // AppToast.showErrorToast(message: err);
- // // Navigator.of(context).pop();
- // });
- // } else {
- // isShowListAppointHistory = false;
- // }
- // setMessageType(value);
- // },
- // ));
}
openSpeechReco() async {
@@ -586,239 +550,4 @@ class _SendFeedbackPageState extends State {
print(hasSpeech);
if (!mounted) return;
}
-}
-// todo 'sikander' remove useless code
-// class FeedbackTypeDialog extends StatefulWidget {
-// final Function(MessageType) onValueSelected;
-// final MessageType messageTypeDialog;
-//
-// const FeedbackTypeDialog({Key key, this.onValueSelected, this.messageTypeDialog = MessageType.NON}) : super(key: key);
-//
-// @override
-// State createState() => new FeedbackTypeDialogState();
-// }
-//
-// class FeedbackTypeDialogState extends State {
-// MessageType messageTypeDialog = MessageType.NON;
-//
-// setMessageDialogType(MessageType messageType) {
-// setState(() {
-// messageTypeDialog = messageType;
-// });
-// }
-//
-// @override
-// void initState() {
-// messageTypeDialog = widget.messageTypeDialog;
-//
-// super.initState();
-// }
-//
-// Widget build(BuildContext context) {
-// return BaseView(
-// builder: (_, model, widge) => SimpleDialog(
-// title: Text(
-// TranslationBase.of(context).messageType,
-// textAlign: TextAlign.center,
-// ),
-// children: [
-// Container(
-// // padding: const EdgeInsets.all(10.0),
-// child: Column(
-// children: [
-// Divider(
-// height: 2.5,
-// color: Colors.grey[500],
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.NON),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).notClassified),
-// leading: Radio(
-// value: MessageType.NON,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.ComplaintOnAnAppointment),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).complainAppo),
-// leading: Radio(
-// value: MessageType.ComplaintOnAnAppointment,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.ComplaintWithoutAppointment),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).complainWithoutAppo),
-// leading: Radio(
-// value: MessageType.ComplaintWithoutAppointment,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.Question),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).question),
-// leading: Radio(
-// value: MessageType.Question,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.Compliment),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).compliment),
-// leading: Radio(
-// value: MessageType.Compliment,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Row(
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () => setMessageDialogType(MessageType.Suggestion),
-// child: ListTile(
-// title: Texts(TranslationBase.of(context).suggestion),
-// leading: Radio(
-// value: MessageType.Suggestion,
-// groupValue: messageTypeDialog,
-// activeColor: CustomColors.accentColor,
-// onChanged: (MessageType value) => setMessageDialogType(value),
-// ),
-// ),
-// ),
-// )
-// ],
-// ),
-// SizedBox(
-// height: 5.0,
-// ),
-// Divider(
-// height: 2.5,
-// color: Colors.grey[500],
-// ),
-// SizedBox(
-// height: 5,
-// ),
-// Row(
-// // mainAxisAlignment: MainAxisAlignment.spaceBetween,
-// children: [
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: EdgeInsets.all(8.0),
-// child: Container(
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).cancel,
-// color: CustomColors.accentColor,
-// ),
-// ),
-// ),
-// ),
-// ),
-// ),
-// Container(
-// width: 1,
-// height: 30,
-// color: Colors.grey[500],
-// ),
-// Expanded(
-// flex: 1,
-// child: InkWell(
-// onTap: () {
-// widget.onValueSelected(messageTypeDialog);
-// Navigator.pop(context);
-// },
-// child: Padding(
-// padding: const EdgeInsets.all(8.0),
-// child: Center(
-// child: Texts(
-// TranslationBase.of(context).ok,
-// fontWeight: FontWeight.w400,
-// )),
-// ),
-// )),
-// ],
-// )
-// ],
-// ),
-// ),
-// ],
-// ),
-// );
-// }
-// }
+}
\ No newline at end of file
diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart
index 9498282b..7f4d8621 100644
--- a/lib/pages/landing/landing_page.dart
+++ b/lib/pages/landing/landing_page.dart
@@ -388,13 +388,6 @@ class _LandingPageState extends State with WidgetsBindingObserver {
);
}
- // todo 'sikander' remove useless code
- // showDialogs(String message) {
- // ConfirmDialog dialog = new ConfirmDialog(
- // context: context, confirmMessage: message, okText: TranslationBase.of(context).confirm, cancelText: TranslationBase.of(context).cancel_nocaps, okFunction: () => {}, cancelFunction: () => {});
- // dialog.showAlertDialog(context);
- // }
-
Future