add ar lan for medical profile

find_us
Mohammad Aljammal 5 years ago
parent ef4a57223c
commit 1b3a780a29

@ -356,7 +356,6 @@
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -433,7 +432,6 @@
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@ -489,7 +487,6 @@
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;

@ -343,7 +343,10 @@ const Map<String, Map<String, String>> localizedValues = {
"en": "Online Payment Service",
'ar': 'خدمة الدفع عبر الإلكتدوني'
},
"OffersAndPackages": {"en": "Online transfer request", 'ar': 'طلب التحويل الالكتروني'},
"OffersAndPackages": {
"en": "Online transfer request",
'ar': 'طلب التحويل الالكتروني'
},
"ComprehensiveMedicalCheckup": {
"en": "Comprehensive Medical Check up",
'ar': 'فحص طبي شامل'
@ -362,20 +365,87 @@ const Map<String, Map<String, String>> localizedValues = {
"medicalProfile": {"en": "Medical Profile", 'ar': 'الملف الطبي'},
"consultation": {"en": "Consultation", "ar": "استشارة"},
"logs": {"en": "Logs", "ar": "السجلات"},
"parking":{"en":"Parking","ar":"مواقف"},
"alhabiServices":{"en":"HMG Service","ar":"خدمات الحبيب"},
"parkingTitle":{"en":"Car service, car service, service to save parking information, return to it later, 1- By clicking on (Read the code), save the parking data. 2- By clicking on the button (view my car park), it shows you the cars location in Google Maps. 3- Read another position by pressing the Clear Position Data button.","ar":" خدمة المواقف، تتيح هذه الخدمة للمستخدم معلومات عن موقف السيارة ليسهل عليه العودة لها لاحقاً ، 1- بالضغط على زر(قراءة الكود) تستطيع حفظ البيانات الخاصة بالموقف. 2-بالضغط على زر(عرض موقف سيارتي) يعرض لك موقع السيارة في خرائط قوقل. 3- لإعادة قراءة موقف آخرعن طريق الضغط على زر(مسح بيانات الموقف). "},
"readBarcode":{"en":"Read Barcode","ar":"قراءة الكود"},
"showMyPark":{"en":"Show My Park","ar":"عرض بارك"},
"clearMyData":{"en":"clear My Data","ar":"امسح البيانات"},
"floor":{"en":"Floor:","ar":"الطابق"},
"gate":{"en":"Gate:","ar":"بوابة"},
"building":{"en":"Building:","ar":"المبنى"},
"branch":{"en":"Branch:","ar":"الفرع"},
"emergencyServices":{"en":"Emergency Services:","ar":"خدمات الطوارئ"},
"parking": {"en": "Parking", "ar": "مواقف"},
"alhabiServices": {"en": "HMG Service", "ar": "خدمات الحبيب"},
"parkingTitle": {
"en":
"Car service, car service, service to save parking information, return to it later, 1- By clicking on (Read the code), save the parking data. 2- By clicking on the button (view my car park), it shows you the cars location in Google Maps. 3- Read another position by pressing the Clear Position Data button.",
"ar":
" خدمة المواقف، تتيح هذه الخدمة للمستخدم معلومات عن موقف السيارة ليسهل عليه العودة لها لاحقاً ، 1- بالضغط على زر(قراءة الكود) تستطيع حفظ البيانات الخاصة بالموقف. 2-بالضغط على زر(عرض موقف سيارتي) يعرض لك موقع السيارة في خرائط قوقل. 3- لإعادة قراءة موقف آخرعن طريق الضغط على زر(مسح بيانات الموقف). "
},
"readBarcode": {"en": "Read Barcode", "ar": "قراءة الكود"},
"showMyPark": {"en": "Show My Park", "ar": "عرض بارك"},
"clearMyData": {"en": "clear My Data", "ar": "امسح البيانات"},
"floor": {"en": "Floor:", "ar": "الطابق"},
"gate": {"en": "Gate:", "ar": "بوابة"},
"building": {"en": "Building:", "ar": "المبنى"},
"branch": {"en": "Branch:", "ar": "الفرع"},
"emergencyServices": {"en": "Emergency Services:", "ar": "خدمات الطوارئ"},
"textToSpeech": {"en": "How May I Help You?", "ar": "كيف يمكنني مساعدتك؟"},
"MyAppointments": {"en": "My Appointments", "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": "List", "ar": "قائمة بمواعدي"},
"Radiology": {"en": "Radiology", "ar": "الأشعة"},
"RadiologySubtitle": {"en": "Result", "ar": "صور وتقارير"},
"Lab": {"en": "Lab", "ar": "تحليل المختبر"},
"LabSubtitle": {"en": "Result", "ar": "نتائج"},
"Medicines": {"en": "Medicines", "ar": "الوصفات"},
"MedicinesSubtitle": {"en": "Prescriptions", "ar": "الوصفات الطبية"},
"VitalSigns": {"en": "Vital Signs", "ar": "المؤشرات الحيوية"},
"VitalSignsSubTitle": {"en": "Reports", "ar": "قراءات"},
"MyMedical": {"en": "Active", "ar": "قراءات"},
"MyMedicalSubtitle": {"en": "Medications", "ar": "النشطة"},
"MyDoctor": {"en": "My Doctor", "ar": "اطبائي"},
"MyDoctorSubtitle": {"en": "List", "ar": "قمت بزيارتهم"},
"Eye": {"en": "Eye", "ar": "قياسات"},
"EyeSubtitle": {"en": "Measurement", "ar": "النظر"},
"Insurance": {"en": "Insurance", "ar": "بطاقة"},
"InsuranceSubtitle": {"en": "Card", "ar": "التأمين"},
"UpdateInsurance": {"en": "Update Insurance", "ar": "تحديث التأمين"},
"UpdateInsuranceSubtitle": {"en": "Card", "ar": "التأمين"},
"InsuranceApproval": {"en": "Insurance Approval", "ar": "موافقات"},
"InsuranceApprovalSubtitle": {"en": "Approvals", "ar": "موافقات التأمين"},
"Allergies": {"en": "Approvals", "ar": "الحساسية"},
"AllergiesSubtitle": {"en": "Diagnosed", "ar": "مسجلة"},
"MyVaccines": {"en": "My Vaccines", "ar": "تطعيماتي"},
"MyVaccinesSubtitle": {"en": "List", "ar": "قائمة"},
"Medical": {"en": "Medical", "ar": "التقارير"},
"MedicalSubtitle": {"Report": "List", "ar": "الطبية"},
"Monthly": {"en": "Monthly", "ar": "تقارير"},
"MonthlySubtitle": {"en": "Report", "ar": "الشهرية"},
"Sick": {"en": "Sick", "ar": "الإجازات"},
"SickSubtitle": {"en": "Leaves", "ar": "المرضية"},
"MyBalance": {"en": "My Balance", "ar": "ارصدتي"},
"MyBalanceSubtitle": {"en": "Credit", "ar": "المبالغ"},
"PatientCall": {"en": "Patient Call", "ar": "النداء للموعد"},
"PatientCallSubtitle": {"en": "Service", "ar": "خدمة"},
"SmartWatches": {"en": "Smart Watches", "ar": "الساعة الذكية"},
"SmartWatchesSubtitle": {"en": "Pairing", "ar": "ربط البيانات"},
"MyTrackers": {"en": "My Trackers", "ar": "تتبع قراءاتي"},
"MyTrackersSubtitle": {"en": "Service", "ar": "الطبية"},
"AskYour": {"en": "Ask Your", "ar": "إرسل طبيبك"},
"AskYourSubtitle": {"en": "Doctor", "ar": "خدمة"},
"Internet": {"en": "Internet", "ar": "الاتصال"},
"InternetSubtitle": {"en": "Pairing", "ar": "بالإنترنت"},
"Chatbot": {"en": "Chatbot", "ar": "تاشت بوت"},
"ChatbotSubtitle": {"en": "", "ar": ""},
"TimeLine": {"en": "Time Line", "ar": "الجدول الزمني"},
"LabOrders": {"en": "Lab Orders", "ar": "تحاليل المختبر"},
"BillNo": {"en": "Bill No :", "ar": "رقم الفاتورة"},
"Prescriptions": {"en": "Prescriptions", "ar": "الوصفات الطبية"},
"History": {"en": "History", "ar": "السجل"},
"OrderNo": {"en": "Order No", "ar": "رقم الطلب"},
"OrderDetails": {"en": "Order Details", "ar": "تفاصيل الطلب"},
"VitalSign": {"en": "Vital Sign", "ar": "العلامة حيوية"},
};

@ -31,7 +31,7 @@ class BaseAppClient {
//Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
String token = await sharedPref.getString(TOKEN);
var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'en');
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
var user = await sharedPref.getObject(USER_PROFILE);
body['SetupID'] = body.containsKey('SetupID')
? body['SetupID'] != null ? body['SetupID'] : SETUP_ID

@ -9,7 +9,7 @@ import 'package:flutter/cupertino.dart';
class ProjectViewModel extends BaseViewModel {
AppSharedPreferences sharedPref = AppSharedPreferences();
Locale _appLocale;
String currentLanguage = 'en';
String currentLanguage = 'ar';
bool _isArabic = false;
bool isInternetConnection = true;
bool isLoading = false;
@ -45,7 +45,7 @@ class ProjectViewModel extends BaseViewModel {
void loadSharedPrefLanguage() async {
currentLanguage = await sharedPref.getString(APP_LANGUAGE);
_appLocale = Locale(currentLanguage ?? 'en');
_appLocale = Locale(currentLanguage ?? 'ar');
_isArabic = currentLanguage != null
? currentLanguage == 'ar' ? true : false
: true;

@ -368,13 +368,13 @@ class _HomePageState extends State<HomePage> {
textAlign: TextAlign.center,
color: Colors.white,
bold: true,
fontSize: SizeConfig.textMultiplier * 2.0,
fontSize: SizeConfig.textMultiplier * 1.7,
)
],
),
),
),
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
imageName: 'home_healthcare_service_bg.png',
opacity: 0.5,
),
@ -403,7 +403,7 @@ class _HomePageState extends State<HomePage> {
),
),
),
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
imageName: 'al-habib_onlne_pharmacy_bg.png',
),
DashboardItem(
@ -431,7 +431,7 @@ class _HomePageState extends State<HomePage> {
),
),
),
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
color: Hexcolor("#747C80"),
imageName: 'emergency_service_image.png',
),
@ -472,7 +472,7 @@ class _HomePageState extends State<HomePage> {
),
),
),
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.0),
color: Colors.white,
@ -505,7 +505,7 @@ class _HomePageState extends State<HomePage> {
),
),
width: MediaQuery.of(context).size.width * 0.29,
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.0),
color: Colors.white,
@ -536,7 +536,7 @@ class _HomePageState extends State<HomePage> {
),
),
),
height: MediaQuery.of(context).size.width*0.4,
height: MediaQuery.of(context).size.width * 0.4,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.0),
color: Colors.white,

