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<CustomerCartPage> createState() => _CustomerCartPageState();
+}
+
+class _CustomerCartPageState extends State<CustomerCartPage> {
+  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<LoginPage> {
 
             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,
