import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hl_lieferservice/widget/home/bloc/navigation_bloc.dart'; import 'package:hl_lieferservice/widget/home/bloc/navigation_event.dart'; import 'package:hl_lieferservice/widget/home/bloc/navigation_state.dart'; /// BottomNavigationBar des Home-Scaffolds — nur in der Auslieferungs-Phase /// sichtbar (siehe `Home`). Die Tabs spiegeln die in dieser Phase relevanten /// Bereiche wider: Auslieferung, Fahrzeugverwaltung, Einstellungen. /// /// Beladung als Tab wurde bewusst entfernt: ist die App in der Auslieferung, /// gehört die Beladung organisatorisch der Vergangenheit an. Wer dorthin /// zurück muss, nutzt den Phasen-Stepper. class AppNavigationBar extends StatelessWidget { const AppNavigationBar({super.key}); @override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { if (state is! NavigationInfo) return const SizedBox.shrink(); final navIndex = state.navigationIndex; final safeIndex = (navIndex >= 0 && navIndex <= 2) ? navIndex : 0; return NavigationBar( selectedIndex: safeIndex, destinations: const [ NavigationDestination( icon: Icon(Icons.fire_truck), label: "Auslieferung", ), NavigationDestination( icon: Icon(Icons.local_shipping), label: "Fahrzeuge", ), NavigationDestination( icon: Icon(Icons.settings_outlined), selectedIcon: Icon(Icons.settings), label: "Einstellungen", ), ], onDestinationSelected: (int index) { context.read().add(NavigateToIndex(index: index)); }, ); }, ); } }