New UI Implemented Fix 2

mirza_dev
mirza.shafique 2 years ago
parent a2d12db77d
commit 8fea020fc8

@ -0,0 +1,26 @@
<svg width="375" height="812" viewBox="0 0 375 812" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2_18)">
<rect width="375" height="812" rx="24" fill="white"/>
<g filter="url(#filter0_f_2_18)">
<circle cx="17" cy="55" r="138" fill="#F58C21" fill-opacity="0.11"/>
</g>
<g filter="url(#filter1_f_2_18)">
<circle cx="306" cy="223" r="138" fill="#F58C21" fill-opacity="0.11"/>
</g>
</g>
<defs>
<filter id="filter0_f_2_18" x="-297" y="-259" width="628" height="628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="88" result="effect1_foregroundBlur_2_18"/>
</filter>
<filter id="filter1_f_2_18" x="-8" y="-91" width="628" height="628" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="88" result="effect1_foregroundBlur_2_18"/>
</filter>
<clipPath id="clip0_2_18">
<rect width="375" height="812" rx="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

@ -42,7 +42,12 @@ extension EmailValidator on String {
style: TextStyle(fontSize: 13, fontWeight: FontWeight.w600, color: color ?? MyColors.darkTextColor, letterSpacing: -0.52, decoration: isUnderLine ? TextDecoration.underline : null),
);
Widget toText14({Color? color, bool isBold = false, TextAlign? textAlign,}) => Text(
Widget toText14({
Color? color,
bool isBold = false,
TextAlign? textAlign,
}) =>
Text(
this,
textAlign: textAlign,
style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 14, letterSpacing: -0.48, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
@ -58,9 +63,16 @@ extension EmailValidator on String {
style: TextStyle(color: color ?? MyColors.darkTextColor, fontSize: 17, letterSpacing: -0.68, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
);
Widget toText20({Color? color, bool isBold = false}) => Text(
Widget toText20({Color? color, bool isBold = false, FontWeight? fontWeight}) => Text(
this,
style: TextStyle(height: 23 / 24, color: color ?? MyColors.darkTextColor, fontSize: 20, letterSpacing: -1.44, fontWeight: isBold ? FontWeight.bold : FontWeight.w600),
style: TextStyle(
height: 23 / 24,
color: color ?? MyColors.darkTextColor,
fontSize: 20,
letterSpacing: -1.44,
fontWeight: fontWeight ?? (isBold
? FontWeight.bold
: FontWeight.w600)),
);
Widget toText22({Color? color, bool isBold = false}) => Text(

@ -16,7 +16,7 @@ class CodegenLoader extends AssetLoader{
static const Map<String,dynamic> ar_SA = {
"firstTimeLogIn": "تسجيل الدخول لأول مره",
"signUp": "تسجيل دخول",
"signUp": "التسجيل",
"changeMobile": "تغيير رقم الجوال",
"notifications": "الاشعارات",
"general": "عام",
@ -26,6 +26,7 @@ class CodegenLoader extends AssetLoader{
"retrievePassword": "استرجاع كلمة المرور",
"changeEmail": "تغيير الايميل",
"verify": "تحقق",
"verified": "تم التحقق",
"signOut": "تسجيل خروج",
"enterEmail": "ادخل الايميل",
"enterNewEmail": "ادخل ايميل جديد",
@ -45,16 +46,28 @@ class CodegenLoader extends AssetLoader{
"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": "تم تحجيث كلمة المرور",
@ -90,6 +103,7 @@ class CodegenLoader extends AssetLoader{
"defineProviders": "تحديد الموفرين",
"closeAccount": "اغلاق الحساب",
"createBranch": "انشاء فرع",
"updateBranch": "فرع التحديث",
"address": "العنوان",
"branchDescription": "وصف الفرع",
"branchName": "اسم الفرع",
@ -99,7 +113,9 @@ class CodegenLoader extends AssetLoader{
"somethingWrong": "هناك خطأ ما",
"documentsUploaded": "تم ارفاق الملف بنجاح",
"update": "تحديث",
"termsOfService": "من خلال إنشاء حساب فإنك توافق على شروط الخدمة و\n سياسة الخصوصية",
"termsOfService": "من خلال إنشاء حساب فإنك توافق على",
"terms": "بنود الخدمة وخصوصية السياسة",
"profileMsg": "أدخل التفاصيل أدناه وأكمل معلومات الملف الشخصي",
"branchInfo": "معلومات الفرع و الخدمات",
"profileCompleted": "الملف الشخصي مكتمل",
"selectLocationMap": "اختر الموقع",
@ -108,6 +124,15 @@ class CodegenLoader extends AssetLoader{
"completeProfile2": "اكمل الملف الشخصي 2/3",
"completeProfile3": "اكمل الملف الشخصي 3/3",
"userInformation": "معلومات المتسخدم",
"faceRecognition": "تحقق مع بصمة الوجه",
"fingerPrint": "تحقق مع بصمة الاصبع",
"whatsapp": "تحقق مع Whatsapp",
"SMS": "رسائل قصيره",
"selectRole": "حدد الدور",
"userRoleOrTitle": "عنوان المستخدم",
"codeSentToEmail": "تم ارسال الرمز للايميل",
"number": "موبايل",
"english": "English",
"provider": "Provider",
"title": "Hello",
"msg": "Hello {} in the {} world ",
@ -144,22 +169,48 @@ class CodegenLoader extends AssetLoader{
"female": "Hello girl :) {}"
}
},
"reset_locale": "Reset Language"
"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": "تحرير الخدمات"
};
static const Map<String,dynamic> en_US = {
"firstTimeLogIn": "First Time Log In",
"signUp": "Sing Up",
"signUp": "Register",
"changeMobile": "Change Mobile",
"notifications": "Notifications",
"general": "General",
"defineLicences": "Define Licences",
"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",
"enterEmail": "Enter Email and Password",
"enterNewEmail": "Enter New Email",
"enterNewPassword": "Enter New Password",
"enterCurrentPassword": "Enter Current Password",
@ -167,7 +218,7 @@ static const Map<String,dynamic> en_US = {
"confirm": "Confirm",
"completeProfile": "Complete Profile",
"enterNewPhoneNumber": "Enter New Phone Number",
"enterPhoneNumber": "Enter Phone Number",
"enterPhoneNumber": "Enter the login credentials",
"continu": "Continue",
"confirmPassword": "Confirm Password",
"createPassword": "Create Password",
@ -178,15 +229,27 @@ static const Map<String,dynamic> en_US = {
"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": "Log In",
"welcomeMessage": "Welcome Message",
"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",
@ -222,16 +285,19 @@ static const Map<String,dynamic> en_US = {
"defineProviders": "Define Providers",
"closeAccount": "Close Account",
"createBranch": "Create Branch",
"updateBranch": "Update Branch",
"address": "Address",
"branchDescription": "Branch Description",
"branchName": "Branch Name",
"chooseCity": "Choose City",
"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 of Service and\n Privacy Policy",
"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",
@ -241,6 +307,15 @@ static const Map<String,dynamic> en_US = {
"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",
"english": "عربي",
"title": "Hello",
"msg": "Hello {} in the {} world ",
"msg_named": "{} are written in the {lang} language",
@ -276,7 +351,32 @@ static const Map<String,dynamic> en_US = {
"female": "Hello girl :) {}"
}
},
"reset_locale": "Reset Language"
"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"
};
static const Map<String, Map<String,dynamic>> mapLocales = {"ar_SA": ar_SA, "en_US": en_US};
}

@ -32,6 +32,8 @@ abstract class LocaleKeys {
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';
@ -116,6 +118,7 @@ abstract class LocaleKeys {
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';

@ -266,8 +266,8 @@ class _DashboardPageState extends State<DashboardPage> {
showDialog<ImageSource>(
context: context,
builder: (context) => AlertDialog(content: Text("Choose image source"), actions: [
FlatButton(child: Text("Camera"), onPressed: () => cameraImage()),
FlatButton(child: Text("Gallery"), onPressed: () => gallaryImage()),
TextButton(child: Text("Camera"), onPressed: () => cameraImage()),
TextButton(child: Text("Gallery"), onPressed: () => gallaryImage()),
]),
// .then((ImageSource source) async {
// if (source != null) {

@ -53,7 +53,12 @@ class _EditAccountPageState extends State<EditAccountPage> {
),
20.width,
Expanded(child: LocaleKeys.changePassword.tr().toText12(isBold: true)),
RaisedButton(
ElevatedButton(
style: ElevatedButton.styleFrom(
textStyle: const TextStyle(color: Colors.white),
backgroundColor: MyColors.darkPrimaryColor,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
),
onPressed: () {
navigateWithName(context, AppRoutes.changePassword);
},
@ -64,9 +69,6 @@ class _EditAccountPageState extends State<EditAccountPage> {
fontWeight: FontWeight.w600,
),
),
color: MyColors.darkPrimaryColor,
textColor: Colors.white,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
),
],
),
@ -84,7 +86,12 @@ class _EditAccountPageState extends State<EditAccountPage> {
Expanded(child: LocaleKeys.changeMobile.tr().toText12(isBold: true)),
LocaleKeys.verify.tr().toText12(color: Colors.green),
20.width,
RaisedButton(
ElevatedButton(
style: ElevatedButton.styleFrom(
textStyle: const TextStyle(color: Colors.white),
backgroundColor: MyColors.darkPrimaryColor,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
),
onPressed: () {
navigateWithName(context, AppRoutes.changeMobilePage);
},
@ -95,9 +102,6 @@ class _EditAccountPageState extends State<EditAccountPage> {
fontWeight: FontWeight.w600,
),
),
textColor: Colors.white,
color: MyColors.darkPrimaryColor,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
)
],
),
@ -122,20 +126,23 @@ class _EditAccountPageState extends State<EditAccountPage> {
},
),
20.width,
RaisedButton(
onPressed: () {
navigateWithName(context, AppRoutes.changeEmailPage);
},
child: Text(
LocaleKeys.change.tr(),
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
),
ElevatedButton(
style: ElevatedButton.styleFrom(
textStyle: const TextStyle(color: Colors.white),
backgroundColor: MyColors.darkPrimaryColor,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
),
onPressed: () {
navigateWithName(context, AppRoutes.changeEmailPage);
},
child: Text(
LocaleKeys.change.tr(),
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
),
textColor: Colors.white,
color: MyColors.darkPrimaryColor,
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8))
),
),
],
)

@ -41,7 +41,7 @@ class _ForgetPasswordPageState extends State<ForgetPasswordPage> {
int otpType = 1;
String userName = "";
ClassType type = ClassType.NUMBER;
ClassType type = ClassType.EMAIL;
Country? _country;
String countryCode = "";

@ -39,7 +39,7 @@ class LoginWithPassword extends StatefulWidget {
class _LoginWithPasswordState extends State<LoginWithPassword> {
int otpType = 1;
ClassType type = ClassType.NUMBER;
ClassType type = ClassType.EMAIL;
String phoneNum = "", password = "";
String email = "";
String countryCode = "";
@ -69,11 +69,11 @@ class _LoginWithPasswordState extends State<LoginWithPassword> {
children: [
12.height,
LocaleKeys.login.tr().toText20(),
20.height,
(type == ClassType.NUMBER ? LocaleKeys.enterPhoneNumber.tr() : LocaleKeys.enterEmail.tr()).toText14(
color: MyColors.lightTextColor,
textAlign: TextAlign.center,
),
// 20.height,
// (type == ClassType.NUMBER ? LocaleKeys.enterPhoneNumber.tr() : LocaleKeys.enterEmail.tr()).toText14(
// color: MyColors.lightTextColor,
// textAlign: TextAlign.center,
// ),
30.height,
LoginEmailTab(
onSelection: (ClassType type) {
@ -108,12 +108,14 @@ class _LoginWithPasswordState extends State<LoginWithPassword> {
),
],
),
10.height,
20.height,
LocaleKeys.forgetPasswordQ.tr().toText14(color: MyColors.textColor),
ShowFillButton(
title: LocaleKeys.forgetPasswordRecover.tr(),
title: LocaleKeys.recover.tr(),
isFlatButton: true,
isBold: false,
fontSize: 14,
maxHeight: 24,
txtColor: MyColors.darkPrimaryColor,
onPressed: () {
navigateWithName(context, AppRoutes.forgetPassword);

@ -20,14 +20,23 @@ import 'package:car_provider_app/extensions/widget_extensions.dart';
import 'package:car_provider_app/widgets/txt_field.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:sizer/sizer.dart';
import '../../classes/colors.dart';
import '../../generated/locale_keys.g.dart';
class RegisterPage extends StatelessWidget {
class RegisterPage extends StatefulWidget {
@override
State<RegisterPage> createState() => _RegisterPageState();
}
class _RegisterPageState extends State<RegisterPage> {
String phoneNum = "", countryCode = "";
int role = -1, countryId = -1;
TextEditingController emailController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
@ -55,7 +64,7 @@ class RegisterPage extends StatelessWidget {
if (snapshot.hasData) {
List<DropValue> dropList = [];
snapshot.data?.data?.forEach((element) {
dropList.add(new DropValue(element.id ?? 0, EasyLocalization.of(context)?.currentLocale?.countryCode == "SA" ? element.roleNameN ?? "" : element.roleName ?? "", ""));
dropList.add(DropValue(element.id ?? 0, EasyLocalization.of(context)?.currentLocale?.countryCode == "SA" ? element.roleNameN ?? "" : element.roleName ?? "", ""));
});
return DropdownField((DropValue value) {
role = value.id;
@ -72,7 +81,7 @@ class RegisterPage extends StatelessWidget {
if (snapshot.hasData) {
List<DropValue> dropList = [];
snapshot.data?.data?.forEach((element) {
dropList.add(new DropValue(
dropList.add(DropValue(
element.id ?? 0,
EasyLocalization.of(context)?.currentLocale?.countryCode == "SA"
? (element.countryNameN ?? "") + " " + (element.countryCode ?? "")
@ -82,14 +91,20 @@ class RegisterPage extends StatelessWidget {
return Column(
children: [
LocaleKeys.selectYourCountry.tr().toText14(
color: MyColors.lightTextColor,
textAlign: TextAlign.center,
),
color: MyColors.lightTextColor,
textAlign: TextAlign.center,
),
10.height,
DropdownField((DropValue value) {
countryCode = value.subValue;
countryId = value.id;
}, list: dropList, hint: LocaleKeys.chooseCountry.tr()),
DropdownField(
(DropValue value) {
setState(() {
countryCode = value.subValue;
countryId = value.id;
});
},
list: dropList,
hint: LocaleKeys.chooseCountry.tr(),
),
],
);
} else {
@ -99,16 +114,58 @@ class RegisterPage extends StatelessWidget {
),
18.height,
LocaleKeys.enterPhoneForVerfication.tr().toText14(
color: MyColors.lightTextColor,
textAlign: TextAlign.center,
),
color: MyColors.lightTextColor,
textAlign: TextAlign.center,
),
10.height,
TxtField(
hint: "5********",
value: phoneNum,
onChanged: (v) {
phoneNum = v;
},
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
mExp(1),
Expanded(
flex: 3,
child: Row(
children: [
Text(
(countryCode.isEmpty ? "+00" : "+" + countryCode),
style: const TextStyle(
fontSize: 20,
color: MyColors.black,
fontWeight: FontWeight.bold,
),
),
const Text(
" | ",
style: TextStyle(
fontSize: 20,
color: MyColors.black,
fontWeight: FontWeight.bold,
),
),
Flexible(
child: TextField(
controller: emailController,
onChanged: (v){
phoneNum=v;
},
style: const TextStyle(
fontSize: 20,
color: MyColors.black,
),
decoration: const InputDecoration(
hintStyle: TextStyle(color: MyColors.lightTextColor, fontSize: 20),
hintText: "546758594",
contentPadding: EdgeInsets.zero,
border: InputBorder.none,
),
),
),
],
),
),
mExp(1),
],
),
40.height,
ShowFillButton(

@ -20,14 +20,20 @@ class RegisterSelectionPage extends StatelessWidget {
body: Container(
width: double.infinity,
height: double.infinity,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/bn_Intro.png"),
fit: BoxFit.cover,
),
),
child: Column(
children: [
mFlex(4),
mFlex(6),
SvgPicture.asset("assets/images/logo.svg"),
mFlex(3),
mFlex(4),
LocaleKeys.welcomeMessage.tr().toText20(),
LocaleKeys.welcomeDes.tr().toText14(color: MyColors.lightTextColor),
mFlex(4),
mFlex(1),
ShowFillButton(
title: LocaleKeys.login.tr(),
maxWidth: double.infinity,
@ -57,11 +63,19 @@ class RegisterSelectionPage extends StatelessWidget {
// navigateWithName(context, AppRoutes.forgetPassword);
// },
// ),
mFlex(2),
SvgPicture.asset(
"assets/images/bn_logo.svg",
fit: BoxFit.cover,
)
mFlex(3),
TextButton(
onPressed: () {},
child: const Text(
"Continue as Guest",
style: TextStyle(
color: MyColors.darkPrimaryColor,
fontWeight: FontWeight.bold,
decoration: TextDecoration.underline,
),
),
),
mFlex(3),
],
),
),

@ -114,6 +114,15 @@ Widget mExp(int f) {
);
}
Widget mExpHorizontal(int f) {
return Expanded(
flex: f,
child: Container(
width: double.infinity,
),
);
}
spacer() {
return SizedBox(
height: 8,

@ -87,7 +87,7 @@ class _OtpDialogState extends State<OtpDialog> {
});
},
countDownTimerStyle: TextStyle(
color: Colors.blue,
color: MyColors.darkPrimaryColor,
height: 1.2,
),
),
@ -106,10 +106,10 @@ class _OtpDialogState extends State<OtpDialog> {
padding: const EdgeInsets.all(12.0),
child: Text(
LocaleKeys.resend_code.tr(),
style: TextStyle(
style: const TextStyle(
decoration: TextDecoration.underline,
fontWeight: FontWeight.bold,
color: Colors.blue,
color: MyColors.darkPrimaryColor,
),
),
),

@ -18,7 +18,7 @@ class LoginEmailTab extends StatefulWidget {
}
class _LoginEmailTabState extends State<LoginEmailTab> {
ClassType type = ClassType.NUMBER;
ClassType type = ClassType.EMAIL;
@override
Widget build(BuildContext context) {
@ -29,22 +29,22 @@ class _LoginEmailTabState extends State<LoginEmailTab> {
Expanded(
child: InkWell(
onTap: () {
type = ClassType.NUMBER;
widget.onSelection(ClassType.NUMBER);
type = ClassType.EMAIL;
widget.onSelection(ClassType.EMAIL);
},
child: Container(
width: double.infinity,
height: 45,
decoration: BoxDecoration(
color: type == ClassType.NUMBER ? MyColors.darkPrimaryColor : Colors.grey[200],
color: type == ClassType.EMAIL ? MyColors.darkPrimaryColor : Colors.grey[200],
// border: Border.all(color: type == ClassType.NUMBER ? MyColors.darkPrimaryColor : Colors.transparent, width: 2),
borderRadius: BorderRadius.all(Radius.circular(0)),
),
child: Center(
child: Text(
LocaleKeys.number.tr(),
LocaleKeys.email.tr(),
style: TextStyle(
color: type == ClassType.NUMBER ? MyColors.white : Colors.black,
color: type == ClassType.EMAIL ? MyColors.white : Colors.black,
),
),
),
@ -55,22 +55,22 @@ class _LoginEmailTabState extends State<LoginEmailTab> {
Expanded(
child: InkWell(
onTap: () {
type = ClassType.EMAIL;
widget.onSelection(ClassType.EMAIL);
type = ClassType.NUMBER;
widget.onSelection(ClassType.NUMBER);
},
child: Container(
width: double.infinity,
height: 45,
decoration: BoxDecoration(
color: type == ClassType.EMAIL ? MyColors.darkPrimaryColor : Colors.grey[200],
color: type == ClassType.NUMBER ? MyColors.darkPrimaryColor : Colors.grey[200],
// border: Border.all(color: type == ClassType.NUMBER ? MyColors.darkPrimaryColor : Colors.transparent, width: 2),
borderRadius: BorderRadius.all(Radius.circular(0)),
),
child: Center(
child: Text(
LocaleKeys.email.tr(),
LocaleKeys.phoneNumber.tr(),
style: TextStyle(
color: type == ClassType.EMAIL ? MyColors.white : Colors.black,
color: type == ClassType.NUMBER ? MyColors.white : Colors.black,
),
),
),

@ -14,7 +14,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
version: "2.9.0"
boolean_selector:
dependency: transitive
description:
@ -28,21 +28,14 @@ packages:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "1.2.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
collection:
dependency: transitive
description:
@ -98,7 +91,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.3.1"
ffi:
dependency: transitive
description:
@ -321,21 +314,21 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
version: "0.12.12"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.4"
version: "0.1.5"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
version: "1.8.0"
nested:
dependency: transitive
description:
@ -349,7 +342,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
version: "1.8.2"
path_drawing:
dependency: transitive
description:
@ -557,7 +550,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
version: "1.9.0"
stack_trace:
dependency: transitive
description:
@ -585,21 +578,21 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.9"
version: "0.4.12"
typed_data:
dependency: transitive
description:

@ -30,6 +30,8 @@
"createPass": "انشاء كلمة مرور جديده *",
"newPassword": " كلمة مرور جديده",
"forgetPassword": "نسيت كلمة المرور",
"forgetPasswordQ": "نسيت كلمة المرور؟",
"recover": "استعادة",
"forgetPasswordRecover": "نسيت كلمة المرور؟ استعادة",
"editAccount": "تعديل الحساب",
"change": "تغيير",
@ -114,6 +116,7 @@
"userRoleOrTitle": "عنوان المستخدم",
"codeSentToEmail": "تم ارسال الرمز للايميل",
"number": "موبايل",
"phoneNumber": "رقم الهاتف",
"english": "English",
"provider": "Provider",
"title": "Hello",

@ -31,6 +31,8 @@
"createPass": "Create Password *",
"newPassword": "New Password",
"forgetPassword": "Forget Password",
"forgetPasswordQ": "Forget Password?",
"recover": "Recover",
"forgetPasswordRecover": "Forget Password? Recover",
"editAccount": "Edit Account",
"change": "Change",
@ -115,6 +117,7 @@
"userRoleOrTitle": "User role or title",
"codeSentToEmail": "Code is sent to email",
"number": "Number",
"phoneNumber": "Phone Number",
"english": "عربي",
"title": "Hello",
"msg": "Hello {} in the {} world ",

Loading…
Cancel
Save