This commit is contained in:
Patrick Alvin Alcala 2025-02-26 18:00:41 +08:00
parent 9d5a392db3
commit c41c19b469
10 changed files with 299 additions and 181 deletions

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  ¾û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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
ñ ºó‡<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  ¿û¦‰Ô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  ¿û¦‰Ô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  ¿û¦‰Ô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

@ -2,6 +2,8 @@ import 'package:flutter/material.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/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart';
import 'package:pharmacy_mobile/widgets/consultation_widget.dart';
import 'package:pharmacy_mobile/widgets/logo_widget.dart';
import 'package:pharmacy_mobile/widgets/menu_widget2.dart'; import 'package:pharmacy_mobile/widgets/menu_widget2.dart';
import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart';
import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; import 'package:pharmacy_mobile/widgets/snackbar_widget.dart';
@ -29,31 +31,76 @@ class _CustomerMainPageState extends State<CustomerMainPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: PageBackgroundWidget( body: PageBackgroundWidget(
dark: true,
child: Column( child: Column(
children: [ children: [
Column( Column(
children: [ children: [
const Gap(96), const Gap(96),
const TitleWidget( const Row(
firstTextSize: 14, mainAxisAlignment: MainAxisAlignment.start,
secondTextSize: 24, children: [
logoSize: 90, Gap(16),
), LogoWidget(size: 56),
const Gap(32), ],
const TextWidget(text: 'Menu'), ),
const Gap(16), const Gap(16),
MenuWidget( const Row(
// icon: FontAwesomeIcons.diagramNext, mainAxisAlignment: MainAxisAlignment.start,
text: 'Diagnose by ', children: [
description: 'aaa', Gap(16),
onPressed: () => {context.push('/deletestock')}, TextWidget(
color: 'green', text: 'Pharmacist Consultation',
), title: true,
const Gap(32), size: 14,
ButtonWidget(text: 'Log Out', onPressed: signOut) ),
], ],
) ),
], const Gap(8),
))); ConsultationWidget(name: 'Ofelia Franco-Alcala, RPh'),
MenuWidget(
// icon: FontAwesomeIcons.diagramNext,
text: 'Ofelia Franco-Alcala, RPh',
description: 'aaa',
onPressed: () => {context.push('/deletestock')},
color: 'green',
width: MediaQuery.of(context).size.width - 32,
),
const Gap(8),
MenuWidget(
// icon: FontAwesomeIcons.diagramNext,
text: 'Pamela Claire Alcala, RPh',
description: 'aaa',
onPressed: () => {context.push('/deletestock')},
color: 'green',
width: MediaQuery.of(context).size.width - 32,
),
const Gap(16),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Gap(16),
const TextWidget(
text: 'Doctor Consultation',
title: true,
size: 14,
),
],
),
const Gap(8),
MenuWidget(
// icon: FontAwesomeIcons.diagramNext,
text: 'Floherna Franco-Diccion, PhD',
description: 'aaa',
onPressed: () => {context.push('/deletestock')},
color: 'green',
width: MediaQuery.of(context).size.width - 32,
),
const Gap(32),
ButtonWidget(text: 'Log Out', onPressed: signOut)
],
)
],
)));
} }
} }

View file

