Files
Holzleitner-Lieferservice-App/lib/widget/home/presentation/home.dart
Dennis Nemec 2470299a10 BIG FAT
2026-04-28 13:03:09 +02:00

74 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:hl_lieferservice/feature/authentication/bloc/auth_bloc.dart';
import 'package:hl_lieferservice/feature/authentication/bloc/auth_state.dart';
import 'package:hl_lieferservice/feature/cars/presentation/car_management_page.dart';
import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart';
import 'package:hl_lieferservice/feature/delivery/bloc/tour_event.dart';
import 'package:hl_lieferservice/feature/delivery/overview/presentation/delivery_overview_page.dart';
import 'package:hl_lieferservice/feature/scan/presentation/scan_page.dart';
import 'package:hl_lieferservice/feature/car_selection/presentation/selected_car_bar.dart';
import 'package:hl_lieferservice/feature/settings/presentation/settings_page.dart';
import 'package:hl_lieferservice/widget/home/bloc/navigation_bloc.dart';
import 'package:hl_lieferservice/widget/home/bloc/navigation_state.dart';
import 'package:hl_lieferservice/widget/navigation_bar/presentation/navigation_bar.dart';
class Home extends StatefulWidget {
const Home({super.key});
@override
State<StatefulWidget> createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
void initState() {
super.initState();
// Load deliveries
Authenticated state = context.read<AuthBloc>().state as Authenticated;
context.read<TourBloc>().add(LoadTour(teamId: state.user.number));
}
Widget _buildPage(index) {
if (index == 0) {
return ScanPage();
}
if (index == 1) {
return DeliveryOverviewPage();
}
if (index == 2) {
return CarManagementPage();
}
if (index == 3) {
return SettingsPage();
}
return Container();
}
@override
Widget build(BuildContext context) {
return BlocBuilder<NavigationBloc, NavigationState>(
builder: (context, state) {
final currentState = state as NavigationInfo;
return Scaffold(
body: _buildPage(currentState.navigationIndex),
bottomNavigationBar: Column(
mainAxisSize: MainAxisSize.min,
children: [
SelectedCarBar(),
AppNavigationBar(),
],
),
);
},
);
}
}