new settings panel for url pickup
All checks were successful
All checks were successful
This commit is contained in:
@@ -288,6 +288,11 @@ class _TripsPageState extends State<TripsPage> {
|
||||
|
||||
Future<void> handleDelete() async {
|
||||
if (deleting || trip.legs.isNotEmpty) return;
|
||||
final data = context.read<DataService>();
|
||||
final api = data.api;
|
||||
final messenger = ScaffoldMessenger.maybeOf(sheetCtx);
|
||||
final navigator = Navigator.of(sheetCtx);
|
||||
|
||||
final ok = await showDialog<bool>(
|
||||
context: sheetCtx,
|
||||
builder: (ctx) {
|
||||
@@ -309,11 +314,8 @@ class _TripsPageState extends State<TripsPage> {
|
||||
);
|
||||
},
|
||||
);
|
||||
if (ok != true) return;
|
||||
if (ok != true || !mounted) return;
|
||||
|
||||
final data = context.read<DataService>();
|
||||
final api = data.api;
|
||||
final messenger = ScaffoldMessenger.maybeOf(context);
|
||||
setSheetState(() => deleting = true);
|
||||
try {
|
||||
await api.delete('/trips/delete/${trip.id}');
|
||||
@@ -321,18 +323,16 @@ class _TripsPageState extends State<TripsPage> {
|
||||
data.fetchTripDetails(),
|
||||
data.fetchTrips(),
|
||||
]);
|
||||
if (context.mounted) {
|
||||
messenger?.showSnackBar(
|
||||
SnackBar(content: Text('Deleted "${trip.name}"')),
|
||||
);
|
||||
Navigator.of(sheetCtx).pop();
|
||||
}
|
||||
if (!mounted) return;
|
||||
messenger?.showSnackBar(
|
||||
SnackBar(content: Text('Deleted "${trip.name}"')),
|
||||
);
|
||||
navigator.pop();
|
||||
} catch (e) {
|
||||
if (context.mounted) {
|
||||
messenger?.showSnackBar(
|
||||
SnackBar(content: Text('Failed to delete trip: $e')),
|
||||
);
|
||||
}
|
||||
if (!mounted) return;
|
||||
messenger?.showSnackBar(
|
||||
SnackBar(content: Text('Failed to delete trip: $e')),
|
||||
);
|
||||
} finally {
|
||||
if (mounted) setSheetState(() => deleting = false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user