Localization

aamir_dev
Aamir.Muhammad 2 years ago
parent 3b35288c9d
commit 5d920c8e89

@ -1,406 +1,406 @@
// DO NOT EDIT. This is code generated via package:easy_localization/generate.dart // // DO NOT EDIT. This is code generated via package:easy_localization/generate.dart
//
// ignore_for_file: prefer_single_quotes // // ignore_for_file: prefer_single_quotes
//
import 'dart:ui'; // import 'dart:ui';
//
import 'package:easy_localization/easy_localization.dart' show AssetLoader; // import 'package:easy_localization/easy_localization.dart' show AssetLoader;
//
class CodegenLoader extends AssetLoader{ // class CodegenLoader extends AssetLoader{
const CodegenLoader(); // const CodegenLoader();
//
@override // @override
Future<Map<String, dynamic>> load(String fullPath, Locale locale ) { // Future<Map<String, dynamic>> load(String fullPath, Locale locale ) {
return Future.value(mapLocales[locale.toString()]); // return Future.value(mapLocales[locale.toString()]);
} // }
//
static const Map<String,dynamic> ar_SA = { // static const Map<String,dynamic> ar_SA = {
"firstTimeLogIn": "تسجيل الدخول لأول مره", // "firstTimeLogIn": "تسجيل الدخول لأول مره",
"signUp": "التسجيل", // "signUp": "التسجيل",
"changeMobile": "تغيير رقم الجوال", // "changeMobile": "تغيير رقم الجوال",
"notifications": "الاشعارات", // "notifications": "الاشعارات",
"general": "عام", // "general": "عام",
"defineLicences": "تحديد الرخص", // "defineLicences": "تحديد الرخص",
"dealershipSettings": "اعدادات البيع", // "dealershipSettings": "اعدادات البيع",
"changePassword": "تغيير كلمة المرور", // "changePassword": "تغيير كلمة المرور",
"retrievePassword": "استرجاع كلمة المرور", // "retrievePassword": "استرجاع كلمة المرور",
"changeEmail": "تغيير الايميل", // "changeEmail": "تغيير الايميل",
"verify": "تحقق", // "verify": "تحقق",
"verified": "تم التحقق", // "verified": "تم التحقق",
"signOut": "تسجيل خروج", // "signOut": "تسجيل خروج",
"enterEmail": "ادخل الايميل", // "enterEmail": "ادخل الايميل",
"enterNewEmail": "ادخل ايميل جديد", // "enterNewEmail": "ادخل ايميل جديد",
"enterCurrentPassword": "كلمة المرور الحاليه", // "enterCurrentPassword": "كلمة المرور الحاليه",
"enterNewPassword": "كلمة المرور الجديده", // "enterNewPassword": "كلمة المرور الجديده",
"enterOldPassword": "كلمة المرور القديمه", // "enterOldPassword": "كلمة المرور القديمه",
"confirm": "تأكيد", // "confirm": "تأكيد",
"enterNewPhoneNumber": "رقم جوال جديد", // "enterNewPhoneNumber": "رقم جوال جديد",
"completeProfile": "الملف الشخصي", // "completeProfile": "الملف الشخصي",
"continu": "استمرار", // "continu": "استمرار",
"confirmPassword": "تأكيد كلمة المرور", // "confirmPassword": "تأكيد كلمة المرور",
"createPassword": "انشاء كلمة مرور جديده", // "createPassword": "انشاء كلمة مرور جديده",
"email": "ايميل", // "email": "ايميل",
"firstName": "الأسم الأول *", // "firstName": "الأسم الأول *",
"surname": "اسم العائله *", // "surname": "اسم العائله *",
"confirmPass": "تأكيد كلمة المرور *", // "confirmPass": "تأكيد كلمة المرور *",
"createPass": "انشاء كلمة مرور جديده *", // "createPass": "انشاء كلمة مرور جديده *",
"newPassword": " كلمة مرور جديده", // "newPassword": " كلمة مرور جديده",
"forgetPassword": "نسيت كلمة المرور", // "forgetPassword": "نسيت كلمة المرور",
"forgetPasswordQ": "نسيت كلمة المرور؟", // "forgetPasswordQ": "نسيت كلمة المرور؟",
"recover": "استعادة", // "recover": "استعادة",
"forgetPasswordRecover": "نسيت كلمة المرور؟ استعادة", // "forgetPasswordRecover": "نسيت كلمة المرور؟ استعادة",
"editAccount": "تعديل الحساب", // "editAccount": "تعديل الحساب",
"change": "تغيير", // "change": "تغيير",
"verifyAccount": "التحقق من الحساب", // "verifyAccount": "التحقق من الحساب",
"login": "تسجيل دخول", // "login": "تسجيل دخول",
"log_in": "تسجيل الدخول", // "log_in": "تسجيل الدخول",
"welcomeMessage": "مرحبا", // "welcomeMessage": "مرحبا",
"welcomeDes": "أنت مكان واحد لكل ما تحتاجه سيارتك", // "welcomeDes": "أنت مكان واحد لكل ما تحتاجه سيارتك",
"forgetPass": "نسيت كلمة المرور ؟", // "forgetPass": "نسيت كلمة المرور ؟",
"enterPhoneNumber": "رقم جوال ", // "enterPhoneNumber": "رقم جوال ",
"phoneNumberVerified": "تم التحقق من الجوال", // "phoneNumberVerified": "تم التحقق من الجوال",
"verifyNewPassword": "التحقق من كلمة المرور", // "verifyNewPassword": "التحقق من كلمة المرور",
"EnterPass": "ادخل كلمة المرور", // "EnterPass": "ادخل كلمة المرور",
"send": "إرسال", // "send": "إرسال",
"retrivePassword": "استرجع كلمة المرور بإحدى الطرق التالية", // "retrivePassword": "استرجع كلمة المرور بإحدى الطرق التالية",
"retriveOnPhone": "سوف نرسل الاختيار إلى رقم هاتفك المحمول المسجل", // "retriveOnPhone": "سوف نرسل الاختيار إلى رقم هاتفك المحمول المسجل",
"retriveOnEmail": "سوف نرسل الاختيار إلى عنوان بريدك الإلكتروني المسجل", // "retriveOnEmail": "سوف نرسل الاختيار إلى عنوان بريدك الإلكتروني المسجل",
"enterPhoneForVerfication": "الرجاء إدخال رقم هاتفك وسنرسل لك رمز التحقق", // "enterPhoneForVerfication": "الرجاء إدخال رقم هاتفك وسنرسل لك رمز التحقق",
"selectYourCountry": "اختر بلدك", // "selectYourCountry": "اختر بلدك",
"welcomeBack": "مرحبًا بعودتك!!!", // "welcomeBack": "مرحبًا بعودتك!!!",
"alreadySigned": " تم تسجيل الدخول", // "alreadySigned": " تم تسجيل الدخول",
"emailChangedSuccessfully": "تم تغيير الايميل بنجاح", // "emailChangedSuccessfully": "تم تغيير الايميل بنجاح",
"passwordIsUpdated": "تم تحجيث كلمة المرور", // "passwordIsUpdated": "تم تحجيث كلمة المرور",
"passwordShouldContains": "كلمة المرور يجب ان تحتوي على رمز رقم حرف كبير حرف صغير", // "passwordShouldContains": "كلمة المرور يجب ان تحتوي على رمز رقم حرف كبير حرف صغير",
" successfullyRegistered": "تم التسجيل بنجاح", // " successfullyRegistered": "تم التسجيل بنجاح",
"pleaseEnterSamePassword": "ادخل كلمة مرور مطابقه", // "pleaseEnterSamePassword": "ادخل كلمة مرور مطابقه",
"firstNameMandatory": "ادخل الأسم الأول ", // "firstNameMandatory": "ادخل الأسم الأول ",
"surnameNameMandatory": "ادخل اسم العائله", // "surnameNameMandatory": "ادخل اسم العائله",
"passwordNameMandatory": "ادخل كلمة المرور", // "passwordNameMandatory": "ادخل كلمة المرور",
"enterValidEmail": "ادخل ايميل صحيح", // "enterValidEmail": "ادخل ايميل صحيح",
"pleaseAcceptTerms": "يجب الموافقه على الشروط", // "pleaseAcceptTerms": "يجب الموافقه على الشروط",
"emailVerified": "تم التحقق من الايميل بنجاح", // "emailVerified": "تم التحقق من الايميل بنجاح",
"selectMethod": "اختر", // "selectMethod": "اختر",
"emailAddress": "ايميل", // "emailAddress": "ايميل",
"loginSelection": "اختر", // "loginSelection": "اختر",
"selectCountryCode": "اختر رمز الدوله", // "selectCountryCode": "اختر رمز الدوله",
"selectProviderRole": "اختر نوع الخدمه", // "selectProviderRole": "اختر نوع الخدمه",
"addPhoneNo": "اضف الهاتف", // "addPhoneNo": "اضف الهاتف",
"onlyProviderApp": "نأسف هذا التطبيق فقط لمقدمي الخدمات", // "onlyProviderApp": "نأسف هذا التطبيق فقط لمقدمي الخدمات",
"imageUploaded": "تم تحميل الصوره", // "imageUploaded": "تم تحميل الصوره",
"fileLarger": "1KB حجم الملف اكبر من", // "fileLarger": "1KB حجم الملف اكبر من",
"account": "الحساب", // "account": "الحساب",
"edit": "تعديل", // "edit": "تعديل",
"imageDeleted": "تم حذف الصوره", // "imageDeleted": "تم حذف الصوره",
"dashboard": "الصفحه الرئيسيه", // "dashboard": "الصفحه الرئيسيه",
"pickAddress": "اختر العنوان", // "pickAddress": "اختر العنوان",
"pickLocation": "اختر الموقع", // "pickLocation": "اختر الموقع",
"save": "حفظ", // "save": "حفظ",
"defineServices": "تحديد الخدمات", // "defineServices": "تحديد الخدمات",
"selectBranch ": "اختر الفرع", // "selectBranch ": "اختر الفرع",
"selectServiceCategory": "اختر فئة الخدمة", // "selectServiceCategory": "اختر فئة الخدمة",
"defineBranches": "تحديد الفروع", // "defineBranches": "تحديد الفروع",
"defineProviders": "تحديد الموفرين", // "defineProviders": "تحديد الموفرين",
"closeAccount": "اغلاق الحساب", // "closeAccount": "اغلاق الحساب",
"createBranch": "انشاء فرع", // "createBranch": "انشاء فرع",
"updateBranch": "فرع التحديث", // "updateBranch": "فرع التحديث",
"address": "العنوان", // "address": "العنوان",
"branchDescription": "وصف الفرع", // "branchDescription": "وصف الفرع",
"branchName": "اسم الفرع", // "branchName": "اسم الفرع",
"chooseCity": "اختر المدينه", // "chooseCity": "اختر المدينه",
"chooseCountry": "اختر الدوله", // "chooseCountry": "اختر الدوله",
"selectAttachment": "اختيار مرفق", // "selectAttachment": "اختيار مرفق",
"somethingWrong": "هناك خطأ ما", // "somethingWrong": "هناك خطأ ما",
"documentsUploaded": "تم ارفاق الملف بنجاح", // "documentsUploaded": "تم ارفاق الملف بنجاح",
"update": "تحديث", // "update": "تحديث",
"termsOfService": "من خلال إنشاء حساب فإنك توافق على", // "termsOfService": "من خلال إنشاء حساب فإنك توافق على",
"terms": "بنود الخدمة وخصوصية السياسة", // "terms": "بنود الخدمة وخصوصية السياسة",
"profileMsg": "أدخل التفاصيل أدناه وأكمل معلومات الملف الشخصي", // "profileMsg": "أدخل التفاصيل أدناه وأكمل معلومات الملف الشخصي",
"branchInfo": "معلومات الفرع و الخدمات", // "branchInfo": "معلومات الفرع و الخدمات",
"profileCompleted": "الملف الشخصي مكتمل", // "profileCompleted": "الملف الشخصي مكتمل",
"selectLocationMap": "اختر الموقع", // "selectLocationMap": "اختر الموقع",
"licensesAndCertifications": "الرخص و الشهادات", // "licensesAndCertifications": "الرخص و الشهادات",
"completeProfile1": "اكمل الملف الشخصي 1/3", // "completeProfile1": "اكمل الملف الشخصي 1/3",
"completeProfile2": "اكمل الملف الشخصي 2/3", // "completeProfile2": "اكمل الملف الشخصي 2/3",
"completeProfile3": "اكمل الملف الشخصي 3/3", // "completeProfile3": "اكمل الملف الشخصي 3/3",
"userInformation": "معلومات المتسخدم", // "userInformation": "معلومات المتسخدم",
"faceRecognition": "تحقق مع بصمة الوجه", // "faceRecognition": "تحقق مع بصمة الوجه",
"fingerPrint": "تحقق مع بصمة الاصبع", // "fingerPrint": "تحقق مع بصمة الاصبع",
"whatsapp": "تحقق مع Whatsapp", // "whatsapp": "تحقق مع Whatsapp",
"SMS": "رسائل قصيره", // "SMS": "رسائل قصيره",
"selectRole": "حدد الدور", // "selectRole": "حدد الدور",
"userRoleOrTitle": "عنوان المستخدم", // "userRoleOrTitle": "عنوان المستخدم",
"codeSentToEmail": "تم ارسال الرمز للايميل", // "codeSentToEmail": "تم ارسال الرمز للايميل",
"number": "موبايل", // "number": "موبايل",
"phoneNumber": "رقم الهاتف", // "phoneNumber": "رقم الهاتف",
"english": "English", // "english": "English",
"provider": "Provider", // "provider": "Provider",
"title": "Hello", // "title": "Hello",
"msg": "Hello {} in the {} world ", // "msg": "Hello {} in the {} world ",
"msg_named": "{} are written in the {lang} language", // "msg_named": "{} are written in the {lang} language",
"clickMe": "Click me", // "clickMe": "Click me",
"profile": { // "profile": {
"reset_password": { // "reset_password": {
"label": "Reset Password", // "label": "Reset Password",
"username": "Username", // "username": "Username",
"password": "password" // "password": "password"
} // }
}, // },
"clicked": { // "clicked": {
"zero": "You clicked {} times!", // "zero": "You clicked {} times!",
"one": "You clicked {} time!", // "one": "You clicked {} time!",
"two": "You clicked {} times!", // "two": "You clicked {} times!",
"few": "You clicked {} times!", // "few": "You clicked {} times!",
"many": "You clicked {} times!", // "many": "You clicked {} times!",
"other": "You clicked {} times!" // "other": "You clicked {} times!"
}, // },
"amount": { // "amount": {
"zero": "Your amount : {} ", // "zero": "Your amount : {} ",
"one": "Your amount : {} ", // "one": "Your amount : {} ",
"two": "Your amount : {} ", // "two": "Your amount : {} ",
"few": "Your amount : {} ", // "few": "Your amount : {} ",
"many": "Your amount : {} ", // "many": "Your amount : {} ",
"other": "Your amount : {} " // "other": "Your amount : {} "
}, // },
"gender": { // "gender": {
"male": "Hi man ;) ", // "male": "Hi man ;) ",
"female": "Hello girl :)", // "female": "Hello girl :)",
"with_arg": { // "with_arg": {
"male": "Hi man ;) {}", // "male": "Hi man ;) {}",
"female": "Hello girl :) {}" // "female": "Hello girl :) {}"
} // }
}, // },
"reset_locale": "Reset Language", // "reset_locale": "Reset Language",
"insert_otp_code": "ادخل الرمز", // "insert_otp_code": "ادخل الرمز",
"type_code": "الرجاء كتابة الرمز الذي أرسلناه إلى", // "type_code": "الرجاء كتابة الرمز الذي أرسلناه إلى",
"resend_code": "أعد إرسال الرمز", // "resend_code": "أعد إرسال الرمز",
"check_code": "التحقق من الشفرة", // "check_code": "التحقق من الشفرة",
"time_will_expire": "إعادة إرسال الرمز بتنسيق", // "time_will_expire": "إعادة إرسال الرمز بتنسيق",
"sec": "ثانية", // "sec": "ثانية",
"no_city_available": "لا توجد مدينة متاحة لهذا البلد", // "no_city_available": "لا توجد مدينة متاحة لهذا البلد",
"branch_created": "تم إنشاء الفرع بنجاح", // "branch_created": "تم إنشاء الفرع بنجاح",
"branch_updated": "تم تحديث الفرع بنجاح", // "branch_updated": "تم تحديث الفرع بنجاح",
"branch_deleted": "تم حذف الفرع بنجاح", // "branch_deleted": "تم حذف الفرع بنجاح",
"dashboard_main": "لوحة القيادة / الصفحة الرئيسية", // "dashboard_main": "لوحة القيادة / الصفحة الرئيسية",
"logo_brand": "الشعار / العلامة التجارية", // "logo_brand": "الشعار / العلامة التجارية",
"remove": "إزالة", // "remove": "إزالة",
"no_branch": "لم يتم إضافة فرع حتى الآن", // "no_branch": "لم يتم إضافة فرع حتى الآن",
"login_once": "الرجاء تسجيل الدخول مرة واحدة", // "login_once": "الرجاء تسجيل الدخول مرة واحدة",
"defineLicenese": "تحميل التراخيص والشهادات", // "defineLicenese": "تحميل التراخيص والشهادات",
"description": "وصف", // "description": "وصف",
"attachFile": "أرفق ملف", // "attachFile": "أرفق ملف",
"branchLocation": "معلومات الفرع والموقع", // "branchLocation": "معلومات الفرع والموقع",
"tapToEdit": "انقر للتعديل", // "tapToEdit": "انقر للتعديل",
"myServiceBranches": "فروع خدمتي", // "myServiceBranches": "فروع خدمتي",
"enter_licence_detail": "الرجاء إدخال تفاصيل السجلات التجارية وإرفاق صور الترخيص", // "enter_licence_detail": "الرجاء إدخال تفاصيل السجلات التجارية وإرفاق صور الترخيص",
"country": "بلد", // "country": "بلد",
"city": "مدينة", // "city": "مدينة",
"editServices": "تحرير الخدمات", // "editServices": "تحرير الخدمات",
"providers": "الموفرون", // "providers": "الموفرون",
"appointments": "تعيينات", // "appointments": "تعيينات",
"home": "بيت", // "home": "بيت",
"ads": "إعلانات", // "ads": "إعلانات",
"settings": "إعدادات", // "settings": "إعدادات",
"view_all": "مشاهدة الكل", // "view_all": "مشاهدة الكل",
"my_active_Ads": "إعلاناتي النشطة", // "my_active_Ads": "إعلاناتي النشطة",
"recommended_ads": "الإعلانات الموصى بها", // "recommended_ads": "الإعلانات الموصى بها",
"upcoming_appointment": "الموعد القادم", // "upcoming_appointment": "الموعد القادم",
"my_service_providers": "مزودي الخدمة الجدد", // "my_service_providers": "مزودي الخدمة الجدد",
"appointment_details": "تفاصيل الموعد" // "appointment_details": "تفاصيل الموعد"
}; // };
static const Map<String,dynamic> en_US = { // static const Map<String,dynamic> en_US = {
"firstTimeLogIn": "First Time Log In", // "firstTimeLogIn": "First Time Log In",
"signUp": "Register", // "signUp": "Register",
"changeMobile": "Change Mobile", // "changeMobile": "Change Mobile",
"notifications": "Notifications", // "notifications": "Notifications",
"general": "General", // "general": "General",
"defineLicences": "Register Licences", // "defineLicences": "Register Licences",
"dealershipSettings": "Dealership Settings", // "dealershipSettings": "Dealership Settings",
"changePassword": "Change Password", // "changePassword": "Change Password",
"retrievePassword": "Retrieve Password", // "retrievePassword": "Retrieve Password",
"changeEmail": "Change Email", // "changeEmail": "Change Email",
"verify": "Verify", // "verify": "Verify",
"verified": "Verified", // "verified": "Verified",
"signOut": "Sign Out", // "signOut": "Sign Out",
"enterEmail": "Enter Email and Password", // "enterEmail": "Enter Email and Password",
"enterNewEmail": "Enter New Email", // "enterNewEmail": "Enter New Email",
"enterNewPassword": "Enter New Password", // "enterNewPassword": "Enter New Password",
"enterCurrentPassword": "Enter Current Password", // "enterCurrentPassword": "Enter Current Password",
"enterOldPassword": "Enter Old Password", // "enterOldPassword": "Enter Old Password",
"confirm": "Confirm", // "confirm": "Confirm",
"completeProfile": "Complete Profile", // "completeProfile": "Complete Profile",
"enterNewPhoneNumber": "Enter New Phone Number", // "enterNewPhoneNumber": "Enter New Phone Number",
"enterPhoneNumber": "Enter the login credentials", // "enterPhoneNumber": "Enter the login credentials",
"continu": "Continue", // "continu": "Continue",
"confirmPassword": "Confirm Password", // "confirmPassword": "Confirm Password",
"createPassword": "Create Password", // "createPassword": "Create Password",
"email": "Email", // "email": "Email",
"firstName": "First Name *", // "firstName": "First Name *",
"surname": "Surname *", // "surname": "Surname *",
"confirmPass": "Confirm Password *", // "confirmPass": "Confirm Password *",
"createPass": "Create Password *", // "createPass": "Create Password *",
"newPassword": "New Password", // "newPassword": "New Password",
"forgetPassword": "Forget Password", // "forgetPassword": "Forget Password",
"forgetPasswordQ": "Forget Password?", // "forgetPasswordQ": "Forget Password?",
"recover": "Recover", // "recover": "Recover",
"forgetPasswordRecover": "Forget Password? Recover", // "forgetPasswordRecover": "Forget Password? Recover",
"editAccount": "Edit Account", // "editAccount": "Edit Account",
"change": "Change", // "change": "Change",
"verifyAccount": "Verify Account", // "verifyAccount": "Verify Account",
"login": "Login", // "login": "Login",
"log_in": "Log In", // "log_in": "Log In",
"welcomeMessage": "Welcome To Mowater", // "welcomeMessage": "Welcome To Mowater",
"welcomeDes": "You one stop place all your car needs", // "welcomeDes": "You one stop place all your car needs",
"forgetPass": "Forget Password ?", // "forgetPass": "Forget Password ?",
"phoneNumberVerified": "Phone Number Verified", // "phoneNumberVerified": "Phone Number Verified",
"verifyNewPassword": "Verify New Password", // "verifyNewPassword": "Verify New Password",
"send": "Send", // "send": "Send",
"EnterPass": "Enter Password ?", // "EnterPass": "Enter Password ?",
"retrivePassword": "Retrive password by one of following method", // "retrivePassword": "Retrive password by one of following method",
"retriveOnPhone": "We will send the opt to your registered mobile number", // "retriveOnPhone": "We will send the opt to your registered mobile number",
"retriveOnEmail": "We will send the opt to your registered email address", // "retriveOnEmail": "We will send the opt to your registered email address",
"enterPhoneForVerfication": "Please enter your phone number We will send you the verification code", // "enterPhoneForVerfication": "Please enter your phone number We will send you the verification code",
"selectYourCountry": "Select Your Country", // "selectYourCountry": "Select Your Country",
"welcomeBack": "Welcome Back!!!", // "welcomeBack": "Welcome Back!!!",
"alreadySigned": " Already Signed Up and Logged In", // "alreadySigned": " Already Signed Up and Logged In",
"emailChangedSuccessfully": "Email is Changed Successfully", // "emailChangedSuccessfully": "Email is Changed Successfully",
"passwordIsUpdated": "Password is Updated", // "passwordIsUpdated": "Password is Updated",
"passwordShouldContains": "Password Should contains Character, Number, Capital and small letters,", // "passwordShouldContains": "Password Should contains Character, Number, Capital and small letters,",
" successfullyRegistered": " Successfully Registered, Please login once,", // " successfullyRegistered": " Successfully Registered, Please login once,",
"pleaseEnterSamePassword": "Please enter same password", // "pleaseEnterSamePassword": "Please enter same password",
"firstNameMandatory": "First name is mandatory", // "firstNameMandatory": "First name is mandatory",
"surnameNameMandatory": "Surname is mandatory", // "surnameNameMandatory": "Surname is mandatory",
"passwordNameMandatory": "Password is mandatory", // "passwordNameMandatory": "Password is mandatory",
"enterValidEmail": "Enter Valid Email", // "enterValidEmail": "Enter Valid Email",
"pleaseAcceptTerms": "Please accept terms", // "pleaseAcceptTerms": "Please accept terms",
"emailVerified": "Email is verified successfully", // "emailVerified": "Email is verified successfully",
"selectMethod": "Select Method", // "selectMethod": "Select Method",
"emailAddress": "Email Address", // "emailAddress": "Email Address",
"loginSelection": "Login Selection", // "loginSelection": "Login Selection",
"selectCountryCode": "Please select Country Code", // "selectCountryCode": "Please select Country Code",
"selectProviderRole": "Please select Provider Role", // "selectProviderRole": "Please select Provider Role",
"addPhoneNo": "Please add Phone No", // "addPhoneNo": "Please add Phone No",
"onlyCustomerApp": "Sorry, Only Customer's can log in this app", // "onlyCustomerApp": "Sorry, Only Customer's can log in this app",
"imageUploaded": "Image is uploaded", // "imageUploaded": "Image is uploaded",
"fileLarger": "File is larger then 1KB", // "fileLarger": "File is larger then 1KB",
"account": "Account", // "account": "Account",
"edit": "EDIT", // "edit": "EDIT",
"imageDeleted": "Image is Deleted", // "imageDeleted": "Image is Deleted",
"dashboard": "Dashboard/Main Page", // "dashboard": "Dashboard/Main Page",
"pickAddress": "Pick Address", // "pickAddress": "Pick Address",
"pickLocation": "Pick Location", // "pickLocation": "Pick Location",
"save": "Save", // "save": "Save",
"defineServices": "Define Services", // "defineServices": "Define Services",
"selectBranch ": "Select Branch ", // "selectBranch ": "Select Branch ",
"selectServiceCategory": "Select Service Category", // "selectServiceCategory": "Select Service Category",
"defineBranches": "Define Branches", // "defineBranches": "Define Branches",
"defineProviders": "Define Providers", // "defineProviders": "Define Providers",
"closeAccount": "Close Account", // "closeAccount": "Close Account",
"createBranch": "Create Branch", // "createBranch": "Create Branch",
"updateBranch": "Update Branch", // "updateBranch": "Update Branch",
"address": "Address", // "address": "Address",
"branchDescription": "Branch Description", // "branchDescription": "Branch Description",
"branchName": "Branch Name", // "branchName": "Branch Name",
"chooseCity": "Select City", // "chooseCity": "Select City",
"chooseCountry": "Choose Country", // "chooseCountry": "Choose Country",
"selectAttachment": "Select Attachment", // "selectAttachment": "Select Attachment",
"somethingWrong": "Something went wrong", // "somethingWrong": "Something went wrong",
"documentsUploaded": "Documents uploaded successfully", // "documentsUploaded": "Documents uploaded successfully",
"update": "Update", // "update": "Update",
"termsOfService": "By creating an account you agree to our", // "termsOfService": "By creating an account you agree to our",
"terms": "Terms of Service and Privacy Policy", // "terms": "Terms of Service and Privacy Policy",
"profileMsg": "Enter the details below and complete the profile info", // "profileMsg": "Enter the details below and complete the profile info",
"branchInfo": "Branch Info and Services", // "branchInfo": "Branch Info and Services",
"profileCompleted": "Profile is Completed", // "profileCompleted": "Profile is Completed",
"selectLocationMap": "Select Location Map", // "selectLocationMap": "Select Location Map",
"licensesAndCertifications": "licenses & certifications", // "licensesAndCertifications": "licenses & certifications",
"completeProfile1": "Complete Profile 1/3", // "completeProfile1": "Complete Profile 1/3",
"completeProfile2": "Complete Profile 2/3", // "completeProfile2": "Complete Profile 2/3",
"completeProfile3": "Complete Profile 3/3", // "completeProfile3": "Complete Profile 3/3",
"userInformation": "User Information", // "userInformation": "User Information",
"provider": "Provider", // "provider": "Provider",
"faceRecognition": "Face Recognition", // "faceRecognition": "Face Recognition",
"fingerPrint": "Finger Print", // "fingerPrint": "Finger Print",
"whatsapp": "With Whatsapp", // "whatsapp": "With Whatsapp",
"SMS": "With SMS", // "SMS": "With SMS",
"selectRole": "Choose Role", // "selectRole": "Choose Role",
"userRoleOrTitle": "User role or title", // "userRoleOrTitle": "User role or title",
"codeSentToEmail": "Code is sent to email", // "codeSentToEmail": "Code is sent to email",
"number": "Number", // "number": "Number",
"phoneNumber": "Phone Number", // "phoneNumber": "Phone Number",
"english": "عربي", // "english": "عربي",
"title": "Hello", // "title": "Hello",
"msg": "Hello {} in the {} world ", // "msg": "Hello {} in the {} world ",
"msg_named": "{} are written in the {lang} language", // "msg_named": "{} are written in the {lang} language",
"clickMe": "Click me", // "clickMe": "Click me",
"profile": { // "profile": {
"reset_password": { // "reset_password": {
"label": "Reset Password", // "label": "Reset Password",
"username": "Username", // "username": "Username",
"password": "password" // "password": "password"
} // }
}, // },
"clicked": { // "clicked": {
"zero": "You clicked {} times!", // "zero": "You clicked {} times!",
"one": "You clicked {} time!", // "one": "You clicked {} time!",
"two": "You clicked {} times!", // "two": "You clicked {} times!",
"few": "You clicked {} times!", // "few": "You clicked {} times!",
"many": "You clicked {} times!", // "many": "You clicked {} times!",
"other": "You clicked {} times!" // "other": "You clicked {} times!"
}, // },
"amount": { // "amount": {
"zero": "Your amount : {} ", // "zero": "Your amount : {} ",
"one": "Your amount : {} ", // "one": "Your amount : {} ",
"two": "Your amount : {} ", // "two": "Your amount : {} ",
"few": "Your amount : {} ", // "few": "Your amount : {} ",
"many": "Your amount : {} ", // "many": "Your amount : {} ",
"other": "Your amount : {} " // "other": "Your amount : {} "
}, // },
"gender": { // "gender": {
"male": "Hi man ;) ", // "male": "Hi man ;) ",
"female": "Hello girl :)", // "female": "Hello girl :)",
"with_arg": { // "with_arg": {
"male": "Hi man ;) {}", // "male": "Hi man ;) {}",
"female": "Hello girl :) {}" // "female": "Hello girl :) {}"
} // }
}, // },
"reset_locale": "Reset Language", // "reset_locale": "Reset Language",
"insert_otp_code": "Enter the code", // "insert_otp_code": "Enter the code",
"type_code": "Please type the code we sent to", // "type_code": "Please type the code we sent to",
"resend_code": "Resend Code", // "resend_code": "Resend Code",
"check_code": "Check Code", // "check_code": "Check Code",
"time_will_expire": "Resend code in", // "time_will_expire": "Resend code in",
"sec": "sec", // "sec": "sec",
"no_city_available": "No City Available for this country", // "no_city_available": "No City Available for this country",
"branch_created": "Branch is successfully created", // "branch_created": "Branch is successfully created",
"branch_updated": "Branch is successfully Updated", // "branch_updated": "Branch is successfully Updated",
"branch_deleted": "Branch is successfully Deleted", // "branch_deleted": "Branch is successfully Deleted",
"dashboard_main": "Dashboard/Main Page", // "dashboard_main": "Dashboard/Main Page",
"logo_brand": "Logo/Brand", // "logo_brand": "Logo/Brand",
"remove": "Remove", // "remove": "Remove",
"no_branch": "No Branch Added Yet", // "no_branch": "No Branch Added Yet",
"login_once": "Please login once", // "login_once": "Please login once",
"defineLicenese": "Upload Licenses and Certificates", // "defineLicenese": "Upload Licenses and Certificates",
"description": "Description", // "description": "Description",
"attachFile": "Attach File", // "attachFile": "Attach File",
"branchLocation": "Branch info and Location", // "branchLocation": "Branch info and Location",
"tapToEdit": "Tap to edit", // "tapToEdit": "Tap to edit",
"myServiceBranches": "My Service Branches", // "myServiceBranches": "My Service Branches",
"enter_licence_detail": "Please enter the detail for commercial records and attach the license images", // "enter_licence_detail": "Please enter the detail for commercial records and attach the license images",
"country": "country", // "country": "country",
"city": "city", // "city": "city",
"editServices": "Edit Services", // "editServices": "Edit Services",
"providers": "Providers", // "providers": "Providers",
"appointments": "Appointments", // "appointments": "Appointments",
"home": "Home", // "home": "Home",
"ads": "Ads", // "ads": "Ads",
"settings": "Settings", // "settings": "Settings",
"view_all": "view all", // "view_all": "view all",
"my_active_Ads": "My Active Ads", // "my_active_Ads": "My Active Ads",
"recommended_ads": "Recommended Ads", // "recommended_ads": "Recommended Ads",
"upcoming_appointment": "Upcoming Appointment", // "upcoming_appointment": "Upcoming Appointment",
"my_service_providers": "My Recent Service Providers", // "my_service_providers": "My Recent Service Providers",
"appointment_details": "Appointment Details" // "appointment_details": "Appointment Details"
}; // };
static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US}; // static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US};
} // }

