Created project base structure, state management, router and login

This commit is contained in:
Juan Gilsanz Polo
2024-02-21 23:53:22 +01:00
commit 460e13b2e9
168 changed files with 6966 additions and 0 deletions

52
lib/widgets/layout.dart Normal file
View File

@@ -0,0 +1,52 @@
import 'package:animations/animations.dart';
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
class Layout extends StatelessWidget {
final StatefulNavigationShell navigationShell;
const Layout({
Key? key,
required this.navigationShell,
}) : super(key: key);
@override
Widget build(BuildContext context) {
void goBranch(int index) {
navigationShell.goBranch(
index,
initialLocation: index == navigationShell.currentIndex,
);
}
return Scaffold(
body: PageTransitionSwitcher(
duration: const Duration(milliseconds: 200),
transitionBuilder: (child, primaryAnimation, secondaryAnimation) => FadeThroughTransition(
animation: primaryAnimation,
secondaryAnimation: secondaryAnimation,
child: child,
),
child: navigationShell,
),
bottomNavigationBar: NavigationBar(
onDestinationSelected: (s) => goBranch(s),
selectedIndex: navigationShell.currentIndex,
destinations: const [
NavigationDestination(
icon: Icon(Icons.link_rounded),
label: "Links",
),
NavigationDestination(
icon: Icon(Icons.search_rounded),
label: "Search",
),
NavigationDestination(
icon: Icon(Icons.settings_rounded),
label: "Settings",
),
],
),
);
}
}