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>
/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  ¢í‡<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
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
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 ^ ¥í‡<C3AD>Ñ2|
w/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/arm64-v8a/build_file_index.txt  °Â­†Ô2 ^ ¥í‡<C3AD>Ñ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
ç ¥í‡<C3AD>Ñ2y
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
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
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
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{
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
A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ƒÛð„Ô2  ø‡<C3B8>Ñ2z
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ã­†Ô2  ø‡<C3B8>Ñ2z
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
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
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 ^ Žø‡<C3B8>Ñ2v
q/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86/build_file_index.txt  ã­†Ô2 ^ Žø‡<C3B8>Ñ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
É Žø‡<C3B8>Ñ2s
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
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
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
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
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 ^ ¢ý‡<C3BD>Ñ2y
t/home/patrick/Documents/WebApps/pharmacy_mobile/android/app/.cxx/RelWithDebInfo/14495r4k/x86_64/build_file_index.txt  ˆÃ­†Ô2 ^ ¢ý‡<C3BD>Ñ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
<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
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
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:pharmacy_mobile/widgets/button_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/text_widget.dart';
import 'package:pharmacy_mobile/widgets/title_widget.dart';
@ -22,41 +23,43 @@ class IndexPage extends StatelessWidget {
return Scaffold(
resizeToAvoidBottomInset: false,
body: PageBackgroundWidget(
child: Column(
children: [
const Gap(88),
const TitleWidget(
firstTextSize: 24,
secondTextSize: 40,
logoSize: 124,
),
const Gap(32),
Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 38, 0),
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(8),
ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true),
const Gap(32),
const SloganWidget(),
const Gap(32),
const MaxGap(500),
const TextWidget(
text: 'Copyright © 2025 - Ofelia Franco-Alcala Pharmacy',
size: 10,
bold: true,
),
const TextWidget(
text: 'Developed By: Pat Alcala',
size: 8,
opacity: 0.8,
),
const Gap(16),
],
body: PullRefreshWidget(
child: PageBackgroundWidget(
child: Column(
children: [
const Gap(88),
const TitleWidget(
firstTextSize: 24,
secondTextSize: 40,
logoSize: 124,
),
const Gap(32),
Padding(
padding: const EdgeInsets.fromLTRB(0, 0, 38, 0),
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(8),
ButtonWidget(text: 'Register', onPressed: gotoRegister, outline: true),
const Gap(32),
const SloganWidget(),
const Gap(32),
const MaxGap(500),
const TextWidget(
text: 'Copyright © 2025 - Ofelia Franco-Alcala Pharmacy',
size: 10,
bold: true,
),
const TextWidget(
text: 'Developed By: Pat Alcala',
size: 8,
opacity: 0.8,
),
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/menu_widget2.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/text_widget.dart';
import 'package:pharmacy_mobile/widgets/title_widget.dart';
@ -31,81 +32,83 @@ class _MainPageState extends State<MainPage> {
canPop: false,
child: Scaffold(
resizeToAvoidBottomInset: false,
body: SingleChildScrollView(
child: PageBackgroundWidget(
height: MediaQuery.of(context).size.height + 400,
page: 'menu',
child: Center(
child: Column(
children: [
const Gap(96),
const TitleWidget(
firstTextSize: 14,
secondTextSize: 24,
logoSize: 90,
),
const Gap(32),
const TextWidget(
text: 'Menu',
title: true,
),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
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(
body: PullRefreshWidget(
child: SingleChildScrollView(
child: PageBackgroundWidget(
height: MediaQuery.of(context).size.height + 400,
page: 'menu',
child: Center(
child: Column(
children: [
const Gap(96),
const TitleWidget(
firstTextSize: 14,
secondTextSize: 24,
logoSize: 90,
),
const Gap(32),
const TextWidget(
text: 'Menu',
title: true,
),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Generics',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addgenerics')},
color: 'blue'),
const Gap(32),
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 Medicine',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addmedicines')},
color: 'green'),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Stock',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addstock')},
color: 'green'),
const Gap(32),
MenuWidget(
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,
)
],
text: 'Add Category',
description: 'Create a new medicine category',
onPressed: () => {context.push('/addcategory')},
color: 'blue',
),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Generics',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addgenerics')},
color: 'blue'),
const Gap(32),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Medicine',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addmedicines')},
color: 'green'),
const Gap(16),
MenuWidget(
icon: FontAwesomeIcons.circlePlus,
text: 'Add Stock',
description: 'Add generic name on the list',
onPressed: () => {context.push('/addstock')},
color: 'green'),
const Gap(32),
MenuWidget(
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"
source: hosted
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:
dependency: transitive
description:

View file

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