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

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

@ -1,5 +1,6 @@
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:car_provider_app/views/appoinments/widget/select_items_sheet.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:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
import '../../generated/locale_keys.g.dart';
import '../dashboard/widget/appointment_slider_widget.dart';
import '../settings/schedule/widgets/chips_picker_item.dart';
import 'package:easy_localization/easy_localization.dart';
class AddNewServiceAppointmentPage extends StatefulWidget {
AppointmentListModel appointmentListModel;
@ -60,7 +61,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppBar(
title: "Add Service",
title: LocaleKeys.addService.tr(),
),
body: Padding(
padding: const EdgeInsets.all(21.0),
@ -83,7 +84,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
"Select services you want to add".toText(
LocaleKeys.selectServicestoAdd.tr().toText(
fontSize: 18,
isBold: true,
),
@ -137,12 +138,12 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
: category == null
? Container()
: model.services != null && model.servicesDropList.isEmpty
? const Text("No Service Found")
? Text(LocaleKeys.noServiceFound.tr())
: const CircularProgressIndicator(),
12.height,
(service != null && pickedItems != null && pickedItems!.length > 0)
? ChipsPickerItem(
hint: 'Select Items',
hint: LocaleKeys.selectItems.tr(),
itemsList: [...pickedItems ?? []],
onClick: () {
showMyBottomSheet(
@ -164,14 +165,14 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
},
)
: service != null
? const Text("No Item Selected Yet")
? Text(LocaleKeys.noItemSelectedYet.tr())
: const SizedBox(),
if ((service != null && pickedItems != null && pickedItems!.length > 0))
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
16.height,
"Total Additional Amount".toText(
LocaleKeys.totalAdditionalAmount.tr().toText(
fontSize: 14,
isBold: true,
color: MyColors.lightTextColor,
@ -184,7 +185,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
isBold: true,
),
2.width,
"SAR".toText(
LocaleKeys.sar.tr().toText(
fontSize: 16,
isBold: true,
color: MyColors.lightTextColor,
@ -201,7 +202,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
children: [
Expanded(
child: ShowFillButton(
title: "Cancel",
title: LocaleKeys.cancel.tr(),
maxWidth: double.infinity,
isFilled: false,
txtColor: MyColors.redColor,
@ -212,7 +213,7 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
12.width,
Expanded(
child: ShowFillButton(
title: "Add",
title: LocaleKeys.add.tr(),
maxWidth: double.infinity,
onPressed: () async {
if (pickedItems != null && pickedItems!.length > 0) {
@ -226,13 +227,13 @@ class _AddNewServiceAppointmentPageState extends State<AddNewServiceAppointmentP
_updateAppointment(context, widget.appointmentListModel.branchId ?? 0);
Utils.hideLoading(context);
if (res.messageStatus == 1) {
Utils.showToast("Items are added Successfully");
Utils.showToast(LocaleKeys.itemsAddedSuccessfully.tr());
pop(context);
} else {
Utils.showToast(res.message.toString());
}
} 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:flutter/material.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/navigator.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/common_widgets/app_bar.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentDetailListPage extends StatelessWidget {
const AppointmentDetailListPage({Key? key}) : super(key: key);
@ -16,7 +19,7 @@ class AppointmentDetailListPage extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppBar(
title: "Appointment Detail",
title:LocaleKeys.appointment_details.tr(),
),
body: SizedBox(
width: double.infinity,
@ -53,7 +56,7 @@ class AppointmentDetailListPage extends StatelessWidget {
}),
),
ShowFillButton(
title: "Merge Appointments",
title: LocaleKeys.mergeAppointments.tr(),
maxWidth: double.infinity,
margin: const EdgeInsets.all(21),
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/config/dependencies.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/theme/colors.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:percent_indicator/percent_indicator.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentPage extends StatefulWidget {
BranchDetailModel branch;
@ -99,7 +101,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
if (appointmentsVM.myFilteredAppointments2.isEmpty)
Padding(
padding: const EdgeInsets.symmetric(vertical: 12),
child: "No Appointment Found".toText(),
child: LocaleKeys.noAppointmentFound.tr().toText(),
),
ListView.separated(
itemBuilder: (context, index) {
@ -143,10 +145,10 @@ class _AppointmentPageState extends State<AppointmentPage> {
Row(
children: [
Expanded(
child: "Slots Overview".toText(
fontSize: 16,
fontWeight: FontWeight.bold,
),
child: LocaleKeys.slotsOverview.tr().toText(
fontSize: 16,
fontWeight: FontWeight.bold,
),
),
Row(
children: [
@ -192,7 +194,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
color: MyColors.lightGreyEAColor,
),
4.width,
"Empty: ".toText(
(LocaleKeys.empty.tr() + ":").toText(
fontSize: 8,
color: Colors.white,
),
@ -214,7 +216,7 @@ class _AppointmentPageState extends State<AppointmentPage> {
color: MyColors.darkPrimaryColor,
),
4.width,
"Occupied: ".toText(
(LocaleKeys.occupied.tr() + ":").toText(
fontSize: 8,
color: Colors.white,
),
@ -237,10 +239,10 @@ class _AppointmentPageState extends State<AppointmentPage> {
center: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
"Total Slots".toText(
fontSize: 13,
fontWeight: FontWeight.bold,
),
LocaleKeys.totalSlots.tr().toText(
fontSize: 13,
fontWeight: FontWeight.bold,
),
(appointmentsVM.appointmentSlots?.totalSlots ?? 0).toString().toText(
fontSize: 24,
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/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/theme/colors.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 '../dashboard/widget/appointment_slider_widget.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class MergeAppointmentListPage extends StatelessWidget {
MergeAppointmentListPage({Key? key}) : super(key: key);
@ -22,8 +25,8 @@ class MergeAppointmentListPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const CustomAppBar(
title: "Select Appointments",
appBar: CustomAppBar(
title: LocaleKeys.selectAppointments.tr(),
),
body: SizedBox(
width: double.infinity,
@ -71,7 +74,7 @@ class MergeAppointmentListPage extends StatelessWidget {
),
),
ShowFillButton(
title: "Merge Appointments",
title: LocaleKeys.mergeAppointments.tr(),
maxWidth: double.infinity,
margin: const EdgeInsets.all(21),
txtColor: appointmentsVM.inNeedToEnableMergeButton
@ -113,8 +116,7 @@ class MergeAppointmentListPage extends StatelessWidget {
await appointmentsVM.createMergeAppointment(map);
Utils.hideLoading(context);
if (response.messageStatus == 1) {
Utils.showToast(
"Appointment Merge is Successfully done");
Utils.showToast(LocaleKeys.appointmentMergeSuccessfully.tr());
_updateAppointment(
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/extensions/int_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/theme/colors.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:provider/provider.dart';
import '../dashboard/widget/appointment_slider_widget.dart';
import 'package:easy_localization/easy_localization.dart';
class UpdateAppointmentPage extends StatelessWidget {
late AppointmentListModel appointmentListModel;
@ -27,8 +30,8 @@ class UpdateAppointmentPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const CustomAppBar(
title: "Update Appointment",
appBar: CustomAppBar(
title: LocaleKeys.updateAppointment.tr(),
),
body: SizedBox(
width: double.infinity,
@ -53,7 +56,7 @@ class UpdateAppointmentPage extends StatelessWidget {
),
21.height,
ShowFillButton(
title: "+ Add New Service",
title: ("+ " + LocaleKeys.addNewService.tr()),
txtColor: MyColors.darkPrimaryColor,
isFilled: false,
onPressed: () {
@ -95,7 +98,7 @@ class UpdateAppointmentPage extends StatelessWidget {
if ((appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.arrived || appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted) &&
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 &&
(appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.paid ||
@ -126,7 +129,7 @@ class UpdateAppointmentPage extends StatelessWidget {
if (appointmentListModel.appointmentStatusEnum == AppointmentStatusEnum.workStarted && appointmentListModel.appointmentPaymentStatusEnum == AppointmentPaymentStatusEnum.payLater)
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: const EdgeInsets.all(21.0),
@ -171,7 +174,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showWorkStartButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Work Start",
title: LocaleKeys.workStart.tr(),
maxWidth: double.infinity,
onPressed: () async {
Utils.showLoading(context);
@ -190,7 +193,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showPayNowButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Pay Now",
title: LocaleKeys.payNow.tr(),
maxWidth: double.infinity,
onPressed: () async {
Utils.showLoading(context);
@ -203,7 +206,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showArrivedutton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Arrived",
title: LocaleKeys.arrived.tr(),
maxWidth: double.infinity,
onPressed: () async {
Utils.showLoading(context);
@ -216,7 +219,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showPayLaterButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Pay Later",
title: LocaleKeys.payLater.tr(),
maxWidth: double.infinity,
onPressed: () async {
Utils.showLoading(context);
@ -229,7 +232,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showCompleteButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Complete",
title: LocaleKeys.complete.tr(),
maxWidth: double.infinity,
onPressed: () async {
Utils.showLoading(context);
@ -242,7 +245,7 @@ class UpdateAppointmentPage extends StatelessWidget {
Widget showCancelButton(BuildContext context, AppointmentsVM appointmentsVM) {
return ShowFillButton(
title: "Cancel",
title: LocaleKeys.cancel.tr(),
maxWidth: double.infinity,
isFilled: false,
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/extensions/int_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/utils/navigator.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:sizer/sizer.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentDetailListWidget extends StatelessWidget {
bool isNeedClick;
@ -61,7 +64,7 @@ class AppointmentDetailListWidget extends StatelessWidget {
2.height,
showServices("Accessories and Modification"),
24.height,
"Total Amount".toText(
LocaleKeys.totalAmount.tr().toText(
fontSize: 12,
color: MyColors.lightTextColor,
isBold: true,
@ -72,7 +75,7 @@ class AppointmentDetailListWidget extends StatelessWidget {
children: [
"30,000".toText(fontSize: 16, isBold: true),
2.width,
"SAR:".toText(
LocaleKeys.sar.tr().toText(
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:mc_common_app/extensions/int_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/theme/colors.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/txt_field.dart';
import 'package:provider/provider.dart';
import '../../settings/schedule/widgets/chips_picker_item.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectItemsSheet extends StatelessWidget {
int serviceId;
@ -41,7 +42,7 @@ class SelectItemsSheet extends StatelessWidget {
Row(
children: [
Expanded(
child: "Select Items"
child: LocaleKeys.selectItems.tr()
.toText(fontSize: 24, isBold: true),
),
Center(
@ -69,7 +70,7 @@ class SelectItemsSheet extends StatelessWidget {
),
12.height,
TxtField(
hint: "Search Items",
hint: LocaleKeys.searchItems.tr(),
onChanged: (v) {},
),
12.height,
@ -120,7 +121,7 @@ class SelectItemsSheet extends StatelessWidget {
),
),
ShowFillButton(
title: 'Add Selected Items',
title: LocaleKeys.addSelectedItems.tr(),
maxWidth: double.infinity,
margin: const EdgeInsets.all(20),
onPressed: () {

@ -1,12 +1,15 @@
import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_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/utils/navigator.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/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:easy_localization/easy_localization.dart';
class ShowCollectPaymentSheet extends StatelessWidget {
Function() onClickYes;
@ -22,7 +25,7 @@ class ShowCollectPaymentSheet extends StatelessWidget {
padding: const EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 12),
child: Column(
children: [
"Do you want to collect the money before providing services?".toText(
LocaleKeys.collectMoneyBefore.tr().toText(
fontSize: 24,
isBold: true,
),
@ -31,14 +34,14 @@ class ShowCollectPaymentSheet extends StatelessWidget {
children: [
Expanded(
child: ShowFillButton(
title: "Yes",
title: LocaleKeys.yes.tr(),
onPressed: onClickYes,
),
),
12.width,
Expanded(
child: ShowFillButton(
title: "No",
title: LocaleKeys.no.tr(),
isFilled: false,
txtColor: MyColors.darkPrimaryColor,
onPressed: onClickNo,
@ -88,7 +91,7 @@ class _CancelAppointmentReasonSheetState
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
"Reason".toText(fontSize: 24, isBold: true),
LocaleKeys.reason.tr().toText(fontSize: 24, isBold: true),
ListView.separated(
itemBuilder: (context, index) {
return Padding(
@ -143,7 +146,7 @@ class _CancelAppointmentReasonSheetState
),
if (reason == "Other")
TxtField(
hint: "Type Here...",
hint: LocaleKeys.typeHere.tr(),
maxLines: 5,
onChanged: (v) {
reason = v;
@ -154,7 +157,7 @@ class _CancelAppointmentReasonSheetState
children: [
Expanded(
child: ShowFillButton(
title: "No",
title: LocaleKeys.no.tr(),
isFilled: false,
txtColor: MyColors.darkPrimaryColor,
onPressed: () {
@ -165,10 +168,10 @@ class _CancelAppointmentReasonSheetState
12.width,
Expanded(
child: ShowFillButton(
title: "Yes",
title: LocaleKeys.yes.tr(),
onPressed: () {
if (reason.isEmpty || reason == "Other") {
Utils.showToast("Please Select Reason");
Utils.showToast(LocaleKeys.pleaseSelectReason.tr());
} else {
widget.onCancelClick(reason);
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/extensions/int_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/theme/colors.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/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AdsFragment extends StatelessWidget {
final bool isNeedAppBar;
@ -44,7 +47,7 @@ class AdsFragment extends StatelessWidget {
appBar: !isNeedAppBar
? null
: CustomAppBar(
title: "Ads",
title: LocaleKeys.ads.tr(),
onBackButtonTapped: onBackButtonTapped,
),
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/config/dependencies.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/utils/date_helper.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:percent_indicator/percent_indicator.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class AppointmentFragment extends StatelessWidget {
String date = "";
@ -35,7 +38,7 @@ class AppointmentFragment extends StatelessWidget {
return Scaffold(
appBar: CustomAppBar(
//profileImageUrl: MyAssets.carBanner,
title: "Appointments",
title: LocaleKeys.appointments.tr(),
onBackButtonTapped: onBackButtonTapped,
actions: [
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/extensions/int_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/theme/colors.dart';
import 'package:mc_common_app/utils/enums.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/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/extensions/extensions_widget.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:flutter_svg/flutter_svg.dart';
import 'package:easy_localization/easy_localization.dart';
class BranchAppointmentFragment extends StatelessWidget {
bool isNeedAppBar;
@ -37,7 +37,7 @@ class BranchAppointmentFragment extends StatelessWidget {
appBar: !isNeedAppBar
? null
: CustomAppBar(
title: "Appointments",
title: LocaleKeys.appointments.tr(),
onBackButtonTapped: onBackButtonTapped,
),
body: SizedBox(
@ -76,7 +76,7 @@ class BranchAppointmentFragment extends StatelessWidget {
return RefreshIndicator(
onRefresh: onRefresh,
child: branches.isEmpty
? Center(child: Text(LocaleKeys.no_branch.tr()))
? Center(child: Text(LocaleKeys.noBranchFound.tr()))
: ListView.separated(
itemBuilder: (context, index) {
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/consts.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/utils/enums.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:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
import '../widget/appointment_slider_widget.dart';
@ -62,8 +65,8 @@ class HomeFragment extends StatelessWidget {
child: ListView(
children: [
ViewAllWidget(
title: 'Upcoming Appointment',
subTitle: 'View All',
title: LocaleKeys.upcoming_appointment.tr(),
subTitle: LocaleKeys.view_all.tr(),
onSubtitleTapped: () {},
).horPaddingMain(),
// const AppointmentSliderWidget().horPaddingMain(),
@ -78,8 +81,8 @@ class HomeFragment extends StatelessWidget {
),
21.height,
ViewAllWidget(
title: 'My Branches',
subTitle: 'View All',
title: LocaleKeys.myBranches.tr(),
subTitle: LocaleKeys.view_all.tr(),
onSubtitleTapped: () {},
).horPaddingMain(),
const ServiceProviderWidget().horPaddingMain(),

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

@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.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/widgets/button/show_fill_button.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/extensions/int_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/utils/enums.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/txt_field.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class RequestDetailPage extends StatelessWidget {
final RequestDetailPageArguments requestDetailPageArguments;
@ -31,7 +33,7 @@ class RequestDetailPage extends StatelessWidget {
builder: (BuildContext context) {
return Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
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(
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
child: Column(
@ -45,7 +47,7 @@ class RequestDetailPage extends StatelessWidget {
value: requestsVM.offerPrice,
errorValue: requestsVM.offerPriceError,
keyboardType: TextInputType.number,
hint: "Enter amount",
hint: LocaleKeys.enterAmount.tr(),
onChanged: (v) => requestsVM.updateOfferPrice(v),
),
12.height,
@ -54,14 +56,14 @@ class RequestDetailPage extends StatelessWidget {
value: requestsVM.offerDescription,
errorValue: requestsVM.offerDescriptionError,
keyboardType: TextInputType.text,
hint: "Description",
hint: LocaleKeys.description.tr(),
onChanged: (v) => requestsVM.updateOfferDescription(v),
),
],
),
25.height,
ShowFillButton(
title: "Submit",
title: LocaleKeys.submit.tr(),
onPressed: () {
requestsVM.onSendOfferPressed(
context: context,
@ -95,7 +97,7 @@ class RequestDetailPage extends StatelessWidget {
maxWidth: double.infinity,
margin: const EdgeInsets.all(15),
maxHeight: 55,
title: "View Chat",
title: LocaleKeys.viewChat.tr(),
isBold: false,
onPressed: onViewChatTapped,
);
@ -123,8 +125,8 @@ class RequestDetailPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const CustomAppBar(
title: "Request Detail",
appBar: CustomAppBar(
title: LocaleKeys.requestDetail.tr(),
),
body: SizedBox(
width: double.infinity,
@ -152,7 +154,7 @@ class RequestDetailPage extends StatelessWidget {
maxWidth: double.infinity,
margin: const EdgeInsets.all(15),
maxHeight: 55,
title: "Send Offer",
title: LocaleKeys.sendOffer.tr(),
isBold: false,
fontSize: 18,
onPressed: () => buildSendOfferBottomSheet(context),
@ -246,13 +248,13 @@ class RequestDetailPage extends StatelessWidget {
children: [
"${requestDetail.price.toInt()}".toText(fontSize: 25, isBold: true),
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(
children: [
Utils.statusContainerChip(
text: "Offer ${requestDetail.requestStatusName}",
text: (LocaleKeys.offer.tr() + "${requestDetail.requestStatusName}"),
chipColor: MyColors.grey98Color.withOpacity(0.3),
textColor: MyColors.lightTextColor,
),

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

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

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

@ -5,6 +5,7 @@ import 'package:car_provider_app/generated/locale_keys.g.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/int_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/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart';
@ -83,7 +84,7 @@ class _AddPhoneNumWidgetState extends State<AddPhoneNumWidget> {
12.width,
Expanded(
child: ShowFillButton(
title: "Send OTP",
title: LocaleKeys.sendOTP.tr(),
onPressed: () {
//User Role: Dealer|Manager for a branch
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:car_provider_app/views/settings/branch/dealer/widget/add_phone_num_wiget.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/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
// ignore: must_be_immutable
class AssignDealerUserSheet extends StatefulWidget {
@ -59,7 +62,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
return const Center(child: CircularProgressIndicator());
} else {
if (model.allProviderDealersList.isEmpty) {
return const Center(child: Text("No User Added Yet"));
return Center(child: Text(LocaleKeys.noUserAddedYet.tr()));
} else {
return ListView.separated(
itemBuilder: (context, index) {
@ -83,7 +86,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
Column(
children: [
ShowFillButton(
title: "Assign Dealer User",
title: LocaleKeys.assignDealerUser.tr(),
maxWidth: double.infinity,
onPressed: () async {
if (validation()) {
@ -112,7 +115,7 @@ class _AssignDealerUserSheetState extends State<AssignDealerUserSheet> {
),
12.height,
ShowFillButton(
title: "+ Create New User",
title: ("+ " + LocaleKeys.createNewUser.tr()),
maxWidth: double.infinity,
backgroundColor: Colors.transparent,
borderColor: MyColors.darkPrimaryColor,

@ -1,6 +1,7 @@
import 'dart:async';
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:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
@ -135,7 +136,6 @@ class _DefineBranchPageState extends State<DefineBranchPage> {
context,
PickLocationPage(
onPickAddress: (double latitude, double longitude, String address) {
print("tesssgngl " + address);
model.latitude = latitude;
model.longitude = longitude;
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/config/routes.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/utils/navigator.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:mc_common_app/extensions/int_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/models/appointments_models/schedule_model.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:provider/provider.dart';
import 'package:mc_common_app/widgets/bottom_sheet.dart';
import 'package:easy_localization/easy_localization.dart';
class AddSchedulesPage extends StatefulWidget {
AddSchedulesPage({Key? key}) : super(key: key);
@ -91,7 +94,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
child: Column(
children: [
TxtField(
hint: "Name of Schedule",
hint: LocaleKeys.nameofSchedule.tr(),
value: name,
onChanged: (v) {
name = v;
@ -99,7 +102,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
ChipsPickerItem(
hint: 'Select Services',
hint: LocaleKeys.select_Services.tr(),
itemsList: [...model.selectedServicesItems],
onClick: () {
showMyBottomSheet(
@ -115,7 +118,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
TxtField(
hint: "Starting Date",
hint: LocaleKeys.startingDate.tr(),
value: startDate,
postfixWidget: const Icon(
Icons.calendar_month,
@ -133,7 +136,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
TxtField(
hint: "End Date",
hint: LocaleKeys.endDate.tr(),
postfixWidget: const Icon(
Icons.calendar_month,
size: 16,
@ -151,7 +154,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
ChipsPickerItem(
hint: 'Off Days',
hint: LocaleKeys.offDays.tr(),
itemsList: [...model.selectedDaysItems],
onClick: () {
showMyBottomSheet(
@ -170,7 +173,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
children: [
Expanded(
child: TxtField(
hint: "Shift Start Time",
hint: LocaleKeys.shiftStartTime.tr(),
postfixWidget: const Icon(
Icons.access_time_filled_outlined,
size: 16,
@ -187,7 +190,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
8.width,
Expanded(
child: TxtField(
hint: "Shift End Time",
hint: LocaleKeys.shiftEndTime.tr(),
postfixWidget: const Icon(
Icons.access_time_filled_outlined,
size: 16,
@ -210,7 +213,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
TxtField(
hint: "Slots Time",
hint: LocaleKeys.slotsTime.tr(),
postfixWidget: Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
@ -227,7 +230,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
8.height,
TxtField(
hint: "Appointment Per Slot",
hint: LocaleKeys.appointmentPerSlot.tr(),
value: appointmentPerSlot,
keyboardType: TextInputType.number,
onChanged: (v) {
@ -239,7 +242,7 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
),
),
ShowFillButton(
title: "Create",
title: LocaleKeys.create.tr(),
maxWidth: double.infinity,
margin: const EdgeInsets.all(20),
onPressed: () {
@ -263,31 +266,31 @@ class _AddSchedulesPageState extends State<AddSchedulesPage> {
bool validation(ScheduleVM model) {
bool valid = true;
if (name.length < 3) {
Utils.showToast("Please enter valid schedule Name");
Utils.showToast(LocaleKeys.pleaseEnterValidScheduleName.tr());
valid = false;
} else if (model.selectedServicesItems.isEmpty) {
Utils.showToast("Please select Services");
Utils.showToast(LocaleKeys.pleaseSelectServices.tr());
valid = false;
} else if (startDate.isEmpty) {
Utils.showToast("Please select start date");
Utils.showToast(LocaleKeys.pleaseSelectStartDate.tr());
valid = false;
} else if (endDate.isEmpty) {
Utils.showToast("Please select end date");
Utils.showToast(LocaleKeys.pleaseSelectEndDate.tr());
valid = false;
} else if (model.selectedDaysItems.isEmpty) {
Utils.showToast("Please off Days");
Utils.showToast(LocaleKeys.pleaseSelectOffDays.tr());
valid = false;
} else if (startTime.isEmpty) {
Utils.showToast("Please select start time");
Utils.showToast(LocaleKeys.pleaseSelectStartTime.tr());
valid = false;
} else if (endTime.isEmpty) {
Utils.showToast("Please select end time");
Utils.showToast(LocaleKeys.pleaseSelectEndTime.tr());
valid = false;
} else if (slotsTime.isEmpty) {
Utils.showToast("Please select slot time");
Utils.showToast(LocaleKeys.pleaseSelectSlotTime.tr());
valid = false;
} else if (appointmentPerSlot.isEmpty) {
Utils.showToast("Please select appointment per slot");
Utils.showToast(LocaleKeys.pleaseSelectAppointmentPerSlot.tr());
valid = false;
}
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:mc_common_app/extensions/int_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/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectDaysSheet extends StatefulWidget {
Function(List<PickerItem>) onSelected;
@ -37,7 +39,7 @@ class _SelectDaysSheetState extends State<SelectDaysSheet> {
Row(
children: [
Expanded(
child: "Select Days".toText(fontSize: 24, isBold: true),
child: LocaleKeys.selectDays.tr().toText(fontSize: 24, isBold: true),
),
Center(
child: list.where((element) => element.isSelected == true).toList().length.toString().toText(
@ -83,7 +85,7 @@ class _SelectDaysSheetState extends State<SelectDaysSheet> {
),
),
ShowFillButton(
title: 'Add Selected Days',
title: LocaleKeys.addSelectedDays.tr(),
maxWidth: double.infinity,
onPressed: () {
widget.onSelected(list);

@ -1,4 +1,5 @@
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:flutter/material.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/txt_field.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
class SelectServicesSheet extends StatelessWidget {
Function onSelectServices;
@ -31,7 +34,7 @@ class SelectServicesSheet extends StatelessWidget {
Row(
children: [
Expanded(
child: "Select Services".toText(fontSize: 24, isBold: true),
child: LocaleKeys.select_Services.tr().toText(fontSize: 24, isBold: true),
),
Center(
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,
TxtField(
hint: "Search Service",
hint: LocaleKeys.searchService.tr(),
onChanged: (v) {},
),
12.height,
@ -90,7 +93,7 @@ class SelectServicesSheet extends StatelessWidget {
),
),
ShowFillButton(
title: 'Add Selected Services',
title: LocaleKeys.addSelectedServices.tr(),
maxWidth: double.infinity,
margin: const EdgeInsets.all(20),
onPressed: () {

@ -1,6 +1,7 @@
import 'dart:async';
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:car_provider_app/views/settings/services/services_list_page.dart';
import 'package:flutter/material.dart';

Loading…
Cancel
Save