diff --git a/.gitignore b/.gitignore index 32745f4..fd0aada 100644 --- a/.gitignore +++ b/.gitignore @@ -50,4 +50,7 @@ app.*.map.json android/app/.cxx .externalNativeBuild .cxx -local.properties \ No newline at end of file +local.properties + +# env +*.env \ No newline at end of file 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 beef04a..a8bf216 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 2caf828..5f053c9 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 c790510..65d2c7d 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 752b8ae..fe656d0 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/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/configure_fingerprint.bin index 9c5b0d9..7803f32 100644 --- a/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log  /home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  퇏2 +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  퇏2 ~ -|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build.json  2 퇏2 +|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build.json  2 퇏2  -/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build_mini.json  2 퇏2r +/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build_mini.json  2 퇏2r p -n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja  2ߺ 퇏2v +n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja  2ߺ 퇏2v t -r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja.txt  2{ +r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja.txt  2{ y -w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build_file_index.txt  2 ^ 퇏2| +w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build_file_index.txt  2 ^ 퇏2| z -x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/compile_commands.json  2 +x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/compile_commands.json  2 ~ -|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/compile_commands.json.bin  2  +|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/compile_commands.json.bin  2   -/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/metadata_generation_command.txt  2 +/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/metadata_generation_command.txt  2  퇏2y w -u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/prefab_config.json  2  ( 퇏2~ +u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/prefab_config.json  2  ( 퇏2~ | -z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/symbol_folder_index.txt  2  q 퇏2b +z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/symbol_folder_index.txt  2  q 퇏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/RelWithDebInfo/14495r4k/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/configure_fingerprint.bin index 86dbfef..400a9c6 100644 --- a/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log  /home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2 +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2  -~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build.json  2 2 +~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build.json  2 2  -/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build_mini.json  2 2t +/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build_mini.json  2 2t r -p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja  2 2x +p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja  2 2x v -t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja.txt  2} +t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja.txt  2} { -y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build_file_index.txt  2 ^ 2~ +y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build_file_index.txt  2 ^ 2~ | -z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/compile_commands.json  2 +z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/compile_commands.json  2  -~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/compile_commands.json.bin  2  +~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/compile_commands.json.bin  2   -/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/metadata_generation_command.txt  2 +/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/metadata_generation_command.txt  2  2{ y -w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/prefab_config.json  2  ( 2 +w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/prefab_config.json  2  ( 2 ~ -|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/symbol_folder_index.txt  2  s 2b +|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/symbol_folder_index.txt  2  s 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/RelWithDebInfo/14495r4k/x86/configure_fingerprint.bin b/android/app/.cxx/RelWithDebInfo/14495r4k/x86/configure_fingerprint.bin index ccf5443..fa703b8 100644 --- a/android/app/.cxx/RelWithDebInfo/14495r4k/x86/configure_fingerprint.bin +++ b/android/app/.cxx/RelWithDebInfo/14495r4k/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log} { y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2z +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2z x -v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build.json  2 2 +v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build.json  2 2 } -{/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build_mini.json  2 2l +{/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build_mini.json  2 2l j -h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja  2 2p +h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja  2 2p n -l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja.txt  2u +l/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja.txt  2u s -q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build_file_index.txt  2 ^ 2v +q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build_file_index.txt  2 ^ 2v t -r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/compile_commands.json  2z +r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/compile_commands.json  2z x -v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/compile_commands.json.bin  2  +v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/compile_commands.json.bin  2  ~ -|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/metadata_generation_command.txt  2 +|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/metadata_generation_command.txt  2  2s q -o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/prefab_config.json  2  ( 2x +o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/prefab_config.json  2  ( 2x v -t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/symbol_folder_index.txt  2  k 2b +t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/symbol_folder_index.txt  2  k 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/RelWithDebInfo/14495r4k/x86_64/configure_fingerprint.bin b/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/configure_fingerprint.bin index 4c4c97b..ba471d3 100644 --- a/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log ~ |/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2} +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2} { -y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build.json  2 2 +y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build.json  2 2  -~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build_mini.json  2 2o +~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build_mini.json  2 2o m -k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja  2к 2s +k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja  2к 2s q -o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja.txt  2x +o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja.txt  2x v -t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build_file_index.txt  2 ^ 2y +t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build_file_index.txt  2 ^ 2y w -u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/compile_commands.json  2} +u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/compile_commands.json  2} { -y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/compile_commands.json.bin  2  +y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/compile_commands.json.bin  2   -/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/metadata_generation_command.txt  2 +/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/metadata_generation_command.txt  2  2v t -r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/prefab_config.json  2  ( 2{ +r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/prefab_config.json  2  ( 2{ y -w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/symbol_folder_index.txt  2  n 2b +w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/symbol_folder_index.txt  2  n 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/auth/auth_service.dart b/lib/auth/auth_service.dart index 0f0254b..a70520e 100644 --- a/lib/auth/auth_service.dart +++ b/lib/auth/auth_service.dart @@ -20,4 +20,10 @@ class AuthService { final user = session?.user; return user?.email; } + + String? getCurrentUserId() { + final session = _supabase.auth.currentSession; + final user = session?.user; + return user?.id; + } } diff --git a/lib/blocs/guest/functions/bloc_getgueststatus.dart b/lib/blocs/guest/functions/bloc_getgueststatus.dart new file mode 100644 index 0000000..992ae84 --- /dev/null +++ b/lib/blocs/guest/functions/bloc_getgueststatus.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_event.dart'; + +Future blocGetGuestStatus(BuildContext context) async { + try { + final guestBloc = context.read(); + guestBloc.add(GuestGetStatus()); + return guestBloc.state.value; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/guest/functions/bloc_setguestoff.dart b/lib/blocs/guest/functions/bloc_setguestoff.dart new file mode 100644 index 0000000..d0e4858 --- /dev/null +++ b/lib/blocs/guest/functions/bloc_setguestoff.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_event.dart'; + +Future blocSetGuestOff(BuildContext context) async { + try { + final guestBloc = context.read(); + guestBloc.add(GuestSetOff()); + return true; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/guest/functions/bloc_setgueston.dart b/lib/blocs/guest/functions/bloc_setgueston.dart new file mode 100644 index 0000000..da7b052 --- /dev/null +++ b/lib/blocs/guest/functions/bloc_setgueston.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_event.dart'; + +Future blocSetGuestOn(BuildContext context) async { + try { + final guestBloc = context.read(); + guestBloc.add(GuestSetOn()); + return true; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/guest/guest_bloc.dart b/lib/blocs/guest/guest_bloc.dart new file mode 100644 index 0000000..9935426 --- /dev/null +++ b/lib/blocs/guest/guest_bloc.dart @@ -0,0 +1,17 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'guest_event.dart'; +import 'guest_state.dart'; + +class GuestBloc extends Bloc { + GuestBloc() : super(GuestState(false)) { + on((event, emit) { + emit(GuestState(true)); + }); + on((event, emit) { + emit(GuestState(false)); + }); + on((event, emit) { + emit(state); + }); + } +} diff --git a/lib/blocs/guest/guest_event.dart b/lib/blocs/guest/guest_event.dart new file mode 100644 index 0000000..1b2b635 --- /dev/null +++ b/lib/blocs/guest/guest_event.dart @@ -0,0 +1,7 @@ +abstract class GuestEvent {} + +class GuestSetOn extends GuestEvent {} + +class GuestSetOff extends GuestEvent {} + +class GuestGetStatus extends GuestEvent {} diff --git a/lib/blocs/guest/guest_state.dart b/lib/blocs/guest/guest_state.dart new file mode 100644 index 0000000..f5a077c --- /dev/null +++ b/lib/blocs/guest/guest_state.dart @@ -0,0 +1,5 @@ +class GuestState { + final bool value; + + GuestState(this.value); +} diff --git a/lib/blocs/user/functions/bloc_getuser.dart b/lib/blocs/user/functions/bloc_getuser.dart new file mode 100644 index 0000000..c227de5 --- /dev/null +++ b/lib/blocs/user/functions/bloc_getuser.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_event.dart'; + +Future blocGetUser(BuildContext context) async { + try { + final userBloc = context.read(); + userBloc.add(UserGetValue()); + return userBloc.state.value; + } catch (e) { + return ''; + } +} diff --git a/lib/blocs/user/functions/bloc_setuser.dart b/lib/blocs/user/functions/bloc_setuser.dart new file mode 100644 index 0000000..b7c4921 --- /dev/null +++ b/lib/blocs/user/functions/bloc_setuser.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_event.dart'; + +Future blocSetUser(BuildContext context, String value) async { + try { + final userBloc = context.read(); + userBloc.add(UserSetValue(value)); + return true; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/user/user_bloc.dart b/lib/blocs/user/user_bloc.dart new file mode 100644 index 0000000..a438b3b --- /dev/null +++ b/lib/blocs/user/user_bloc.dart @@ -0,0 +1,14 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_event.dart'; +import 'package:pharmacy_mobile/blocs/user/user_state.dart'; + +class UserBloc extends Bloc { + UserBloc() : super(UserState('')) { + on((event, emit) { + emit(UserState(event.value)); + }); + on((event, emit) { + emit(state); + }); + } +} diff --git a/lib/blocs/user/user_event.dart b/lib/blocs/user/user_event.dart new file mode 100644 index 0000000..3c9b4be --- /dev/null +++ b/lib/blocs/user/user_event.dart @@ -0,0 +1,8 @@ +abstract class UserEvent {} + +class UserSetValue extends UserEvent { + final String value; + UserSetValue(this.value); +} + +class UserGetValue extends UserEvent {} diff --git a/lib/blocs/user/user_state.dart b/lib/blocs/user/user_state.dart new file mode 100644 index 0000000..6e75251 --- /dev/null +++ b/lib/blocs/user/user_state.dart @@ -0,0 +1,5 @@ +class UserState { + final String value; + + UserState(this.value); +} diff --git a/lib/commands/signup.dart b/lib/commands/signup.dart deleted file mode 100644 index 27e0a61..0000000 --- a/lib/commands/signup.dart +++ /dev/null @@ -1,28 +0,0 @@ -// import 'package:supabase_flutter/supabase_flutter.dart'; -// import 'package:pharmacy_mobile/main.dart'; - -// Future signUp() async { -// try { -// await supabase.auth.signUp( -// email: email, -// password: password, -// ); -// // if (mounted) { -// // context.showSnackBar('Check your email for a login link!'); - -// // _emailController.clear(); -// // } -// } on AuthException catch (error) { -// if (mounted) context.showSnackBar(error.message, isError: true); -// } catch (error) { -// if (mounted) { -// context.showSnackBar('Unexpected error occurred', isError: true); -// } -// } finally { -// if (mounted) { -// setState(() { -// _isLoading = false; -// }); -// } -// } -// } diff --git a/lib/main.dart b/lib/main.dart index 3661fc9..332dab1 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:pharmacy_mobile/auth/auth_gate.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_bloc.dart'; import 'package:pharmacy_mobile/pages/add_category_page.dart'; import 'package:pharmacy_mobile/pages/add_generics_page.dart'; import 'package:pharmacy_mobile/pages/add_manufacturer.dart'; @@ -15,13 +18,14 @@ import 'package:go_router/go_router.dart'; import 'package:pharmacy_mobile/pages/main_page.dart'; import 'package:pharmacy_mobile/pages/register_page.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; Future main() async { + await dotenv.load(fileName: ".env"); WidgetsFlutterBinding.ensureInitialized(); - final supUrl = "https://lijihnvjlucyvxfhghqd.supabase.co"; - final supAnonkey = - "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImxpamlobnZqbHVjeXZ4ZmhnaHFkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MjQ1NjEyODYsImV4cCI6MjA0MDEzNzI4Nn0.N3_FLKm02OdprL9m3P0CzuV8kdbCrrJKaVdtgVR3PSk"; + final supUrl = dotenv.env['SUPABASE_URL']!; + final supAnonkey = dotenv.env['SUPABASE_ANON_KEY']!; await Supabase.initialize( url: supUrl, @@ -112,12 +116,22 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { - return MaterialApp.router( - debugShowCheckedModeBanner: false, - theme: ThemeData( - useMaterial3: true, + return MultiBlocProvider( + providers: [ + BlocProvider( + create: (context) => GuestBloc(), + ), + BlocProvider( + create: (context) => UserBloc(), + ), + ], + child: MaterialApp.router( + debugShowCheckedModeBanner: false, + theme: ThemeData( + useMaterial3: true, + ), + routerConfig: _router, ), - routerConfig: _router, ); } } diff --git a/lib/pages/customer_pages/customer_profile_page.dart b/lib/pages/customer_pages/customer_profile_page.dart index ae49654..b747e07 100644 --- a/lib/pages/customer_pages/customer_profile_page.dart +++ b/lib/pages/customer_pages/customer_profile_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; +import 'package:pharmacy_mobile/blocs/guest/functions/bloc_getgueststatus.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/customer_pagebackground_widget.dart'; import 'package:pharmacy_mobile/widgets/customer_title_widget.dart'; @@ -16,11 +17,25 @@ class CustomerProfilePage extends StatefulWidget { } class _CustomerProfilePageState extends State { - final authService = AuthService(); + final _authService = AuthService(); + late bool _isGuest = false; void _signOut() async { // ignore: use_build_context_synchronously - await authService.signOut().then((_) => {context.go('/'), showNotification(context, 'Logged Out', true)}); + await _authService.signOut().then((_) => {context.go('/'), showNotification(context, 'Logged Out', true)}); + } + + void checkGuest() async { + final guest = await blocGetGuestStatus(context); + setState(() { + _isGuest = guest; + }); + } + + @override + void initState() { + checkGuest(); + super.initState(); } @override @@ -34,7 +49,7 @@ class _CustomerProfilePageState extends State { const Gap(68), const CustomerTitleWidget(), const Gap(32), - const TextWidget(text: 'My Profile'), + _isGuest ? const TextWidget(text: 'Guest Profile') : const TextWidget(text: 'My Profile'), const Gap(16), const Gap(32), ButtonWidget(text: 'Log Out', onPressed: _signOut) diff --git a/lib/pages/customer_pages/customer_search_page.dart b/lib/pages/customer_pages/customer_search_page.dart index 975abca..ebdeeae 100644 --- a/lib/pages/customer_pages/customer_search_page.dart +++ b/lib/pages/customer_pages/customer_search_page.dart @@ -1,8 +1,13 @@ import 'dart:developer'; import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; +import 'package:pharmacy_mobile/blocs/user/functions/bloc_getuser.dart'; +import 'package:pharmacy_mobile/blocs/user/functions/bloc_setuser.dart'; +import 'package:pharmacy_mobile/blocs/user/user_bloc.dart'; +import 'package:pharmacy_mobile/blocs/user/user_event.dart'; import 'package:pharmacy_mobile/tables/cart.dart'; import 'package:pharmacy_mobile/tables/stocks.dart'; import 'package:pharmacy_mobile/tables/storage.dart'; @@ -43,16 +48,14 @@ class _CustomerSearchPageState extends State { _stockList = await _stocks.getList(); } - Future _getCurrentUser() async { - final result = _authService.getCurrentUser(); + Future _getCurrentUserId() async { + final result = _authService.getCurrentUserId(); return result.toString(); } Future _getCarts() async { - final currentUser = await _getCurrentUser(); - log('currentUser: $currentUser'); + final currentUser = await _getCurrentUserId(); _cartList = await _carts.getCart(currentUser); - log('cart: ${_cartList.toString()}'); } // Future _getAllMedicines() async { @@ -82,7 +85,7 @@ class _CustomerSearchPageState extends State { void autoRun() async { await _getAllStocks(); await _getCarts(); - // await _getAllMedicines(); + // // // await _getAllMedicines(); await _getURL(); } @@ -125,31 +128,6 @@ class _CustomerSearchPageState extends State { ), ), const Gap(32), - // Row( - // mainAxisAlignment: MainAxisAlignment.end, - // children: [ - // ToggleSwitch( - // fontSize: 12, - // minWidth: 64, - // minHeight: 32, - // initialLabelIndex: 1, - // cornerRadius: 20, - // activeFgColor: Colors.white, - // inactiveBgColor: const Color.fromRGBO(81, 81, 81, 1), - // inactiveFgColor: const Color.fromRGBO(177, 175, 175, 1), - // totalSwitches: 2, - // labels: ['All', 'Stocks'], - // activeBgColors: [ - // [const Color.fromRGBO(40, 112, 143, 1)], - // [const Color.fromRGBO(40, 112, 143, 1)], - // ], - // // onToggle: (index) { - // // print('switched to: $index'); - // // }, - // ), - // const Gap(8) - // ], - // ), const IndicatorWidget(text: 'All Stocks'), const Gap(8), SingleChildScrollView( diff --git a/lib/pages/index_page.dart b/lib/pages/index_page.dart index a6f1ceb..3dd2ddb 100644 --- a/lib/pages/index_page.dart +++ b/lib/pages/index_page.dart @@ -1,6 +1,10 @@ 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'; @@ -21,6 +25,14 @@ class IndexPage extends StatelessWidget { context.push('/register'); } + void loginAsGuest() async { + final setGuest = await blocSetGuestOn(context); + if (setGuest) { + // ignore: use_build_context_synchronously + context.push('/customer'); + } + } + return Scaffold( resizeToAvoidBottomInset: false, body: PageBackgroundWidget( @@ -41,6 +53,16 @@ class IndexPage extends StatelessWidget { ButtonWidget(text: 'Login', onPressed: gotoLogin), const Gap(8), ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true), + const Gap(16), + GestureDetector( + onTap: loginAsGuest, + child: const TextWidget( + text: "Login as Guest", + size: 12, + underlined: true, + color: Color.fromRGBO(198, 133, 232, 1), + ), + ), const Gap(32), const SloganWidget(), const Gap(32), diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index 356b6ec..d8b8edb 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -2,6 +2,8 @@ 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'; import 'package:pharmacy_mobile/widgets/input_form_widget.dart'; @@ -55,10 +57,14 @@ class _LoginPageState extends State { if (await InternetConnectionChecker.instance.hasConnection) { await _authService.signIn(email, password); - if (mounted) { - final user = _authService.getCurrentUser(); + final user = _authService.getCurrentUser(); - if (user != null) { + 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((_) { @@ -68,6 +74,9 @@ class _LoginPageState extends State { if (mounted) context.push('/customer'); } }); + } else { + // ignore: use_build_context_synchronously + showNotification(context, 'Error: Login failed', false); } } } else { diff --git a/lib/pages/register_page.dart b/lib/pages/register_page.dart index a1e6951..3f4aee8 100644 --- a/lib/pages/register_page.dart +++ b/lib/pages/register_page.dart @@ -1,7 +1,12 @@ +import 'dart:developer'; + import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:gap/gap.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_bloc.dart'; +import 'package:pharmacy_mobile/blocs/guest/guest_event.dart'; import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart'; import 'package:pharmacy_mobile/widgets/glossy_container_widget.dart'; import 'package:pharmacy_mobile/widgets/input_form_widget.dart'; diff --git a/lib/tables/cart.dart b/lib/tables/cart.dart index d4f1f93..270ccaf 100644 --- a/lib/tables/cart.dart +++ b/lib/tables/cart.dart @@ -5,9 +5,9 @@ import 'package:supabase_flutter/supabase_flutter.dart'; class Carts { final SupabaseClient _supabase = Supabase.instance.client; - Future getCart(String email) async { + Future getCart(String uuid) async { try { - final data = await _supabase.from('carts').select('carts_uuid').eq('email', email); + final data = await _supabase.from('carts').select('carts_uuid').eq('user_id', uuid); log('data: $data'); return data.toList(); } catch (e) { diff --git a/lib/widgets/button_widget.dart b/lib/widgets/button_widget.dart index d607c84..c0de391 100644 --- a/lib/widgets/button_widget.dart +++ b/lib/widgets/button_widget.dart @@ -26,7 +26,7 @@ class ButtonWidget extends StatelessWidget { ) : ElevatedButton.styleFrom( foregroundColor: const Color.fromRGBO(0, 0, 0, 1), // text color - backgroundColor: const Color.fromRGBO(198, 133, 232, 1), // background color + backgroundColor: const Color.fromRGBO(198, 133, 232, 1), side: const BorderSide(color: Color.fromRGBO(79, 51, 94, 0.4)), // border color shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), // rounded corners diff --git a/lib/widgets/text_widget.dart b/lib/widgets/text_widget.dart index 5592fbf..58e2f5a 100644 --- a/lib/widgets/text_widget.dart +++ b/lib/widgets/text_widget.dart @@ -20,8 +20,8 @@ class TextWidget extends StatelessWidget { fontSize: size ?? 28, fontWeight: bold == true ? FontWeight.bold : FontWeight.normal, decoration: underlined == true ? TextDecoration.underline : TextDecoration.none, - decorationColor: const Color.fromRGBO(255, 255, 255, 1), - decorationThickness: 2); + decorationColor: color ?? const Color.fromRGBO(255, 255, 255, 1), + decorationThickness: 1); return title == true ? Text(text, style: GoogleFonts.outfit(textStyle: textStyle)) diff --git a/pubspec.lock b/pubspec.lock index d2558e2..255cb5d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -65,6 +65,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.12.0" + bloc: + dependency: transitive + description: + name: bloc + sha256: "52c10575f4445c61dd9e0cafcc6356fdd827c4c64dd7945ef3c4105f6b6ac189" + url: "https://pub.dev" + source: hosted + version: "9.0.0" boolean_selector: dependency: transitive description: @@ -246,6 +254,22 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_bloc: + dependency: "direct main" + description: + name: flutter_bloc + sha256: "1046d719fbdf230330d3443187cc33cc11963d15c9089f6cc56faa42a4c5f0cc" + url: "https://pub.dev" + source: hosted + version: "9.1.0" + flutter_dotenv: + dependency: "direct main" + description: + name: flutter_dotenv + sha256: b7c7be5cd9f6ef7a78429cabd2774d3c4af50e79cb2b7593e3d5d763ef95c61b + url: "https://pub.dev" + source: hosted + version: "5.2.1" flutter_image_compress: dependency: "direct main" description: @@ -608,6 +632,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.0" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" nm: dependency: transitive description: @@ -768,6 +800,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.1" + provider: + dependency: transitive + description: + name: provider + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + url: "https://pub.dev" + source: hosted + version: "6.1.2" pull_to_refresh: dependency: "direct main" description: @@ -957,14 +997,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.4" - toggle_switch: - dependency: "direct main" - description: - name: toggle_switch - sha256: dca04512d7c23ed320d6c5ede1211a404f177d54d353bf785b07d15546a86ce5 - url: "https://pub.dev" - source: hosted - version: "2.3.0" typed_data: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 842ebee..9a6416d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,7 +26,8 @@ dependencies: lazyxchacha: ^1.0.1 pull_to_refresh: ^2.0.0 redacted: ^1.0.13 - toggle_switch: ^2.3.0 + flutter_bloc: ^9.1.0 + flutter_dotenv: ^5.2.1 dev_dependencies: flutter_test: @@ -46,6 +47,7 @@ flutter: uses-material-design: true assets: + - .env - assets/ph_logo.webp - assets/background.webp - assets/login_background.webp