This commit is contained in:
Patrick Alvin Alcala 2025-02-26 15:23:42 +08:00
parent 06b853b2ca
commit 9d5a392db3
9 changed files with 206 additions and 156 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

@ -3,6 +3,7 @@ import 'package:go_router/go_router.dart';
import 'package:gap/gap.dart'; import 'package:gap/gap.dart';
import 'package:pharmacy_mobile/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/button_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/pull_refresh_widget.dart';
import 'package:pharmacy_mobile/widgets/slogan_widget.dart'; import 'package:pharmacy_mobile/widgets/slogan_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';
@ -22,41 +23,43 @@ class IndexPage extends StatelessWidget {
return Scaffold( return Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
body: PageBackgroundWidget( body: PullRefreshWidget(
child: Column( child: PageBackgroundWidget(
children: [ child: Column(
const Gap(88), children: [
const TitleWidget( const Gap(88),
firstTextSize: 24, const TitleWidget(
secondTextSize: 40, firstTextSize: 24,
logoSize: 124, secondTextSize: 40,
), logoSize: 124,
const Gap(32), ),
Padding( const Gap(32),
padding: const EdgeInsets.fromLTRB(0, 0, 38, 0), Padding(
child: Image.asset('assets/ph_logo.webp', padding: const EdgeInsets.fromLTRB(0, 0, 38, 0),
width: 192, cacheWidth: (192 * MediaQuery.of(context).devicePixelRatio).round()), child: Image.asset('assets/ph_logo.webp',
), width: 192, cacheWidth: (192 * MediaQuery.of(context).devicePixelRatio).round()),
const Gap(64), ),
ButtonWidget(text: 'Login', onPressed: gotoLogin), const Gap(64),
const Gap(8), ButtonWidget(text: 'Login', onPressed: gotoLogin),
ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true), const Gap(8),
const Gap(32), ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true),
const SloganWidget(), const Gap(32),
const Gap(32), const SloganWidget(),
const MaxGap(500), const Gap(32),
const TextWidget( const MaxGap(500),
text: 'Copyright © 2025 - Ofelia Franco-Alcala Pharmacy', const TextWidget(
size: 10, text: 'Copyright © 2025 - Ofelia Franco-Alcala Pharmacy',
bold: true, size: 10,
), bold: true,
const TextWidget( ),
text: 'Developed By: Pat Alcala', const TextWidget(
size: 8, text: 'Developed By: Pat Alcala',
opacity: 0.8, size: 8,
), opacity: 0.8,
const Gap(16), ),
], const Gap(16),
],
),
), ),
)); ));
} }

View file

