Flutter-Ernaehrungsapp/lib/web/component/navigation.dart

61 lines
1.9 KiB
Dart
Raw Normal View History

2023-06-16 08:34:41 +02:00
import 'package:flutter/material.dart';
import '../functions/responsive.dart';
class NavigationBarComponent extends StatelessWidget {
NavigationBarComponent({Key? key}) : super(key: key);
final List<Widget> navItems = [
ElevatedButton(onPressed: (){}, child: const Text("Heute")),
ElevatedButton(onPressed: (){}, child: const Text("Gesamtübersicht")),
ElevatedButton(onPressed: (){}, child: const Text("Statistics"))
];
Widget responsiveNavigation(BuildContext context){
final width = (isDesktop(context) || isTablet(context))
? MediaQuery.of(context).size.width * 0.8
: MediaQuery.of(context).size.width * 1;
if (isDesktop(context) || isTablet(context)){
return Container(
width: width,
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: navItems
),
);
}else {
return Container(
width: width,
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 0),
child: Column(
children: [
ListView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemCount: navItems.length,
itemBuilder: (BuildContext context, int index) {
return Container(
width: MediaQuery.of(context).size.width * 0.1,
margin: const EdgeInsets.symmetric(
vertical: 8,
horizontal: 8
),
child: navItems[index],
);
}
),
]
),
);
}
}
@override
Widget build(BuildContext context) {
return responsiveNavigation(context);
}
}