@ -1,175 +1,175 @@
// DO NOT EDIT. This is code generated via package:easy_localization/generate.dart // // DO NOT EDIT. This is code generated via package:easy_localization/generate.dart
//
abstract class LocaleKeys { // abstract class LocaleKeys {
static const firstTimeLogIn = 'firstTimeLogIn'; // static const firstTimeLogIn = 'firstTimeLogIn';
static const signUp = 'signUp'; // static const signUp = 'signUp';
static const changeMobile = 'changeMobile'; // static const changeMobile = 'changeMobile';
static const notifications = 'notifications'; // static const notifications = 'notifications';
static const general = 'general'; // static const general = 'general';
static const defineLicences = 'defineLicences'; // static const defineLicences = 'defineLicences';
static const dealershipSettings = 'dealershipSettings'; // static const dealershipSettings = 'dealershipSettings';
static const changePassword = 'changePassword'; // static const changePassword = 'changePassword';
static const retrievePassword = 'retrievePassword'; // static const retrievePassword = 'retrievePassword';
static const changeEmail = 'changeEmail'; // static const changeEmail = 'changeEmail';
static const verify = 'verify'; // static const verify = 'verify';
static const verified = 'verified'; // static const verified = 'verified';
static const signOut = 'signOut'; // static const signOut = 'signOut';
static const enterEmail = 'enterEmail'; // static const enterEmail = 'enterEmail';
static const enterNewEmail = 'enterNewEmail'; // static const enterNewEmail = 'enterNewEmail';
static const enterCurrentPassword = 'enterCurrentPassword'; // static const enterCurrentPassword = 'enterCurrentPassword';
static const enterNewPassword = 'enterNewPassword'; // static const enterNewPassword = 'enterNewPassword';
static const enterOldPassword = 'enterOldPassword'; // static const enterOldPassword = 'enterOldPassword';
static const confirm = 'confirm'; // static const confirm = 'confirm';
static const enterNewPhoneNumber = 'enterNewPhoneNumber'; // static const enterNewPhoneNumber = 'enterNewPhoneNumber';
static const completeProfile = 'completeProfile'; // static const completeProfile = 'completeProfile';
static const continu = 'continu'; // static const continu = 'continu';
static const confirmPassword = 'confirmPassword'; // static const confirmPassword = 'confirmPassword';
static const createPassword = 'createPassword'; // static const createPassword = 'createPassword';
static const email = 'email'; // static const email = 'email';
static const firstName = 'firstName'; // static const firstName = 'firstName';
static const surname = 'surname'; // static const surname = 'surname';
static const confirmPass = 'confirmPass'; // static const confirmPass = 'confirmPass';
static const createPass = 'createPass'; // static const createPass = 'createPass';
static const newPassword = 'newPassword'; // static const newPassword = 'newPassword';
static const forgetPassword = 'forgetPassword'; // static const forgetPassword = 'forgetPassword';
static const forgetPasswordQ = 'forgetPasswordQ'; // static const forgetPasswordQ = 'forgetPasswordQ';
static const recover = 'recover'; // static const recover = 'recover';
static const forgetPasswordRecover = 'forgetPasswordRecover'; // static const forgetPasswordRecover = 'forgetPasswordRecover';
static const editAccount = 'editAccount'; // static const editAccount = 'editAccount';
static const change = 'change'; // static const change = 'change';
static const verifyAccount = 'verifyAccount'; // static const verifyAccount = 'verifyAccount';
static const login = 'login'; // static const login = 'login';
static const log_in = 'log_in'; // static const log_in = 'log_in';
static const welcomeMessage = 'welcomeMessage'; // static const welcomeMessage = 'welcomeMessage';
static const welcomeDes = 'welcomeDes'; // static const welcomeDes = 'welcomeDes';
static const forgetPass = 'forgetPass'; // static const forgetPass = 'forgetPass';
static const enterPhoneNumber = 'enterPhoneNumber'; // static const enterPhoneNumber = 'enterPhoneNumber';
static const phoneNumberVerified = 'phoneNumberVerified'; // static const phoneNumberVerified = 'phoneNumberVerified';
static const verifyNewPassword = 'verifyNewPassword'; // static const verifyNewPassword = 'verifyNewPassword';
static const EnterPass = 'EnterPass'; // static const EnterPass = 'EnterPass';
static const send = 'send'; // static const send = 'send';
static const retrivePassword = 'retrivePassword'; // static const retrivePassword = 'retrivePassword';
static const retriveOnPhone = 'retriveOnPhone'; // static const retriveOnPhone = 'retriveOnPhone';
static const retriveOnEmail = 'retriveOnEmail'; // static const retriveOnEmail = 'retriveOnEmail';
static const enterPhoneForVerfication = 'enterPhoneForVerfication'; // static const enterPhoneForVerfication = 'enterPhoneForVerfication';
static const selectYourCountry = 'selectYourCountry'; // static const selectYourCountry = 'selectYourCountry';
static const welcomeBack = 'welcomeBack'; // static const welcomeBack = 'welcomeBack';
static const alreadySigned = 'alreadySigned'; // static const alreadySigned = 'alreadySigned';
static const emailChangedSuccessfully = 'emailChangedSuccessfully'; // static const emailChangedSuccessfully = 'emailChangedSuccessfully';
static const passwordIsUpdated = 'passwordIsUpdated'; // static const passwordIsUpdated = 'passwordIsUpdated';
static const passwordShouldContains = 'passwordShouldContains'; // static const passwordShouldContains = 'passwordShouldContains';
static const successfullyRegistered = ' successfullyRegistered'; // static const successfullyRegistered = ' successfullyRegistered';
static const pleaseEnterSamePassword = 'pleaseEnterSamePassword'; // static const pleaseEnterSamePassword = 'pleaseEnterSamePassword';
static const firstNameMandatory = 'firstNameMandatory'; // static const firstNameMandatory = 'firstNameMandatory';
static const surnameNameMandatory = 'surnameNameMandatory'; // static const surnameNameMandatory = 'surnameNameMandatory';
static const passwordNameMandatory = 'passwordNameMandatory'; // static const passwordNameMandatory = 'passwordNameMandatory';
static const enterValidEmail = 'enterValidEmail'; // static const enterValidEmail = 'enterValidEmail';
static const pleaseAcceptTerms = 'pleaseAcceptTerms'; // static const pleaseAcceptTerms = 'pleaseAcceptTerms';
static const emailVerified = 'emailVerified'; // static const emailVerified = 'emailVerified';
static const selectMethod = 'selectMethod'; // static const selectMethod = 'selectMethod';
static const emailAddress = 'emailAddress'; // static const emailAddress = 'emailAddress';
static const loginSelection = 'loginSelection'; // static const loginSelection = 'loginSelection';
static const selectCountryCode = 'selectCountryCode'; // static const selectCountryCode = 'selectCountryCode';
static const selectProviderRole = 'selectProviderRole'; // static const selectProviderRole = 'selectProviderRole';
static const addPhoneNo = 'addPhoneNo'; // static const addPhoneNo = 'addPhoneNo';
static const onlyProviderApp = 'onlyProviderApp'; // static const onlyProviderApp = 'onlyProviderApp';
static const imageUploaded = 'imageUploaded'; // static const imageUploaded = 'imageUploaded';
static const fileLarger = 'fileLarger'; // static const fileLarger = 'fileLarger';
static const account = 'account'; // static const account = 'account';
static const edit = 'edit'; // static const edit = 'edit';
static const imageDeleted = 'imageDeleted'; // static const imageDeleted = 'imageDeleted';
static const dashboard = 'dashboard'; // static const dashboard = 'dashboard';
static const pickAddress = 'pickAddress'; // static const pickAddress = 'pickAddress';
static const pickLocation = 'pickLocation'; // static const pickLocation = 'pickLocation';
static const save = 'save'; // static const save = 'save';
static const defineServices = 'defineServices'; // static const defineServices = 'defineServices';
static const selectBranch = 'selectBranch '; // static const selectBranch = 'selectBranch ';
static const selectServiceCategory = 'selectServiceCategory'; // static const selectServiceCategory = 'selectServiceCategory';
static const defineBranches = 'defineBranches'; // static const defineBranches = 'defineBranches';
static const defineProviders = 'defineProviders'; // static const defineProviders = 'defineProviders';
static const closeAccount = 'closeAccount'; // static const closeAccount = 'closeAccount';
static const createBranch = 'createBranch'; // static const createBranch = 'createBranch';
static const updateBranch = 'updateBranch'; // static const updateBranch = 'updateBranch';
static const address = 'address'; // static const address = 'address';
static const branchDescription = 'branchDescription'; // static const branchDescription = 'branchDescription';
static const branchName = 'branchName'; // static const branchName = 'branchName';
static const chooseCity = 'chooseCity'; // static const chooseCity = 'chooseCity';
static const chooseCountry = 'chooseCountry'; // static const chooseCountry = 'chooseCountry';
static const selectAttachment = 'selectAttachment'; // static const selectAttachment = 'selectAttachment';
static const somethingWrong = 'somethingWrong'; // static const somethingWrong = 'somethingWrong';
static const documentsUploaded = 'documentsUploaded'; // static const documentsUploaded = 'documentsUploaded';
static const update = 'update'; // static const update = 'update';
static const termsOfService = 'termsOfService'; // static const termsOfService = 'termsOfService';
static const terms = 'terms'; // static const terms = 'terms';
static const profileMsg = 'profileMsg'; // static const profileMsg = 'profileMsg';
static const branchInfo = 'branchInfo'; // static const branchInfo = 'branchInfo';
static const profileCompleted = 'profileCompleted'; // static const profileCompleted = 'profileCompleted';
static const selectLocationMap = 'selectLocationMap'; // static const selectLocationMap = 'selectLocationMap';
static const licensesAndCertifications = 'licensesAndCertifications'; // static const licensesAndCertifications = 'licensesAndCertifications';
static const completeProfile1 = 'completeProfile1'; // static const completeProfile1 = 'completeProfile1';
static const completeProfile2 = 'completeProfile2'; // static const completeProfile2 = 'completeProfile2';
static const completeProfile3 = 'completeProfile3'; // static const completeProfile3 = 'completeProfile3';
static const userInformation = 'userInformation'; // static const userInformation = 'userInformation';
static const faceRecognition = 'faceRecognition'; // static const faceRecognition = 'faceRecognition';
static const fingerPrint = 'fingerPrint'; // static const fingerPrint = 'fingerPrint';
static const whatsapp = 'whatsapp'; // static const whatsapp = 'whatsapp';
static const SMS = 'SMS'; // static const SMS = 'SMS';
static const selectRole = 'selectRole'; // static const selectRole = 'selectRole';
static const userRoleOrTitle = 'userRoleOrTitle'; // static const userRoleOrTitle = 'userRoleOrTitle';
static const codeSentToEmail = 'codeSentToEmail'; // static const codeSentToEmail = 'codeSentToEmail';
static const number = 'number'; // static const number = 'number';
static const phoneNumber = 'phoneNumber'; // static const phoneNumber = 'phoneNumber';
static const english = 'english'; // static const english = 'english';
static const provider = 'provider'; // static const provider = 'provider';
static const title = 'title'; // static const title = 'title';
static const msg = 'msg'; // static const msg = 'msg';
static const msg_named = 'msg_named'; // static const msg_named = 'msg_named';
static const clickMe = 'clickMe'; // static const clickMe = 'clickMe';
static const profile_reset_password_label = 'profile.reset_password.label'; // static const profile_reset_password_label = 'profile.reset_password.label';
static const profile_reset_password_username = 'profile.reset_password.username'; // static const profile_reset_password_username = 'profile.reset_password.username';
static const profile_reset_password_password = 'profile.reset_password.password'; // static const profile_reset_password_password = 'profile.reset_password.password';
static const profile_reset_password = 'profile.reset_password'; // static const profile_reset_password = 'profile.reset_password';
static const profile = 'profile'; // static const profile = 'profile';
static const clicked = 'clicked'; // static const clicked = 'clicked';
static const amount = 'amount'; // static const amount = 'amount';
static const gender_with_arg = 'gender.with_arg'; // static const gender_with_arg = 'gender.with_arg';
static const gender = 'gender'; // static const gender = 'gender';
static const reset_locale = 'reset_locale'; // static const reset_locale = 'reset_locale';
static const insert_otp_code = 'insert_otp_code'; // static const insert_otp_code = 'insert_otp_code';
static const type_code = 'type_code'; // static const type_code = 'type_code';
static const resend_code = 'resend_code'; // static const resend_code = 'resend_code';
static const check_code = 'check_code'; // static const check_code = 'check_code';
static const time_will_expire = 'time_will_expire'; // static const time_will_expire = 'time_will_expire';
static const sec = 'sec'; // static const sec = 'sec';
static const no_city_available = 'no_city_available'; // static const no_city_available = 'no_city_available';
static const branch_created = 'branch_created'; // static const branch_created = 'branch_created';
static const branch_updated = 'branch_updated'; // static const branch_updated = 'branch_updated';
static const branch_deleted = 'branch_deleted'; // static const branch_deleted = 'branch_deleted';
static const dashboard_main = 'dashboard_main'; // static const dashboard_main = 'dashboard_main';
static const logo_brand = 'logo_brand'; // static const logo_brand = 'logo_brand';
static const remove = 'remove'; // static const remove = 'remove';
static const no_branch = 'no_branch'; // static const no_branch = 'no_branch';
static const login_once = 'login_once'; // static const login_once = 'login_once';
static const defineLicenese = 'defineLicenese'; // static const defineLicenese = 'defineLicenese';
static const description = 'description'; // static const description = 'description';
static const attachFile = 'attachFile'; // static const attachFile = 'attachFile';
static const branchLocation = 'branchLocation'; // static const branchLocation = 'branchLocation';
static const tapToEdit = 'tapToEdit'; // static const tapToEdit = 'tapToEdit';
static const myServiceBranches = 'myServiceBranches'; // static const myServiceBranches = 'myServiceBranches';
static const enter_licence_detail = 'enter_licence_detail'; // static const enter_licence_detail = 'enter_licence_detail';
static const country = 'country'; // static const country = 'country';
static const city = 'city'; // static const city = 'city';
static const editServices = 'editServices'; // static const editServices = 'editServices';
static const providers = 'providers'; // static const providers = 'providers';
static const appointments = 'appointments'; // static const appointments = 'appointments';
static const home = 'home'; // static const home = 'home';
static const ads = 'ads'; // static const ads = 'ads';
static const settings = 'settings'; // static const settings = 'settings';
static const view_all = 'view_all'; // static const view_all = 'view_all';
static const my_active_Ads = 'my_active_Ads'; // static const my_active_Ads = 'my_active_Ads';
static const recommended_ads = 'recommended_ads'; // static const recommended_ads = 'recommended_ads';
static const upcoming_appointment = 'upcoming_appointment'; // static const upcoming_appointment = 'upcoming_appointment';
static const my_service_providers = 'my_service_providers'; // static const my_service_providers = 'my_service_providers';
static const appointment_details = 'appointment_details'; // static const appointment_details = 'appointment_details';
//
} // }

