From 08de65a681dc4eb56a8a0342ea0c0f38742adc8d Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 14 Mar 2025 10:18:21 +0800 Subject: [PATCH] update --- .../arm64-v8a/configure_fingerprint.bin | 24 +-- .../armeabi-v7a/configure_fingerprint.bin | 24 +-- .../k6q1g3c4/x86/configure_fingerprint.bin | 24 +-- .../k6q1g3c4/x86_64/configure_fingerprint.bin | 24 +-- .../customer_pages/customer_cart_page.dart | 201 +++++++++++++++++- lib/pages/index_page.dart | 7 +- lib/pages/login_page.dart | 5 +- lib/widgets/glossy_container_widget.dart | 10 +- 8 files changed, 251 insertions(+), 68 deletions(-) diff --git a/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/configure_fingerprint.bin index a8bf216..ad1ff62 100644 --- a/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logz x v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ׿2  2w +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ™2  2w u -s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/android_gradle_build.json  ׿2 Ǖ2| +s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/android_gradle_build.json  ™2 Ǖ2| z -x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/android_gradle_build_mini.json  ׿2 򕂎2i +x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/android_gradle_build_mini.json  ™2 򕂎2i g -e/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build.ninja  ׿2 2m +e/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build.ninja  ™2 2m k -i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build.ninja.txt  ׿2r +i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build.ninja.txt  ™2r p -n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build_file_index.txt  ׿2 ^ 2s +n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/build_file_index.txt  ™2 ^ 2s q -o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/compile_commands.json  ׿2w +o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/compile_commands.json  ™2w u -s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/compile_commands.json.bin  ׿2 } +s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/compile_commands.json.bin  ™2 } { -y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/metadata_generation_command.txt  ׿2 +y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/metadata_generation_command.txt  ™2  2p n -l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/prefab_config.json  ׿2  ( 2u +l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/prefab_config.json  ™2  ( 2u s -q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/symbol_folder_index.txt  ׿2  h 2b +q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/symbol_folder_index.txt  ™2  h 2b ` -^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ׿2  ȼ2 \ No newline at end of file +^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ™2  ȼ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/configure_fingerprint.bin index 5f053c9..9447042 100644 --- a/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log| z x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ؿ2  2y +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2y w -u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/android_gradle_build.json  ؿ2 2~ +u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/android_gradle_build.json  2 2~ | -z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/android_gradle_build_mini.json  ؿ2 2k +z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/android_gradle_build_mini.json  2 2k i -g/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build.ninja  ؿ2 2o +g/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build.ninja  2 2o m -k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build.ninja.txt  ؿ2t +k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build.ninja.txt  2t r -p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build_file_index.txt  ؿ2 ^ 2u +p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/build_file_index.txt  2 ^ 2u s -q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/compile_commands.json  ؿ2y +q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/compile_commands.json  2y w -u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/compile_commands.json.bin  ؿ2  +u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/compile_commands.json.bin  2  } -{/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/metadata_generation_command.txt  ؿ2 +{/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/metadata_generation_command.txt  2  2r p -n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/prefab_config.json  ؿ2  ( 2w +n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/prefab_config.json  2  ( 2w u -s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/symbol_folder_index.txt  ؿ2  j 2b +s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/symbol_folder_index.txt  2  j 2b ` -^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ؿ2  ȼ2 \ No newline at end of file +^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  ȼ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/k6q1g3c4/x86/configure_fingerprint.bin b/android/app/.cxx/Debug/k6q1g3c4/x86/configure_fingerprint.bin index 65d2c7d..0e46579 100644 --- a/android/app/.cxx/Debug/k6q1g3c4/x86/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/k6q1g3c4/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logt r p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ؿ2  2q +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2q o -m/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/android_gradle_build.json  ؿ2 2v +m/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/android_gradle_build.json  2 2v t -r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/android_gradle_build_mini.json  ؿ2 2c +r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/android_gradle_build_mini.json  2 2c a -_/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build.ninja  ؿ2 2g +_/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build.ninja  2 2g e -c/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build.ninja.txt  ؿ2l +c/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build.ninja.txt  2l j -h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build_file_index.txt  ؿ2 ^ 2m +h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/build_file_index.txt  2 ^ 2m k -i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/compile_commands.json  ؿ2q +i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/compile_commands.json  2q o -m/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/compile_commands.json.bin  ؿ2 w +m/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/compile_commands.json.bin  2 w u -s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/metadata_generation_command.txt  ؿ2 +s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/metadata_generation_command.txt  2  2j h -f/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/prefab_config.json  ؿ2  ( 2o +f/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/prefab_config.json  2  ( 2o m -k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/symbol_folder_index.txt  ؿ2  b 2b +k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/symbol_folder_index.txt  2  b 2b ` -^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ؿ2  ȼ2 \ No newline at end of file +^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  ȼ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/k6q1g3c4/x86_64/configure_fingerprint.bin b/android/app/.cxx/Debug/k6q1g3c4/x86_64/configure_fingerprint.bin index fe656d0..4f6050e 100644 --- a/android/app/.cxx/Debug/k6q1g3c4/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/k6q1g3c4/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logw u s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ؿ2  2t +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2t r -p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/android_gradle_build.json  ؿ2 2y +p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/android_gradle_build.json  2 2y w -u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/android_gradle_build_mini.json  ؿ2 2f +u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/android_gradle_build_mini.json  2 2f d -b/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build.ninja  ؿ2 2j +b/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build.ninja  2 2j h -f/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build.ninja.txt  ؿ2o +f/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build.ninja.txt  2o m -k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build_file_index.txt  ؿ2 ^ 2p +k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/build_file_index.txt  2 ^ 2p n -l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/compile_commands.json  ؿ2t +l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/compile_commands.json  2t r -p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/compile_commands.json.bin  ؿ2 z +p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/compile_commands.json.bin  2 z x -v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/metadata_generation_command.txt  ؿ2 +v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/metadata_generation_command.txt  2  2m k -i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/prefab_config.json  ؿ2  ( 2r +i/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/prefab_config.json  2  ( 2r p -n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/symbol_folder_index.txt  ؿ2  e 2b +n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/symbol_folder_index.txt  2  e 2b ` -^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ؿ2  ȼ2 \ No newline at end of file +^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  2  ȼ2 \ No newline at end of file diff --git a/lib/pages/customer_pages/customer_cart_page.dart b/lib/pages/customer_pages/customer_cart_page.dart index 9278934..db8c00c 100644 --- a/lib/pages/customer_pages/customer_cart_page.dart +++ b/lib/pages/customer_pages/customer_cart_page.dart @@ -1,15 +1,136 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:gap/gap.dart'; +import 'package:go_router/go_router.dart'; +import 'package:internet_connection_checker/internet_connection_checker.dart'; +import 'package:pharmacy_mobile/auth/auth_service.dart'; +import 'package:pharmacy_mobile/blocs/guest/functions/bloc_getgueststatus.dart'; +import 'package:pharmacy_mobile/blocs/guest/functions/bloc_setguestoff.dart'; +import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; import 'package:pharmacy_mobile/widgets/customer_pagebackground_widget.dart'; import 'package:pharmacy_mobile/widgets/customer_title_widget.dart'; +import 'package:pharmacy_mobile/widgets/glossy_container_widget.dart'; +import 'package:pharmacy_mobile/widgets/input_form_widget.dart'; +import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart'; import 'package:animated_notch_bottom_bar/animated_notch_bottom_bar/animated_notch_bottom_bar.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; -class CustomerCartPage extends StatelessWidget { +class CustomerCartPage extends StatefulWidget { final NotchBottomBarController? controller; const CustomerCartPage({super.key, this.controller}); + @override + State createState() => _CustomerCartPageState(); +} + +class _CustomerCartPageState extends State { + final _emailController = TextEditingController(); + final _passwordController = TextEditingController(); + final _authService = AuthService(); + final _focusNode = FocusNode(); + bool _isLoading = false; + double containerHeight = 0.35; + late bool _isGuest = false; + + void checkGuest() async { + final isGuest = await blocGetGuestStatus(context); + + setState(() { + _isGuest = isGuest; + }); + } + + void _signIn() async { + final email = _emailController.text; + final password = _passwordController.text; + + if (email.isEmpty) { + if (mounted) { + showNotification(context, 'Error: Please enter a valid email', false); + } + return; + } + + if (password.isEmpty) { + if (mounted) { + showNotification(context, 'Error: Please enter a password', false); + } + return; + } + + setState(() { + _isLoading = true; + containerHeight = 0.365; + }); + + try { + if (await InternetConnectionChecker.instance.hasConnection) { + await _authService.signIn(email, password); + + final user = _authService.getCurrentUser(); + + if (user != null) { + // ignore: use_build_context_synchronously + final disableGuest = await blocSetGuestOff(context); + + if (disableGuest) { + // ignore: use_build_context_synchronously + showNotification(context, 'Login Successful', true); + + WidgetsBinding.instance.addPostFrameCallback((_) { + if (user.contains('admin')) { + if (mounted) context.push('/main'); + } else { + if (mounted) context.push('/customer'); + } + }); + } else { + // ignore: use_build_context_synchronously + showNotification(context, 'Error: Login failed', false); + } + } + } else { + if (mounted) { + showNotification(context, 'Error: No Internet Connection', false); + } + } + } catch (e) { + if (e is AuthException) { + final errorMessage = e.message; + + if (mounted) { + if (errorMessage == 'Invalid login credentials') { + showNotification(context, 'Error: Invalid Email or Password', false); + } + } + } + } finally { + setState(() { + _isLoading = false; + containerHeight = 0.35; + }); + } + } + + void autoRun() async { + checkGuest(); + } + + @override + void initState() { + autoRun(); + super.initState(); + } + + @override + void dispose() { + _emailController.dispose(); + _passwordController.dispose(); + _focusNode.dispose(); + super.dispose(); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -19,18 +140,76 @@ class CustomerCartPage extends StatelessWidget { const Gap(68), const CustomerTitleWidget(), const Gap(32), + if (_isGuest) + SizedBox( + child: Column( + children: [ + FaIcon( + FontAwesomeIcons.cartShopping, + size: 56, + color: const Color.fromRGBO(255, 255, 255, 1), + ), + const Gap(16), + const TextWidget( + text: 'Cart is disabled for guests', + size: 16, + ), + const Gap(8), + const TextWidget( + text: 'Please login', + size: 32, + ), + const Gap(8), + const TextWidget( + text: 'to use your cart', + size: 24, + ), + const Gap(32), + Padding( + padding: const EdgeInsets.only(left: 32, right: 32), + child: GlossyContainerWidget( + child: Form( + child: Column( + children: [ + InputFormWidget(label: 'Email', controller: _emailController), + const Gap(16), + InputFormWidget( + label: 'Password', + controller: _passwordController, + password: true, + onSubmitted: (String password) { + _signIn(); + }, + ), + const Gap(40), + ButtonWithProgressWidget( + trigger: _isLoading, progressText: 'Logging In', buttonText: 'Login', onPressed: _signIn), + ], + )), + ), + ), + ], + ), + ) + else + SizedBox( + child: Column( + children: [ + FaIcon( + FontAwesomeIcons.cartShopping, + size: 56, + color: const Color.fromRGBO(255, 255, 255, 1), + ), + const Gap(16), + const TextWidget( + text: 'No items in cart', + size: 24, + ) + ], + ), + ) // const TextWidget(text: 'My Cart'), // const Gap(16), - FaIcon( - FontAwesomeIcons.cartShopping, - size: 56, - color: const Color.fromRGBO(255, 255, 255, 1), - ), - const Gap(16), - const TextWidget( - text: 'No items in cart', - size: 24, - ) ], ))); } diff --git a/lib/pages/index_page.dart b/lib/pages/index_page.dart index 3dd2ddb..932c7d7 100644 --- a/lib/pages/index_page.dart +++ b/lib/pages/index_page.dart @@ -1,10 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:go_router/go_router.dart'; import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/blocs/guest/functions/bloc_setgueston.dart'; -import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; -import 'package:pharmacy_mobile/blocs/guest/guest_event.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/image_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; @@ -53,12 +50,12 @@ class IndexPage extends StatelessWidget { ButtonWidget(text: 'Login', onPressed: gotoLogin), const Gap(8), ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true), - const Gap(16), + const Gap(32), GestureDetector( onTap: loginAsGuest, child: const TextWidget( text: "Login as Guest", - size: 12, + size: 16, underlined: true, color: Color.fromRGBO(198, 133, 232, 1), ), diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index d8b8edb..720c187 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; -import 'package:pharmacy_mobile/blocs/guest/functions/bloc_getgueststatus.dart'; import 'package:pharmacy_mobile/blocs/guest/functions/bloc_setguestoff.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; import 'package:pharmacy_mobile/widgets/glossy_container_widget.dart'; @@ -69,9 +68,9 @@ class _LoginPageState extends State { WidgetsBinding.instance.addPostFrameCallback((_) { if (user.contains('admin')) { - if (mounted) context.push('/main'); + if (mounted) context.go('/main'); } else { - if (mounted) context.push('/customer'); + if (mounted) context.go('/customer'); } }); } else { diff --git a/lib/widgets/glossy_container_widget.dart b/lib/widgets/glossy_container_widget.dart index 51cd609..20262ac 100644 --- a/lib/widgets/glossy_container_widget.dart +++ b/lib/widgets/glossy_container_widget.dart @@ -15,7 +15,15 @@ class GlossyContainerWidget extends StatelessWidget { width: MediaQuery.of(context).size.width, borderRadius: const BorderRadius.all(Radius.circular(16)), color: const Color.fromRGBO(20, 13, 22, 1), - border: Border.all(width: 0, color: const Color.fromRGBO(169, 132, 172, 1)), + border: Border.all(width: 0, color: const Color.fromRGBO(216, 176, 219, 1)), + boxShadow: [ + BoxShadow( + color: const Color.fromRGBO(78, 45, 79, 0.4), + spreadRadius: 1, + blurRadius: 4, + offset: const Offset(0, 3), // changes position of shadow + ), + ], child: Padding( padding: const EdgeInsets.fromLTRB(32, 32, 32, 40), child: child,