@ -253,7 +253,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
case 0:
return TranslationBase.of(context).home;
case 1:
return 'Medical Profile';
return TranslationBase.of(context).medicalProfile;
case 2:
return TranslationBase.of(context).mySchedule;
case 3:

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -36,7 +37,7 @@ class DoctorHomePage extends StatelessWidget {
child: InkWell(
onTap: () => model.setFilterType(FilterType.Clinic),
child: ListTile(
title: const Text('Clinic'),
title: Text(TranslationBase.of(context).clinic),
leading: Radio(
value: FilterType.Clinic,
groupValue: model.filterType,
@ -53,7 +54,7 @@ class DoctorHomePage extends StatelessWidget {
child: InkWell(
onTap: () => model.setFilterType(FilterType.Hospital),
child: ListTile(
title: const Text('Hospital'),
title: Text(TranslationBase.of(context).hospital),
leading: Radio(
value: FilterType.Hospital,
groupValue: model.filterType,
@ -78,21 +79,23 @@ class DoctorHomePage extends StatelessWidget {
.patientDoctorAppointmentList
.map((doctor) {
DoctorList doctorList = DoctorList(
projectID: doctor.projectID,
setupID: doctor.setupID,
clinicID: doctor.clinicID,
projectName: doctor.projectName,
clinicName: doctor.clinicName,
actualDoctorRate: doctor.actualDoctorRate,
doctorID: doctor.doctorID,
doctorRate: doctor.doctorRate,
gender: doctor.gender,
doctorTitle: doctor.doctorTitle,
name: doctor.doctorName,
doctorImageURL: doctor.doctorImageURL,
nationalityFlagURL:doctor.nationalityFlagURL
projectID: doctor.projectID,
setupID: doctor.setupID,
clinicID: doctor.clinicID,
projectName: doctor.projectName,
clinicName: doctor.clinicName,
actualDoctorRate: doctor.actualDoctorRate,
doctorID: doctor.doctorID,
doctorRate: doctor.doctorRate,
gender: doctor.gender,
doctorTitle: doctor.doctorTitle,
name: doctor.doctorName,
doctorImageURL: doctor.doctorImageURL,
nationalityFlagURL: doctor.nationalityFlagURL);
return DoctorView(
doctor: doctorList,
);
return DoctorView(doctor: doctorList,);/* InkWell(
/* InkWell(
onTap: () async {
model
.getDoctorProfileAndRating(
@ -119,7 +122,8 @@ class DoctorHomePage extends StatelessWidget {
subName: DateUtil.getMonthDayYearDateFormatted(
doctor.appointmentDate),
),
)*/;
)*/
;
}).toList(),
)),
)

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/labs_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -19,7 +20,7 @@ class LabsHomePage extends StatelessWidget {
builder: (context, LabsViewModel model, widget) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
appBarTitle: 'Lab Orders',
appBarTitle: TranslationBase.of(context).labOrders,
body: SingleChildScrollView(
physics: BouncingScrollPhysics(),
child: FractionallySizedBox(
@ -34,7 +35,7 @@ class LabsHomePage extends StatelessWidget {
child: InkWell(
onTap: () => model.setFilterType(FilterType.Clinic),
child: ListTile(
title: const Text('Clinic'),
title: Text(TranslationBase.of(context).clinic),
leading: Radio(
value: FilterType.Clinic,
groupValue: model.filterType,
@ -51,7 +52,7 @@ class LabsHomePage extends StatelessWidget {
child: InkWell(
onTap: () => model.setFilterType(FilterType.Hospital),
child: ListTile(
title: const Text('Hospital'),
title: Text(TranslationBase.of(context).hospital),
leading: Radio(
value: FilterType.Hospital,
groupValue: model.filterType,
@ -85,7 +86,7 @@ class LabsHomePage extends StatelessWidget {
),
name: labOrder.doctorName,
profileUrl: labOrder.doctorImageURL,
subName: 'Bill No : ${labOrder.invoiceNo}',
subName: TranslationBase.of(context).billNo+' ${labOrder.invoiceNo}',
date: DateUtil.getMonthDayYearDateFormatted(
labOrder.orderDate),
);

@ -2,12 +2,14 @@ import 'dart:math';
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/pages/MyAppointments/MyAppointments.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.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/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/time_line_widget.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
@ -17,6 +19,7 @@ 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 'doctor/doctor_home_page.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart';
@ -31,6 +34,7 @@ class MedicalProfilePage extends StatefulWidget {
class _MedicalProfilePageState extends State<MedicalProfilePage> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<MedicalViewModel>(
onModelReady: (model) => model.getAppointmentHistory(),
builder: (_, model, widget) => AppScaffold(
@ -48,11 +52,9 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
height: 210,
decoration: BoxDecoration(
image: DecorationImage(
image: ExactAssetImage(
'assets/images/timeline_bg.png'),
fit: BoxFit.cover
),
image: ExactAssetImage(
'assets/images/timeline_bg.png'),
fit: BoxFit.cover),
),
child: Stack(
children: <Widget>[
@ -76,7 +78,7 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
),
),
Padding(
padding: EdgeInsets.symmetric(vertical: 12.0),
padding: EdgeInsets.symmetric(vertical: 5.0),
child: Column(
children: <Widget>[
Container(
@ -89,13 +91,19 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
flex: 1,
child: InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: MyAppointments()));
Navigator.push(
context,
FadePage(
page: MyAppointments(),
),
);
},
child: MedicalProfileItem(
title: 'My Appointments',
title: TranslationBase.of(context)
.myAppointments,
imagePath: 'my_appointment_icon.png',
subTitle: 'List',
subTitle: TranslationBase.of(context)
.myAppointmentsList,
),
),
),
@ -103,11 +111,12 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: RadiologyHomePage())),
FadePage(page: LabsHomePage())),
child: MedicalProfileItem(
title: 'Radiology',
imagePath: 'radiology_icon.png',
subTitle: 'Service',
title: TranslationBase.of(context).lab,
imagePath: 'lab_result_icon.png',
subTitle:
TranslationBase.of(context).lab,
),
),
),
@ -115,11 +124,13 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
flex: 1,
child: InkWell(
onTap: () => Navigator.push(context,
FadePage(page: LabsHomePage())),
FadePage(page: RadiologyHomePage())),
child: MedicalProfileItem(
title: 'Lab',
imagePath: 'lab_result_icon.png',
subTitle: 'Result',
title: TranslationBase.of(context)
.radiology,
imagePath: 'radiology_icon.png',
subTitle: TranslationBase.of(context)
.radiologySubtitle,
),
),
),
@ -132,14 +143,18 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
child: InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: HomePrescriptionsPage()));
context,
FadePage(
page: HomePrescriptionsPage(),
),
);
},
child: MedicalProfileItem(
title: 'Medicines',
title: TranslationBase.of(context)
.medicines,
imagePath: 'prescription_icon.png',
subTitle: 'Prescriptions',
subTitle: TranslationBase.of(context)
.medicinesSubtitle,
),
),
),
@ -147,13 +162,17 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
flex: 1,
child: InkWell(
onTap: () => Navigator.push(
context,
FadePage(
page: VitalSignDetailsScreen())),
context,
FadePage(
page: VitalSignDetailsScreen(),
),
),
child: MedicalProfileItem(
title: 'Vital Signs',
title: TranslationBase.of(context)
.vitalSigns,
imagePath: 'medical_history_icon.png',
subTitle: 'Reports',
subTitle: TranslationBase.of(context)
.vitalSignsSubtitle,
),
),
),
@ -163,9 +182,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// onTap: () => Navigator.push(
// context, FadePage(page: RadiologyHomePage())),
child: MedicalProfileItem(
title: 'My Medicines ',
title: TranslationBase.of(context)
.myMedical,
imagePath: 'radiology_icon.png',
subTitle: 'Service',
subTitle: TranslationBase.of(context)
.myMedicalSubtitle,
),
),
),
@ -177,13 +198,19 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
flex: 1,
child: InkWell(
onTap: () {
Navigator.push(context,
FadePage(page: DoctorHomePage()));
Navigator.push(
context,
FadePage(
page: DoctorHomePage(),
),
);
},
child: MedicalProfileItem(
title: 'My Doctor',
title: TranslationBase.of(context)
.myDoctor,
imagePath: 'doctor_icon.png',
subTitle: 'List',
subTitle: TranslationBase.of(context)
.myDoctorSubtitle,
),
),
),
@ -196,10 +223,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// FadePage(page: InsuranceApproval()));
// },
child: MedicalProfileItem(
title: 'Eye',
title: TranslationBase.of(context).eye,
imagePath:
'insurance_approvals_icon.png',
subTitle: 'Measurement',
subTitle: TranslationBase.of(context)
.eyeSubtitle,
),
),
),
@ -211,9 +239,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
FadePage(page: InsuranceCard()));
},
child: MedicalProfileItem(
title: 'Insurance',
title: TranslationBase.of(context)
.insurance,
imagePath: 'insurance_card_icon.png',
subTitle: 'Card',
subTitle: TranslationBase.of(context)
.insuranceSubtitle,
),
),
),
@ -229,32 +259,38 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: DoctorHomePage()));
// },
child: MedicalProfileItem(
title: 'Update Insurance',
title: TranslationBase.of(context)
.updateInsurance,
imagePath: 'insurance_card_icon.png',
subTitle: 'card',
subTitle: TranslationBase.of(context)
.updateInsuranceSubtitle,
),
),
),
Expanded(
flex: 1,
child: InkWell(
// onTap: () {
// Navigator.push(
// context, FadePage(page: InsuranceApproval()));
// },
onTap: () {
Navigator.push(
context, FadePage(page: InsuranceApproval()));
},
child: MedicalProfileItem(
title: 'Insurance Approval',
title: TranslationBase.of(context)
.insuranceApproval,
imagePath: 'insurance_approvals_icon.png',
subTitle: '',
subTitle: TranslationBase.of(context)
.insuranceApprovalSubtitle,
),
),
),
Expanded(
flex: 1,
child: MedicalProfileItem(
title: 'Allergies',
title:
TranslationBase.of(context).allergies,
imagePath: 'medical_history_icon.png',
subTitle: 'Diagnosed',
subTitle: TranslationBase.of(context)
.allergiesSubtitle,
),
),
]),
@ -268,9 +304,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: DoctorHomePage()));
// },
child: MedicalProfileItem(
title: 'My Vaccines',
title: TranslationBase.of(context)
.myVaccines,
imagePath: 'insurance_card_icon.png',
subTitle: 'card',
subTitle: TranslationBase.of(context)
.myVaccinesSubtitle,
),
),
),
@ -282,18 +320,21 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
FadePage(page: HomeReportPage()));
},
child: MedicalProfileItem(
title: 'Medical',
title:
TranslationBase.of(context).medical,
imagePath: 'insurance_approvals_icon.png',
subTitle: 'Reports',
subTitle: TranslationBase.of(context)
.medicalSubtitle,
),
),
),
Expanded(
flex: 1,
child: MedicalProfileItem(
title: 'Monthly',
title: TranslationBase.of(context).monthly,
imagePath: 'medical_history_icon.png',
subTitle: 'Report',
subTitle: TranslationBase.of(context)
.monthlySubtitle,
),
),
]),
@ -307,9 +348,10 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: DoctorHomePage()));
// },
child: MedicalProfileItem(
title: 'Sick',
title: TranslationBase.of(context).sick,
imagePath: 'insurance_card_icon.png',
subTitle: 'Leaves',
subTitle: TranslationBase.of(context)
.sickSubtitle,
),
),
),
@ -321,18 +363,22 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: InsuranceApproval()));
// },
child: MedicalProfileItem(
title: 'My Balance',
title:
TranslationBase.of(context).myBalance,
imagePath: 'insurance_approvals_icon.png',
subTitle: 'Credit',
subTitle: TranslationBase.of(context)
.myBalanceSubtitle,
),
),
),
Expanded(
flex: 1,
child: MedicalProfileItem(
title: 'Patient Call',
title:
TranslationBase.of(context).patientCall,
imagePath: 'medical_history_icon.png',
subTitle: 'Service',
subTitle: TranslationBase.of(context)
.patientCallSubtitle,
),
),
]),
@ -346,9 +392,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: DoctorHomePage()));
// },
child: MedicalProfileItem(
title: 'Smart Watches',
title: TranslationBase.of(context)
.smartWatches,
imagePath: 'insurance_card_icon.png',
subTitle: 'Pairing',
subTitle: TranslationBase.of(context)
.smartWatchesSubtitle,
),
),
),
@ -360,18 +408,21 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: InsuranceApproval()));
// },
child: MedicalProfileItem(
title: 'My Trackers',
title: TranslationBase.of(context)
.myTrackers,
imagePath: 'insurance_approvals_icon.png',
subTitle: 'Service',
subTitle: TranslationBase.of(context)
.myTrackersSubtitle,
),
),
),
Expanded(
flex: 1,
child: MedicalProfileItem(
title: 'Ask Your',
title: TranslationBase.of(context).askYour,
imagePath: 'medical_history_icon.png',
subTitle: 'Doctor',
subTitle: TranslationBase.of(context)
.askYourSubtitle,
),
),
]),
@ -385,9 +436,11 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: DoctorHomePage()));
// },
child: MedicalProfileItem(
title: 'Internet',
title:
TranslationBase.of(context).internet,
imagePath: 'insurance_card_icon.png',
subTitle: 'Pairing',
subTitle: TranslationBase.of(context)
.internetSubtitle,
),
),
),
@ -399,19 +452,17 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
// context, FadePage(page: InsuranceApproval()));
// },
child: MedicalProfileItem(
title: 'My Trackers',
title:
TranslationBase.of(context).chatbot,
imagePath: 'insurance_approvals_icon.png',
subTitle: 'Service',
subTitle: TranslationBase.of(context)
.chatbotSubtitle,
),
),
),
Expanded(
flex: 1,
child: MedicalProfileItem(
title: 'Ask Your',
imagePath: 'medical_history_icon.png',
subTitle: 'Doctor',
),
child: Container(),
),
]),
],
@ -428,17 +479,16 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
width: double.infinity,
height: 70,
decoration: BoxDecoration(
color: Colors.grey[600],
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
)
),
color: Colors.grey[600],
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)),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
@ -464,9 +514,10 @@ class _MedicalProfilePageState extends State<MedicalProfilePage> {
),
Positioned(
top: 2,
left: 10,
left: projectViewModel.isArabic ? 0 : 10,
right: projectViewModel.isArabic ? 10 : 0,
child: Texts(
'Time Line ',
TranslationBase.of(context).timeLine,
color: Colors.white,
fontSize: 14,
fontWeight: FontWeight.normal,

@ -1,6 +1,7 @@
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_details_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -49,7 +50,7 @@ class PrescriptionsHistoryPage extends StatelessWidget {
height: 5,
),
Texts(
'Order No ${prescriptionsViewModel.prescriptionsHistory[index].iD}'),
'${TranslationBase.of(context).orderNo} ${prescriptionsViewModel.prescriptionsHistory[index].iD}'),
SizedBox(
height: 5,
),
@ -59,7 +60,7 @@ class PrescriptionsHistoryPage extends StatelessWidget {
height: 5,
),
Texts(
'Order Details',
'${TranslationBase.of(context).orderNo}',
fontWeight: FontWeight.w300,
),
SizedBox(

@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_page.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
@ -36,7 +37,7 @@ class _HomePrescriptionsPageState extends State<HomePrescriptionsPage>
onModelReady: (model) => model.getPrescriptions(),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
appBarTitle: 'My Doctors',
appBarTitle: TranslationBase.of(context).myDoctor,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
@ -84,13 +85,13 @@ class _HomePrescriptionsPageState extends State<HomePrescriptionsPage>
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: Texts('Prescriptions'),
child: Texts(TranslationBase.of(context).prescriptions),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.30,
child: Center(
child: Texts('History'),
child: Texts(TranslationBase.of(context).history),
),
),
],