@ -1,5 +1,6 @@
import 'dart:io'; import 'dart:io';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/repositories/items_repo.dart'; import 'package:mc_common_app/repositories/items_repo.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/models/general_models/m_response.dart'; import 'package:mc_common_app/models/general_models/m_response.dart';
@ -9,6 +10,7 @@ import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/view_models/base_view_model.dart'; import 'package:mc_common_app/view_models/base_view_model.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:easy_localization/easy_localization.dart';
import '../views/settings/schedule/widgets/chips_picker_item.dart'; import '../views/settings/schedule/widgets/chips_picker_item.dart';
@ -28,7 +30,7 @@ class ItemsVM extends BaseVM {
int sizeInBytes = file.lengthSync(); int sizeInBytes = file.lengthSync();
// double sizeInMb = sizeInBytes / (1024 * 1024); // double sizeInMb = sizeInBytes / (1024 * 1024);
if (sizeInBytes > 1000) { if (sizeInBytes > 1000) {
Utils.showToast("File is larger then 1KB"); Utils.showToast(LocaleKeys.fileLarger.tr());
} else { } else {
return Utils.convertFileToBase64(file); return Utils.convertFileToBase64(file);
} }

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:car_provider_app/views/appoinments/widget/select_items_sheet.dart'; import 'package:car_provider_app/views/appoinments/widget/select_items_sheet.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -22,10 +23,10 @@ import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import '../../generated/locale_keys.g.dart';
import '../dashboard/widget/appointment_slider_widget.dart'; import '../dashboard/widget/appointment_slider_widget.dart';
import '../settings/schedule/widgets/chips_picker_item.dart'; import '../settings/schedule/widgets/chips_picker_item.dart';
import 'package:easy_localization/easy_localization.dart';
class AddNewServiceAppointmentPage extends StatefulWidget { class AddNewServiceAppointmentPage extends StatefulWidget {
AppointmentListModel appointmentListModel; AppointmentListModel appointmentListModel;
@ -60,7 +61,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: CustomAppBar( appBar: CustomAppBar(
title: "Add Service", title: LocaleKeys.addService.tr(),
), ),
body: Padding( body: Padding(
padding: const EdgeInsets.all(21.0), padding: const EdgeInsets.all(21.0),
@ -83,7 +84,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Select services you want to add".toText( LocaleKeys.selectServicestoAdd.tr().toText(
fontSize: 18, fontSize: 18,
isBold: true, isBold: true,
), ),
@ -137,12 +138,12 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
: category == null : category == null
? Container() ? Container()
: model.services != null && model.servicesDropList.isEmpty : model.services != null && model.servicesDropList.isEmpty
? const Text("No Service Found") ? Text(LocaleKeys.noServiceFound.tr())
: const CircularProgressIndicator(), : const CircularProgressIndicator(),
12.height, 12.height,
(service != null && pickedItems != null && pickedItems!.length > 0) (service != null && pickedItems != null && pickedItems!.length > 0)
? ChipsPickerItem( ? ChipsPickerItem(
hint: 'Select Items', hint: LocaleKeys.selectItems.tr(),
itemsList: [...pickedItems ?? []], itemsList: [...pickedItems ?? []],
onClick: () { onClick: () {
showMyBottomSheet( showMyBottomSheet(
@ -164,14 +165,14 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
}, },
) )
: service != null : service != null
? const Text("No Item Selected Yet") ? Text(LocaleKeys.noItemSelectedYet.tr())
: const SizedBox(), : const SizedBox(),
if ((service != null && pickedItems != null && pickedItems!.length > 0)) if ((service != null && pickedItems != null && pickedItems!.length > 0))
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
16.height, 16.height,
"Total Additional Amount".toText( LocaleKeys.totalAdditionalAmount.tr().toText(
fontSize: 14, fontSize: 14,
isBold: true, isBold: true,
color: MyColors.lightTextColor, color: MyColors.lightTextColor,
@ -184,7 +185,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
isBold: true, isBold: true,
), ),
2.width, 2.width,
"SAR".toText( LocaleKeys.sar.tr().toText(
fontSize: 16, fontSize: 16,
isBold: true, isBold: true,
color: MyColors.lightTextColor, color: MyColors.lightTextColor,
@ -201,7 +202,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
children: [ children: [
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "Cancel", title: LocaleKeys.cancel.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
isFilled: false, isFilled: false,
txtColor: MyColors.redColor, txtColor: MyColors.redColor,
@ -212,7 +213,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
12.width, 12.width,
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "Add", title: LocaleKeys.add.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
if (pickedItems != null && pickedItems!.length > 0) { if (pickedItems != null && pickedItems!.length > 0) {
@ -226,13 +227,13 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
_updateAppointment(context, widget.appointmentListModel.branchId ?? 0); _updateAppointment(context, widget.appointmentListModel.branchId ?? 0);
Utils.hideLoading(context); Utils.hideLoading(context);
if (res.messageStatus == 1) { if (res.messageStatus == 1) {
Utils.showToast("Items are added Successfully"); Utils.showToast(LocaleKeys.itemsAddedSuccessfully.tr());
pop(context); pop(context);
} else { } else {
Utils.showToast(res.message.toString()); Utils.showToast(res.message.toString());
} }
} else { } else {
Utils.showToast("Please select items"); Utils.showToast(LocaleKeys.pleaseSelectItems.tr());
} }
}, },
), ),

@ -2,12 +2,15 @@ import 'package:car_provider_app/config/provider_routes.dart';
import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widget.dart'; import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/appointments_view_model.dart'; import 'package:mc_common_app/view_models/appointments_view_model.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentDetailListPage extends StatelessWidget { class AppointmentDetailListPage extends StatelessWidget {
const AppointmentDetailListPage({Key? key}) : super(key: key); const AppointmentDetailListPage({Key? key}) : super(key: key);
@ -16,7 +19,7 @@ class AppointmentDetailListPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: CustomAppBar( appBar: CustomAppBar(
title: "Appointment Detail", title:LocaleKeys.appointment_details.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
@ -53,7 +56,7 @@ class AppointmentDetailListPage extends StatelessWidget {
}), }),
), ),
ShowFillButton( ShowFillButton(
title: "Merge Appointments", title: LocaleKeys.mergeAppointments.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(21), margin: const EdgeInsets.all(21),
onPressed: () { onPressed: () {

@ -5,6 +5,7 @@ import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widge
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart'; import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/date_helper.dart'; import 'package:mc_common_app/utils/date_helper.dart';
@ -20,6 +21,7 @@ import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:percent_indicator/percent_indicator.dart'; import 'package:percent_indicator/percent_indicator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentPage extends StatefulWidget { class AppointmentPage extends StatefulWidget {
BranchDetailModel branch; BranchDetailModel branch;
@ -99,7 +101,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
if (appointmentsVM.myFilteredAppointments2.isEmpty) if (appointmentsVM.myFilteredAppointments2.isEmpty)
Padding( Padding(
padding: const EdgeInsets.symmetric(vertical: 12), padding: const EdgeInsets.symmetric(vertical: 12),
child: "No Appointment Found".toText(), child: LocaleKeys.noAppointmentFound.tr().toText(),
), ),
ListView.separated( ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
@ -143,7 +145,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: "Slots Overview".toText( child: LocaleKeys.slotsOverview.tr().toText(
fontSize: 16, fontSize: 16,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),
@ -192,7 +194,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
color: MyColors.lightGreyEAColor, color: MyColors.lightGreyEAColor,
), ),
4.width, 4.width,
"Empty: ".toText( (LocaleKeys.empty.tr() + ":").toText(
fontSize: 8, fontSize: 8,
color: Colors.white, color: Colors.white,
), ),
@ -214,7 +216,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
color: MyColors.darkPrimaryColor, color: MyColors.darkPrimaryColor,
), ),
4.width, 4.width,
"Occupied: ".toText( (LocaleKeys.occupied.tr() + ":").toText(
fontSize: 8, fontSize: 8,
color: Colors.white, color: Colors.white,
), ),
@ -237,7 +239,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
center: Column( center: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
"Total Slots".toText( LocaleKeys.totalSlots.tr().toText(
fontSize: 13, fontSize: 13,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
), ),

@ -3,6 +3,7 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/general_models/m_response.dart'; import 'package:mc_common_app/models/general_models/m_response.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
@ -15,6 +16,8 @@ import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import '../../config/provider_routes.dart'; import '../../config/provider_routes.dart';
import '../dashboard/widget/appointment_slider_widget.dart'; import '../dashboard/widget/appointment_slider_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class MergeAppointmentListPage extends StatelessWidget { class MergeAppointmentListPage extends StatelessWidget {
MergeAppointmentListPage({Key? key}) : super(key: key); MergeAppointmentListPage({Key? key}) : super(key: key);
@ -22,8 +25,8 @@ class MergeAppointmentListPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Select Appointments", title: LocaleKeys.selectAppointments.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
@ -71,7 +74,7 @@ class MergeAppointmentListPage extends StatelessWidget {
), ),
), ),
ShowFillButton( ShowFillButton(
title: "Merge Appointments", title: LocaleKeys.mergeAppointments.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(21), margin: const EdgeInsets.all(21),
txtColor: appointmentsVM.inNeedToEnableMergeButton txtColor: appointmentsVM.inNeedToEnableMergeButton
@ -113,8 +116,7 @@ class MergeAppointmentListPage extends StatelessWidget {
await appointmentsVM.createMergeAppointment(map); await appointmentsVM.createMergeAppointment(map);
Utils.hideLoading(context); Utils.hideLoading(context);
if (response.messageStatus == 1) { if (response.messageStatus == 1) {
Utils.showToast( Utils.showToast(LocaleKeys.appointmentMergeSuccessfully.tr());
"Appointment Merge is Successfully done");
_updateAppointment( _updateAppointment(
context, context,

@ -6,6 +6,7 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart'; import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
@ -18,6 +19,8 @@ import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../dashboard/widget/appointment_slider_widget.dart'; import '../dashboard/widget/appointment_slider_widget.dart';
import 'package:easy_localization/easy_localization.dart';
class UpdateAppointmentPage extends StatelessWidget { class UpdateAppointmentPage extends StatelessWidget {
late AppointmentListModel appointmentListModel; late AppointmentListModel appointmentListModel;
@ -27,8 +30,8 @@ class UpdateAppointmentPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Update Appointment", title: LocaleKeys.updateAppointment.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
@ -53,7 +56,7 @@ class UpdateAppointmentPage extends StatelessWidget {
), ),
21.height, 21.height,
ShowFillButton( ShowFillButton(
title: "+ Add New Service", title: ("+ " + LocaleKeys.addNewService.tr()),
txtColor: MyColors.darkPrimaryColor, txtColor: MyColors.darkPrimaryColor,
isFilled: false, isFilled: false,
onPressed: () { onPressed: () {
@ -95,7 +98,7 @@ class UpdateAppointmentPage extends StatelessWidget {
if ((appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.arrived || appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted) && if ((appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.arrived || appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted) &&
appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.payNow) appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.payNow)
"Waiting for the payment from the customer".toText().paddingAll(21), LocaleKeys.waitingPaymentfromtheCustomer.tr().toText().paddingAll(21),
if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.arrived && if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.arrived &&
(appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.paid || (appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.paid ||
@ -126,7 +129,7 @@ class UpdateAppointmentPage extends StatelessWidget {
if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted && appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.payLater) if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted && appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.payLater)
showPayNowButton(context, appointmentsVM).paddingAll(21), showPayNowButton(context, appointmentsVM).paddingAll(21),
if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.visitCompleted) "Appointment is completed".toText().paddingAll(21), if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.visitCompleted) LocaleKeys.appointmentisCompleted.tr().toText().paddingAll(21),
// Padding( // Padding(
// padding: const EdgeInsets.all(21.0), // padding: const EdgeInsets.all(21.0),
@ -171,7 +174,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showWorkStartButton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showWorkStartButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Work Start", title: LocaleKeys.workStart.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
Utils.showLoading(context); Utils.showLoading(context);
@ -190,7 +193,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showPayNowButton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showPayNowButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Pay Now", title: LocaleKeys.payNow.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
Utils.showLoading(context); Utils.showLoading(context);
@ -203,7 +206,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showArrivedutton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showArrivedutton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Arrived", title: LocaleKeys.arrived.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
Utils.showLoading(context); Utils.showLoading(context);
@ -216,7 +219,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showPayLaterButton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showPayLaterButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Pay Later", title: LocaleKeys.payLater.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
Utils.showLoading(context); Utils.showLoading(context);
@ -229,7 +232,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showCompleteButton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showCompleteButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Complete", title: LocaleKeys.complete.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
Utils.showLoading(context); Utils.showLoading(context);
@ -242,7 +245,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showCancelButton(BuildContext context, AppointmentsVM appointmentsVM) { Widget showCancelButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton( return ShowFillButton(
title: "Cancel", title: LocaleKeys.cancel.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
isFilled: false, isFilled: false,
txtColor: MyColors.redColor, txtColor: MyColors.redColor,

@ -3,11 +3,14 @@ import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:sizer/sizer.dart'; import 'package:sizer/sizer.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentDetailListWidget extends StatelessWidget { class AppointmentDetailListWidget extends StatelessWidget {
bool isNeedClick; bool isNeedClick;
@ -61,7 +64,7 @@ class AppointmentDetailListWidget extends StatelessWidget {
2.height, 2.height,
showServices("Accessories and Modification"), showServices("Accessories and Modification"),
24.height, 24.height,
"Total Amount".toText( LocaleKeys.totalAmount.tr().toText(
fontSize: 12, fontSize: 12,
color: MyColors.lightTextColor, color: MyColors.lightTextColor,
isBold: true, isBold: true,
@ -72,7 +75,7 @@ class AppointmentDetailListWidget extends StatelessWidget {
children: [ children: [
"30,000".toText(fontSize: 16, isBold: true), "30,000".toText(fontSize: 16, isBold: true),
2.width, 2.width,
"SAR:".toText( LocaleKeys.sar.tr().toText(
color: MyColors.lightTextColor, color: MyColors.lightTextColor,
), ),
], ],

@ -2,14 +2,15 @@ import 'package:car_provider_app/view_models/items_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/services_models/item_model.dart'; import 'package:mc_common_app/models/services_models/item_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../settings/schedule/widgets/chips_picker_item.dart'; import '../../settings/schedule/widgets/chips_picker_item.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectItemsSheet extends StatelessWidget { class SelectItemsSheet extends StatelessWidget {
int serviceId; int serviceId;
@ -41,7 +42,7 @@ class SelectItemsSheet extends StatelessWidget {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: "Select Items" child: LocaleKeys.selectItems.tr()
.toText(fontSize: 24, isBold: true), .toText(fontSize: 24, isBold: true),
), ),
Center( Center(
@ -69,7 +70,7 @@ class SelectItemsSheet extends StatelessWidget {
), ),
12.height, 12.height,
TxtField( TxtField(
hint: "Search Items", hint: LocaleKeys.searchItems.tr(),
onChanged: (v) {}, onChanged: (v) {},
), ),
12.height, 12.height,
@ -120,7 +121,7 @@ class SelectItemsSheet extends StatelessWidget {
), ),
), ),
ShowFillButton( ShowFillButton(
title: 'Add Selected Items', title: LocaleKeys.addSelectedItems.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(20), margin: const EdgeInsets.all(20),
onPressed: () { onPressed: () {

@ -1,12 +1,15 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:easy_localization/easy_localization.dart';
class ShowCollectPaymentSheet extends StatelessWidget { class ShowCollectPaymentSheet extends StatelessWidget {
Function() onClickYes; Function() onClickYes;
@ -22,7 +25,7 @@ class ShowCollectPaymentSheet extends StatelessWidget {
padding: const EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 12), padding: const EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 12),
child: Column( child: Column(
children: [ children: [
"Do you want to collect the money before providing services?".toText( LocaleKeys.collectMoneyBefore.tr().toText(
fontSize: 24, fontSize: 24,
isBold: true, isBold: true,
), ),
@ -31,14 +34,14 @@ class ShowCollectPaymentSheet extends StatelessWidget {
children: [ children: [
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "Yes", title: LocaleKeys.yes.tr(),
onPressed: onClickYes, onPressed: onClickYes,
), ),
), ),
12.width, 12.width,
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "No", title: LocaleKeys.no.tr(),
isFilled: false, isFilled: false,
txtColor: MyColors.darkPrimaryColor, txtColor: MyColors.darkPrimaryColor,
onPressed: onClickNo, onPressed: onClickNo,
@ -88,7 +91,7 @@ class _CancelAppointmentReasonSheetState
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Reason".toText(fontSize: 24, isBold: true), LocaleKeys.reason.tr().toText(fontSize: 24, isBold: true),
ListView.separated( ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Padding( return Padding(
@ -143,7 +146,7 @@ class _CancelAppointmentReasonSheetState
), ),
if (reason == "Other") if (reason == "Other")
TxtField( TxtField(
hint: "Type Here...", hint: LocaleKeys.typeHere.tr(),
maxLines: 5, maxLines: 5,
onChanged: (v) { onChanged: (v) {
reason = v; reason = v;
@ -154,7 +157,7 @@ class _CancelAppointmentReasonSheetState
children: [ children: [
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "No", title: LocaleKeys.no.tr(),
isFilled: false, isFilled: false,
txtColor: MyColors.darkPrimaryColor, txtColor: MyColors.darkPrimaryColor,
onPressed: () { onPressed: () {
@ -165,10 +168,10 @@ class _CancelAppointmentReasonSheetState
12.width, 12.width,
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "Yes", title: LocaleKeys.yes.tr(),
onPressed: () { onPressed: () {
if (reason.isEmpty || reason == "Other") { if (reason.isEmpty || reason == "Other") {
Utils.showToast("Please Select Reason"); Utils.showToast(LocaleKeys.pleaseSelectReason.tr());
} else { } else {
widget.onCancelClick(reason); widget.onCancelClick(reason);
pop(context); pop(context);

@ -4,6 +4,7 @@ import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart'; import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
@ -15,6 +16,8 @@ import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AdsFragment extends StatelessWidget { class AdsFragment extends StatelessWidget {
final bool isNeedAppBar; final bool isNeedAppBar;
@ -44,7 +47,7 @@ class AdsFragment extends StatelessWidget {
appBar: !isNeedAppBar appBar: !isNeedAppBar
? null ? null
: CustomAppBar( : CustomAppBar(
title: "Ads", title: LocaleKeys.ads.tr(),
onBackButtonTapped: onBackButtonTapped, onBackButtonTapped: onBackButtonTapped,
), ),
body: Container( body: Container(

@ -3,6 +3,7 @@ import 'package:car_provider_app/views/dashboard/widget/appointment_slider_widge
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/dependencies.dart'; import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/date_helper.dart'; import 'package:mc_common_app/utils/date_helper.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -16,6 +17,8 @@ import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:percent_indicator/percent_indicator.dart'; import 'package:percent_indicator/percent_indicator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentFragment extends StatelessWidget { class AppointmentFragment extends StatelessWidget {
String date = ""; String date = "";
@ -35,7 +38,7 @@ class AppointmentFragment extends StatelessWidget {
return Scaffold( return Scaffold(
appBar: CustomAppBar( appBar: CustomAppBar(
//profileImageUrl: MyAssets.carBanner, //profileImageUrl: MyAssets.carBanner,
title: "Appointments", title: LocaleKeys.appointments.tr(),
onBackButtonTapped: onBackButtonTapped, onBackButtonTapped: onBackButtonTapped,
actions: [ actions: [
IconButton( IconButton(

@ -5,19 +5,19 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart'; import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart'; import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/tab/role_type_tab.dart'; import 'package:mc_common_app/widgets/tab/role_type_tab.dart';
import '../../../generated/locale_keys.g.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:easy_localization/easy_localization.dart';
class BranchAppointmentFragment extends StatelessWidget { class BranchAppointmentFragment extends StatelessWidget {
bool isNeedAppBar; bool isNeedAppBar;
@ -37,7 +37,7 @@ class BranchAppointmentFragment extends StatelessWidget {
appBar: !isNeedAppBar appBar: !isNeedAppBar
? null ? null
: CustomAppBar( : CustomAppBar(
title: "Appointments", title: LocaleKeys.appointments.tr(),
onBackButtonTapped: onBackButtonTapped, onBackButtonTapped: onBackButtonTapped,
), ),
body: SizedBox( body: SizedBox(
@ -76,7 +76,7 @@ class BranchAppointmentFragment extends StatelessWidget {
return RefreshIndicator( return RefreshIndicator(
onRefresh: onRefresh, onRefresh: onRefresh,
child: branches.isEmpty child: branches.isEmpty
? Center(child: Text(LocaleKeys.no_branch.tr())) ? Center(child: Text(LocaleKeys.noBranchFound.tr()))
: ListView.separated( : ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Row( return Row(

@ -4,6 +4,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -17,6 +18,8 @@ import 'package:mc_common_app/widgets/common_widgets/view_all_widget.dart';
import 'package:badges/badges.dart' as b; import 'package:badges/badges.dart' as b;
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
import '../widget/appointment_slider_widget.dart'; import '../widget/appointment_slider_widget.dart';
@ -62,8 +65,8 @@ class HomeFragment extends StatelessWidget {
child: ListView( child: ListView(
children: [ children: [
ViewAllWidget( ViewAllWidget(
title: 'Upcoming Appointment', title: LocaleKeys.upcoming_appointment.tr(),
subTitle: 'View All', subTitle: LocaleKeys.view_all.tr(),
onSubtitleTapped: () {}, onSubtitleTapped: () {},
).horPaddingMain(), ).horPaddingMain(),
// const AppointmentSliderWidget().horPaddingMain(), // const AppointmentSliderWidget().horPaddingMain(),
@ -78,8 +81,8 @@ class HomeFragment extends StatelessWidget {
), ),
21.height, 21.height,
ViewAllWidget( ViewAllWidget(
title: 'My Branches', title: LocaleKeys.myBranches.tr(),
subTitle: 'View All', subTitle: LocaleKeys.view_all.tr(),
onSubtitleTapped: () {}, onSubtitleTapped: () {},
).horPaddingMain(), ).horPaddingMain(),
const ServiceProviderWidget().horPaddingMain(), const ServiceProviderWidget().horPaddingMain(),

@ -1,6 +1,4 @@
import 'dart:developer'; import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/requests_view_model.dart'; import 'package:mc_common_app/view_models/requests_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
@ -13,12 +11,12 @@ import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
class MyRequestsFragment extends StatelessWidget { class MyRequestsFragment extends StatelessWidget {
final bool isNeedAppBar; final bool isNeedAppBar;
VoidCallback onBackButtonTapped; VoidCallback onBackButtonTapped;
MyRequestsFragment( MyRequestsFragment({super.key, this.isNeedAppBar = true, required this.onBackButtonTapped});
{super.key, this.isNeedAppBar = true, required this.onBackButtonTapped});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -33,47 +31,38 @@ class MyRequestsFragment extends StatelessWidget {
color: MyColors.backgroundColor, color: MyColors.backgroundColor,
width: double.infinity, width: double.infinity,
height: double.infinity, height: double.infinity,
child: Consumer(builder: child: Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
(BuildContext context, RequestsVM requestsVM, Widget? child) {
return Column( return Column(
children: [ children: [
16.height, 16.height,
FiltersList( FiltersList(
filterList: requestsVM.requestsTypeFilterOptions, filterList: requestsVM.requestsTypeFilterOptions,
onFilterTapped: (index, selectedFilterId) { onFilterTapped: (index, selectedFilterId) {
requestsVM.applyFilterOnRequestsVM( requestsVM.applyFilterOnRequestsVM(requestsTypeEnum: selectedFilterId.toRequestTypeStatusEnum());
requestsTypeEnum:
selectedFilterId.toRequestTypeStatusEnum());
}, },
), ),
8.height, 8.height,
Expanded( Expanded(
child: RefreshIndicator( child: RefreshIndicator(
onRefresh: () async => await requestsVM.getRequests( onRefresh: () async => await requestsVM.getRequests(isNeedToRebuild: true, appType: AppType.provider),
isNeedToRebuild: true, appType: AppType.provider),
child: requestsVM.state == ViewState.busy child: requestsVM.state == ViewState.busy
? const Center(child: CircularProgressIndicator()) ? const Center(child: CircularProgressIndicator())
: requestsVM.myFilteredRequests.isEmpty : requestsVM.myFilteredRequests.isEmpty
? Column( ? Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
"No Requests to show.".toText( LocaleKeys.noRequeststoShow.tr().toText(fontSize: 16, color: MyColors.lightTextColor),
fontSize: 16, color: MyColors.lightTextColor),
], ],
) )
: ListView.separated( : ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
return RequestItem( return RequestItem(request: requestsVM.myFilteredRequests[index], appType: AppType.provider, requestIndex: index);
request: requestsVM.myFilteredRequests[index],
appType: AppType.provider,
requestIndex: index);
}, },
separatorBuilder: (context, index) { separatorBuilder: (context, index) {
return 16.height; return 16.height;
}, },
itemCount: requestsVM.myFilteredRequests.length, itemCount: requestsVM.myFilteredRequests.length,
padding: const EdgeInsets.only( padding: const EdgeInsets.only(left: 16, right: 16, bottom: 16, top: 8),
left: 16, right: 16, bottom: 16, top: 8),
), ),
)) ))
], ],

@ -4,17 +4,15 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:car_provider_app/view_models/dashboard_view_model.dart'; import 'package:car_provider_app/view_models/dashboard_view_model.dart';
import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/user_models/image_response.dart'; import 'package:mc_common_app/models/user_models/image_response.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/app_permission_handler.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';

@ -1,5 +1,6 @@
import 'package:car_provider_app/config/provider_routes.dart'; import 'package:car_provider_app/config/provider_routes.dart';
import 'package:car_provider_app/generated/locale_keys.g.dart'; import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
@ -25,7 +26,7 @@ class ServiceProviderWidget extends StatelessWidget {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator());
} else { } else {
return model.branches!.data == null return model.branches!.data == null
? const Center(child: Text("No Branch Found")) ? Center(child: Text(LocaleKeys.noBranchFound.tr()))
: model.branches!.data!.serviceProviderBranch != null && model.branches!.data!.serviceProviderBranch!.isEmpty : model.branches!.data!.serviceProviderBranch != null && model.branches!.data!.serviceProviderBranch!.isEmpty
? Center(child: Text(LocaleKeys.no_branch.tr())) ? Center(child: Text(LocaleKeys.no_branch.tr()))
: ListView.builder( : ListView.builder(

@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:car_provider_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';

@ -4,6 +4,7 @@ import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -16,6 +17,7 @@ import 'package:mc_common_app/widgets/common_widgets/info_bottom_sheet.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class RequestDetailPage extends StatelessWidget { class RequestDetailPage extends StatelessWidget {
final RequestDetailPageArguments requestDetailPageArguments; final RequestDetailPageArguments requestDetailPageArguments;
@ -31,7 +33,7 @@ class RequestDetailPage extends StatelessWidget {
builder: (BuildContext context) { builder: (BuildContext context) {
return Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) { return Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
return InfoBottomSheet( return InfoBottomSheet(
title: "Make an offer".toText(fontSize: 28, isBold: true, letterSpacing: -1.44), title: LocaleKeys.makeAnOffer.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
description: Padding( description: Padding(
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom), padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
child: Column( child: Column(
@ -45,7 +47,7 @@ class RequestDetailPage extends StatelessWidget {
value: requestsVM.offerPrice, value: requestsVM.offerPrice,
errorValue: requestsVM.offerPriceError, errorValue: requestsVM.offerPriceError,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
hint: "Enter amount", hint: LocaleKeys.enterAmount.tr(),
onChanged: (v) => requestsVM.updateOfferPrice(v), onChanged: (v) => requestsVM.updateOfferPrice(v),
), ),
12.height, 12.height,
@ -54,14 +56,14 @@ class RequestDetailPage extends StatelessWidget {
value: requestsVM.offerDescription, value: requestsVM.offerDescription,
errorValue: requestsVM.offerDescriptionError, errorValue: requestsVM.offerDescriptionError,
keyboardType: TextInputType.text, keyboardType: TextInputType.text,
hint: "Description", hint: LocaleKeys.description.tr(),
onChanged: (v) => requestsVM.updateOfferDescription(v), onChanged: (v) => requestsVM.updateOfferDescription(v),
), ),
], ],
), ),
25.height, 25.height,
ShowFillButton( ShowFillButton(
title: "Submit", title: LocaleKeys.submit.tr(),
onPressed: () { onPressed: () {
requestsVM.onSendOfferPressed( requestsVM.onSendOfferPressed(
context: context, context: context,
@ -95,7 +97,7 @@ class RequestDetailPage extends StatelessWidget {
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(15), margin: const EdgeInsets.all(15),
maxHeight: 55, maxHeight: 55,
title: "View Chat", title: LocaleKeys.viewChat.tr(),
isBold: false, isBold: false,
onPressed: onViewChatTapped, onPressed: onViewChatTapped,
); );
@ -123,8 +125,8 @@ class RequestDetailPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Request Detail", title: LocaleKeys.requestDetail.tr(),
), ),
body: SizedBox( body: SizedBox(
width: double.infinity, width: double.infinity,
@ -152,7 +154,7 @@ class RequestDetailPage extends StatelessWidget {
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(15), margin: const EdgeInsets.all(15),
maxHeight: 55, maxHeight: 55,
title: "Send Offer", title: LocaleKeys.sendOffer.tr(),
isBold: false, isBold: false,
fontSize: 18, fontSize: 18,
onPressed: () => buildSendOfferBottomSheet(context), onPressed: () => buildSendOfferBottomSheet(context),
@ -246,13 +248,13 @@ class RequestDetailPage extends StatelessWidget {
children: [ children: [
"${requestDetail.price.toInt()}".toText(fontSize: 25, isBold: true), "${requestDetail.price.toInt()}".toText(fontSize: 25, isBold: true),
2.width, 2.width,
"SAR".toText(color: MyColors.lightTextColor, fontSize: 16, height: 2.3), LocaleKeys.sar.tr().toText(color: MyColors.lightTextColor, fontSize: 16, height: 2.3),
], ],
), ),
Row( Row(
children: [ children: [
Utils.statusContainerChip( Utils.statusContainerChip(
text: "Offer ${requestDetail.requestStatusName}", text: (LocaleKeys.offer.tr() + "${requestDetail.requestStatusName}"),
chipColor: MyColors.grey98Color.withOpacity(0.3), chipColor: MyColors.grey98Color.withOpacity(0.3),
textColor: MyColors.lightTextColor, textColor: MyColors.lightTextColor,
), ),

@ -1,10 +1,14 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:easy_localization/easy_localization.dart';
class SendOfferPage extends StatelessWidget { class SendOfferPage extends StatelessWidget {
const SendOfferPage({Key? key}) : super(key: key); const SendOfferPage({Key? key}) : super(key: key);
@ -12,8 +16,8 @@ class SendOfferPage extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Send Offer", title: LocaleKeys.sendOffer.tr(),
), ),
body: Column( body: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
@ -21,7 +25,7 @@ class SendOfferPage extends StatelessWidget {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
"Send Price Offer".toText( LocaleKeys.sendPriceOffer.tr().toText(
fontSize: 14, fontSize: 14,
isBold: true, isBold: true,
), ),
@ -31,7 +35,7 @@ class SendOfferPage extends StatelessWidget {
), ),
12.height, 12.height,
TxtField( TxtField(
hint: "Comment", hint: LocaleKeys.comment.tr(),
), ),
], ],
).toWhiteContainer( ).toWhiteContainer(
@ -40,7 +44,7 @@ class SendOfferPage extends StatelessWidget {
margin: const EdgeInsets.all(21), margin: const EdgeInsets.all(21),
), ),
ShowFillButton( ShowFillButton(
title: "Submit", title: LocaleKeys.submit.tr(),
onPressed: () {}, onPressed: () {},
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(21), margin: const EdgeInsets.all(21),

@ -2,6 +2,7 @@ import 'dart:convert';
import 'dart:developer'; import 'dart:developer';
import 'package:car_provider_app/config/provider_routes.dart'; import 'package:car_provider_app/config/provider_routes.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:car_provider_app/views/settings/services/services_list_page.dart'; import 'package:car_provider_app/views/settings/services/services_list_page.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
@ -120,7 +121,7 @@ class BranchDetailPage extends StatelessWidget {
), ),
8.width, 8.width,
Expanded( Expanded(
child: "Set or Edit Branch Schedule".toText( child: LocaleKeys.setorEditBranchSchedule.tr().toText(
isUnderLine: true, isUnderLine: true,
fontSize: 14, fontSize: 14,
isBold: true, isBold: true,
@ -152,7 +153,7 @@ class BranchDetailPage extends StatelessWidget {
backgroundColor: MyColors.darkIconColor, backgroundColor: MyColors.darkIconColor,
), ),
8.width, 8.width,
"Add Services".toText( LocaleKeys.addServices.tr().toText(
fontSize: 14, fontSize: 14,
color: MyColors.lightTextColor, color: MyColors.lightTextColor,
isBold: true, isBold: true,
@ -178,7 +179,7 @@ class BranchDetailPage extends StatelessWidget {
); );
}), }),
categories.isEmpty categories.isEmpty
? "No Service Added Yet".toText(fontSize: 12) ? LocaleKeys.noServiceAddedYet.tr().toText(fontSize: 12)
: ListView.separated( : ListView.separated(
itemBuilder: (context, pIndex) { itemBuilder: (context, pIndex) {
return InkWell( return InkWell(
@ -320,7 +321,7 @@ class BranchDetailPage extends StatelessWidget {
Padding( Padding(
padding: const EdgeInsets.all(12.0), padding: const EdgeInsets.all(12.0),
child: ShowFillButton( child: ShowFillButton(
title: "Assign Dealer User", title: LocaleKeys.assignDealerUser.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
borderColor: MyColors.darkPrimaryColor, borderColor: MyColors.darkPrimaryColor,

@ -1,4 +1,5 @@
import 'package:car_provider_app/config/provider_routes.dart'; import 'package:car_provider_app/config/provider_routes.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

@ -1,3 +1,4 @@
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:car_provider_app/views/settings/branch/dealer/widget/assign_dealer_user_sheet.dart'; import 'package:car_provider_app/views/settings/branch/dealer/widget/assign_dealer_user_sheet.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -13,6 +14,8 @@ import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class DealerUserPage extends StatefulWidget { class DealerUserPage extends StatefulWidget {
String branchId; String branchId;
@ -46,8 +49,8 @@ class _DealerUserPageState extends State<DealerUserPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: const CustomAppBar( appBar: CustomAppBar(
title: "Dealer User", title: LocaleKeys.dealerUser.tr(),
), ),
body: Column( body: Column(
children: [ children: [
@ -57,7 +60,7 @@ class _DealerUserPageState extends State<DealerUserPage> {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator());
} else { } else {
if (model.branchUserList.isEmpty) { if (model.branchUserList.isEmpty) {
return const Center(child: Text("No User Added Yet")); return Center(child: Text(LocaleKeys.noUserAddedYet.tr()));
} else { } else {
return ListView.separated( return ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
@ -79,7 +82,7 @@ class _DealerUserPageState extends State<DealerUserPage> {
color: Colors.grey[100], color: Colors.grey[100],
), ),
ShowFillButton( ShowFillButton(
title: "Assign Dealer User", title: LocaleKeys.assignDealerUser.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () { onPressed: () {
showMyBottomSheet( showMyBottomSheet(

@ -5,6 +5,7 @@ import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/user_models/country.dart'; import 'package:mc_common_app/models/user_models/country.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
@ -83,7 +84,7 @@ class _AddPhoneNumWidgetState extends State<AddPhoneNumWidget> {
12.width, 12.width,
Expanded( Expanded(
child: ShowFillButton( child: ShowFillButton(
title: "Send OTP", title: LocaleKeys.sendOTP.tr(),
onPressed: () { onPressed: () {
//User Role: Dealer|Manager for a branch //User Role: Dealer|Manager for a branch
FocusScope.of(context).unfocus(); FocusScope.of(context).unfocus();

@ -1,3 +1,4 @@
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:car_provider_app/views/settings/branch/dealer/widget/add_phone_num_wiget.dart'; import 'package:car_provider_app/views/settings/branch/dealer/widget/add_phone_num_wiget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -13,6 +14,8 @@ import 'package:mc_common_app/widgets/bottom_sheet.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class AssignDealerUserSheet extends StatefulWidget { class AssignDealerUserSheet extends StatefulWidget {
@ -59,7 +62,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
return const Center(child: CircularProgressIndicator()); return const Center(child: CircularProgressIndicator());
} else { } else {
if (model.allProviderDealersList.isEmpty) { if (model.allProviderDealersList.isEmpty) {
return const Center(child: Text("No User Added Yet")); return Center(child: Text(LocaleKeys.noUserAddedYet.tr()));
} else { } else {
return ListView.separated( return ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
@ -83,7 +86,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
Column( Column(
children: [ children: [
ShowFillButton( ShowFillButton(
title: "Assign Dealer User", title: LocaleKeys.assignDealerUser.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () async { onPressed: () async {
if (validation()) { if (validation()) {
@ -112,7 +115,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
), ),
12.height, 12.height,
ShowFillButton( ShowFillButton(
title: "+ Create New User", title: ("+ " + LocaleKeys.createNewUser.tr()),
maxWidth: double.infinity, maxWidth: double.infinity,
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
borderColor: MyColors.darkPrimaryColor, borderColor: MyColors.darkPrimaryColor,

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:car_provider_app/generated/locale_keys.g.dart'; import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -135,7 +136,6 @@ class _DefineBranchPageState extends State<DefineBranchPage> {
context, context,
PickLocationPage( PickLocationPage(
onPickAddress: (double latitude, double longitude, String address) { onPickAddress: (double latitude, double longitude, String address) {
print("tesssgngl " + address);
model.latitude = latitude; model.latitude = latitude;
model.longitude = longitude; model.longitude = longitude;
model.address = address; model.address = address;

@ -6,6 +6,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';

@ -7,6 +7,7 @@ import 'package:car_provider_app/views/settings/schedule/widgets/select_services
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/main.dart'; import 'package:mc_common_app/main.dart';
import 'package:mc_common_app/models/appointments_models/schedule_model.dart'; import 'package:mc_common_app/models/appointments_models/schedule_model.dart';
import 'package:mc_common_app/models/general_models/m_response.dart'; import 'package:mc_common_app/models/general_models/m_response.dart';
@ -19,6 +20,8 @@ import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:mc_common_app/widgets/bottom_sheet.dart'; import 'package:mc_common_app/widgets/bottom_sheet.dart';
import 'package:easy_localization/easy_localization.dart';
class AddSchedulesPage extends StatefulWidget { class AddSchedulesPage extends StatefulWidget {
AddSchedulesPage({Key? key}) : super(key: key); AddSchedulesPage({Key? key}) : super(key: key);
@ -91,7 +94,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
child: Column( child: Column(
children: [ children: [
TxtField( TxtField(
hint: "Name of Schedule", hint: LocaleKeys.nameofSchedule.tr(),
value: name, value: name,
onChanged: (v) { onChanged: (v) {
name = v; name = v;
@ -99,7 +102,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
ChipsPickerItem( ChipsPickerItem(
hint: 'Select Services', hint: LocaleKeys.select_Services.tr(),
itemsList: [...model.selectedServicesItems], itemsList: [...model.selectedServicesItems],
onClick: () { onClick: () {
showMyBottomSheet( showMyBottomSheet(
@ -115,7 +118,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
TxtField( TxtField(
hint: "Starting Date", hint: LocaleKeys.startingDate.tr(),
value: startDate, value: startDate,
postfixWidget: const Icon( postfixWidget: const Icon(
Icons.calendar_month, Icons.calendar_month,
@ -133,7 +136,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
TxtField( TxtField(
hint: "End Date", hint: LocaleKeys.endDate.tr(),
postfixWidget: const Icon( postfixWidget: const Icon(
Icons.calendar_month, Icons.calendar_month,
size: 16, size: 16,
@ -151,7 +154,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
ChipsPickerItem( ChipsPickerItem(
hint: 'Off Days', hint: LocaleKeys.offDays.tr(),
itemsList: [...model.selectedDaysItems], itemsList: [...model.selectedDaysItems],
onClick: () { onClick: () {
showMyBottomSheet( showMyBottomSheet(
@ -170,7 +173,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
children: [ children: [
Expanded( Expanded(
child: TxtField( child: TxtField(
hint: "Shift Start Time", hint: LocaleKeys.shiftStartTime.tr(),
postfixWidget: const Icon( postfixWidget: const Icon(
Icons.access_time_filled_outlined, Icons.access_time_filled_outlined,
size: 16, size: 16,
@ -187,7 +190,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
8.width, 8.width,
Expanded( Expanded(
child: TxtField( child: TxtField(
hint: "Shift End Time", hint: LocaleKeys.shiftEndTime.tr(),
postfixWidget: const Icon( postfixWidget: const Icon(
Icons.access_time_filled_outlined, Icons.access_time_filled_outlined,
size: 16, size: 16,
@ -210,7 +213,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
TxtField( TxtField(
hint: "Slots Time", hint: LocaleKeys.slotsTime.tr(),
postfixWidget: Row( postfixWidget: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
@ -227,7 +230,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
8.height, 8.height,
TxtField( TxtField(
hint: "Appointment Per Slot", hint: LocaleKeys.appointmentPerSlot.tr(),
value: appointmentPerSlot, value: appointmentPerSlot,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
onChanged: (v) { onChanged: (v) {
@ -239,7 +242,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
), ),
), ),
ShowFillButton( ShowFillButton(
title: "Create", title: LocaleKeys.create.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(20), margin: const EdgeInsets.all(20),
onPressed: () { onPressed: () {
@ -263,31 +266,31 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
bool validation(ScheduleVM model) { bool validation(ScheduleVM model) {
bool valid = true; bool valid = true;
if (name.length < 3) { if (name.length < 3) {
Utils.showToast("Please enter valid schedule Name"); Utils.showToast(LocaleKeys.pleaseEnterValidScheduleName.tr());
valid = false; valid = false;
} else if (model.selectedServicesItems.isEmpty) { } else if (model.selectedServicesItems.isEmpty) {
Utils.showToast("Please select Services"); Utils.showToast(LocaleKeys.pleaseSelectServices.tr());
valid = false; valid = false;
} else if (startDate.isEmpty) { } else if (startDate.isEmpty) {
Utils.showToast("Please select start date"); Utils.showToast(LocaleKeys.pleaseSelectStartDate.tr());
valid = false; valid = false;
} else if (endDate.isEmpty) { } else if (endDate.isEmpty) {
Utils.showToast("Please select end date"); Utils.showToast(LocaleKeys.pleaseSelectEndDate.tr());
valid = false; valid = false;
} else if (model.selectedDaysItems.isEmpty) { } else if (model.selectedDaysItems.isEmpty) {
Utils.showToast("Please off Days"); Utils.showToast(LocaleKeys.pleaseSelectOffDays.tr());
valid = false; valid = false;
} else if (startTime.isEmpty) { } else if (startTime.isEmpty) {
Utils.showToast("Please select start time"); Utils.showToast(LocaleKeys.pleaseSelectStartTime.tr());
valid = false; valid = false;
} else if (endTime.isEmpty) { } else if (endTime.isEmpty) {
Utils.showToast("Please select end time"); Utils.showToast(LocaleKeys.pleaseSelectEndTime.tr());
valid = false; valid = false;
} else if (slotsTime.isEmpty) { } else if (slotsTime.isEmpty) {
Utils.showToast("Please select slot time"); Utils.showToast(LocaleKeys.pleaseSelectSlotTime.tr());
valid = false; valid = false;
} else if (appointmentPerSlot.isEmpty) { } else if (appointmentPerSlot.isEmpty) {
Utils.showToast("Please select appointment per slot"); Utils.showToast(LocaleKeys.pleaseSelectAppointmentPerSlot.tr());
valid = false; valid = false;
} }
return valid; return valid;

@ -3,10 +3,12 @@ import 'package:car_provider_app/views/settings/schedule/widgets/chips_picker_it
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectDaysSheet extends StatefulWidget { class SelectDaysSheet extends StatefulWidget {
Function(List<PickerItem>) onSelected; Function(List<PickerItem>) onSelected;
@ -37,7 +39,7 @@ class _SelectDaysSheetState extends State<SelectDaysSheet> {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: "Select Days".toText(fontSize: 24, isBold: true), child: LocaleKeys.selectDays.tr().toText(fontSize: 24, isBold: true),
), ),
Center( Center(
child: list.where((element) => element.isSelected == true).toList().length.toString().toText( child: list.where((element) => element.isSelected == true).toList().length.toString().toText(
@ -83,7 +85,7 @@ class _SelectDaysSheetState extends State<SelectDaysSheet> {
), ),
), ),
ShowFillButton( ShowFillButton(
title: 'Add Selected Days', title: LocaleKeys.addSelectedDays.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
onPressed: () { onPressed: () {
widget.onSelected(list); widget.onSelected(list);

@ -1,4 +1,5 @@
import 'package:car_provider_app/view_models/schedule_view_model.dart'; import 'package:car_provider_app/view_models/schedule_view_model.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/int_extensions.dart';
@ -8,6 +9,8 @@ import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectServicesSheet extends StatelessWidget { class SelectServicesSheet extends StatelessWidget {
Function onSelectServices; Function onSelectServices;
@ -31,7 +34,7 @@ class SelectServicesSheet extends StatelessWidget {
Row( Row(
children: [ children: [
Expanded( Expanded(
child: "Select Services".toText(fontSize: 24, isBold: true), child: LocaleKeys.select_Services.tr().toText(fontSize: 24, isBold: true),
), ),
Center( Center(
child: (model.servicesList == null ? "0" : model.servicesList!.where((element) => element.isSelected == true).toList().length.toString()).toText( child: (model.servicesList == null ? "0" : model.servicesList!.where((element) => element.isSelected == true).toList().length.toString()).toText(
@ -50,7 +53,7 @@ class SelectServicesSheet extends StatelessWidget {
), ),
12.height, 12.height,
TxtField( TxtField(
hint: "Search Service", hint: LocaleKeys.searchService.tr(),
onChanged: (v) {}, onChanged: (v) {},
), ),
12.height, 12.height,
@ -90,7 +93,7 @@ class SelectServicesSheet extends StatelessWidget {
), ),
), ),
ShowFillButton( ShowFillButton(
title: 'Add Selected Services', title: LocaleKeys.addSelectedServices.tr(),
maxWidth: double.infinity, maxWidth: double.infinity,
margin: const EdgeInsets.all(20), margin: const EdgeInsets.all(20),
onPressed: () { onPressed: () {

@ -1,6 +1,7 @@
import 'dart:async'; import 'dart:async';
import 'package:car_provider_app/generated/locale_keys.g.dart'; import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/view_models/service_view_model.dart'; import 'package:mc_common_app/view_models/service_view_model.dart';
import 'package:car_provider_app/views/settings/services/services_list_page.dart'; import 'package:car_provider_app/views/settings/services/services_list_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';

Loading…
Cancel
Save