@ -6,6 +6,7 @@ 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/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/pull_refresh_widget.dart';
import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; import 'package:pharmacy_mobile/widgets/snackbar_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';
@ -31,81 +32,83 @@ class _MainPageState extends State<MainPage> {
canPop: false, canPop: false,
child: Scaffold( child: Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
body: SingleChildScrollView( body: PullRefreshWidget(
child: PageBackgroundWidget( child: SingleChildScrollView(
height: MediaQuery.of(context).size.height + 400, child: PageBackgroundWidget(
page: 'menu', height: MediaQuery.of(context).size.height + 400,
child: Center( page: 'menu',
child: Column( child: Center(
children: [ child: Column(
const Gap(96), children: [
const TitleWidget( const Gap(96),
firstTextSize: 14, const TitleWidget(
secondTextSize: 24, firstTextSize: 14,
logoSize: 90, secondTextSize: 24,
), logoSize: 90,
const Gap(32), ),
const TextWidget( const Gap(32),
text: 'Menu', const TextWidget(
title: true, text: 'Menu',
), title: true,
const Gap(16), ),
MenuWidget( const Gap(16),
icon: FontAwesomeIcons.circlePlus, MenuWidget(
text: 'Add Type',
description: 'Create a new medical type',
onPressed: () => {context.push('/addtype')},
color: 'blue',
),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Category',
description: 'Create a new medicine category',
onPressed: () => {context.push('/addcategory')},
color: 'blue',
),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus, icon: FontAwesomeIcons.circlePlus,
text: 'Add Generics', text: 'Add Type',
description: 'Add generic name on the list', description: 'Create a new medical type',
onPressed: () => {context.push('/addgenerics')}, onPressed: () => {context.push('/addtype')},
color: 'blue'), color: 'blue',
const Gap(32), ),
MenuWidget( const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus, icon: FontAwesomeIcons.circlePlus,
text: 'Add Medicine', text: 'Add Category',
description: 'Add generic name on the list', description: 'Create a new medicine category',
onPressed: () => {context.push('/addmedicines')}, onPressed: () => {context.push('/addcategory')},
color: 'green'), color: 'blue',
const Gap(16), ),
MenuWidget( const Gap(16),
icon: FontAwesomeIcons.circlePlus, MenuWidget(
text: 'Add Stock', icon: FontAwesomeIcons.circlePlus,
description: 'Add generic name on the list', text: 'Add Generics',
onPressed: () => {context.push('/addstock')}, description: 'Add generic name on the list',
color: 'green'), onPressed: () => {context.push('/addgenerics')},
const Gap(32), color: 'blue'),
MenuWidget( const Gap(32),
icon: Icons.delete, MenuWidget(
text: 'Remove Stock', icon: FontAwesomeIcons.circlePlus,
description: 'Add generic name on the list', text: 'Add Medicine',
onPressed: () => {context.push('/deletestock')}, description: 'Add generic name on the list',
color: 'red'), onPressed: () => {context.push('/addmedicines')},
const Gap(32), color: 'green'),
MenuWidget( const Gap(16),
icon: FontAwesomeIcons.listCheck, MenuWidget(
text: 'List of Stocks', icon: FontAwesomeIcons.circlePlus,
description: 'Add generic name on the list', text: 'Add Stock',
onPressed: () => {context.push('/liststocks')}, description: 'Add generic name on the list',
color: 'yellow'), onPressed: () => {context.push('/addstock')},
const Gap(40), color: 'green'),
ButtonWidget( const Gap(32),
text: 'Logout', MenuWidget(
onPressed: signOut, icon: Icons.delete,
) text: 'Remove Stock',
], description: 'Add generic name on the list',
onPressed: () => {context.push('/deletestock')},
color: 'red'),
const Gap(32),
MenuWidget(
icon: FontAwesomeIcons.listCheck,
text: 'List of Stocks',
description: 'Add generic name on the list',
onPressed: () => {context.push('/liststocks')},
color: 'yellow'),
const Gap(40),
ButtonWidget(
text: 'Logout',
onPressed: signOut,
)
],
),
), ),
), ),
), ),

View file

@ -0,0 +1,35 @@
import 'package:flutter/material.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class PullRefreshWidget extends StatefulWidget {
final Widget child;
const PullRefreshWidget({super.key, required this.child});
@override
State<PullRefreshWidget> createState() => _PullRefreshWidgetState();
}
class _PullRefreshWidgetState extends State<PullRefreshWidget> {
final RefreshController refreshController = RefreshController(initialRefresh: false);
void onRefresh() async {
await Future.delayed(Duration(milliseconds: 1000));
refreshController.refreshCompleted();
}
void onLoading() async {
await Future.delayed(Duration(milliseconds: 1000));
if (mounted) setState(() {});
refreshController.loadComplete();
}
@override
Widget build(BuildContext context) {
return SmartRefresher(
controller: refreshController,
enablePullDown: true,
onRefresh: onRefresh,
onLoading: onLoading,
child: widget.child);
}
}

View file

@ -744,6 +744,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.1" version: "2.4.1"
pull_to_refresh:
dependency: "direct main"
description:
name: pull_to_refresh
sha256: bbadd5a931837b57739cf08736bea63167e284e71fb23b218c8c9a6e042aad12
url: "https://pub.dev"
source: hosted
version: "2.0.0"
realtime_client: realtime_client:
dependency: transitive dependency: transitive
description: description:

View file

@ -24,6 +24,7 @@ dependencies:
flutter_image_compress: ^2.4.0 flutter_image_compress: ^2.4.0
simple_barcode_scanner: ^0.3.0 simple_barcode_scanner: ^0.3.0
lazyxchacha: ^1.0.1 lazyxchacha: ^1.0.1
pull_to_refresh: ^2.0.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: