diff --git a/assets/icons/ic_face_id.png b/assets/icons/ic_face_id.png new file mode 100644 index 0000000..913e850 Binary files /dev/null and b/assets/icons/ic_face_id.png differ diff --git a/assets/icons/ic_fingerprint.png b/assets/icons/ic_fingerprint.png new file mode 100644 index 0000000..bf73197 Binary files /dev/null and b/assets/icons/ic_fingerprint.png differ diff --git a/lib/config/routes.dart b/lib/config/routes.dart index ec0c61b..4938085 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -1,3 +1,6 @@ +import 'package:car_customer_app/pages/dashboard/dashboard_page.dart'; +import 'package:car_customer_app/pages/user/forget_password_page.dart'; +import 'package:car_customer_app/pages/user/login_verification_page.dart'; import 'package:car_customer_app/pages/user/login_verify_account_page.dart'; import 'package:car_customer_app/pages/user/register_page.dart'; import 'package:car_customer_app/pages/user/register_selection_page.dart'; @@ -10,7 +13,9 @@ class AppRoutes { static final String registerSelection = "/registerSelection"; static final String loginVerifyAccount = "/loginVerifyAccount"; static final String register = "/register"; - + static final String forgetPassword = "/forgetPassword"; + static final String loginVerification = "/loginVerification"; + static final String dashboard = "/dashboard"; @@ -22,5 +27,8 @@ class AppRoutes { registerSelection: (context) => 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), ],