@ -3,10 +3,12 @@ import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:pharmacy_mobile/tables/ref_medicines.dart'; import 'package:pharmacy_mobile/tables/ref_medicines.dart';
import 'package:pharmacy_mobile/tables/stocks.dart';
import 'package:pharmacy_mobile/tables/storage.dart'; import 'package:pharmacy_mobile/tables/storage.dart';
import 'package:pharmacy_mobile/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart';
import 'package:pharmacy_mobile/widgets/input_widget.dart'; import 'package:pharmacy_mobile/widgets/input_widget.dart';
import 'package:pharmacy_mobile/widgets/item_card_widget.dart'; import 'package:pharmacy_mobile/widgets/item_card_widget.dart';
import 'package:pharmacy_mobile/widgets/logo_widget.dart';
import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart';
import 'package:pharmacy_mobile/widgets/text_widget.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart';
import 'package:pharmacy_mobile/widgets/title_widget.dart'; import 'package:pharmacy_mobile/widgets/title_widget.dart';
@ -23,18 +25,20 @@ class CustomerSearchPage extends StatefulWidget {
class _CustomerSearchPageState extends State<CustomerSearchPage> { class _CustomerSearchPageState extends State<CustomerSearchPage> {
final _searchController = TextEditingController(); final _searchController = TextEditingController();
final _storage = Storage(); final _storage = Storage();
final _stocks = Stocks();
// final _refMedicines = RefMedicines(); // final _refMedicines = RefMedicines();
late String imageUrl = ''; late String imageUrl = '';
// List<String> imageUrl = []; late List _stockList = [];
void getURL() async { Future<void> _getURL() async {
final image = await _storage.getPublicURL('ref_medicines_images', 'cb6eafdb-d86f-460a-9571-44446570d4cb.webp'); final image = await _storage.getPublicURL('ref_medicines_images', 'a3e430fe-86c1-4d46-9c6a-aed2dae57fef.webp');
setState(() { setState(() {
imageUrl = image; imageUrl = image;
}); });
}
// final meds = await _refMedicines.getList2(); Future<void> _getAllStocks() async {
// log(meds.toString()); _stockList = await _stocks.getList();
} }
// void getURLs() async { // void getURLs() async {
@ -57,9 +61,14 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
void _filterList() {} void _filterList() {}
void autoRun() async {
await _getAllStocks();
await _getURL();
}
@override @override
void initState() { void initState() {
getURL(); autoRun();
super.initState(); super.initState();
} }
@ -67,6 +76,7 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
void dispose() { void dispose() {
_searchController.dispose(); _searchController.dispose();
imageUrl = ''; imageUrl = '';
_stockList = [];
super.dispose(); super.dispose();
} }
@ -76,103 +86,106 @@ class _CustomerSearchPageState extends State<CustomerSearchPage> {
return Scaffold( return Scaffold(
body: PageBackgroundWidget( body: PageBackgroundWidget(
dark: true,
// height: MediaQuery.of(context).size.height * 2, // height: MediaQuery.of(context).size.height * 2,
child: Column( child: Column(
children: [
Column(
children: [
const Gap(96),
const TitleWidget(
firstTextSize: 14,
secondTextSize: 24,
logoSize: 90,
),
const Gap(32),
Container(
padding: EdgeInsets.only(left: 64, right: 64),
child: Column(
children: [
InputWidget(
label: '',
controller: _searchController,
placeholder: 'Search for medicine',
),
// const Gap(8),
// ButtonWidget(
// text: 'Search',
// onPressed: _filterList,
// width: 160,
// )
],
),
),
const Gap(32),
// Center(
// child: imageUrl.isNotEmpty
// ? ClipRRect(
// borderRadius: BorderRadius.circular(12), // Add your desired border radius here
// child: Image.network(imageUrl,
// fit: BoxFit.cover,
// width: 250,
// height: 250,
// cacheWidth: (250 * MediaQuery.of(context).devicePixelRatio).round()))
// : const CircularProgressIndicator(
// color: Colors.white,
// strokeWidth: 4,
// padding: EdgeInsets.all(8),
// ),
// )
Column(
children: [ children: [
Padding( Column(
padding: const EdgeInsets.fromLTRB(0, 8, 0, 8), children: [
child: Row( const Gap(96),
mainAxisAlignment: MainAxisAlignment.spaceEvenly, Row(
children: [ mainAxisAlignment: MainAxisAlignment.start,
ItemCardWidget( children: [
imageUrl: imageUrl, const Gap(16),
text: 'sample', const LogoWidget(size: 56),
price: 500, ],
quantity: 15, ),
const Gap(8),
Container(
padding: EdgeInsets.only(left: 64, right: 64),
child: Column(
children: [
InputWidget(
label: '',
controller: _searchController,
placeholder: 'Search for medicine',
),
// const Gap(8),
// ButtonWidget(
// text: 'Search',
// onPressed: _filterList,
// width: 160,
// )
],
), ),
ItemCardWidget( ),
imageUrl: imageUrl, const Gap(32),
text: 'sample', // Center(
price: 20, // child: imageUrl.isNotEmpty
quantity: 85, // ? ClipRRect(
), // borderRadius: BorderRadius.circular(12), // Add your desired border radius here
], // child: Image.network(imageUrl,
), // fit: BoxFit.cover,
// width: 250,
// height: 250,
// cacheWidth: (250 * MediaQuery.of(context).devicePixelRatio).round()))
// : const CircularProgressIndicator(
// color: Colors.white,
// strokeWidth: 4,
// padding: EdgeInsets.all(8),
// ),
// )
Column(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(0, 8, 0, 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 500,
quantity: 15,
),
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 20,
quantity: 85,
),
],
),
)
],
),
Column(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(0, 8, 0, 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 500,
quantity: 15,
),
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 20,
quantity: 85,
),
],
),
)
],
)
],
) )
], ],
), )));
Column(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(0, 8, 0, 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 500,
quantity: 15,
),
ItemCardWidget(
imageUrl: imageUrl,
text: 'sample',
price: 20,
quantity: 85,
),
],
),
)
],
)
],
)
],
)));
} }
} }

