diff --git a/assets/images/new/services/allergies_diagnosed.svg b/assets/images/new/services/allergies_diagnosed.svg
new file mode 100644
index 00000000..258658c8
--- /dev/null
+++ b/assets/images/new/services/allergies_diagnosed.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/new/services/ask_doctor.svg b/assets/images/new/services/ask_doctor.svg
new file mode 100644
index 00000000..90b7f300
--- /dev/null
+++ b/assets/images/new/services/ask_doctor.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/new/services/balance_credit.svg b/assets/images/new/services/balance_credit.svg
new file mode 100644
index 00000000..268f284f
--- /dev/null
+++ b/assets/images/new/services/balance_credit.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/images/new/services/chatbot.svg b/assets/images/new/services/chatbot.svg
new file mode 100644
index 00000000..cf2a5092
--- /dev/null
+++ b/assets/images/new/services/chatbot.svg
@@ -0,0 +1,9 @@
+
diff --git a/assets/images/new/services/eye_measurement.svg b/assets/images/new/services/eye_measurement.svg
new file mode 100644
index 00000000..563329c5
--- /dev/null
+++ b/assets/images/new/services/eye_measurement.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/images/new/services/insurance_approval.svg b/assets/images/new/services/insurance_approval.svg
new file mode 100644
index 00000000..f6a5885f
--- /dev/null
+++ b/assets/images/new/services/insurance_approval.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/new/services/insurance_card.svg b/assets/images/new/services/insurance_card.svg
new file mode 100644
index 00000000..81d91b5e
--- /dev/null
+++ b/assets/images/new/services/insurance_card.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/new/services/internet_connection.svg b/assets/images/new/services/internet_connection.svg
new file mode 100644
index 00000000..09176400
--- /dev/null
+++ b/assets/images/new/services/internet_connection.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/new/services/invoice_list.svg b/assets/images/new/services/invoice_list.svg
new file mode 100644
index 00000000..18fe134f
--- /dev/null
+++ b/assets/images/new/services/invoice_list.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/new/services/medical_report.svg b/assets/images/new/services/medical_report.svg
new file mode 100644
index 00000000..186af7a6
--- /dev/null
+++ b/assets/images/new/services/medical_report.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/images/new/services/monthly_report.svg b/assets/images/new/services/monthly_report.svg
new file mode 100644
index 00000000..d218855a
--- /dev/null
+++ b/assets/images/new/services/monthly_report.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/images/new/services/sick_leave.svg b/assets/images/new/services/sick_leave.svg
new file mode 100644
index 00000000..4d8eea5d
--- /dev/null
+++ b/assets/images/new/services/sick_leave.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/new/services/smart_watch.svg b/assets/images/new/services/smart_watch.svg
new file mode 100644
index 00000000..236f64b4
--- /dev/null
+++ b/assets/images/new/services/smart_watch.svg
@@ -0,0 +1,12 @@
+
diff --git a/assets/images/new/services/tracker.svg b/assets/images/new/services/tracker.svg
new file mode 100644
index 00000000..7d727cee
--- /dev/null
+++ b/assets/images/new/services/tracker.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/images/new/services/vaccine_list.svg b/assets/images/new/services/vaccine_list.svg
new file mode 100644
index 00000000..7096feb3
--- /dev/null
+++ b/assets/images/new/services/vaccine_list.svg
@@ -0,0 +1,7 @@
+
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index 1e3ead26..ff90a645 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -292,18 +292,9 @@ const Map localizedValues = {
"ambulancerequest": {"en": "Ambulance :", "ar": "طلب نقل "},
"requestA": {"en": "Request:", "ar": "اسعاف"},
"MyAppointments": {"en": "My", "ar": "مواعيدي"},
- "NoBookedAppointments": {
- "en": "No Booked Appointments",
- "ar": "لا توجد مواعيد محجوزة"
- },
- "NoConfirmedAppointments": {
- "en": "No Confirmed Appointments",
- "ar": "لا توجد مواعيد مؤكدة"
- },
- "noArrivedAppointments": {
- "en": "No Arrived Appointments",
- "ar": "لم تصل المواعيد"
- },
+ "NoBookedAppointments": {"en": "No Booked Appointments", "ar": "لا توجد مواعيد محجوزة"},
+ "NoConfirmedAppointments": {"en": "No Confirmed Appointments", "ar": "لا توجد مواعيد مؤكدة"},
+ "noArrivedAppointments": {"en": "No Arrived Appointments", "ar": "لم تصل المواعيد"},
"MyAppointmentsList": {"en": "Appointments", "ar": "قائمة بمواعدي"},
"Radiology": {"en": "Radiology", "ar": "الأشعة"},
"RadiologySubtitle": {"en": "Result", "ar": "صور وتقارير"},
@@ -483,6 +474,23 @@ const Map localizedValues = {
"writeReview": {"en": "Write Review", "ar": " اكتب تقييمك"},
"shareReview": {"en": "SHARE REVIEW", "ar": " اكتب تقييمك"},
"review": {"en": " reviews", "ar": " تقييمات"},
+ "viewMedicalFile": {"en": "View Medical File", "ar": "عرض الملف الطبي"},
+ "viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"},
+ "medicalFile": {"en": "Medical File", "ar": "ملف طبي"},
+ "verified": {"en": "Verified", "ar": "تم التحقق"},
+ "checkup": {"en": "Checkup", "ar": "فحص"},
+ "hhcHome": {"en": "HHC Home", "ar": "الصفحة الرئيسية HHC"},
+ "refferal": {"en": "E-Refferal", "ar": "الإحالة الإلكترونية"},
+ "healthCare": {"en": "Health Care", "ar": "الرعاية الصحية"},
+ "emergency": {"en": "Emergency", "ar": "طارئ"},
+ "cantSeeProfile": {"en": "Can’t see your medical File?", "ar": "لا تستطيع رؤية ملفك الطبي؟"},
+ "loginRegisterNow": {"en": "Login or Register Now", "ar": "تسجيل الدخول أو التسجيل الآن"},
+ "HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"},
+ "ecommerceSolution": {"en": "Ecommerce Solution", "ar": "حل التجارة الإلكترونية"},
+ "services2": {"en": "Services", "ar": "خدمات"},
+
+ "comprehensive": {"en": "Comprehensive", "ar": "شامل"},
+ "onlineConsulting": {"en": "Online Consulting", "ar": "استشارات عبر الإنترنت"},
"pendingOrder": {"en": " PENDING", "ar": " معلقة"},
"deliveredOrder": {"en": " DELIVERED", "ar": " تم التوصيل"},
"processingOrder": {"en": " PROCESSING", "ar": "قيد التنفيذ"},
@@ -1033,7 +1041,7 @@ const Map localizedValues = {
"updated-email": {"en": "Updated email successfully", "ar": "تم تحديث البريد الالكتروني"},
"view-list-children": {"en": "View List of Children", "ar": "عرض قائمة الأطفال"},
- "covidTest": {"en": "COVID-19 TEST", "ar": "فحص كورونا"},
+ "covidTest": {"en": "COVID TEST", "ar": "فحص كورونا"},
"driveThru": {"en": "Drive-Thru", "ar": "من السيارة"},
"trackDeliveryDriver": {"en": "Track Delivery Driver", "ar": "trackDeliveryDriver"},
diff --git a/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart b/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart
index 21f277d9..7a9cd016 100644
--- a/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart
+++ b/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart
@@ -52,15 +52,12 @@ class _AllHabibMedicalServiceState extends State {
LocationUtils locationUtils;
var weather = '--';
WeatherService _weatherService = WeatherService();
+
@override
void initState() {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
- locationUtils =
- new LocationUtils(isShowConfirmDialog: true, context: context);
- WidgetsBinding.instance.addPostFrameCallback((_) => {
- Geolocator.getLastKnownPosition()
- .then((value) => setLocation(value))
- });
+ locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
+ WidgetsBinding.instance.addPostFrameCallback((_) => {Geolocator.getLastKnownPosition().then((value) => setLocation(value))});
});
super.initState();
}
@@ -99,14 +96,12 @@ class _AllHabibMedicalServiceState extends State {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Texts(
- TranslationBase.of(context)
- .healthWeatherIndicators,
+ TranslationBase.of(context).healthWeatherIndicators,
color: Colors.white,
fontWeight: FontWeight.w600,
),
Texts(
- TranslationBase.of(context)
- .healthTipsBasedOnCurrentWeather,
+ TranslationBase.of(context).healthTipsBasedOnCurrentWeather,
color: Colors.white,
fontSize: 14,
),
@@ -134,11 +129,7 @@ class _AllHabibMedicalServiceState extends State {
width: 60,
height: 60,
),
- Directionality(
- textDirection: TextDirection.ltr,
- child: AppText(weather,
- fontSize: 22,
- color: Colors.white))
+ Directionality(textDirection: TextDirection.ltr, child: AppText(weather, fontSize: 22, color: Colors.white))
],
),
Texts(
@@ -158,8 +149,7 @@ class _AllHabibMedicalServiceState extends State {
Navigator.pop(context);
widget.goToMyProfile();
},
- imageLocation:
- 'assets/images/new-design/my_file_bottom_bar.png',
+ imageLocation: 'assets/images/new-design/my_file_bottom_bar.png',
title: TranslationBase.of(context).myMedicalFile,
),
ServicesContainer(
@@ -181,8 +171,7 @@ class _AllHabibMedicalServiceState extends State {
),
),
),
- imageLocation:
- 'assets/images/new-design/booking_icon_active.png',
+ imageLocation: 'assets/images/new-design/booking_icon_active.png',
title: TranslationBase.of(context).bookAppo,
),
ServicesContainer(
@@ -192,8 +181,7 @@ class _AllHabibMedicalServiceState extends State {
page: PaymentService(),
),
),
- imageLocation:
- 'assets/images/al-habib_online_payment_service_icon.png',
+ imageLocation: 'assets/images/al-habib_online_payment_service_icon.png',
title: TranslationBase.of(context).onlinePaymentService,
),
ServicesContainer(
@@ -203,8 +191,7 @@ class _AllHabibMedicalServiceState extends State {
page: AnicllaryOrders(),
),
),
- imageLocation:
- 'assets/images/comprehensive_medical_checkup_logo.png',
+ imageLocation: 'assets/images/comprehensive_medical_checkup_logo.png',
title: TranslationBase.of(context).anicllaryOrders,
),
ServicesContainer(
@@ -212,8 +199,7 @@ class _AllHabibMedicalServiceState extends State {
context,
FadePage(),
),
- imageLocation:
- 'assets/images/al-habib_online_payment_service_icon.png',
+ imageLocation: 'assets/images/al-habib_online_payment_service_icon.png',
title: TranslationBase.of(context).covid19_driveThrueTest,
),
ServicesContainer(
@@ -246,15 +232,13 @@ class _AllHabibMedicalServiceState extends State {
page: InsuranceUpdate(),
),
),
- imageLocation:
- 'assets/images/medical/insurance_card_icon.png',
+ imageLocation: 'assets/images/medical/insurance_card_icon.png',
title: TranslationBase.of(context).updateInsurance,
),
ServicesContainer(
onTap: () => Navigator.push(
context,
- FadePage(
- page: EReferralPage()),
+ FadePage(page: EReferralPage()),
),
imageLocation: 'assets/images/ereferral_service_icon.png',
title: TranslationBase.of(context).ereferral,
@@ -266,8 +250,7 @@ class _AllHabibMedicalServiceState extends State {
page: MyFamily(),
),
),
- imageLocation:
- 'assets/images/new-design/family_menu_icon_red.png',
+ imageLocation: 'assets/images/new-design/family_menu_icon_red.png',
title: TranslationBase.of(context).myFamily,
),
if (projectViewModel.havePrivilege(35))
@@ -276,8 +259,7 @@ class _AllHabibMedicalServiceState extends State {
context,
FadePage(page: ChildVaccinesPage()),
),
- imageLocation:
- 'assets/images/new-design/children_vaccines_icon.png',
+ imageLocation: 'assets/images/new-design/children_vaccines_icon.png',
title: TranslationBase.of(context).childVaccine,
),
ServicesContainer(
@@ -287,8 +269,7 @@ class _AllHabibMedicalServiceState extends State {
page: ToDo(isShowAppBar: true),
),
),
- imageLocation:
- 'assets/images/new-design/upcoming_icon_bottom_bar.png',
+ imageLocation: 'assets/images/new-design/upcoming_icon_bottom_bar.png',
title: TranslationBase.of(context).todoList,
),
if (projectViewModel.havePrivilege(42))
@@ -315,8 +296,7 @@ class _AllHabibMedicalServiceState extends State {
page: (HealthCalculators()),
),
),
- imageLocation:
- 'assets/images/new-design/health_calculator_icon.png',
+ imageLocation: 'assets/images/new-design/health_calculator_icon.png',
title: TranslationBase.of(context).calculators,
),
ServicesContainer(
@@ -326,14 +306,12 @@ class _AllHabibMedicalServiceState extends State {
page: HealthConverter(),
),
),
- imageLocation:
- 'assets/images/new-design/health_convertor_icon.png',
+ imageLocation: 'assets/images/new-design/health_convertor_icon.png',
title: TranslationBase.of(context).converters,
),
if (projectViewModel.havePrivilege(38))
ServicesContainer(
- onTap: () =>
- Navigator.push(context, FadePage(page: H2OPage())),
+ onTap: () => Navigator.push(context, FadePage(page: H2OPage())),
// Navigator.push(
// context,
// FadePage(
@@ -349,8 +327,7 @@ class _AllHabibMedicalServiceState extends State {
context,
FadePage(),
),
- imageLocation:
- 'assets/images/new-design/smartwatch_icon.png',
+ imageLocation: 'assets/images/new-design/smartwatch_icon.png',
title: TranslationBase.of(context).smartWatches,
),
ServicesContainer(
@@ -360,15 +337,12 @@ class _AllHabibMedicalServiceState extends State {
page: ParkingPage(),
),
),
- imageLocation:
- 'assets/images/new-design/parking_system_icon.png',
+ imageLocation: 'assets/images/new-design/parking_system_icon.png',
title: TranslationBase.of(context).parking,
),
ServicesContainer(
- onTap: () => launch(
- "https://hmgwebservices.com/vt_mobile/html/index.html"),
- imageLocation:
- 'assets/images/new-design/virtual_tour_icon.png',
+ onTap: () => launch("https://hmgwebservices.com/vt_mobile/html/index.html"),
+ imageLocation: 'assets/images/new-design/virtual_tour_icon.png',
title: TranslationBase.of(context).vTour,
),
ServicesContainer(
@@ -376,12 +350,10 @@ class _AllHabibMedicalServiceState extends State {
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => MyWebView(
title: "HMG News",
- selectedUrl:
- "https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
+ selectedUrl: "https://twitter.com/hashtag/مجموعة_د_سليمان_الحبيب_الطبية?src=hashtag_click&f=live",
)));
},
- imageLocation:
- 'assets/images/new-design/twitter_dashboard_icon.png',
+ imageLocation: 'assets/images/new-design/twitter_dashboard_icon.png',
title: TranslationBase.of(context).latestNews,
),
ServicesContainer(
@@ -404,8 +376,7 @@ class _AllHabibMedicalServiceState extends State {
getAuthUser() async {
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
- var data = AuthenticatedUser.fromJson(
- await this.sharedPref.getObject(USER_PROFILE));
+ var data = AuthenticatedUser.fromJson(await this.sharedPref.getObject(USER_PROFILE));
setState(() {
authUser = data;
});
@@ -419,8 +390,7 @@ class _AllHabibMedicalServiceState extends State {
});
} else {
setState(() {
- weather =
- data != null ? data['Temperature'].toString() + '\u2103' : '--';
+ weather = data != null ? data['Temperature'].toString() + '\u2103' : '--';
});
}
}
diff --git a/lib/pages/landing/fragments/home_page_fragment.dart b/lib/pages/landing/fragments/home_page_fragment.dart
index 670bf5e1..84be4256 100644
--- a/lib/pages/landing/fragments/home_page_fragment.dart
+++ b/lib/pages/landing/fragments/home_page_fragment.dart
@@ -1,12 +1,19 @@
import 'package:diplomaticquarterapp/models/hmg_services.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/pharmacy_view.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/services_view.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/slider_view.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
+import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
class HomePageFragment extends StatefulWidget {
+ Function onPharmacyClick, onLoginClick;
+
+ HomePageFragment({this.onPharmacyClick, this.onLoginClick});
+
@override
_HomePageFragmentState createState() => _HomePageFragmentState();
}
@@ -18,21 +25,23 @@ class _HomePageFragmentState extends State {
void initState() {
// TODO: implement initState
super.initState();
- initialiseHmgServices(false);
+
// getFamilyFiles();
}
initialiseHmgServices(bool isLogin) {
- hmgServices.add(new HmgServices(0, "LiveCare ", "Online Consulting", "assets/images/new/Live_Care.svg", isLogin));
- hmgServices.add(new HmgServices(1, "Covid Test", "Drive-Thru", "assets/images/new/covid_test_drive_thru.svg", isLogin));
- hmgServices.add(new HmgServices(2, "Checkup", "Comprehensive", "assets/images/new/comprehensive_checkup.svg", isLogin));
- hmgServices.add(new HmgServices(3, "HHC Home", "Health Care", "assets/images/new/HHC.svg", isLogin));
- hmgServices.add(new HmgServices(4, "E-Refferal", "Services", "assets/images/new/E_Refferal.svg", isLogin));
- hmgServices.add(new HmgServices(5, "RRT", "Emergency", "assets/images/new/RRT.svg", isLogin));
+ hmgServices.clear();
+ hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
+ hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/covid_test_drive_thru.svg", isLogin));
+ hmgServices.add(new HmgServices(2, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
+ hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
+ hmgServices.add(new HmgServices(4, TranslationBase.of(context).refferal, TranslationBase.of(context).services2, "assets/images/new/E_Refferal.svg", isLogin));
+ hmgServices.add(new HmgServices(5, "RRT", TranslationBase.of(context).emergency, "assets/images/new/RRT.svg", isLogin));
}
@override
Widget build(BuildContext context) {
+ initialiseHmgServices(false);
return Container(
width: double.infinity,
child: Column(
@@ -41,7 +50,11 @@ class _HomePageFragmentState extends State {
aspectRatio: 2,
child: Container(
margin: EdgeInsets.all(14),
- child: SliderView(),
+ child: SliderView(
+ onLoginClick: () {
+ widget.onLoginClick();
+ },
+ ),
// height: MediaQuery.of(context).size.width / 2.6,
),
),
@@ -50,19 +63,18 @@ class _HomePageFragmentState extends State {
child: Image.asset("assets/images/bn_offer.png"),
),
mHeight(20),
- Padding(
- padding: const EdgeInsets.only(
- left: 20,
- right: 20,
- top: 20,
- ),
- child: Column(
- children: [
- Row(
+ Column(
+ children: [
+ Padding(
+ padding: const EdgeInsets.only(
+ left: 20,
+ right: 8,
+ ),
+ child: Row(
children: [
Expanded(
child: Text(
- "HMG Services",
+ TranslationBase.of(context).hMGService,
style: TextStyle(
color: Colors.black,
fontSize: 18,
@@ -70,27 +82,39 @@ class _HomePageFragmentState extends State {
),
),
),
- Text(
- "View All Services",
- style: TextStyle(
- color: CustomColors.accentColor,
- fontSize: 14,
+ FlatButton(
+ onPressed: () {
+ Navigator.push(context, FadePage(page: AllHabibMedicalService()));
+ },
+ child: Text(
+ TranslationBase.of(context).viewAllServices,
+ style: TextStyle(
+ color: CustomColors.accentColor,
+ fontSize: 14,
+ decoration: TextDecoration.underline,
+ ),
),
),
],
),
- mHeight(20),
- GridView.builder(
+ ),
+ Padding(
+ padding: const EdgeInsets.only(
+ left: 20,
+ right: 20,
+ top: 4,
+ ),
+ child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 2 / 2, crossAxisSpacing: 12, mainAxisSpacing: 12),
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: hmgServices.length,
padding: EdgeInsets.zero,
itemBuilder: (BuildContext context, int index) {
- return ServicesView(hmgServices[index],index);
+ return ServicesView(hmgServices[index], index);
}),
- ],
- ),
+ ),
+ ],
),
Padding(
padding: const EdgeInsets.only(
@@ -98,7 +122,11 @@ class _HomePageFragmentState extends State {
right: 20,
top: 20,
),
- child: PharmacyView(),
+ child: PharmacyView(
+ onPharmacyClick: () {
+ widget.onPharmacyClick();
+ },
+ ),
),
mHeight(140),
],
diff --git a/lib/pages/landing/fragments/logged_home_page_fragment.dart b/lib/pages/landing/fragments/logged_home_page_fragment.dart
index 0b22ec67..05822158 100644
--- a/lib/pages/landing/fragments/logged_home_page_fragment.dart
+++ b/lib/pages/landing/fragments/logged_home_page_fragment.dart
@@ -1,28 +1,39 @@
+import 'package:auto_size_text/auto_size_text.dart';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/models/gradient_color.dart';
import 'package:diplomaticquarterapp/models/hmg_services.dart';
import 'package:diplomaticquarterapp/models/slider_data.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart';
+import 'package:diplomaticquarterapp/pages/MyAppointments/MyAppointments.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/logged_slider_view.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/pharmacy_view.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/services_view.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/slider_view.dart';
+import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
+import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.dart';
+import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
import 'package:diplomaticquarterapp/theme/colors.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.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
+import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart' as s;
import 'package:provider/provider.dart';
class LoggedHomePageFragment extends StatefulWidget {
ProjectViewModel projectViewModel;
+ Function onPharmacyClick;
- LoggedHomePageFragment(this.projectViewModel);
+ LoggedHomePageFragment(this.projectViewModel, {this.onPharmacyClick});
@override
_HomePageFragmentState createState() => _HomePageFragmentState();
@@ -31,22 +42,26 @@ class LoggedHomePageFragment extends StatefulWidget {
class _HomePageFragmentState extends State {
List hmgServices = [];
var familyFileProvider = FamilyFilesProvider();
+ List appoList = [];
@override
void initState() {
// TODO: implement initState
super.initState();
- initialiseHmgServices(false);
+
+ getPatientAppointmentHistory1();
+ // getPatientAppointmentHistory1();
// getFamilyFiles();
}
initialiseHmgServices(bool isLogin) {
- hmgServices.add(new HmgServices(0, "LiveCare ", "Online Consulting", "assets/images/new/Live_Care.svg", isLogin));
- hmgServices.add(new HmgServices(1, "Covid Test", "Drive-Thru", "assets/images/new/covid_test_drive_thru.svg", isLogin));
- hmgServices.add(new HmgServices(2, "Checkup", "Comprehensive", "assets/images/new/comprehensive_checkup.svg", isLogin));
- hmgServices.add(new HmgServices(3, "HHC Home", "Health Care", "assets/images/new/HHC.svg", isLogin));
- hmgServices.add(new HmgServices(4, "E-Refferal", "Services", "assets/images/new/E_Refferal.svg", isLogin));
- hmgServices.add(new HmgServices(5, "RRT", "Emergency", "assets/images/new/RRT.svg", isLogin));
+ hmgServices.clear();
+ hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCare, TranslationBase.of(context).onlineConsulting, "assets/images/new/Live_Care.svg", isLogin));
+ hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/covid_test_drive_thru.svg", isLogin));
+ hmgServices.add(new HmgServices(2, TranslationBase.of(context).checkup, TranslationBase.of(context).comprehensive, "assets/images/new/comprehensive_checkup.svg", isLogin));
+ hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
+ hmgServices.add(new HmgServices(4, TranslationBase.of(context).refferal, TranslationBase.of(context).services2, "assets/images/new/E_Refferal.svg", isLogin));
+ hmgServices.add(new HmgServices(5, "RRT", TranslationBase.of(context).emergency, "assets/images/new/RRT.svg", isLogin));
}
Future getFamilyFiles() async {
@@ -64,6 +79,7 @@ class _HomePageFragmentState extends State {
@override
Widget build(BuildContext context) {
+ initialiseHmgServices(false);
var appoCountProvider = Provider.of(context);
List myMedicalList = Utils.myMedicalListHomePage(projectViewModel: widget.projectViewModel, context: context, count: appoCountProvider.count, isLogin: widget.projectViewModel.isLogin);
return Container(
@@ -106,7 +122,7 @@ class _HomePageFragmentState extends State {
for (int i = 0; i < sliderData.length; i++)
Builder(
builder: (BuildContext context) {
- return LoggedSliderView(sliderData[i]);
+ return LoggedSliderView(widget.projectViewModel, sliderData[i]);
},
)
],
@@ -125,10 +141,15 @@ class _HomePageFragmentState extends State {
scrollDirection: Axis.horizontal,
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) {
- return Container(
- child: myMedicalList[index],
- margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == 3 ? 20 : 0),
- );
+ return widget.projectViewModel.isArabic
+ ? Container(
+ child: myMedicalList[index],
+ margin: EdgeInsets.only(left: index == 3 ? 20 : 0, right: index == 0 ? 20 : 0),
+ )
+ : Container(
+ child: myMedicalList[index],
+ margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == 3 ? 20 : 0),
+ );
},
separatorBuilder: (BuildContext context, int index) {
return mWidth(12);
@@ -136,44 +157,63 @@ class _HomePageFragmentState extends State {
),
),
Padding(
- padding: const EdgeInsets.only(
- left: 20,
- right: 20,
- top: 16,
- ),
+ padding: widget.projectViewModel.isArabic
+ ? EdgeInsets.only(
+ right: 20,
+ left: 8,
+ top: 4,
+ )
+ : EdgeInsets.only(
+ left: 20,
+ right: 8,
+ top: 4,
+ ),
child: Row(
children: [
mFlex(1),
- Text(
- "View Medical File",
- style: TextStyle(
- color: CustomColors.accentColor,
- fontSize: 14,
- decoration: TextDecoration.underline,
+ FlatButton(
+ onPressed: () {
+ navigateTo(context, MedicalProfilePage());
+ },
+ child: Text(
+ TranslationBase.of(context).viewMedicalFile,
+ style: TextStyle(
+ color: CustomColors.accentColor,
+ fontSize: 14,
+ decoration: TextDecoration.underline,
+ ),
),
),
],
),
),
- mHeight(16),
- Padding(
- padding: const EdgeInsets.only(left: 20, right: 20),
- child: Image.asset("assets/images/bn_offer.png"),
- ),
+ mHeight(4),
+ appoCountProvider.count == 0
+ ? Padding(
+ padding: const EdgeInsets.only(left: 20, right: 20),
+ child: Image.asset("assets/images/bn_offer.png"),
+ )
+ : offersView(appoCountProvider.count),
mHeight(14),
Column(
children: [
Padding(
- padding: const EdgeInsets.only(
- left: 20,
- right: 20,
- top: 20,
- ),
+ padding: widget.projectViewModel.isArabic
+ ? EdgeInsets.only(
+ right: 20,
+ left: 8,
+ top: 4,
+ )
+ : EdgeInsets.only(
+ left: 20,
+ right: 8,
+ top: 4,
+ ),
child: Row(
children: [
Expanded(
child: Text(
- "HMG Services",
+ TranslationBase.of(context).hMGService,
style: TextStyle(
color: Colors.black,
fontSize: 18,
@@ -181,18 +221,23 @@ class _HomePageFragmentState extends State {
),
),
),
- Text(
- "View All Services",
- style: TextStyle(
- color: CustomColors.accentColor,
- decoration: TextDecoration.underline,
- fontSize: 14,
+ FlatButton(
+ onPressed: () {
+ Navigator.push(context, FadePage(page: AllHabibMedicalService()));
+ },
+ child: Text(
+ TranslationBase.of(context).viewAllServices,
+ style: TextStyle(
+ color: CustomColors.accentColor,
+ fontSize: 14,
+ decoration: TextDecoration.underline,
+ ),
),
),
],
),
),
- mHeight(20),
+ mHeight(4),
Container(
width: double.infinity,
height: MediaQuery.of(context).size.height * 0.143,
@@ -204,7 +249,9 @@ class _HomePageFragmentState extends State {
itemBuilder: (BuildContext context, int index) {
return Container(
width: MediaQuery.of(context).size.height * 0.143,
- margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == hmgServices.length - 1 ? 20 : 0),
+ margin: widget.projectViewModel.isArabic
+ ? EdgeInsets.only(left: index == hmgServices.length - 1 ? 20 : 0, right: index == 0 ? 20 : 0)
+ : EdgeInsets.only(left: index == 0 ? 20 : 0, right: index == hmgServices.length - 1 ? 20 : 0),
child: ServicesView(hmgServices[index], index),
);
},
@@ -221,11 +268,189 @@ class _HomePageFragmentState extends State {
right: 20,
top: 20,
),
- child: PharmacyView(),
+ child: PharmacyView(
+ onPharmacyClick: () {
+ widget.onPharmacyClick();
+ },
+ ),
),
mHeight(140),
],
),
);
}
+
+ Widget offersView(int counts) {
+ if (appoList.length > 0) {
+ return Container(
+ height: MediaQuery.of(context).size.width / 4.35,
+ child: ListView.separated(
+ itemCount: 2,
+ padding: EdgeInsets.zero,
+ scrollDirection: Axis.horizontal,
+ physics: BouncingScrollPhysics(),
+ itemBuilder: (context, index) {
+ return index == 0
+ ? Container(
+ width: MediaQuery.of(context).size.width / 1.123,
+ height: MediaQuery.of(context).size.width / 4.35,
+ margin: widget.projectViewModel.isArabic ? EdgeInsets.only(right: index == 0 ? 20 : 0) : EdgeInsets.only(left: index == 0 ? 20 : 0),
+ padding: EdgeInsets.all(8),
+ decoration: containerColorRadiusBorderWidth(Colors.white, 16, Colors.black, 2),
+ child: InkWell(
+ onTap: () {},
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ circularAviator(MediaQuery.of(context).size.width / 10, brColor: Colors.white, elevation: 1),
+ mWidth(8),
+ Expanded(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ Expanded(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ appoList[index].doctorTitle + " " + appoList[index].doctorNameObj,
+ style: TextStyle(
+ color: Colors.black,
+ fontSize: 16,
+ fontWeight: FontWeight.bold,
+ ),
+ ),
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ Icon(
+ Icons.watch_later_rounded,
+ size: 16,
+ ),
+ mWidth(4),
+ Expanded(
+ child: AutoSizeText(
+ DateUtil.getWeekDayMonthDayYearDateFormatted(
+ DateUtil.convertStringToDate(appoList[index].appointmentDate), widget.projectViewModel.isArabic ? "ar" : "en") +
+ " " +
+ appoList[index].startTime.substring(0, 5),
+ maxLines: 1,
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ ),
+ Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ Icon(
+ Icons.notifications_active_sharp,
+ color: Color(0xFF9D9D9D),
+ size: 16,
+ ),
+ mWidth(4),
+ Text(
+ "Remind me",
+ style: TextStyle(
+ color: Color(0xFF9D9D9D),
+ fontSize: 12,
+ ),
+ ),
+ ],
+ ),
+ ],
+ ),
+ mFlex(1),
+ Flexible(
+ child: Container(
+ width: double.infinity,
+ child: Row(
+ children: [
+ // Text(
+ // "Appointment Details",
+ // style: TextStyle(
+ // color: CustomColors.accentColor,
+ // decoration: TextDecoration.underline,
+ // ),
+ // ),
+ FlatButton(
+ onPressed: () {
+ Navigator.push(context, FadePage(page: MyAppointments()));
+ },
+ child: Text(
+ "Appointment Details",
+ style: TextStyle(
+ color: CustomColors.accentColor,
+ fontSize: 14,
+ decoration: TextDecoration.underline,
+ ),
+ ),
+ ),
+ mFlex(1),
+ Icon(Icons.arrow_forward),
+ ],
+ ),
+ ),
+ ),
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ )
+ : Padding(
+ padding: widget.projectViewModel.isArabic ? EdgeInsets.only(left: index == 1 ? 20 : 0) : EdgeInsets.only(right: index == 1 ? 20 : 0),
+ child: Container(
+ child: showOfferImage(),
+ width: MediaQuery.of(context).size.width / 1.123,
+ ),
+ );
+ },
+ separatorBuilder: (BuildContext context, int index) {
+ return mWidth(12);
+ },
+ ),
+ );
+ } else {
+ return Padding(
+ padding: const EdgeInsets.only(left: 20, right: 20),
+ child: Image.asset("assets/images/bn_offer.png"),
+ );
+ }
+ }
+
+ Widget showOfferImage() {
+ return Image.asset(
+ "assets/images/bn_offer.png",
+ width: double.infinity,
+ height: double.infinity,
+ fit: BoxFit.fill,
+ );
+ }
+
+ getPatientAppointmentHistory1() async {
+ DoctorsListService service = new DoctorsListService();
+
+ Map res = await service.getPatientAppointmentHistory(true, context);
+ // appoList.clear();
+ if (res['MessageStatus'] == 1) {
+ if (res['AppoimentAllHistoryResultList'].length != 0) {
+ appoList.clear();
+ res['AppoimentAllHistoryResultList'].forEach((v) {
+ appoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
+ });
+ }
+ }
+ setState(() {});
+ }
}
diff --git a/lib/pages/landing/home_page_2.dart b/lib/pages/landing/home_page_2.dart
index e18a7fcb..1f37adca 100644
--- a/lib/pages/landing/home_page_2.dart
+++ b/lib/pages/landing/home_page_2.dart
@@ -1,54 +1,32 @@
-import 'package:carousel_slider/carousel_slider.dart';
-import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
-import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
-import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
-import 'package:diplomaticquarterapp/models/gradient_color.dart';
-import 'package:diplomaticquarterapp/models/hmg_services.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/all_habib_medical_service_page.dart';
-import 'package:diplomaticquarterapp/pages/ContactUs/contact_us_page.dart';
+
import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart';
-import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart';
+
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/landing/fragments/home_page_fragment.dart';
import 'package:diplomaticquarterapp/pages/landing/fragments/logged_home_page_fragment.dart';
-import 'package:diplomaticquarterapp/pages/landing/widgets/logged_slider_view.dart';
-import 'package:diplomaticquarterapp/pages/landing/widgets/offer_view.dart';
-import 'package:diplomaticquarterapp/pages/landing/widgets/pharmacy_view.dart';
-import 'package:diplomaticquarterapp/pages/landing/widgets/services_view.dart';
-import 'package:diplomaticquarterapp/pages/landing/widgets/slider_view.dart';
-import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
-import 'package:diplomaticquarterapp/pages/packages_offers/OfferAndPackagesPage.dart';
-import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart';
-import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart' as s;
-import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
+
import 'package:diplomaticquarterapp/theme/colors.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/data_display/text.dart';
-import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
-import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
+
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
-import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
+
import 'landing_page_pharmcy.dart';
-import 'package:diplomaticquarterapp/models/slider_data.dart';
class HomePage2 extends StatefulWidget {
final Function goToMyProfile;
+ Function onLoginClick;
- HomePage2({Key key, this.goToMyProfile});
+ HomePage2({Key key, this.goToMyProfile, this.onLoginClick});
@override
_HomePageState2 createState() => _HomePageState2();
@@ -61,6 +39,7 @@ class _HomePageState2 extends State {
@override
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
+
return BaseView(
onModelReady: (model) => model.getPatientRadOrders(),
builder: (_, model, wi) => Container(
@@ -70,7 +49,21 @@ class _HomePageState2 extends State {
physics: BouncingScrollPhysics(),
child: Column(
children: [
- !model.isLogin ? HomePageFragment() : LoggedHomePageFragment(projectViewModel),
+ !model.isLogin
+ ? HomePageFragment(
+ onPharmacyClick: () {
+ getPharmacyToken(model);
+ },
+ onLoginClick: () {
+ widget.onLoginClick();
+ },
+ )
+ : LoggedHomePageFragment(
+ projectViewModel,
+ onPharmacyClick: () {
+ getPharmacyToken(model);
+ },
+ ),
],
),
),
diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart
index 2487e12d..11c1d694 100644
--- a/lib/pages/landing/landing_page.dart
+++ b/lib/pages/landing/landing_page.dart
@@ -15,9 +15,9 @@ import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart';
import 'package:diplomaticquarterapp/pages/landing/home_page_2.dart';
import 'package:diplomaticquarterapp/pages/livecare/incoming_call.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
+import 'package:diplomaticquarterapp/pages/medical/medical_profile_page_new.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
-import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart'
- as family;
+import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart' as family;
import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
@@ -63,8 +63,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
var themeNotifier;
///inject the user data
- AuthenticatedUserObject authenticatedUserObject =
- locator();
+ AuthenticatedUserObject authenticatedUserObject = locator();
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
final authService = new AuthProvider();
@@ -72,10 +71,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
var familyFileProvider = family.FamilyFilesProvider();
void _requestIOSPermissions() {
- flutterLocalNotificationsPlugin
- .resolvePlatformSpecificImplementation<
- IOSFlutterLocalNotificationsPlugin>()
- ?.requestPermissions(
+ flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation()?.requestPermissions(
alert: true,
badge: true,
sound: true,
@@ -107,8 +103,6 @@ class _LandingPageState extends State with WidgetsBindingObserver {
print(route.settings.name);
}
-
-
//setState(() {
print("didChangeAppLifecycleState");
print('state = $state');
@@ -118,12 +112,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
if (LandingPage.isOpenCallPage) {
if (!isPageNavigated) {
isPageNavigated = true;
- Navigator.push(
- context,
- MaterialPageRoute(
- builder: (context) => IncomingCall(
- incomingCallData: LandingPage.incomingCallData)))
- .then((value) {
+ Navigator.push(context, MaterialPageRoute(builder: (context) => IncomingCall(incomingCallData: LandingPage.incomingCallData))).then((value) {
isPageNavigated = false;
});
}
@@ -157,16 +146,12 @@ class _LandingPageState extends State with WidgetsBindingObserver {
pageController = PageController(keepPage: true);
_firebaseMessaging.setAutoInitEnabled(true);
- locationUtils =
- new LocationUtils(isShowConfirmDialog: true, context: context);
- WidgetsBinding.instance
- .addPostFrameCallback((_) => locationUtils.getCurrentLocation());
+ locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
+ WidgetsBinding.instance.addPostFrameCallback((_) => locationUtils.getCurrentLocation());
// HMG (Guest/Internet) Wifi Access [Zohaib Kambrani]
HMGNetworkConnectivity(context, () {
GifLoaderDialogUtils.showMyDialog(context);
- PlatformBridge()
- .connectHMGGuestWifi()
- .then((value) => {GifLoaderDialogUtils.hideDialog(context)});
+ PlatformBridge().connectHMGGuestWifi().then((value) => {GifLoaderDialogUtils.hideDialog(context)});
}).checkAndConnectIfNoInternet();
if (Platform.isIOS) {
@@ -192,7 +177,6 @@ class _LandingPageState extends State with WidgetsBindingObserver {
// if (results[Permission.calendar].isGranted) ;
});
-
requestPermissions();
// });
//
@@ -313,16 +297,9 @@ class _LandingPageState extends State with WidgetsBindingObserver {
// );
}
-
-
showDialogs(String message) {
ConfirmDialog dialog = new ConfirmDialog(
- context: context,
- confirmMessage: message,
- okText: TranslationBase.of(context).confirm,
- cancelText: TranslationBase.of(context).cancel_nocaps,
- okFunction: () => {},
- cancelFunction: () => {});
+ context: context, confirmMessage: message, okText: TranslationBase.of(context).confirm, cancelText: TranslationBase.of(context).cancel_nocaps, okFunction: () => {}, cancelFunction: () => {});
dialog.showAlertDialog(context);
}
@@ -347,8 +324,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
return permissionResults;
}
- static Future myBackgroundMessageHandler(
- Map message) async {
+ static Future myBackgroundMessageHandler(Map message) async {
Map myMap = new Map.from(message['data']);
if (message.containsKey('data')) {
print("myBackgroundMessageHandler Inside");
@@ -383,8 +359,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
void doIt() {
getUserInformation().then((value) {
- if (value != null)
- projectViewModel.platformBridge().registerHmgGeofences();
+ if (value != null) projectViewModel.platformBridge().registerHmgGeofences();
});
}
@@ -406,9 +381,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
Navigator.of(context).pushNamed(CONFIRM_LOGIN);
} else {
GifLoaderDialogUtils.showMyDialog(context);
- authService
- .selectDeviceImei(DEVICE_TOKEN)
- .then((SelectDeviceIMEIRES value) {
+ authService.selectDeviceImei(DEVICE_TOKEN).then((SelectDeviceIMEIRES value) {
GifLoaderDialogUtils.hideDialog(context);
if (value != null) {
setUserValues(value);
@@ -429,21 +402,12 @@ class _LandingPageState extends State with WidgetsBindingObserver {
getNotificationCount(token) async {
if (await sharedPref.getObject(USER_PROFILE) != null) {
- var data =
- AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE));
+ var data = AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE));
if (data != null) {
- authService
- .registeredAuthenticatedUser(data, token, 0, 0)
- .then((res) => {print(res)});
+ authService.registeredAuthenticatedUser(data, token, 0, 0).then((res) => {print(res)});
authService.getDashboard().then((value) => {
setState(() {
- notificationCount = value['List_PatientDashboard'][0]
- ['UnreadPatientNotificationCount'] >
- 99
- ? '99+'
- : value['List_PatientDashboard'][0]
- ['UnreadPatientNotificationCount']
- .toString();
+ notificationCount = value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'] > 99 ? '99+' : value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
sharedPref.setString(NOTIFICATION_COUNT, notificationCount);
})
@@ -461,16 +425,11 @@ class _LandingPageState extends State with WidgetsBindingObserver {
appBar: AppBar(
elevation: 0,
textTheme: TextTheme(
- headline6: TextStyle(
- color: Theme.of(context).textTheme.headline1.color,
- fontWeight: FontWeight.bold),
+ headline6: TextStyle(color: Theme.of(context).textTheme.headline1.color, fontWeight: FontWeight.bold),
),
title: Text(
getText(currentTab).toUpperCase(),
- style: TextStyle(
- fontWeight: FontWeight.bold,
- color: Theme.of(context).textTheme.headline1.color,
- fontFamily: projectViewModel.isArabic ? 'Cairo' : 'WorkSans'),
+ style: TextStyle(fontWeight: FontWeight.bold, color: Theme.of(context).textTheme.headline1.color, fontFamily: projectViewModel.isArabic ? 'Cairo' : 'WorkSans'),
// bold: true,
// color: Colors.white,
),
@@ -553,6 +512,9 @@ class _LandingPageState extends State with WidgetsBindingObserver {
goToMyProfile: () {
_changeCurrentTab(1);
},
+ onLoginClick: () {
+ login();
+ },
),
MedicalProfilePage(),
BookingOptions(),
@@ -565,14 +527,13 @@ class _LandingPageState extends State with WidgetsBindingObserver {
index: currentTab,
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
- floatingActionButton:
- (projectViewModel.havePrivilege(34) && currentTab == 0)
- ? FloatingButton(
- elevation: true,
- onTap: () {
- _changeCurrentTab(2);
- })
- : null);
+ floatingActionButton: (projectViewModel.havePrivilege(34) && currentTab == 0)
+ ? FloatingButton(
+ elevation: true,
+ onTap: () {
+ _changeCurrentTab(2);
+ })
+ : null);
}
triggerRobot() {
@@ -597,22 +558,15 @@ class _LandingPageState extends State with WidgetsBindingObserver {
}
void checkUserStatus(token) async {
- authService
- .selectDeviceImei(token)
- .then((SelectDeviceIMEIRES value) => setUserValues(value));
+ authService.selectDeviceImei(token).then((SelectDeviceIMEIRES value) => setUserValues(value));
if (projectViewModel.isLoading == true) {
- var data =
- AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE));
+ var data = AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE));
if (data != null) {
- authService
- .registeredAuthenticatedUser(data, token, 0, 0)
- .then((res) => {print(res)});
+ authService.registeredAuthenticatedUser(data, token, 0, 0).then((res) => {print(res)});
authService.getDashboard().then((value) => {
setState(() {
if (value != null) {
- notificationCount = value['List_PatientDashboard'][0]
- ['UnreadPatientNotificationCount']
- .toString();
+ notificationCount = value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
}
})
});
diff --git a/lib/pages/landing/widgets/logged_slider_view.dart b/lib/pages/landing/widgets/logged_slider_view.dart
index f1beb765..2024cb8e 100644
--- a/lib/pages/landing/widgets/logged_slider_view.dart
+++ b/lib/pages/landing/widgets/logged_slider_view.dart
@@ -1,16 +1,21 @@
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/carbs/carbs.dart';
+import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/extensions/string_extensions.dart';
import 'package:diplomaticquarterapp/models/slider_data.dart';
class LoggedSliderView extends StatelessWidget {
+ ProjectViewModel projectViewModel;
SliderData sliderData;
- LoggedSliderView(this.sliderData);
+ LoggedSliderView(this.projectViewModel, this.sliderData);
@override
Widget build(BuildContext context) {
+ //'${DateUtil.getMonthDayYearDateFormatted(sliderData.dateofBirthDataTime)} ,${model.user.gender == 1 ? TranslationBase.of(context).male : TranslationBase.of(context).female} ${model.user.age.toString() + "y"}',
return Card(
shape: cardRadius(20),
elevation: 0,
@@ -38,7 +43,9 @@ class LoggedSliderView extends StatelessWidget {
height: double.infinity,
clipBehavior: Clip.antiAlias,
margin: EdgeInsets.zero,
- decoration: containerBottomRightRadiusWithGradient(MediaQuery.of(context).size.width / 4, darkColor: sliderData.darkColor, lightColor: sliderData.lightColor),
+ decoration: projectViewModel.isArabic
+ ? containerBottomRightRadiusWithGradientForAr(MediaQuery.of(context).size.width / 4, darkColor: sliderData.darkColor, lightColor: sliderData.lightColor)
+ : containerBottomRightRadiusWithGradient(MediaQuery.of(context).size.width / 4, darkColor: sliderData.darkColor, lightColor: sliderData.lightColor),
child: Card(
color: Colors.transparent,
margin: EdgeInsets.zero,
@@ -50,21 +57,22 @@ class LoggedSliderView extends StatelessWidget {
Row(
children: [
Container(
- decoration: containerColorRadiusRight(Color(0xFFFBF2E31), 100),
+ decoration: projectViewModel.isArabic ? containerColorRadiusLeft(Color(0xFFFBF2E31), 100) : containerColorRadiusRight(Color(0xFFFBF2E31), 100),
padding: EdgeInsets.only(left: 20, right: 16, top: 6, bottom: 6),
child: Text(
- "Medical File",
+ TranslationBase.of(context).medicalFile,
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 13),
),
),
mWidth(MediaQuery.of(context).size.width / 50),
//circularAviator(MediaQuery.of(context).size.width / 14, brColor: Colors.white),
mFlex(1),
+ projectViewModel.isArabic?circularAviator(MediaQuery.of(context).size.width / 28, brColor: Colors.white, icon: Icons.done, bcColor: Colors.white):Container(),
Text(
- "Verified",
+ TranslationBase.of(context).verified,
style: TextStyle(color: Colors.white, fontSize: 10),
),
- circularAviator(MediaQuery.of(context).size.width / 28, brColor: Colors.white, icon: Icons.done, bcColor: Colors.white),
+ !projectViewModel.isArabic?circularAviator(MediaQuery.of(context).size.width / 28, brColor: Colors.white, icon: Icons.done, bcColor: Colors.white):Container(),
mWidth(MediaQuery.of(context).size.width / 70),
],
),
@@ -102,15 +110,25 @@ class LoggedSliderView extends StatelessWidget {
),
),
),
- Positioned(
- child: Icon(
- Icons.arrow_forward_rounded,
- color: Colors.white,
- size: 20,
- ),
- bottom: 8,
- right: 8,
- ),
+ projectViewModel.isArabic
+ ? Positioned(
+ child: Icon(
+ Icons.arrow_forward,
+ color: Colors.white,
+ size: 20,
+ ),
+ bottom: 8,
+ left: 8,
+ )
+ : Positioned(
+ child: Icon(
+ Icons.arrow_forward_rounded,
+ color: Colors.white,
+ size: 20,
+ ),
+ bottom: 8,
+ right: 8,
+ ),
],
),
),
diff --git a/lib/pages/landing/widgets/pharmacy_view.dart b/lib/pages/landing/widgets/pharmacy_view.dart
index c065c7a1..ad33f529 100644
--- a/lib/pages/landing/widgets/pharmacy_view.dart
+++ b/lib/pages/landing/widgets/pharmacy_view.dart
@@ -1,40 +1,57 @@
+import 'package:diplomaticquarterapp/theme/colors.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
class PharmacyView extends StatelessWidget {
+ Function onPharmacyClick;
+ PharmacyView({this.onPharmacyClick});
@override
Widget build(BuildContext context) {
- return Container(
- width: double.infinity,
- decoration: containerColorRadiusBorderWidth(Colors.grey[200], 16, Colors.grey[300], 2),
- padding: EdgeInsets.only(left: 12, right: 12, top: 12, bottom: 12),
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- SvgPicture.asset("assets/images/new/Pharmacy.svg"),
- mWidth(12),
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- "HMG Pharmacy",
- style: TextStyle(
- fontWeight: FontWeight.bold,
- fontSize: 16,
- ),
+ return InkWell(
+ onTap: (){
+ onPharmacyClick();
+ },
+ child: Container(
+ width: double.infinity,
+ decoration:
+ containerBottomRightRadiusWithGradientBorder(16, darkColor: CustomColors.darkGreyColor.withOpacity(0.5), lightColor: CustomColors.lightGreyColor, borderColor: Color(0xFFcccccc), w: 1),
+ padding: EdgeInsets.only(left: 12, right: 12, top: 12, bottom: 12),
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ SvgPicture.asset("assets/images/new/Pharmacy.svg"),
+ mWidth(12),
+ Expanded(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ Text(
+ TranslationBase.of(context).HMGPharmacy,
+ style: TextStyle(
+ fontWeight: FontWeight.bold,
+ fontSize: 16,
+ ),
+ ),
+ Text(
+ TranslationBase.of(context).ecommerceSolution,
+ style: TextStyle(
+ fontWeight: FontWeight.bold,
+ fontSize: 14,
+ ),
+ ),
+ ],
),
- Text(
- "Ecommerce Solution",
- style: TextStyle(
- fontWeight: FontWeight.bold,
- fontSize: 14,
- ),
- ),
- ],
- )
- ],
+ ),
+ mWidth(12),
+ Opacity(
+ opacity: 0.2,
+ child: SvgPicture.asset("assets/images/new/Pharmacy.svg"),
+ ),
+ ],
+ ),
),
);
}
diff --git a/lib/pages/landing/widgets/services_view.dart b/lib/pages/landing/widgets/services_view.dart
index 2900d0b1..6180ae3a 100644
--- a/lib/pages/landing/widgets/services_view.dart
+++ b/lib/pages/landing/widgets/services_view.dart
@@ -1,8 +1,15 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/models/hmg_services.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_page.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart';
+import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart';
+import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart';
+import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
+import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -14,86 +21,95 @@ class ServicesView extends StatelessWidget {
@override
Widget build(BuildContext context) {
- return Container(
- width: double.infinity,
- height: double.infinity,
- decoration: containerRadiusWithGradientServices(20, lightColor: CustomColors.lightGreyColor, darkColor: CustomColors.darkGreyColor),
- child: Stack(
- children: [
- Container(
- width: double.infinity,
- height: double.infinity,
- child: Row(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- mFlex(1),
- Flexible(
- flex: 8,
- child: Column(
- children: [
- Flexible(
- flex: 5,
- child: Padding(
- padding: const EdgeInsets.all(12.0),
- child: Opacity(
- opacity: 0.07,
- child: SvgPicture.asset(
- hmgServices.icon,
- width: double.infinity,
- height: double.infinity,
+ return InkWell(
+ onTap: () {
+ if (index == 0) {
+ Navigator.push(context, FadePage(page: LiveCareHome()));
+ } else if (index == 1) {
+ Navigator.push(context, FadePage(page: CovidDrivethruLocation()));
+ } else if (index == 2) {
+ Navigator.push(context, FadePage(page: CMCPage()));
+ } else if (index == 3) {
+ Navigator.push(context, FadePage(page: HomeHealthCarePage()));
+ } else if (index == 4) {
+ Navigator.push(context, FadePage(page: EReferralPage()));
+ } else if (index == 5) {
+ Navigator.push(context, FadePage(page: ErOptions(isAppbar: true)));
+ }
+ },
+ child: Container(
+ width: double.infinity,
+ height: double.infinity,
+ decoration: containerRadiusWithGradientServices(20, lightColor: CustomColors.lightGreyColor, darkColor: CustomColors.darkGreyColor),
+ child: Stack(
+ children: [
+ Container(
+ width: double.infinity,
+ height: double.infinity,
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ mFlex(1),
+ Flexible(
+ flex: 8,
+ child: Column(
+ children: [
+ Flexible(
+ flex: 5,
+ child: Padding(
+ padding: const EdgeInsets.all(12.0),
+ child: Opacity(
+ opacity: 0.07,
+ child: SvgPicture.asset(
+ hmgServices.icon,
+ width: double.infinity,
+ height: double.infinity,
+ ),
),
),
),
- ),
- mFlex(1),
- ],
+ mFlex(1),
+ ],
+ ),
),
- ),
- ],
+ ],
+ ),
),
- ),
- Container(
- width: double.infinity,
- height: double.infinity,
- padding: EdgeInsets.all(MediaQuery.of(context).size.width / 30),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- mFlex(1),
- SvgPicture.asset(
- hmgServices.icon,
- height: index == 0 ? MediaQuery.of(context).size.width / 18 : MediaQuery.of(context).size.width / 14,
- ),
- mFlex(2),
- Text(
- hmgServices.title,
- style: TextStyle(
- fontSize: SizeConfig.textMultiplier * 1.9,
- fontWeight: FontWeight.bold,
+ Container(
+ width: double.infinity,
+ height: double.infinity,
+ padding: EdgeInsets.only(left: SizeConfig.widthMultiplier * 3, right: SizeConfig.widthMultiplier * 3, top: SizeConfig.widthMultiplier * 3, bottom: SizeConfig.widthMultiplier * 2),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ mFlex(1),
+ SvgPicture.asset(
+ hmgServices.icon,
+ height: index == 0 ? MediaQuery.of(context).size.width / 18 : MediaQuery.of(context).size.width / 14,
),
- ),
- Container(
- width: double.infinity,
- child: Row(
- children: [
- Expanded(
- child: AutoSizeText(
- hmgServices.subTitle,
- maxLines: 1,
- style: TextStyle(
- fontSize: SizeConfig.textMultiplier * 1.2,
- ),
- ),
- ),
- ],
+ mFlex(4),
+ AutoSizeText(
+ hmgServices.title,
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: SizeConfig.textMultiplier * 1.9,
+ fontWeight: FontWeight.bold,
+ ),
+ ),
+ AutoSizeText(
+ hmgServices.subTitle,
+ maxLines: 1,
+ style: TextStyle(
+ fontSize: SizeConfig.textMultiplier * 0.9,
+ ),
),
- ),
- mFlex(1),
- ],
+ mFlex(1),
+ ],
+ ),
),
- ),
- ],
+ ],
+ ),
),
);
}
diff --git a/lib/pages/landing/widgets/slider_view.dart b/lib/pages/landing/widgets/slider_view.dart
index e999ea25..ab02ecf3 100644
--- a/lib/pages/landing/widgets/slider_view.dart
+++ b/lib/pages/landing/widgets/slider_view.dart
@@ -1,10 +1,21 @@
+import 'package:auto_size_text/auto_size_text.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart';
import 'dart:math';
+import 'package:provider/provider.dart';
+
class SliderView extends StatelessWidget {
+ Function onLoginClick;
+
+ SliderView({this.onLoginClick});
+
+ ProjectViewModel projectViewModel;
@override
Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
return Card(
shape: cardRadius(20),
elevation: 0,
@@ -21,7 +32,7 @@ class SliderView extends StatelessWidget {
height: double.infinity,
clipBehavior: Clip.antiAlias,
margin: EdgeInsets.zero,
- decoration: containerBottomRightRadiusWithGradient(MediaQuery.of(context).size.width / 4),
+ decoration:projectViewModel.isArabic?containerBottomRightRadiusWithGradientForAr(MediaQuery.of(context).size.width / 4): containerBottomRightRadiusWithGradient(MediaQuery.of(context).size.width / 4),
child: Card(
color: Colors.transparent,
margin: EdgeInsets.zero,
@@ -30,21 +41,21 @@ class SliderView extends StatelessWidget {
children: [
mFlex(3),
Container(
- decoration: containerColorRadiusRight(Color(0xFFFBF2E31), 100),
- padding: EdgeInsets.only(left: 20, right: 16, top: 6, bottom: 6),
+ decoration: projectViewModel.isArabic ? containerColorRadiusLeft(Color(0xFFFBF2E31), 100) : containerColorRadiusRight(Color(0xFFFBF2E31), 100),
+ padding: EdgeInsets.only(left: projectViewModel.isArabic ?16:20, right: projectViewModel.isArabic ?20:16, top: 6, bottom: 6),
child: Text(
- "Medical File",
+ TranslationBase.of(context).medicalFile,
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 13),
),
),
mFlex(2),
Padding(
- padding: const EdgeInsets.only(left: 20),
+ padding: const EdgeInsets.only(left: 20,right: 20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
- "Can’t see your medical File?",
+ TranslationBase.of(context).cantSeeProfile,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
@@ -52,7 +63,7 @@ class SliderView extends StatelessWidget {
),
),
Text(
- "Login or Register Now",
+ TranslationBase.of(context).loginRegisterNow,
style: TextStyle(color: Colors.white, fontSize: 14),
),
],
@@ -60,19 +71,25 @@ class SliderView extends StatelessWidget {
),
mFlex(2),
Padding(
- padding: const EdgeInsets.only(left: 20),
+ padding: const EdgeInsets.only(left: 20,right: 20),
child: Container(
height: MediaQuery.of(context).size.width / 14,
- width: MediaQuery.of(context).size.width / 6,
+ width: MediaQuery.of(context).size.width /(projectViewModel.isArabic?4: 6),
child: RaisedButton(
shape: cardRadius(8),
color: Color(0xFFFBF2E31),
padding: EdgeInsets.zero,
- onPressed: () {},
- child: Text(
- "Login",
- style: TextStyle(
- color: Colors.white,
+ onPressed: () {
+ onLoginClick();
+ },
+ child: Center(
+ child: AutoSizeText(
+ TranslationBase.of(context).login,
+ maxLines: 1,
+ style: TextStyle(
+ color: Colors.white,
+ fontSize: 14
+ ),
),
),
),
diff --git a/lib/pages/medical/medical_profile_page.dart b/lib/pages/medical/medical_profile_page.dart
index 8d49a89b..6d691805 100644
--- a/lib/pages/medical/medical_profile_page.dart
+++ b/lib/pages/medical/medical_profile_page.dart
@@ -1,6 +1,7 @@
import 'dart:math';
import 'package:badges/badges.dart';
+import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/medical_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
@@ -61,11 +62,7 @@ class _MedicalProfilePageState extends State {
Widget build(BuildContext context) {
projectViewModel = Provider.of(context);
var appoCountProvider = Provider.of(context);
- List myMedicalList = Utils.myMedicalList(
- projectViewModel: projectViewModel,
- context: context,
- count: appoCountProvider.count,
- isLogin: projectViewModel.isLogin);
+ List myMedicalList = Utils.myMedicalList(projectViewModel: projectViewModel, context: context, count: appoCountProvider.count, isLogin: projectViewModel.isLogin);
return BaseView(
onModelReady: (model) => model.getAppointmentHistory(),
builder: (_, model, widget) => AppScaffold(
@@ -79,6 +76,7 @@ class _MedicalProfilePageState extends State {
Stack(
children: [
Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: double.infinity,
@@ -93,14 +91,11 @@ class _MedicalProfilePageState extends State {
),
if (model.isLogin)
ListView.builder(
- itemBuilder: (context, index) =>
- TimeLineWidget(
+ itemBuilder: (context, index) => TimeLineWidget(
isUp: index % 2 == 1,
- appoitmentAllHistoryResul: model
- .appoitmentAllHistoryResultList[index],
+ appoitmentAllHistoryResul: model.appoitmentAllHistoryResultList[index],
),
- itemCount: model
- .appoitmentAllHistoryResultList.length,
+ itemCount: model.appoitmentAllHistoryResultList.length,
scrollDirection: Axis.horizontal,
reverse: projectViewModel.isArabic,
),
@@ -108,28 +103,54 @@ class _MedicalProfilePageState extends State {
),
),
SizedBox(
- height: 50,
+ height: 20,
),
Padding(
- padding: EdgeInsets.symmetric(vertical: 5.0),
+ padding: EdgeInsets.only(left: 12, right: 12),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ projectViewModel.isLogin
+ ? Text(
+ projectViewModel?.user?.firstNameN ?? "",
+ style: TextStyle(color: Colors.black, fontSize: SizeConfig.textMultiplier * 1.8),
+ )
+ : Container(),
+ Text(
+ TranslationBase.of(context).medicalFile,
+ style: TextStyle(color: Colors.black, fontSize: SizeConfig.textMultiplier * 3),
+ ),
+ ],
+ ),
+ ),
+ SizedBox(
+ height: 20,
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 12, right: 12),
child: GridView.builder(
shrinkWrap: true,
primary: false,
physics: NeverScrollableScrollPhysics(),
- gridDelegate:
- SliverGridDelegateWithFixedCrossAxisCount(
- crossAxisCount: 3,
- childAspectRatio: MediaQuery.of(context)
- .size
- .width /
- (MediaQuery.of(context).size.height / 2.20),
- ),
+ // gridDelegate:
+ // SliverGridDelegateWithFixedCrossAxisCount(
+ // crossAxisCount: 3,
+ // childAspectRatio: MediaQuery.of(context)
+ // .size
+ // .width /
+ // (MediaQuery.of(context).size.height / 2.20),
+ // ),
+ gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 2 / 2, crossAxisSpacing: 12, mainAxisSpacing: 12),
+ padding: EdgeInsets.zero,
itemCount: myMedicalList.length,
itemBuilder: (BuildContext context, int index) {
return myMedicalList[index];
},
),
- )
+ ),
+ SizedBox(
+ height: 12,
+ ),
],
),
SizedBox(
@@ -146,14 +167,9 @@ class _MedicalProfilePageState extends State {
decoration: BoxDecoration(
color: Colors.grey[500],
shape: BoxShape.rectangle,
- border: Border.all(
- color: Colors.transparent, width: 0.5),
- borderRadius:
- BorderRadius.all(Radius.circular(9)),
- image: DecorationImage(
- image: ExactAssetImage(
- 'assets/images/bg_graphic.png'),
- fit: BoxFit.cover)),
+ border: Border.all(color: Colors.transparent, width: 0.5),
+ borderRadius: BorderRadius.all(Radius.circular(9)),
+ image: DecorationImage(image: ExactAssetImage('assets/images/bg_graphic.png'), fit: BoxFit.cover)),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceAround,
@@ -162,9 +178,7 @@ class _MedicalProfilePageState extends State {
height: 8,
),
Texts(
- model.user.firstName +
- " " +
- model.user.lastName,
+ model.user.firstName + " " + model.user.lastName,
color: Colors.white,
bold: true,
),
diff --git a/lib/pages/medical/medical_profile_page_new.dart b/lib/pages/medical/medical_profile_page_new.dart
new file mode 100644
index 00000000..285dd704
--- /dev/null
+++ b/lib/pages/medical/medical_profile_page_new.dart
@@ -0,0 +1,164 @@
+import 'dart:math';
+
+import 'package:badges/badges.dart';
+import 'package:diplomaticquarterapp/config/size_config.dart';
+import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
+import 'package:diplomaticquarterapp/core/viewModels/medical/medical_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
+import 'package:diplomaticquarterapp/pages/MyAppointments/MyAppointments.dart';
+import 'package:diplomaticquarterapp/pages/base/base_view.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_card_screen.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
+import 'package:diplomaticquarterapp/pages/medical/patient_sick_leave_page.dart';
+import 'package:diplomaticquarterapp/pages/medical/reports/monthly_reports.dart';
+import 'package:diplomaticquarterapp/pages/medical/smart_watch_health_data/smart_watch_instructions.dart';
+import 'package:diplomaticquarterapp/pages/vaccine/my_vaccines_screen.dart';
+import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_home_page.dart';
+import 'package:diplomaticquarterapp/pages/medical/radiology/radiology_home_page.dart';
+import 'package:diplomaticquarterapp/pages/medical/vital_sign/vital_sign_details_screen.dart';
+import 'package:diplomaticquarterapp/pages/medical/reports/report_home_page.dart';
+import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
+import 'package:diplomaticquarterapp/uitl/utils.dart';
+import 'package:diplomaticquarterapp/uitl/utils_new.dart';
+import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart';
+import 'package:diplomaticquarterapp/widgets/data_display/medical/time_line_new_widget.dart';
+import 'package:diplomaticquarterapp/widgets/data_display/medical/time_line_widget.dart';
+import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
+import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
+import 'package:diplomaticquarterapp/widgets/others/sliver_app_bar_delegate.dart';
+import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_card_screen.dart';
+import 'package:provider/provider.dart';
+import '../../locator.dart';
+import '../../uitl/gif_loader_dialog_utils.dart';
+import 'active_medications/ActiveMedicationsPage.dart';
+import 'allergies_page.dart';
+import 'ask_doctor/ask_doctor_home_page.dart';
+import 'balance/my_balance_page.dart';
+import 'doctor/doctor_home_page.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
+import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
+import 'eye/EyeHomePage.dart';
+import 'eye/EyeMeasurementsPage.dart';
+import 'labs/labs_home_page.dart';
+import 'my_trackers/my_trackers.dart';
+
+class MedicalProfilePageNew extends StatefulWidget {
+ @override
+ _MedicalProfilePageState createState() => _MedicalProfilePageState();
+}
+
+class _MedicalProfilePageState extends State {
+ var authProvider = new AuthProvider();
+ List medical = List();
+ ProjectViewModel projectViewModel;
+
+ @override
+ Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
+ var appoCountProvider = Provider.of(context);
+ List myMedicalList = Utils.myMedicalList(projectViewModel: projectViewModel, context: context, count: appoCountProvider.count, isLogin: projectViewModel.isLogin);
+ return BaseView(
+ onModelReady: (model) => model.getAppointmentHistory(),
+ builder: (_, model, widget) => AppScaffold(
+ isShowDecPage: false,
+ baseViewModel: model,
+ isHelp: true,
+ body: Container(
+ child: SingleChildScrollView(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ width: double.infinity,
+ height: 210,
+ decoration: containerBottomRightRadiusWithGradientBorder(0, darkColor: Color(0xFFF2B353E), lightColor: Color(0xFFF2B353E)),
+ child: Stack(
+ children: [
+ if (model.isLogin)
+ ListView.builder(
+ itemBuilder: (context, index) => TimeLineWidget(
+ isUp: index % 2 == 1,
+ appoitmentAllHistoryResul: model.appoitmentAllHistoryResultList[index],
+ ),
+ itemCount: model.appoitmentAllHistoryResultList.length,
+ scrollDirection: Axis.horizontal,
+ reverse: projectViewModel.isArabic,
+ ),
+ ],
+ ),
+ ),
+ TimeLineView(model.isLogin, projectViewModel.isArabic, model.appoitmentAllHistoryResultList),
+ SizedBox(
+ height: 20,
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 12, right: 12),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ projectViewModel.isLogin
+ ? Text(
+ projectViewModel?.user?.firstName ?? "",
+ style: TextStyle(color: Colors.black, fontSize: SizeConfig.textMultiplier * 1.8),
+ )
+ : Container(),
+ Text(
+ TranslationBase.of(context).medicalFile,
+ style: TextStyle(color: Colors.black, fontSize: SizeConfig.textMultiplier * 3),
+ ),
+ ],
+ ),
+ ),
+ SizedBox(
+ height: 20,
+ ),
+ Padding(
+ padding: EdgeInsets.only(left: 12, right: 12),
+ child: GridView.builder(
+ shrinkWrap: true,
+ primary: false,
+ physics: NeverScrollableScrollPhysics(),
+ // gridDelegate:
+ // SliverGridDelegateWithFixedCrossAxisCount(
+ // crossAxisCount: 3,
+ // childAspectRatio: MediaQuery.of(context)
+ // .size
+ // .width /
+ // (MediaQuery.of(context).size.height / 2.20),
+ // ),
+ gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 2 / 2, crossAxisSpacing: 12, mainAxisSpacing: 12),
+ padding: EdgeInsets.zero,
+ itemCount: myMedicalList.length,
+ itemBuilder: (BuildContext context, int index) {
+ return myMedicalList[index];
+ },
+ ),
+ ),
+ SizedBox(
+ height: 12,
+ ),
+ ],
+ ),
+ ),
+ ),
+ ),
+ );
+ }
+}
+
+class Medical {
+ final String title;
+ final String imagePath;
+ final String subTitle;
+ final Widget page;
+
+ Medical({this.title, this.imagePath, this.subTitle, this.page});
+}
diff --git a/lib/services/appointment_services/GetDoctorsList.dart b/lib/services/appointment_services/GetDoctorsList.dart
index 65fe2b04..a7d9f826 100644
--- a/lib/services/appointment_services/GetDoctorsList.dart
+++ b/lib/services/appointment_services/GetDoctorsList.dart
@@ -568,6 +568,8 @@ class DoctorsListService extends BaseService {
return Future.value(localRes);
}
+
+
Future