import 'package:flutter/material.dart'; import '../functions/responsive.dart'; class NavigationBarComponent extends StatelessWidget { NavigationBarComponent({Key? key}) : super(key: key); final List 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); } }