Merge branch 'NavBar' into 'main'

Functional Navbar + New icons

See merge request brausjonas/mensaapp!1
This commit is contained in:
Jonas Braus
2024-11-21 10:40:11 +00:00
4 changed files with 49 additions and 9 deletions
+17 -9
View File
@@ -49,35 +49,43 @@ class MyHome extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Container(),
bottomNavigationBar: GNav(
body: Consumer<PageProvider>(
builder: (context, pageProvider, child) {
return pageProvider.pages[pageProvider.selectedPage];
},
),
bottomNavigationBar: Padding(
padding: EdgeInsets.all(5),
child: GNav(
onTabChange: (index) {
Provider.of<PageProvider>(context, listen: false).changePage(index);
},
gap: 8,
backgroundColor: Theme.of(context).colorScheme.secondary,
style: GnavStyle.google,
backgroundColor: Theme.of(context).colorScheme.surface,
color: Theme.of(context).colorScheme.onSurface,
activeColor: Theme.of(context).colorScheme.onPrimary,
tabBackgroundColor: Theme.of(context).colorScheme.primary,
tabs: const [
GButton(
icon: Icons.food_bank,
icon: Icons.fastfood_outlined,
text: "Essen",
),GButton(
icon: Icons.room,
icon: Icons.landscape,
text: "Ambiente",
),GButton(
icon: Icons.person,
icon: Icons.mood,
text: "Service",
),GButton(
icon: Icons.question_mark,
icon: Icons.feedback,
text: "Verschläge",
), GButton(
icon: Icons.add_rounded,
icon: Icons.comment,
text: "Verbesserungen",
),
],
),
)
);
}
}
+10
View File
@@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class PageAmbiente extends StatelessWidget {
const PageAmbiente({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
+10
View File
@@ -0,0 +1,10 @@
import 'package:flutter/material.dart';
class PageEssen extends StatelessWidget {
const PageEssen({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}
+12
View File
@@ -1,5 +1,17 @@
import 'package:flutter/material.dart';
import 'package:mensaapp/pages/pageAmbiente.dart';
import 'package:mensaapp/pages/pageEssen.dart';
class PageProvider extends ChangeNotifier {
int selectedPage = 0;
List<Widget> pages = [
const PageEssen(),
const PageAmbiente()
];
void changePage(int index) {
selectedPage = index;
notifyListeners();
}
}