@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/enum/filter_type.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescription_items_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -32,7 +33,7 @@ class PrescriptionsPage extends StatelessWidget {
onTap: () =>
prescriptionsViewModel.setFilterType(FilterType.Clinic),
child: ListTile(
title: const Text('Clinic'),
title: Text(TranslationBase.of(context).clinic),
leading: Radio(
value: FilterType.Clinic,
groupValue: prescriptionsViewModel.filterType,
@ -50,7 +51,7 @@ class PrescriptionsPage extends StatelessWidget {
onTap: () => prescriptionsViewModel
.setFilterType(FilterType.Hospital),
child: ListTile(
title: const Text('Hospital'),
title: Text(TranslationBase.of(context).hospital),
leading: Radio(
value: FilterType.Hospital,
groupValue: prescriptionsViewModel.filterType,

@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_mode
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/radiology/radiology_details_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -17,7 +18,7 @@ class RadiologyHomePage extends StatelessWidget {
onModelReady: (model) => model.getPatientRadOrders(),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
appBarTitle: 'Radiology',
appBarTitle: TranslationBase.of(context).radiology,
baseViewModel: model,
body: FractionallySizedBox(
widthFactor: 1.0,
@ -32,7 +33,7 @@ class RadiologyHomePage extends StatelessWidget {
onTap: () =>
model.setFilterType(FilterType.Clinic),
child: ListTile(
title: const Text('Clinic'),
title: Text(TranslationBase.of(context).clinic),
leading: Radio(
value: FilterType.Clinic,
groupValue: model.filterType,
@ -50,7 +51,7 @@ class RadiologyHomePage extends StatelessWidget {
onTap: () => model
.setFilterType(FilterType.Hospital),
child: ListTile(
title: const Text('Hospital'),
title: Text(TranslationBase.of(context).hospital),
leading: Radio(
value: FilterType.Hospital,
groupValue: model.filterType,
@ -85,7 +86,7 @@ class RadiologyHomePage extends StatelessWidget {
child: DoctorCard(
name: radiology.doctorName,
profileUrl: radiology.doctorImageURL,
subName: '${radiology.projectName} \nBill No ${radiology.invoiceNo}',
subName: '${radiology.projectName} \n${TranslationBase.of(context).billNo} ${radiology.invoiceNo}',
date: DateUtil.getMonthDayYearDateFormatted(
radiology.orderDate),
),

@ -16,7 +16,6 @@ class VitalSignDetailsScreen extends StatelessWidget {
int appointmentNo;
int projectID;
VitalSignDetailsScreen({this.appointmentNo, this.projectID});
@override
@ -28,7 +27,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
: (model) => model.getPatientRadOrders(),
builder: (_, mode, widget) => AppScaffold(
isShowAppBar: true,
appBarTitle: 'Vital Sign',
appBarTitle: TranslationBase.of(context).vitalSigns,
baseViewModel: mode,
body: mode.vitalSignResModelList.length > 0
? Container(
@ -42,7 +41,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.Height,
pageTitle: 'Height',
pageTitle: TranslationBase.of(context).height,
vitalList: mode.vitalSignResModelList,
),
),
@ -66,7 +65,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.Weight,
pageTitle: 'Weight',
pageTitle: TranslationBase.of(context).weight,
vitalList: mode.vitalSignResModelList,
),
),
@ -92,7 +91,8 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.BodyMeasurements,
pageTitle: 'BMI',
pageTitle: TranslationBase.of(context)
.bodyMeasurements,
vitalList: mode.vitalSignResModelList,
),
),
@ -112,7 +112,8 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.Temperature,
pageTitle: 'Temperature',
pageTitle:
TranslationBase.of(context).temperature,
vitalList: mode.vitalSignResModelList,
),
),
@ -138,7 +139,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.heart,
pageTitle: 'Hart ',
pageTitle: TranslationBase.of(context).heart,
vitalList: mode.vitalSignResModelList,
),
),
@ -160,7 +161,8 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.Respiration,
pageTitle: 'Respiration Rate',
pageTitle:
TranslationBase.of(context).respirationRate,
vitalList: mode.vitalSignResModelList,
),
),
@ -187,7 +189,7 @@ class VitalSignDetailsScreen extends StatelessWidget {
FadePage(
page: VitalSignItemDetailsScreen(
pageKey: VitalSignDetails.BloodPressure,
pageTitle: 'BloodPressure',
pageTitle: TranslationBase.of(context).pulse,
vitalList: mode.vitalSignResModelList,
),
),

@ -455,6 +455,59 @@ class TranslationBase {
String get noBookedAppointments => localizedValues['NoBookedAppointments'][locale.languageCode];
String get noConfirmedAppointments => localizedValues['NoConfirmedAppointments'][locale.languageCode];
String get noArrivedAppointments => localizedValues['noArrivedAppointments'][locale.languageCode];
String get myAppointmentsList => localizedValues['MyAppointmentsList'][locale.languageCode];
String get radiology => localizedValues['Radiology'][locale.languageCode];
String get radiologySubtitle => localizedValues['RadiologySubtitle'][locale.languageCode];
String get lab => localizedValues['Lab'][locale.languageCode];
String get labSubtitle => localizedValues['LabSubtitle'][locale.languageCode];
String get medicines => localizedValues['Medicines'][locale.languageCode];
String get medicinesSubtitle => localizedValues['MedicinesSubtitle'][locale.languageCode];
String get vitalSigns => localizedValues['VitalSigns'][locale.languageCode];
String get vitalSignsSubtitle => localizedValues['VitalSignsSubTitle'][locale.languageCode];
String get myMedical => localizedValues['MyMedical'][locale.languageCode];
String get myMedicalSubtitle => localizedValues['MyMedicalSubtitle'][locale.languageCode];
String get myDoctor => localizedValues['MyDoctor'][locale.languageCode];
String get myDoctorSubtitle => localizedValues['MyDoctorSubtitle'][locale.languageCode];
String get eye => localizedValues['Eye'][locale.languageCode];
String get eyeSubtitle => localizedValues['EyeSubtitle'][locale.languageCode];
String get insurance => localizedValues['Insurance'][locale.languageCode];
String get insuranceSubtitle => localizedValues['InsuranceSubtitle'][locale.languageCode];
String get updateInsurance => localizedValues['UpdateInsurance'][locale.languageCode];
String get updateInsuranceSubtitle => localizedValues['UpdateInsuranceSubtitle'][locale.languageCode];
String get insuranceApproval => localizedValues['InsuranceApproval'][locale.languageCode];
String get insuranceApprovalSubtitle => localizedValues['InsuranceApprovalSubtitle'][locale.languageCode];
String get allergies => localizedValues['Allergies'][locale.languageCode];
String get allergiesSubtitle => localizedValues['AllergiesSubtitle'][locale.languageCode];
String get myVaccines => localizedValues['MyVaccines'][locale.languageCode];
String get myVaccinesSubtitle => localizedValues['MyVaccinesSubtitle'][locale.languageCode];
String get medical => localizedValues['Medical'][locale.languageCode];
String get medicalSubtitle => localizedValues['MedicalSubtitle'][locale.languageCode];
String get monthly => localizedValues['Monthly'][locale.languageCode];
String get monthlySubtitle => localizedValues['MonthlySubtitle'][locale.languageCode];
String get sick => localizedValues['Sick'][locale.languageCode];
String get sickSubtitle => localizedValues['SickSubtitle'][locale.languageCode];
String get myBalance => localizedValues['MyBalance'][locale.languageCode];
String get myBalanceSubtitle => localizedValues['MyBalanceSubtitle'][locale.languageCode];
String get patientCall => localizedValues['PatientCall'][locale.languageCode];
String get patientCallSubtitle => localizedValues['PatientCallSubtitle'][locale.languageCode];
String get smartWatches => localizedValues['SmartWatches'][locale.languageCode];
String get smartWatchesSubtitle => localizedValues['SmartWatchesSubtitle'][locale.languageCode];
String get myTrackers => localizedValues['MyTrackers'][locale.languageCode];
String get myTrackersSubtitle => localizedValues['MyTrackersSubtitle'][locale.languageCode];
String get askYour => localizedValues['AskYour'][locale.languageCode];
String get askYourSubtitle => localizedValues['AskYourSubtitle'][locale.languageCode];
String get internet => localizedValues['Internet'][locale.languageCode];
String get internetSubtitle => localizedValues['InternetSubtitle'][locale.languageCode];
String get chatbot => localizedValues['Chatbot'][locale.languageCode];
String get chatbotSubtitle => localizedValues['ChatbotSubtitle'][locale.languageCode];
String get timeLine => localizedValues['TimeLine'][locale.languageCode];
String get labOrders => localizedValues['LabOrders'][locale.languageCode];
String get billNo => localizedValues['BillNo'][locale.languageCode];
String get prescriptions => localizedValues['Prescriptions'][locale.languageCode];
String get history => localizedValues['History'][locale.languageCode];
String get orderNo => localizedValues['OrderNo'][locale.languageCode];
String get orderDetails => localizedValues['OrderDetails'][locale.languageCode];
String get vitalSign => localizedValues['VitalSign'][locale.languageCode];
}

Loading…
Cancel
Save