From 7886eeb6c264517f3ec2de0635514571d63fd280 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Wed, 26 Feb 2025 12:52:08 +0800 Subject: [PATCH] update --- .../arm64-v8a/configure_fingerprint.bin | 24 +++---- .../armeabi-v7a/configure_fingerprint.bin | 24 +++---- .../k6q1g3c4/x86/configure_fingerprint.bin | 24 +++---- .../k6q1g3c4/x86_64/configure_fingerprint.bin | 24 +++---- .../arm64-v8a/configure_fingerprint.bin | 24 +++---- .../armeabi-v7a/configure_fingerprint.bin | 24 +++---- .../14495r4k/x86/configure_fingerprint.bin | 24 +++---- .../14495r4k/x86_64/configure_fingerprint.bin | 24 +++---- lib/pages/add_medicine_page.dart | 49 +++++++++++--- lib/pages/add_stock_page.dart | 13 ++-- lib/pages/customer_page.dart | 4 -- .../customer_pages/customer_main_page.dart | 2 +- lib/pages/index_page.dart | 7 +- lib/pages/login_page.dart | 5 +- lib/pages/main_page.dart | 20 +++--- lib/pages/register_page.dart | 5 +- lib/tables/storage.dart | 4 +- lib/widgets/button_widget.dart | 4 +- lib/widgets/datepicker_widget.dart | 13 ++-- lib/widgets/dropdown_widget.dart | 20 +++--- lib/widgets/dropdown_wrapper_widget.dart | 2 +- lib/widgets/dropdown_wrappermulti_widget.dart | 5 +- lib/widgets/input_widget.dart | 12 ++-- lib/widgets/menu_widget.dart | 67 ------------------- lib/widgets/menu_widget2.dart | 4 +- lib/widgets/text_widget.dart | 10 +-- 26 files changed, 210 insertions(+), 228 deletions(-) delete mode 100644 lib/widgets/menu_widget.dart 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 a8d9ac5..63c00b2 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 6a51c37..33bbc95 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 4dd890c..9e3b988 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 37166cf..f16ccd9 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 d1f34a4..7376db8 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 90b83ae..91d95af 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 21a4474..6a822c6 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 a4397cd..c44d183 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/pages/add_medicine_page.dart b/lib/pages/add_medicine_page.dart index 38863c4..8accd9f 100644 --- a/lib/pages/add_medicine_page.dart +++ b/lib/pages/add_medicine_page.dart @@ -1,10 +1,14 @@ +import 'dart:convert'; +import 'dart:developer'; +import 'dart:io'; +import 'dart:typed_data'; + import 'package:flutter/material.dart'; import 'package:gap/gap.dart'; import 'package:image_picker/image_picker.dart'; import 'package:internet_connection_checker/internet_connection_checker.dart'; import 'package:pharmacy_mobile/functions/barcode_scan_function.dart'; import 'package:pharmacy_mobile/functions/checkresult_function.dart'; -import 'package:pharmacy_mobile/security/encryption.dart'; import 'package:pharmacy_mobile/tables/ref_categories.dart'; import 'package:pharmacy_mobile/tables/ref_generic_names.dart'; import 'package:pharmacy_mobile/tables/ref_manufactorers.dart'; @@ -22,7 +26,6 @@ import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart'; import 'package:pharmacy_mobile/widgets/title_widget.dart'; import 'package:go_router/go_router.dart'; -import 'package:simple_barcode_scanner/simple_barcode_scanner.dart'; import 'package:uuid/uuid.dart'; import 'package:flutter_image_compress/flutter_image_compress.dart'; @@ -161,7 +164,8 @@ class _AddMedicinePageState extends State { setState(() => _isLoading = true); try { - final String encrpytedBarcode = await encrypt(_barcodeController.text); + // final String encrpytedBarcode = await encrypt(_barcodeController.text); + final String encrpytedBarcode = _barcodeController.text; if (await InternetConnectionChecker.instance.hasConnection) { final medName = _nameController.text; @@ -187,16 +191,19 @@ class _AddMedicinePageState extends State { void _addImage() async { final imageName = Uuid().v4(); - uuid = imageName; + final ImagePicker picker = ImagePicker(); - final XFile? image = await picker.pickImage(source: ImageSource.gallery); + final XFile? image = await picker.pickImage(source: ImageSource.gallery, imageQuality: 100); const storageName = 'ref_medicines_images'; - if (image == null) { - return; - } + final imageBytes = await image!.readAsBytes(); + final webpImage = await _webpConvert(imageBytes); - imageUrl = await _storage.uploadImage(context, storageName, image, '$imageName.webp'); + uuid = imageName; + + if (mounted) { + imageUrl = await _storage.uploadImage(context, storageName, webpImage, '$imageName.webp'); + } setState(() { if (imageUrl.isEmpty) { @@ -207,6 +214,19 @@ class _AddMedicinePageState extends State { }); } + Future _webpConvert(Uint8List file) async { + final result = await FlutterImageCompress.compressWithList( + file, + // minHeight: 1080, + // minWidth: 1080, + quality: 75, + rotate: 0, + keepExif: false, + format: CompressFormat.webp, + ); + return result; + } + @override void initState() { autoRun(); @@ -261,7 +281,10 @@ class _AddMedicinePageState extends State { listTitle: 'generic_name', onChanged: _updateGeneric), const Gap(8), - TextWidget(text: _selectedCategory, size: 18), + Padding( + padding: const EdgeInsets.only(left: 12), + child: TextWidget(text: _selectedCategory, size: 18), + ), const Gap(16), DropDownWidget( label: 'Type', list: _typeList, listTitle: 'type_name', onChanged: _updateType), @@ -282,7 +305,11 @@ class _AddMedicinePageState extends State { child: Image.network(imageUrl, fit: BoxFit.cover, width: 250, height: 250)), ) else - ButtonWidget(text: 'Add Image', onPressed: _addImage), + ButtonWidget( + text: 'Add Image', + onPressed: _addImage, + outline: true, + ), const Gap(32), if (_isLoading) const Center(child: CircularProgressIndicator(color: Colors.white)) diff --git a/lib/pages/add_stock_page.dart b/lib/pages/add_stock_page.dart index 4e83989..38f50e4 100644 --- a/lib/pages/add_stock_page.dart +++ b/lib/pages/add_stock_page.dart @@ -85,11 +85,16 @@ class _AddStockPageState extends State with WidgetsBindingObserver } void _saveStock() async { - final stockNameUUID = await _refMedicines.getUUID(_selectedMedicine); - final stockQuantity = _quantityController.text; - final stockExpiration = _dateController.text; + // final stockNameUUID = await _refMedicines.getUUID(_selectedMedicine); + // final stockQuantity = _quantityController.text; + // final stockExpiration = _dateController.text; - await _stocks.postStock(stockNameUUID, stockExpiration, stockQuantity); + // await _stocks.postStock(stockNameUUID, stockExpiration, stockQuantity); + final aa = await encrypt('text'); + final bb = + await decrypt('4cee2f33af6ebac8dcfdeeccdd6c73c4698ce25b0cb26249c571fafc8483b5a047baefc4d626fa56e027343d'); + log('encrypt: $aa'); + log('plain: $bb'); } Future _scanBarcode() async { diff --git a/lib/pages/customer_page.dart b/lib/pages/customer_page.dart index 0426baf..cbfec9c 100644 --- a/lib/pages/customer_page.dart +++ b/lib/pages/customer_page.dart @@ -70,7 +70,6 @@ class _CustomerPageState extends State { size: barFontSize, bold: true, color: unselectedBarColor, - footer: true, )), BottomBarItem( inActiveItem: @@ -81,7 +80,6 @@ class _CustomerPageState extends State { size: barFontSize, bold: true, color: unselectedBarColor, - footer: true, ), ), BottomBarItem( @@ -93,7 +91,6 @@ class _CustomerPageState extends State { size: barFontSize, bold: true, color: unselectedBarColor, - footer: true, ), ), BottomBarItem( @@ -104,7 +101,6 @@ class _CustomerPageState extends State { size: barFontSize, bold: true, color: unselectedBarColor, - footer: true, ), ), ], diff --git a/lib/pages/customer_pages/customer_main_page.dart b/lib/pages/customer_pages/customer_main_page.dart index 707941f..0c15396 100644 --- a/lib/pages/customer_pages/customer_main_page.dart +++ b/lib/pages/customer_pages/customer_main_page.dart @@ -42,7 +42,7 @@ class _CustomerMainPageState extends State { const Gap(32), const TextWidget(text: 'Menu'), const Gap(16), - MenuWidget2( + MenuWidget( // icon: FontAwesomeIcons.diagramNext, text: 'Diagnose by ', description: 'aaa', diff --git a/lib/pages/index_page.dart b/lib/pages/index_page.dart index 88992fd..a8804f4 100644 --- a/lib/pages/index_page.dart +++ b/lib/pages/index_page.dart @@ -49,9 +49,12 @@ class IndexPage extends StatelessWidget { text: 'Copyright © 2025 - Ofelia Franco-Alcala Pharmacy', size: 10, bold: true, - footer: true, ), - const TextWidget(text: 'Developed By: Pat Alcala', size: 8, opacity: 0.8, footer: true), + const TextWidget( + text: 'Developed By: Pat Alcala', + size: 8, + opacity: 0.8, + ), const Gap(16), ], ), diff --git a/lib/pages/login_page.dart b/lib/pages/login_page.dart index 7e6cae0..edc82f8 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -123,7 +123,10 @@ class _LoginPageState extends State { logoSize: 90, ), const Gap(32), - const TextWidget(text: 'Login'), + const TextWidget( + text: 'Login', + title: true, + ), const Gap(16), Padding( padding: const EdgeInsets.only(left: 32, right: 32), diff --git a/lib/pages/main_page.dart b/lib/pages/main_page.dart index 481b9ce..e1a9cb5 100644 --- a/lib/pages/main_page.dart +++ b/lib/pages/main_page.dart @@ -4,7 +4,6 @@ import 'package:gap/gap.dart'; import 'package:go_router/go_router.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart'; -import 'package:pharmacy_mobile/widgets/logo_widget.dart'; import 'package:pharmacy_mobile/widgets/menu_widget2.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; @@ -46,9 +45,12 @@ class _MainPageState extends State { logoSize: 90, ), const Gap(32), - const TextWidget(text: 'Menu'), + const TextWidget( + text: 'Menu', + title: true, + ), const Gap(16), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.circlePlus, text: 'Add Type', description: 'Create a new medical type', @@ -56,7 +58,7 @@ class _MainPageState extends State { color: 'blue', ), const Gap(16), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.circlePlus, text: 'Add Category', description: 'Create a new medicine category', @@ -64,35 +66,35 @@ class _MainPageState extends State { color: 'blue', ), const Gap(16), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.circlePlus, text: 'Add Generics', description: 'Add generic name on the list', onPressed: () => {context.push('/addgenerics')}, color: 'blue'), const Gap(32), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.circlePlus, text: 'Add Medicine', description: 'Add generic name on the list', onPressed: () => {context.push('/addmedicines')}, color: 'green'), const Gap(16), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.circlePlus, text: 'Add Stock', description: 'Add generic name on the list', onPressed: () => {context.push('/addstock')}, color: 'green'), const Gap(32), - MenuWidget2( + MenuWidget( icon: Icons.delete, text: 'Remove Stock', description: 'Add generic name on the list', onPressed: () => {context.push('/deletestock')}, color: 'red'), const Gap(32), - MenuWidget2( + MenuWidget( icon: FontAwesomeIcons.listCheck, text: 'List of Stocks', description: 'Add generic name on the list', diff --git a/lib/pages/register_page.dart b/lib/pages/register_page.dart index 6a78c6a..457056e 100644 --- a/lib/pages/register_page.dart +++ b/lib/pages/register_page.dart @@ -116,7 +116,10 @@ class _RegisterPageState extends State { logoSize: 90, ), const Gap(32), - const TextWidget(text: 'Register'), + const TextWidget( + text: 'Register', + title: true, + ), const Gap(16), Padding( padding: const EdgeInsets.only(left: 32, right: 32), diff --git a/lib/tables/storage.dart b/lib/tables/storage.dart index d80a6f1..4161f46 100644 --- a/lib/tables/storage.dart +++ b/lib/tables/storage.dart @@ -42,9 +42,9 @@ class Storage { } } - Future uploadImage(BuildContext context, String storage, XFile image, String name) async { + Future uploadImage(BuildContext context, String storage, Uint8List image, String name) async { try { - final imageBytes = await image.readAsBytes(); + final imageBytes = image; final imagePath = name; await _supabase.storage.from(storage).uploadBinary(imagePath, imageBytes); diff --git a/lib/widgets/button_widget.dart b/lib/widgets/button_widget.dart index d97bdbe..d607c84 100644 --- a/lib/widgets/button_widget.dart +++ b/lib/widgets/button_widget.dart @@ -47,9 +47,9 @@ class ButtonWidget extends StatelessWidget { TextStyle _textStyle(bool? outline) { if (outline == true) { - return GoogleFonts.outfit(textStyle: const TextStyle(fontSize: 14, color: Color.fromRGBO(198, 133, 232, 1))); + return GoogleFonts.inter(textStyle: const TextStyle(fontSize: 14, color: Color.fromRGBO(198, 133, 232, 1))); } else { - return GoogleFonts.outfit(textStyle: const TextStyle(fontSize: 14, color: Color.fromRGBO(0, 0, 0, 1))); + return GoogleFonts.inter(textStyle: const TextStyle(fontSize: 14, color: Color.fromRGBO(0, 0, 0, 1))); } } } diff --git a/lib/widgets/datepicker_widget.dart b/lib/widgets/datepicker_widget.dart index 1ac26fc..62cb27a 100644 --- a/lib/widgets/datepicker_widget.dart +++ b/lib/widgets/datepicker_widget.dart @@ -33,23 +33,24 @@ class _DatePickerWidgetState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('${widget.label}:', - style: GoogleFonts.outfit( - textStyle: const TextStyle(color: Colors.white, fontSize: 12), + style: GoogleFonts.inter( + textStyle: const TextStyle(color: Colors.white, fontSize: 12, fontWeight: FontWeight.w500), )), const Gap(8), GestureDetector( onTap: () => {_selectDate(context)}, child: Container( - padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 16), + padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 14), decoration: BoxDecoration( border: Border.all(color: Colors.white), - borderRadius: BorderRadius.circular(8), + borderRadius: BorderRadius.circular(4), color: Colors.transparent, ), alignment: Alignment.centerLeft, child: Text(widget.controller.text.isNotEmpty ? widget.controller.text : 'Select Date', - style: GoogleFonts.outfit( - textStyle: const TextStyle(color: Color.fromRGBO(255, 255, 255, 1), fontSize: 16))), + style: GoogleFonts.inter( + textStyle: const TextStyle(color: Color.fromRGBO(255, 255, 255, 1), fontSize: 16), + fontWeight: FontWeight.w500)), ), ), ], diff --git a/lib/widgets/dropdown_widget.dart b/lib/widgets/dropdown_widget.dart index bf9a8fc..2fb2404 100644 --- a/lib/widgets/dropdown_widget.dart +++ b/lib/widgets/dropdown_widget.dart @@ -24,15 +24,15 @@ class DropDownWidget extends StatelessWidget { children: [ Text( '$label:', - style: GoogleFonts.outfit( - textStyle: const TextStyle(color: Colors.white, fontSize: 12), + style: GoogleFonts.inter( + textStyle: const TextStyle(color: Colors.white, fontSize: 12, fontWeight: FontWeight.w500), ), ), const Gap(8), Container( decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), // Set the desired border radius - border: Border.all(color: const Color.fromRGBO(255, 255, 255, 1)), // Set the border color + borderRadius: BorderRadius.circular(4), // Set the desired border radius + border: Border.all(color: const Color.fromRGBO(255, 255, 255, 1)), ), child: DropdownMenu( initialSelection: '', @@ -42,20 +42,22 @@ class DropDownWidget extends StatelessWidget { label: item[listTitle].toString(), value: item[listTitle], style: ButtonStyle( - foregroundColor: WidgetStateProperty.all(const Color.fromRGBO(230, 230, 230, 1)), + foregroundColor: WidgetStateProperty.all(const Color.fromRGBO(10, 10, 10, 1)), textStyle: WidgetStateProperty.all( GoogleFonts.inter(fontSize: 16, fontWeight: FontWeight.w500)))), ], onSelected: onChanged, width: MediaQuery.of(context).size.width * 0.9, menuHeight: MediaQuery.of(context).size.height * 0.8, - textStyle: - GoogleFonts.outfit(textStyle: const TextStyle(color: Color.fromRGBO(255, 255, 255, 1), fontSize: 16)), + textStyle: GoogleFonts.inter( + textStyle: const TextStyle(color: Color.fromRGBO(255, 255, 255, 1), fontSize: 16), + fontWeight: FontWeight.w500), menuStyle: MenuStyle( - backgroundColor: WidgetStateProperty.all(const Color.fromRGBO(21, 13, 35, 0.902)), + // backgroundColor: WidgetStateProperty.all(const Color.fromRGBO(21, 13, 35, 0.902)), + backgroundColor: WidgetStateProperty.all(const Color.fromRGBO(255, 255, 255, 1)), padding: WidgetStateProperty.all(const EdgeInsets.symmetric(vertical: 16, horizontal: 8)), shape: WidgetStateProperty.all(RoundedRectangleBorder( - borderRadius: BorderRadius.circular(8), // Set the border radius for the dropdown menu + borderRadius: BorderRadius.circular(4), // Set the border radius for the dropdown menu )), ), ), diff --git a/lib/widgets/dropdown_wrapper_widget.dart b/lib/widgets/dropdown_wrapper_widget.dart index d97c063..8f0f75c 100644 --- a/lib/widgets/dropdown_wrapper_widget.dart +++ b/lib/widgets/dropdown_wrapper_widget.dart @@ -26,7 +26,7 @@ class DropdownWrapperWidget extends StatelessWidget { spacing: 16, children: [ const CircularProgressIndicator(color: Color.fromRGBO(255, 255, 255, 1)), - TextWidget(text: 'Fetching $text', size: 16, footer: true) + TextWidget(text: 'Fetching $text', size: 16) ], ), ], diff --git a/lib/widgets/dropdown_wrappermulti_widget.dart b/lib/widgets/dropdown_wrappermulti_widget.dart index c7d9e60..c983445 100644 --- a/lib/widgets/dropdown_wrappermulti_widget.dart +++ b/lib/widgets/dropdown_wrappermulti_widget.dart @@ -26,7 +26,10 @@ class DropdownWrapperMultiWidget extends StatelessWidget { spacing: 16, children: [ const CircularProgressIndicator(color: Color.fromRGBO(255, 255, 255, 1)), - TextWidget(text: 'Fetching $text', size: 16, footer: true) + TextWidget( + text: 'Fetching $text', + size: 16, + ) ], ), ], diff --git a/lib/widgets/input_widget.dart b/lib/widgets/input_widget.dart index e1c7a48..846c4ce 100644 --- a/lib/widgets/input_widget.dart +++ b/lib/widgets/input_widget.dart @@ -20,7 +20,7 @@ class InputWidget extends StatelessWidget { children: [ if (label.isNotEmpty) Text('$label:', - style: GoogleFonts.outfit( + style: GoogleFonts.inter( textStyle: const TextStyle(color: Color.fromRGBO(255, 255, 255, 1), fontSize: 12, fontWeight: FontWeight.w500), )), @@ -31,11 +31,15 @@ class InputWidget extends StatelessWidget { decoration: InputDecoration( filled: true, fillColor: const Color.fromRGBO(255, 255, 255, 1), - border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)), - contentPadding: const EdgeInsets.symmetric(vertical: 2, horizontal: 24), + border: OutlineInputBorder(borderRadius: BorderRadius.circular(4)), + contentPadding: const EdgeInsets.symmetric(vertical: 0, horizontal: 14), prefixIcon: placeholder != null ? Icon(Icons.search, color: Colors.grey) : null, hintText: placeholder), - style: GoogleFonts.outfit(textStyle: const TextStyle(color: Color.fromRGBO(0, 0, 0, 1), fontSize: 16)), + style: GoogleFonts.inter( + textStyle: const TextStyle( + color: Color.fromRGBO(0, 0, 0, 1), + fontSize: 16, + )), obscureText: password ?? false, onChanged: onChanged, ), diff --git a/lib/widgets/menu_widget.dart b/lib/widgets/menu_widget.dart deleted file mode 100644 index 53955be..0000000 --- a/lib/widgets/menu_widget.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:gap/gap.dart'; -import 'package:google_fonts/google_fonts.dart'; - -class MenuWidget extends StatelessWidget { - final String text; - final IconData? icon; - final VoidCallback? onPressed; - final String? color; - - final Color green = const Color.fromRGBO(58, 236, 27, 0.2); - final Color blue = const Color.fromRGBO(27, 90, 236, 0.2); - final Color red = const Color.fromRGBO(236, 27, 27, 0.2); - final Color yellow = const Color.fromRGBO(236, 232, 27, 0.2); - final Color teal = const Color.fromRGBO(27, 236, 229, 0.2); - - const MenuWidget({super.key, required this.text, this.icon, this.onPressed, this.color}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: onPressed, - child: Container( - width: MediaQuery.of(context).size.width - 96, - padding: const EdgeInsets.only(top: 16, bottom: 16), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8), - border: Border.all( - color: color != null ? _getColorBasedOnString(color ?? '') : const Color.fromRGBO(255, 255, 255, 0.6), - width: 2), - color: color != null ? _getColorBasedOnString(color ?? '') : const Color.fromRGBO(0, 0, 0, 0), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - const Gap(32), - Icon(icon, size: 24, color: const Color.fromRGBO(255, 255, 255, 1)), - const Gap(64), - Text( - text, - style: GoogleFonts.outfit( - color: const Color.fromRGBO(255, 255, 255, 1), - textStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.w500)), - ), - ], - ), - ), - ); - } - - Color _getColorBasedOnString(String color) { - switch (color.toLowerCase()) { - case 'green': - return green; - case 'blue': - return blue; - case 'red': - return red; - case 'yellow': - return yellow; - case 'teal': - return teal; - default: - return const Color.fromRGBO(0, 0, 0, 0); // Default to transparent if color is not recognized - } - } -} diff --git a/lib/widgets/menu_widget2.dart b/lib/widgets/menu_widget2.dart index 88ac24f..1d46db4 100644 --- a/lib/widgets/menu_widget2.dart +++ b/lib/widgets/menu_widget2.dart @@ -3,7 +3,7 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart'; -class MenuWidget2 extends StatelessWidget { +class MenuWidget extends StatelessWidget { final String text; final IconData? icon; final VoidCallback? onPressed; @@ -34,7 +34,7 @@ class MenuWidget2 extends StatelessWidget { const Color.fromRGBO(104, 156, 59, 0.8), ]; - MenuWidget2({super.key, required this.text, required this.description, this.icon, this.onPressed, this.color}); + MenuWidget({super.key, required this.text, required this.description, this.icon, this.onPressed, this.color}); @override Widget build(BuildContext context) { diff --git a/lib/widgets/text_widget.dart b/lib/widgets/text_widget.dart index c5d6e73..5592fbf 100644 --- a/lib/widgets/text_widget.dart +++ b/lib/widgets/text_widget.dart @@ -6,12 +6,12 @@ class TextWidget extends StatelessWidget { final double? size; final double? opacity; final bool? bold; - final bool? footer; + final bool? title; final bool? underlined; final Color? color; const TextWidget( - {super.key, required this.text, this.size, this.opacity, this.bold, this.footer, this.underlined, this.color}); + {super.key, required this.text, this.size, this.opacity, this.bold, this.title, this.underlined, this.color}); @override Widget build(BuildContext context) { @@ -23,8 +23,8 @@ class TextWidget extends StatelessWidget { decorationColor: const Color.fromRGBO(255, 255, 255, 1), decorationThickness: 2); - return footer == true - ? Text(text, style: GoogleFonts.inter(textStyle: textStyle)) - : Text(text, style: GoogleFonts.outfit(textStyle: textStyle)); + return title == true + ? Text(text, style: GoogleFonts.outfit(textStyle: textStyle)) + : Text(text, style: GoogleFonts.inter(textStyle: textStyle)); } }