View file

@ -9,13 +9,15 @@ class Stocks {
Future<List> getList() async { Future<List> getList() async {
List<Map<String, dynamic>> stockData = []; List<Map<String, dynamic>> stockData = [];
final data = await _supabase.from('stocks').select('ref_medicines(medicine_name), expiration_date, quantity'); final data =
await _supabase.from('stocks').select('ref_medicines(medicine_name), expiration_date, quantity, price');
for (var item in data) { for (var item in data) {
stockData.add({ stockData.add({
'medicine_name': item['ref_medicines']['medicine_name'], 'medicine_name': item['ref_medicines']['medicine_name'],
'quantity': item['quantity'].toString(), 'quantity': item['quantity'].toString(),
'expiration_date': item['expiration_date'], 'expiration_date': item['expiration_date'],
'price': item['price'],
}); });
} }

View file

@ -0,0 +1,49 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:pharmacy_mobile/widgets/text_widget.dart';
class ConsultationWidget extends StatelessWidget {
final String name;
// final IconData? icon;
final VoidCallback? onTap;
final double? width;
// final String? color;
// final String description;
const ConsultationWidget({super.key, required this.name, this.onTap, this.width});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
width: width ?? MediaQuery.of(context).size.width - 96,
padding: const EdgeInsets.symmetric(vertical: 16),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
// gradient: LinearGradient(
// colors: Colors.white,
// begin: Alignment.centerLeft,
// end: Alignment.centerRight,
// ),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
const Gap(32),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
TextWidget(
text: name,
size: 18,
bold: true,
),
],
),
],
),
),
);
}
}

View file

@ -9,6 +9,7 @@ class MenuWidget extends StatelessWidget {
final VoidCallback? onPressed; final VoidCallback? onPressed;
final String? color; final String? color;
final String description; final String description;
final double? width;
final List<Color> blue = [ final List<Color> blue = [
const Color.fromRGBO(59, 101, 156, 0.8), const Color.fromRGBO(59, 101, 156, 0.8),
@ -34,14 +35,14 @@ class MenuWidget extends StatelessWidget {
const Color.fromRGBO(104, 156, 59, 0.8), const Color.fromRGBO(104, 156, 59, 0.8),
]; ];
MenuWidget({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, this.width});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: onPressed, onTap: onPressed,
child: Container( child: Container(
width: MediaQuery.of(context).size.width - 96, width: width ?? MediaQuery.of(context).size.width - 96,
padding: const EdgeInsets.symmetric(vertical: 16), padding: const EdgeInsets.symmetric(vertical: 16),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),

View file

@ -4,8 +4,9 @@ class PageBackgroundWidget extends StatelessWidget {
final Widget child; final Widget child;
final String? page; final String? page;
final double? height; final double? height;
final bool? dark;
const PageBackgroundWidget({super.key, required this.child, this.page, this.height}); const PageBackgroundWidget({super.key, required this.child, this.page, this.height, this.dark});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -27,14 +28,19 @@ class PageBackgroundWidget extends StatelessWidget {
), ),
fit: BoxFit.cover, // Ensures the background covers the entire container fit: BoxFit.cover, // Ensures the background covers the entire container
alignment: Alignment.center, alignment: Alignment.center,
opacity: 0.3, // Adjusts the opacity as needed opacity: dark == true ? 0.1 : 0.3, // Adjusts the opacity as needed
), ),
gradient: const RadialGradient( gradient: RadialGradient(
tileMode: TileMode.clamp, tileMode: TileMode.clamp,
colors: [ colors: dark == true
Color.fromRGBO(26, 8, 25, 1), ? [
Color.fromRGBO(60, 22, 57, 1), Color.fromRGBO(19, 8, 26, 1),
], Color.fromRGBO(43, 22, 60, 1),
]
: [
Color.fromRGBO(26, 8, 25, 1),
Color.fromRGBO(60, 22, 57, 1),
],
), ),
), ),
child: Center( child: Center(