Phasenbasierte Lieferübersicht + Beladen-Flow, plus Migrationsplan für Rust-Backend
UI-Restructuring: - TabBar in scan_page durch dedizierte Phasen ersetzt: Sortieren / Beladen / Ausliefern - PhaseBloc + PhaseService leiten Phase aus Tour-/Item-States ab - DeliverySelectionPage (ab 2 Autos) und DeliverySortPage als eigene Flows - LoadingOverviewPage / LoadingCustomerPage für die Beladephase - PhaseStepper-Widget im Home für Phasen-Anzeige - Lager-Differenzierung (Standardlager 0 vs. Außenlager) via WarehouseBadge Process-Stubs: - ProcessRepository für Hold/Cancel/Sort/Assign-Flows (stub, bereit für Backend-Anbindung) Doku: - docs/BACKEND_MIGRATION.md: Phasenplan für Umstellung auf das neue Rust-Backend (OpenAPI-Generator, Keycloak OIDC, Clean-Arch-Layering)
This commit is contained in:
@ -11,7 +11,9 @@ import 'package:hl_lieferservice/feature/cars/bloc/cars_bloc.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/presentation/car_management_page.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/repository/cars_repository.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/service/cars_service.dart';
|
||||
import 'package:hl_lieferservice/feature/delivery/bloc/phase_bloc.dart';
|
||||
import 'package:hl_lieferservice/feature/delivery/bloc/tour_bloc.dart';
|
||||
import 'package:hl_lieferservice/feature/delivery/bloc/tour_state.dart';
|
||||
import 'package:hl_lieferservice/feature/delivery/repository/tour_repository.dart';
|
||||
import 'package:hl_lieferservice/widget/home/bloc/navigation_bloc.dart';
|
||||
import 'package:hl_lieferservice/widget/operations/bloc/operation_bloc.dart';
|
||||
@ -69,6 +71,20 @@ class _DeliveryAppState extends State<DeliveryApp> {
|
||||
authBloc: context.read<AuthBloc>(),
|
||||
),
|
||||
),
|
||||
BlocProvider(
|
||||
// PhaseBloc darf erst NACH dem TourBloc gebaut werden,
|
||||
// da er die Anzahl der Team-Fahrzeuge daraus liest, um
|
||||
// beim ersten Load eines Fahrzeugs die korrekte
|
||||
// Eintrittsphase (Auswählen vs. Sortieren) zu bestimmen.
|
||||
create: (context) => PhaseBloc(
|
||||
carCountResolver: () {
|
||||
final tourState = context.read<TourBloc>().state;
|
||||
return tourState is TourLoaded
|
||||
? tourState.tour.driver.cars.length
|
||||
: null;
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
child: MaterialApp(
|
||||
// Wrap the Navigator (not just the home route) so the loading
|
||||
|
||||
Reference in New Issue
Block a user