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<NavigationBloc, NavigationState>(
      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<NavigationBloc>().add(NavigateToIndex(index: index));
          },
        );
      },
    );
  }
}
