slide transition of menu

This commit is contained in:
Patrick Alvin Alcala 2025-04-04 10:06:19 +08:00
parent 9de2d0e7d2
commit b892cc485f
8 changed files with 113 additions and 15 deletions

View file

@ -84,45 +84,143 @@ final _router = GoRouter(
path: '/main', path: '/main',
builder: (context, state) => const MainPage(), builder: (context, state) => const MainPage(),
), ),
// GoRoute(
// name: 'addmanufactorer',
// path: '/addmanufactorer',
// builder: (context, state) => const AddManufacturerPage(),
// ),
GoRoute( GoRoute(
name: 'addmanufactorer', name: 'addmanufactorer',
path: '/addmanufactorer', path: '/addmanufactorer',
builder: (context, state) => const AddManufacturerPage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const AddManufacturerPage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
), ),
),
// GoRoute(
// name: 'addmedicines',
// path: '/addmedicines',
// builder: (context, state) => const AddMedicinePage(),
// ),
GoRoute( GoRoute(
name: 'addmedicines', name: 'addmedicines',
path: '/addmedicines', path: '/addmedicines',
builder: (context, state) => const AddMedicinePage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const AddMedicinePage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
), ),
),
// GoRoute(
// name: 'addgenerics',
// path: '/addgenerics',
// builder: (context, state) => const AddGenericsPage(),
// ),
GoRoute( GoRoute(
name: 'addgenerics', name: 'addgenerics',
path: '/addgenerics', path: '/addgenerics',
builder: (context, state) => const AddGenericsPage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const AddGenericsPage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
), ),
),
// GoRoute(
// name: 'addtype',
// path: '/addtype',
// builder: (context, state) => const AddTypePage(),
// ),
GoRoute( GoRoute(
name: 'addtype', name: 'addtype',
path: '/addtype', path: '/addtype',
builder: (context, state) => const AddTypePage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const AddTypePage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
), ),
),
// GoRoute(
// name: 'addcategory',
// path: '/addcategory',
// builder: (context, state) => const AddCategoryPage(),
// ),
GoRoute( GoRoute(
name: 'addcategory', name: 'addcategory',
path: '/addcategory', path: '/addcategory',
builder: (context, state) => const AddCategoryPage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const AddCategoryPage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
),
), ),
GoRoute( GoRoute(
name: 'addstock', name: 'addstock',
path: '/addstock', path: '/addstock',
builder: (context, state) => const AddStockPage(), builder: (context, state) => const AddStockPage(),
), ),
// GoRoute(
// name: 'liststocks',
// path: '/liststocks',
// builder: (context, state) => const ListStocksPage(),
// ),
GoRoute( GoRoute(
name: 'liststocks', name: 'liststocks',
path: '/liststocks', path: '/liststocks',
builder: (context, state) => const ListStocksPage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const ListStocksPage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
), ),
),
// GoRoute(
// name: 'deletestock',
// path: '/deletestock',
// builder: (context, state) => const DeleteStockPage(),
// ),
GoRoute( GoRoute(
name: 'deletestock', name: 'deletestock',
path: '/deletestock', path: '/deletestock',
builder: (context, state) => const DeleteStockPage(), pageBuilder: (BuildContext context, GoRouterState state) => CustomTransitionPage<void>(
key: state.pageKey,
child: const DeleteStockPage(),
transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation,
Widget child) =>
SlideTransition(
position: animation.drive(
Tween<Offset>(begin: Offset(0.95, 0), end: Offset.zero).chain(CurveTween(curve: Curves.easeIn))),
child: child),
),
), ),
GoRoute( GoRoute(
name: 'customer', name: 'customer',

View file

@ -44,7 +44,7 @@ class _AddCategoryPageState extends State<AddCategoryPage> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
}); });
} else { } else {

View file

@ -45,7 +45,7 @@ class _AddGenericsPageState extends State<AddGenericsPage> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
}); });
} }

View file

@ -46,7 +46,7 @@ class _AddManufacturerPageState extends State<AddManufacturerPage> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
}); });
} }

View file

@ -136,7 +136,7 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
}); });
} }

View file

@ -44,7 +44,7 @@ class _AddTypePageState extends State<AddTypePage> {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
}); });
} }

View file

@ -43,7 +43,7 @@ class _DeleteStockPageState extends State<DeleteStockPage> {
final result = await checkResult(context, _stockList, 'Generics'); final result = await checkResult(context, _stockList, 'Generics');
if (result) { if (result) {
if (mounted) { if (mounted) {
context.push('/main'); context.pop();
} }
} else { } else {
setState(() => {}); setState(() => {});

View file

@ -243,7 +243,7 @@ class _MainPageState extends State<MainPage> {
color: 'yellow'), color: 'yellow'),
const Gap(40), const Gap(40),
ButtonWithProgressWidget( ButtonWithProgressWidget(
trigger: _isLoading, progressText: 'Logging Out', buttonText: 'Logout', onPressed: signOut) trigger: _isLoading, progressText: 'Logging Out', buttonText: 'Logout', onPressed: signOut),
], ],
), ),
), ),