diff --git a/assets/pat-alcala_logo.webp b/assets/pat-alcala_logo.webp new file mode 100644 index 0000000..7cdaf5e Binary files /dev/null and b/assets/pat-alcala_logo.webp differ diff --git a/lib/pages/index_page.dart b/lib/pages/index_page.dart index 3a0a402..2db87f2 100644 --- a/lib/pages/index_page.dart +++ b/lib/pages/index_page.dart @@ -3,7 +3,6 @@ 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'; @@ -23,43 +22,60 @@ class IndexPage extends StatelessWidget { return Scaffold( resizeToAvoidBottomInset: false, - 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), - ], - ), + 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, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const TextWidget( + text: 'Developed By:', + size: 8, + opacity: 0.8, + ), + const Gap(4), + Image.asset('assets/pat-alcala_logo.webp', + height: 12, cacheHeight: (12 * MediaQuery.of(context).devicePixelRatio).round()), + const Gap(4), + const TextWidget( + text: 'Pat Alcala', + size: 8, + opacity: 0.8, + ), + ], + ) + // 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 edc82f8..53b6aae 100644 --- a/lib/pages/login_page.dart +++ b/lib/pages/login_page.dart @@ -1,5 +1,3 @@ -import 'dart:developer'; - import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:go_router/go_router.dart'; @@ -7,7 +5,6 @@ import 'package:gap/gap.dart'; import 'package:pharmacy_mobile/auth/auth_service.dart'; import 'package:pharmacy_mobile/widgets/button_widget.dart'; import 'package:pharmacy_mobile/widgets/input_widget.dart'; -import 'package:pharmacy_mobile/widgets/logo_widget.dart'; import 'package:pharmacy_mobile/widgets/page_background_widget.dart'; import 'package:pharmacy_mobile/widgets/snackbar_widget.dart'; import 'package:pharmacy_mobile/widgets/text_widget.dart'; @@ -31,8 +28,6 @@ class _LoginPageState extends State { bool _isLoading = false; void _signIn() async { - // if (_isLoading) return; - final email = _emailController.text; final password = _passwordController.text; @@ -81,7 +76,6 @@ class _LoginPageState extends State { final errorMessage = e.message; if (mounted) { - // showNotification(context, 'Error: $errorMessage', false); if (errorMessage == 'Invalid login credentials') { showNotification(context, 'Error: Invalid Email or Password', false); } @@ -90,12 +84,6 @@ class _LoginPageState extends State { } finally { setState(() => _isLoading = false); } - - // if (mounted) { - // context.showSnackBar('Check your email for a login link!'); - - // _emailController.clear(); - // } } @override diff --git a/lib/pages/main_page.dart b/lib/pages/main_page.dart index ced04f5..8efec0e 100644 --- a/lib/pages/main_page.dart +++ b/lib/pages/main_page.dart @@ -32,83 +32,81 @@ class _MainPageState extends State { canPop: false, child: Scaffold( resizeToAvoidBottomInset: false, - 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( + 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( icon: FontAwesomeIcons.circlePlus, - text: 'Add Type', - description: 'Create a new medical type', - onPressed: () => {context.push('/addtype')}, - color: 'blue', - ), - const Gap(16), - MenuWidget( + 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 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, - ) - ], - ), + 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, + ) + ], ), ), ), diff --git a/lib/widgets/image_widget.dart b/lib/widgets/image_widget.dart new file mode 100644 index 0000000..e69de29 diff --git a/pubspec.yaml b/pubspec.yaml index b01390d..d61d8c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -53,3 +53,4 @@ flutter: - assets/php_logo.webp - assets/images/ofelia.webp - assets/images/pamela.webp + - assets/pat-alcala_logo.webp