new settings panel for url pickup
All checks were successful
Release / meta (push) Successful in 12s
Release / linux-build (push) Successful in 7m42s
Release / android-build (push) Successful in 16m34s
Release / release-dev (push) Successful in 38s
Release / release-master (push) Successful in 37s

This commit is contained in:
2025-12-22 22:45:33 +00:00
parent dc5ed2567f
commit 950978b021
14 changed files with 322 additions and 43 deletions

View File

@@ -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);
}