This commit is contained in:
Patrick Alvin Alcala 2025-03-12 18:09:04 +08:00
parent a76d3a0f35
commit e3dc94a768
33 changed files with 368 additions and 184 deletions

3
.gitignore vendored
View file

@ -51,3 +51,6 @@ android/app/.cxx
.externalNativeBuild .externalNativeBuild
.cxx .cxx
local.properties local.properties
# env
*.env

View file

@ -2,27 +2,27 @@ C/C++ Structured Logz
x x
v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/additional_project_files.txtC v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/arm64-v8a/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  â©¶–Ø2  ž•ŽÑ2w ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ç×¿ÄØ2  ž•ŽÑ2w
u 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 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 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 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 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 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 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 à ô•ŽÑ2p
n 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 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 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ç×¿ÄØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -2,27 +2,27 @@ C/C++ Structured Log|
z z
x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/additional_project_files.txtC x/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/armeabi-v7a/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ÿª¶–Ø2  ÅîŽÑ2y ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  œØ¿ÄØ2  ÅîŽÑ2y
w 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 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 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 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 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 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 Í ÈîŽÑ2r
p 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 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 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  œØ¿ÄØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -2,27 +2,27 @@ C/C++ Structured Logt
r r
p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/additional_project_files.txtC p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ϊ¶–Ø2  ðŽÑ2q ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ËØ¿ÄØ2  ðŽÑ2q
o 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 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 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 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 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 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 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 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 ¥ ðŽÑ2j
h 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 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 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ËØ¿ÄØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -2,27 +2,27 @@ C/C++ Structured Logw
u u
s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/additional_project_files.txtC s/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/Debug/k6q1g3c4/x86_64/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  㪶–Ø2  ßñŽÑ2t ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÒØ¿ÄØ2  ßñŽÑ2t
r 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 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 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 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 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 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 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 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 ´ âñŽÑ2m
k 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 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 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ÒØ¿ÄØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -2,27 +2,27 @@ C/C++ Structured Log
<EFBFBD> <EFBFBD>
/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/additional_project_files.txtC /home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Êö±û×2  ¢í‡<C3AD>Ñ2€ ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  íãÊÎØ2  ¢í‡<C3AD>Ñ2€
~ ~
|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build.json  Êö±û×2ß £í‡<C3AD>Ñ2‡ |/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build.json  íãÊÎØ2ß £í‡<C3AD>Ñ2‡
 
