From 4aabf5854134ac03bba233e89c448b944cbc8424 Mon Sep 17 00:00:00 2001 From: tall3at <91608104+tall3at@users.noreply.github.com> Date: Mon, 6 Dec 2021 21:05:23 +0500 Subject: [PATCH] commit 2 --- assets/icons/ic_face_id.png | Bin 0 -> 6282 bytes assets/icons/ic_fingerprint.png | Bin 0 -> 12319 bytes lib/config/routes.dart | 10 ++- lib/pages/dashboard/dashboard_page.dart | 95 ++++++++++++++++++++ lib/pages/user/forget_password_page.dart | 41 +++++++++ lib/pages/user/login_verification_page.dart | 80 +++++++++++++++++ lib/pages/user/register_selection_page.dart | 4 +- lib/pages/user/splash_page.dart | 4 +- 8 files changed, 231 insertions(+), 3 deletions(-) create mode 100644 assets/icons/ic_face_id.png create mode 100644 assets/icons/ic_fingerprint.png create mode 100644 lib/pages/dashboard/dashboard_page.dart create mode 100644 lib/pages/user/forget_password_page.dart create mode 100644 lib/pages/user/login_verification_page.dart diff --git a/assets/icons/ic_face_id.png b/assets/icons/ic_face_id.png new file mode 100644 index 0000000000000000000000000000000000000000..913e850d43c2df6b5a2109c2898167ebcffc2855 GIT binary patch literal 6282 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 W2txEMD5U;301S0ab(*vhkN*c^tNOD5 literal 0 HcmV?d00001 diff --git a/assets/icons/ic_fingerprint.png b/assets/icons/ic_fingerprint.png new file mode 100644 index 0000000000000000000000000000000000000000..bf731975d839e1023097654b284f9f991b42f844 GIT binary patch literal 12319 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 RegisterSelectionPage(), loginVerifyAccount: (context) => LoginVerifyAccountPage(), register: (context) => RegisterPage(), + forgetPassword: (context) => ForgetPasswordPage(), + loginVerification: (context) => LoginVerificationPage(), + dashboard: (context) => DashboardPage(), }; } diff --git a/lib/pages/dashboard/dashboard_page.dart b/lib/pages/dashboard/dashboard_page.dart new file mode 100644 index 0000000..02a31b5 --- /dev/null +++ b/lib/pages/dashboard/dashboard_page.dart @@ -0,0 +1,95 @@ +import 'package:car_customer_app/theme/colors.dart'; +import 'package:car_customer_app/utils/navigator.dart'; +import 'package:car_customer_app/widgets/app_bar.dart'; +import 'package:car_customer_app/widgets/show_fill_button.dart'; +import 'package:car_customer_app/widgets/txt.dart'; +import 'package:flutter/material.dart'; + +class DashboardPage extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: appBar( + title: "Logo/Brand", + ), + drawer: showDrawer(context), + body: Container( + child: Center( + child: Txt( + "Dashboard/Main Page", + txtType: TxtType.heading3, + ), + ), + ), + ); + } + + Widget showDrawer(BuildContext context) { + return Drawer( + child: Container( + child: Column( + children: [ + Container( + width: double.infinity, + height: 200, + color: accentColor.withOpacity(0.3), + child: Icon( + Icons.person, + size: 80, + color: accentColor.withOpacity(0.3), + ), + ), + Container( + width: double.infinity, + color: accentColor.withOpacity(0.1), + padding: EdgeInsets.all(20), + child: Row( + children: [ + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Txt( + "User Name", + txtType: TxtType.heading3, + ), + Txt( + "User role or title", + ), + ], + ), + ), + ShowFillButton( + title: "EDIT", + onPressed: () {}, + ), + ], + ), + ), + ListTile( + leading: Icon(Icons.notifications), + title: Txt("Notifications"), + ), + ListTile( + leading: Icon(Icons.settings), + title: Txt("General"), + ), + ListTile( + leading: Icon(Icons.person), + title: Txt("Account"), + ), + ListTile( + leading: Icon(Icons.logout), + title: Txt("Sign Out"), + onTap: () { + pop(context); + pop(context); + }, + ), + ], + ), + ), + ); + } +} diff --git a/lib/pages/user/forget_password_page.dart b/lib/pages/user/forget_password_page.dart new file mode 100644 index 0000000..7d01a7e --- /dev/null +++ b/lib/pages/user/forget_password_page.dart @@ -0,0 +1,41 @@ +import 'package:car_customer_app/utils/utils.dart'; +import 'package:car_customer_app/widgets/app_bar.dart'; +import 'package:car_customer_app/widgets/show_fill_button.dart'; +import 'package:car_customer_app/widgets/txt.dart'; +import 'package:car_customer_app/widgets/txt_field.dart'; +import 'package:flutter/material.dart'; + +class ForgetPasswordPage extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: appBar(title: "Forget Password"), + body: Container( + width: double.infinity, + height: double.infinity, + padding: EdgeInsets.all(40), + child: Column( + children: [ + Txt( + "Retrieve Password", + txtType: TxtType.heading3, + ), + mHeight(12), + TxtField( + hint: "Phone Number", + ), + TxtField( + hint: "Email", + ), + mHeight(40), + ShowFillButton( + title: "Continue", + width: double.infinity, + onPressed: () {}, + ), + ], + ), + ), + ); + } +} diff --git a/lib/pages/user/login_verification_page.dart b/lib/pages/user/login_verification_page.dart new file mode 100644 index 0000000..7642ecd --- /dev/null +++ b/lib/pages/user/login_verification_page.dart @@ -0,0 +1,80 @@ +import 'package:car_customer_app/config/constants.dart'; +import 'package:car_customer_app/config/routes.dart'; +import 'package:car_customer_app/utils/navigator.dart'; +import 'package:car_customer_app/utils/utils.dart'; +import 'package:car_customer_app/widgets/app_bar.dart'; +import 'package:car_customer_app/widgets/button/show_image_button.dart'; +import 'package:car_customer_app/widgets/txt.dart'; +import 'package:car_customer_app/widgets/txt_field.dart'; +import 'package:flutter/material.dart'; + +class LoginVerificationPage extends StatelessWidget { + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: appBar(title: "Log In"), + body: Container( + width: double.infinity, + height: double.infinity, + padding: EdgeInsets.all(40), + child: Column( + children: [ + Txt( + "Verify Account", + txtType: TxtType.heading3, + ), + mFlex(2), + Row( + children: [ + Expanded( + child: ShowImageButton( + onClick: () { + navigateWithName(context, AppRoutes.dashboard); + }, + title: 'Finger Print', + icon: icons + "ic_fingerprint.png", + ), + ), + mWidth(20), + Expanded( + child: ShowImageButton( + onClick: () { + navigateWithName(context, AppRoutes.dashboard); + }, + title: 'Face Recognition', + icon: icons + "ic_face_id.png", + ), + ), + ], + ), + mHeight(40), + Row( + children: [ + Expanded( + child: ShowImageButton( + onClick: () { + navigateWithName(context, AppRoutes.dashboard); + }, + title: 'With SMS', + icon: icons + "ic_sms.png", + ), + ), + mWidth(20), + Expanded( + child: ShowImageButton( + onClick: () { + navigateWithName(context, AppRoutes.dashboard); + }, + title: 'With Whatsapp', + icon: icons + "ic_whatsapp.png", + ), + ), + ], + ), + mFlex(10), + ], + ), + ), + ); + } +} diff --git a/lib/pages/user/register_selection_page.dart b/lib/pages/user/register_selection_page.dart index c2be6ce..30d85c3 100644 --- a/lib/pages/user/register_selection_page.dart +++ b/lib/pages/user/register_selection_page.dart @@ -41,7 +41,9 @@ class RegisterSelectionPage extends StatelessWidget { ShowFillButton( title: "Forget Password", width: double.infinity, - onPressed: () {}, + onPressed: () { + navigateWithName(context, AppRoutes.forgetPassword); + }, ), mFlex(2), ], diff --git a/lib/pages/user/splash_page.dart b/lib/pages/user/splash_page.dart index 7704ff2..4b937da 100644 --- a/lib/pages/user/splash_page.dart +++ b/lib/pages/user/splash_page.dart @@ -35,7 +35,9 @@ class SplashPage extends StatelessWidget { "Already Signed Up and Logged In", txtType: TxtType.heading1, isFlatButton: true, - onTap: () {}, + onTap: () { + navigateWithName(context, AppRoutes.loginVerification); + }, ), mFlex(5), ],