BIG FAT
This commit is contained in:
@ -2,6 +2,8 @@ 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/car_selection/bloc/bloc.dart';
|
||||
import 'package:hl_lieferservice/feature/car_selection/bloc/state.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/bloc/cars_bloc.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/bloc/cars_event.dart';
|
||||
import 'package:hl_lieferservice/feature/cars/bloc/cars_state.dart';
|
||||
@ -37,7 +39,55 @@ class _CarManagementPageState extends State<CarManagementPage> {
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _refresh() async {
|
||||
context.read<CarsBloc>().add(CarLoad(teamId: _authState.user.number, force: true));
|
||||
}
|
||||
|
||||
void _remove(String id) {
|
||||
final carId = int.parse(id);
|
||||
|
||||
final carSelectState = context.read<CarSelectBloc>().state;
|
||||
if (carSelectState is CarSelectComplete &&
|
||||
carSelectState.selectedCar.id == carId) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text(
|
||||
"Dieses Fahrzeug ist aktuell ausgewählt und kann nicht gelöscht werden. "
|
||||
"Bitte wähle zuerst ein anderes Fahrzeug aus.",
|
||||
),
|
||||
duration: Duration(seconds: 4),
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
final tourState = context.read<TourBloc>().state;
|
||||
if (tourState is! TourLoaded) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text(
|
||||
"Die Tourdaten sind noch nicht verfügbar. "
|
||||
"Bitte versuche es in Kürze erneut.",
|
||||
),
|
||||
duration: Duration(seconds: 4),
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tourState.tour.hasUndeliveredLoadedArticles(carId)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text(
|
||||
"Dieses Fahrzeug hat noch geladene Artikel, die nicht ausgeliefert wurden. "
|
||||
"Bitte schließe alle offenen Lieferungen ab, bevor du das Fahrzeug löschst.",
|
||||
),
|
||||
duration: Duration(seconds: 4),
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
context.read<CarsBloc>().add(
|
||||
CarDelete(carId: id, teamId: _authState.user.number),
|
||||
);
|
||||
@ -68,11 +118,20 @@ class _CarManagementPageState extends State<CarManagementPage> {
|
||||
}
|
||||
|
||||
if (state is CarsLoaded) {
|
||||
return CarManagementOverview(
|
||||
cars: state.cars,
|
||||
onEdit: _edit,
|
||||
onAdd: _add,
|
||||
onDelete: _remove,
|
||||
return BlocBuilder<CarSelectBloc, CarSelectState>(
|
||||
builder: (context, selectState) {
|
||||
final int? selectedCarId = selectState is CarSelectComplete
|
||||
? selectState.selectedCar.id
|
||||
: null;
|
||||
return CarManagementOverview(
|
||||
cars: state.cars,
|
||||
selectedCarId: selectedCarId,
|
||||
onEdit: _edit,
|
||||
onAdd: _add,
|
||||
onDelete: _remove,
|
||||
onRefresh: _refresh,
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user