<EFBFBD>/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build_mini.json  Êö±û×2ø £í‡<C3AD>Ñ2r <EFBFBD>/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/android_gradle_build_mini.json  íãÊÎØ2ø £í‡<C3AD>Ñ2r
p p
n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja  Êö±û×2ߺ —í‡<C3AD>Ñ2v n/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build.ninja  íãÊÎØ2ߺ —í‡<C3AD>Ñ2v
t 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 y
w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build_file_index.txt  Êö±û×2 ^ ¥í‡<C3AD>Ñ2| w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build_file_index.txt  íãÊÎØ2 ^ ¥í‡<C3AD>Ñ2|
z 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
ç ¥í‡<C3AD>Ñ2y ç ¥í‡<C3AD>Ñ2y
w w
u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/prefab_config.json  Êö±û×2  ( ¥í‡<C3AD>Ñ2~ u/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/prefab_config.json  íãÊÎØ2  ( ¥í‡<C3AD>Ñ2~
| |
z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/symbol_folder_index.txt  Ëö±û×2  q ¥í‡<C3AD>Ñ2b z/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/symbol_folder_index.txt  îãÊÎØ2  q ¥í‡<C3AD>Ñ2b
` `
^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ëö±û×2 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  îãÊÎØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -2,27 +2,27 @@ C/C++ Structured Log
 
<EFBFBD>/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/additional_project_files.txtC <EFBFBD>/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  õö±û×2  ·ó‡<C3B3>Ñ2ƒ ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  <EFBFBD>äÊÎØ2  ·ó‡<C3B3>Ñ2ƒ
 
~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build.json  õö±û×2ã ¸ó‡<C3B3>Ñ2‰ ~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build.json  <EFBFBD>äÊÎØ2ã ¸ó‡<C3B3>Ñ2‰
 
ƒ/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build_mini.json  õö±û×2ü ¸ó‡<C3B3>Ñ2t ƒ/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/android_gradle_build_mini.json  <EFBFBD>äÊÎØ2ü ¸ó‡<C3B3>Ñ2t
r r
p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja  õö±û×2éº …ó‡<C3B3>Ñ2x p/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build.ninja  <EFBFBD>äÊÎØ2éº …ó‡<C3B3>Ñ2x
v 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  <EFBFBD>äÊÎØ2}
{ {
y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build_file_index.txt  õö±û×2 ^ ºó‡<C3B3>Ñ2~ y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/build_file_index.txt  <EFBFBD>äÊÎØ2 ^ ºó‡<C3B3>Ñ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  <EFBFBD>äÊÎØ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  <EFBFBD>äÊÎØ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  <EFBFBD>äÊÎØ2
ñ ºó‡<C3B3>Ñ2{ ñ ºó‡<C3B3>Ñ2{
y y
w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/prefab_config.json  õö±û×2  ( ºó‡<C3B3>Ñ2€ w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/prefab_config.json  <EFBFBD>äÊÎØ2  ( ºó‡<C3B3>Ñ2€
~ ~
|/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/symbol_folder_index.txt  õö±û×2  s ºó‡<C3B3>Ñ2b |/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/armeabi-v7a/symbol_folder_index.txt  <EFBFBD>äÊÎØ2  s ºó‡<C3B3>Ñ2b
` `
^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  õö±û×2 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  <EFBFBD>äÊÎØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -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 y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Š÷±û×2  ø‡<C3B8>Ñ2z ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ŠäÊÎØ2  ø‡<C3B8>Ñ2z
x x
v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build.json  Š÷±û×2Ó Œø‡<C3B8>Ñ2 v/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build.json  ŠäÊÎØ2Ó Œø‡<C3B8>Ñ2
} }
{/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build_mini.json  Š÷±û×2ì <20>ø‡<C3B8>Ñ2l {/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/android_gradle_build_mini.json  ŠäÊÎØ2ì <20>ø‡<C3B8>Ñ2l
j j
h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja  Š÷±û×2Áº æ÷‡<C3B7>Ñ2p h/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build.ninja  ŠäÊÎØ2Áº æ÷‡<C3B7>Ñ2p
n 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 s
q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build_file_index.txt  Š÷±û×2 ^ Žø‡<C3B8>Ñ2v q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build_file_index.txt  ŠäÊÎØ2 ^ Žø‡<C3B8>Ñ2v
t 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 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
É Žø‡<C3B8>Ñ2s É Žø‡<C3B8>Ñ2s
q q
o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/prefab_config.json  Š÷±û×2  ( Žø‡<C3B8>Ñ2x o/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/prefab_config.json  ŠäÊÎØ2  ( Žø‡<C3B8>Ñ2x
v v
t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/symbol_folder_index.txt  Š÷±û×2  k Žø‡<C3B8>Ñ2b t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/symbol_folder_index.txt  ŠäÊÎØ2  k Žø‡<C3B8>Ñ2b
` `
^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Š÷±û×2 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ŠäÊÎØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -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 |/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ã÷±û×2  ¡ý‡<C3BD>Ñ2} ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ’äÊÎØ2  ¡ý‡<C3BD>Ñ2}
{ {
y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build.json  ã÷±û×2Ù ¡ý‡<C3BD>Ñ2ƒ y/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build.json  ’äÊÎØ2Ù ¡ý‡<C3BD>Ñ2ƒ
 
~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build_mini.json  ã÷±û×2ò ¢ý‡<C3BD>Ñ2o ~/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/android_gradle_build_mini.json  ’äÊÎØ2ò ¢ý‡<C3BD>Ñ2o
m m
k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja  ã÷±û×2к ý‡<C3BD>Ñ2s k/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build.ninja  ’äÊÎØ2к ý‡<C3BD>Ñ2s
q 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 v
t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build_file_index.txt  ã÷±û×2 ^ ¢ý‡<C3BD>Ñ2y t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build_file_index.txt  ’äÊÎØ2 ^ ¢ý‡<C3BD>Ñ2y
w 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
<EFBFBD> <EFBFBD>
/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
Ø ¢ý‡<C3BD>Ñ2v Ø ¢ý‡<C3BD>Ñ2v
t t
r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/prefab_config.json  ä÷±û×2  ( ¢ý‡<C3BD>Ñ2{ r/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/prefab_config.json  ’äÊÎØ2  ( ¢ý‡<C3BD>Ñ2{
y y
w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/symbol_folder_index.txt  ä÷±û×2  n ¢ý‡<C3BD>Ñ2b w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/symbol_folder_index.txt  ’äÊÎØ2  n ¢ý‡<C3BD>Ñ2b
` `
^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ä÷±û×2 ¤ ˆÈ¼<C388>Ñ2 ^/home/patrick/fvm/versions/3.29.0/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  ’äÊÎØ2 ¤ ˆÈ¼<C388>Ñ2

View file

@ -20,4 +20,10 @@ class AuthService {
final user = session?.user; final user = session?.user;
return user?.email; return user?.email;
} }
String? getCurrentUserId() {
final session = _supabase.auth.currentSession;
final user = session?.user;
return user?.id;
}
} }

View file

@ -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<bool> blocGetGuestStatus(BuildContext context) async {
try {
final guestBloc = context.read<GuestBloc>();
guestBloc.add(GuestGetStatus());
return guestBloc.state.value;
} catch (e) {
return false;
}
}

View file

@ -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<bool> blocSetGuestOff(BuildContext context) async {
try {
final guestBloc = context.read<GuestBloc>();
guestBloc.add(GuestSetOff());
return true;
} catch (e) {
return false;
}
}

View file

@ -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<bool> blocSetGuestOn(BuildContext context) async {
try {
final guestBloc = context.read<GuestBloc>();
guestBloc.add(GuestSetOn());
return true;
} catch (e) {
return false;
}
}

View file

@ -0,0 +1,17 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'guest_event.dart';
import 'guest_state.dart';
class GuestBloc extends Bloc<GuestEvent, GuestState> {
GuestBloc() : super(GuestState(false)) {
on<GuestSetOn>((event, emit) {
emit(GuestState(true));
});
on<GuestSetOff>((event, emit) {
emit(GuestState(false));
});
on<GuestGetStatus>((event, emit) {
emit(state);
});
}
}

View file

@ -0,0 +1,7 @@
abstract class GuestEvent {}
class GuestSetOn extends GuestEvent {}
class GuestSetOff extends GuestEvent {}
class GuestGetStatus extends GuestEvent {}

View file

@ -0,0 +1,5 @@
class GuestState {
final bool value;
GuestState(this.value);
}

View file

@ -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<String> blocGetUser(BuildContext context) async {
try {
final userBloc = context.read<UserBloc>();
userBloc.add(UserGetValue());
return userBloc.state.value;
} catch (e) {
return '';
}
}

View file

@ -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<bool> blocSetUser(BuildContext context, String value) async {
try {
final userBloc = context.read<UserBloc>();
userBloc.add(UserSetValue(value));
return true;
} catch (e) {
return false;
}
}

View file

@ -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<UserEvent, UserState> {
UserBloc() : super(UserState('')) {
on<UserSetValue>((event, emit) {
emit(UserState(event.value));
});
on<UserGetValue>((event, emit) {
emit(state);
});
}
}

View file

@ -0,0 +1,8 @@
abstract class UserEvent {}
class UserSetValue extends UserEvent {
final String value;
UserSetValue(this.value);
}
class UserGetValue extends UserEvent {}

View file

@ -0,0 +1,5 @@
class UserState {
final String value;
UserState(this.value);
}

View file

@ -1,28 +0,0 @@
// import 'package:supabase_flutter/supabase_flutter.dart';
// import 'package:pharmacy_mobile/main.dart';
// Future<void> 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;
// });
// }
// }
// }

View file

@ -1,5 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:pharmacy_mobile/auth/auth_gate.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_category_page.dart';
import 'package:pharmacy_mobile/pages/add_generics_page.dart'; import 'package:pharmacy_mobile/pages/add_generics_page.dart';
import 'package:pharmacy_mobile/pages/add_manufacturer.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/main_page.dart';
import 'package:pharmacy_mobile/pages/register_page.dart'; import 'package:pharmacy_mobile/pages/register_page.dart';
import 'package:supabase_flutter/supabase_flutter.dart'; import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
Future<void> main() async { Future<void> main() async {
await dotenv.load(fileName: ".env");
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
final supUrl = "https://lijihnvjlucyvxfhghqd.supabase.co"; final supUrl = dotenv.env['SUPABASE_URL']!;
final supAnonkey = final supAnonkey = dotenv.env['SUPABASE_ANON_KEY']!;
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImxpamlobnZqbHVjeXZ4ZmhnaHFkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MjQ1NjEyODYsImV4cCI6MjA0MDEzNzI4Nn0.N3_FLKm02OdprL9m3P0CzuV8kdbCrrJKaVdtgVR3PSk";
await Supabase.initialize( await Supabase.initialize(
url: supUrl, url: supUrl,
@ -112,12 +116,22 @@ class MyApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp.router( return MultiBlocProvider(
debugShowCheckedModeBanner: false, providers: [
theme: ThemeData( BlocProvider(
useMaterial3: true, create: (context) => GuestBloc(),
),
BlocProvider(
create: (context) => UserBloc(),
),
],
child: MaterialApp.router(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
),
routerConfig: _router,
), ),
routerConfig: _router,
); );
} }
} }

View file

@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:pharmacy_mobile/auth/auth_service.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/button_widget.dart';
import 'package:pharmacy_mobile/widgets/customer_pagebackground_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/customer_title_widget.dart';
@ -16,11 +17,25 @@ class CustomerProfilePage extends StatefulWidget {
} }
class _CustomerProfilePageState extends State<CustomerProfilePage> { class _CustomerProfilePageState extends State<CustomerProfilePage> {
final authService = AuthService(); final _authService = AuthService();
late bool _isGuest = false;
void _signOut() async { void _signOut() async {
// ignore: use_build_context_synchronously // 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 @override
@ -34,7 +49,7 @@ class _CustomerProfilePageState extends State<CustomerProfilePage> {
const Gap(68), const Gap(68),
const CustomerTitleWidget(), const CustomerTitleWidget(),
const Gap(32), const Gap(32),
const TextWidget(text: 'My Profile'), _isGuest ? const TextWidget(text: 'Guest Profile') : const TextWidget(text: 'My Profile'),
const Gap(16), const Gap(16),
const Gap(32), const Gap(32),
ButtonWidget(text: 'Log Out', onPressed: _signOut) ButtonWidget(text: 'Log Out', onPressed: _signOut)

View file

@ -1,8 +1,13 @@
import 'dart:developer'; import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:pharmacy_mobile/auth/auth_service.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/cart.dart';
import 'package:pharmacy_mobile/tables/stocks.dart'; import 'package:pharmacy_mobile/tables/stocks.dart';
import 'package:pharmacy_mobile/tables/storage.dart'; import 'package:pharmacy_mobile/tables/storage.dart';
@ -43,16 +48,14 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
_stockList = await _stocks.getList(); _stockList = await _stocks.getList();
} }
Future<String> _getCurrentUser() async { Future<String> _getCurrentUserId() async {
final result = _authService.getCurrentUser(); final result = _authService.getCurrentUserId();
return result.toString(); return result.toString();
} }
Future<void> _getCarts() async { Future<void> _getCarts() async {
final currentUser = await _getCurrentUser(); final currentUser = await _getCurrentUserId();
log('currentUser: $currentUser');
_cartList = await _carts.getCart(currentUser); _cartList = await _carts.getCart(currentUser);
log('cart: ${_cartList.toString()}');
} }
// Future<void> _getAllMedicines() async { // Future<void> _getAllMedicines() async {
@ -82,7 +85,7 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
void autoRun() async { void autoRun() async {
await _getAllStocks(); await _getAllStocks();
await _getCarts(); await _getCarts();
// await _getAllMedicines(); // // // await _getAllMedicines();
await _getURL(); await _getURL();
} }
@ -125,31 +128,6 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
), ),
), ),
const Gap(32), 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 IndicatorWidget(text: 'All Stocks'),
const Gap(8), const Gap(8),
SingleChildScrollView( SingleChildScrollView(

View file

@ -1,6 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:gap/gap.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/button_widget.dart';
import 'package:pharmacy_mobile/widgets/image_widget.dart'; import 'package:pharmacy_mobile/widgets/image_widget.dart';
import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart';
@ -21,6 +25,14 @@ class IndexPage extends StatelessWidget {
context.push('/register'); context.push('/register');
} }
void loginAsGuest() async {
final setGuest = await blocSetGuestOn(context);
if (setGuest) {
// ignore: use_build_context_synchronously
context.push('/customer');
}
}
return Scaffold( return Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
body: PageBackgroundWidget( body: PageBackgroundWidget(
@ -41,6 +53,16 @@ class IndexPage extends StatelessWidget {
ButtonWidget(text: 'Login', onPressed: gotoLogin), ButtonWidget(text: 'Login', onPressed: gotoLogin),
const Gap(8), const Gap(8),
ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true), 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 Gap(32),
const SloganWidget(), const SloganWidget(),
const Gap(32), const Gap(32),

View file

@ -2,6 +2,8 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:pharmacy_mobile/auth/auth_service.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/buttonwithprogress_widget.dart';
import 'package:pharmacy_mobile/widgets/glossy_container_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/input_form_widget.dart';
@ -55,10 +57,14 @@ class _LoginPageState extends State<LoginPage> {
if (await InternetConnectionChecker.instance.hasConnection) { if (await InternetConnectionChecker.instance.hasConnection) {
await _authService.signIn(email, password); 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); showNotification(context, 'Login Successful', true);
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
@ -68,6 +74,9 @@ class _LoginPageState extends State<LoginPage> {
if (mounted) context.push('/customer'); if (mounted) context.push('/customer');
} }
}); });
} else {
// ignore: use_build_context_synchronously
showNotification(context, 'Error: Login failed', false);
} }
} }
} else { } else {

View file

@ -1,7 +1,12 @@
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:internet_connection_checker/internet_connection_checker.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart';
import 'package:pharmacy_mobile/auth/auth_service.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/buttonwithprogress_widget.dart';
import 'package:pharmacy_mobile/widgets/glossy_container_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/input_form_widget.dart';

View file

@ -5,9 +5,9 @@ import 'package:supabase_flutter/supabase_flutter.dart';
class Carts { class Carts {
final SupabaseClient _supabase = Supabase.instance.client; final SupabaseClient _supabase = Supabase.instance.client;
Future<List> getCart(String email) async { Future<List> getCart(String uuid) async {
try { 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'); log('data: $data');
return data.toList(); return data.toList();
} catch (e) { } catch (e) {

View file

@ -26,7 +26,7 @@ class ButtonWidget extends StatelessWidget {
) )
: ElevatedButton.styleFrom( : ElevatedButton.styleFrom(
foregroundColor: const Color.fromRGBO(0, 0, 0, 1), // text color 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 side: const BorderSide(color: Color.fromRGBO(79, 51, 94, 0.4)), // border color
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20), // rounded corners borderRadius: BorderRadius.circular(20), // rounded corners

View file

@ -20,8 +20,8 @@ class TextWidget extends StatelessWidget {
fontSize: size ?? 28, fontSize: size ?? 28,
fontWeight: bold == true ? FontWeight.bold : FontWeight.normal, fontWeight: bold == true ? FontWeight.bold : FontWeight.normal,
decoration: underlined == true ? TextDecoration.underline : TextDecoration.none, decoration: underlined == true ? TextDecoration.underline : TextDecoration.none,
decorationColor: const Color.fromRGBO(255, 255, 255, 1), decorationColor: color ?? const Color.fromRGBO(255, 255, 255, 1),
decorationThickness: 2); decorationThickness: 1);
return title == true return title == true
? Text(text, style: GoogleFonts.outfit(textStyle: textStyle)) ? Text(text, style: GoogleFonts.outfit(textStyle: textStyle))

View file

@ -65,6 +65,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.12.0" version: "2.12.0"
bloc:
dependency: transitive
description:
name: bloc
sha256: "52c10575f4445c61dd9e0cafcc6356fdd827c4c64dd7945ef3c4105f6b6ac189"
url: "https://pub.dev"
source: hosted
version: "9.0.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -246,6 +254,22 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" 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: flutter_image_compress:
dependency: "direct main" dependency: "direct main"
description: description:
@ -608,6 +632,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.0" version: "2.0.0"
nested:
dependency: transitive
description:
name: nested
sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
nm: nm:
dependency: transitive dependency: transitive
description: description:
@ -768,6 +800,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.1" 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: pull_to_refresh:
dependency: "direct main" dependency: "direct main"
description: description:
@ -957,14 +997,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.4" 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: typed_data:
dependency: transitive dependency: transitive
description: description:

View file

@ -26,7 +26,8 @@ dependencies:
lazyxchacha: ^1.0.1 lazyxchacha: ^1.0.1
pull_to_refresh: ^2.0.0 pull_to_refresh: ^2.0.0
redacted: ^1.0.13 redacted: ^1.0.13
toggle_switch: ^2.3.0 flutter_bloc: ^9.1.0
flutter_dotenv: ^5.2.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
@ -46,6 +47,7 @@ flutter:
uses-material-design: true uses-material-design: true
assets: assets:
- .env
- assets/ph_logo.webp - assets/ph_logo.webp
- assets/background.webp - assets/background.webp
- assets/login_background.webp - assets/login_background.webp