diff --git a/compass_app/app/lib/ui/home/view_models/home_viewmodel.dart b/compass_app/app/lib/ui/home/view_models/home_viewmodel.dart index df4a2e47958..fba99052864 100644 --- a/compass_app/app/lib/ui/home/view_models/home_viewmodel.dart +++ b/compass_app/app/lib/ui/home/view_models/home_viewmodel.dart @@ -65,31 +65,27 @@ class HomeViewModel extends ChangeNotifier { } Future> _deleteBooking(int id) async { - try { - final resultDelete = await _bookingRepository.delete(id); - switch (resultDelete) { - case Ok(): - _log.fine('Deleted booking $id'); - case Error(): - _log.warning('Failed to delete booking $id', resultDelete.error); - return resultDelete; - } - - // After deleting the booking, we need to reload the bookings list. - // BookingRepository is the source of truth for bookings. - final resultLoadBookings = await _bookingRepository.getBookingsList(); - switch (resultLoadBookings) { - case Ok>(): - _bookings = resultLoadBookings.value; - _log.fine('Loaded bookings'); - case Error>(): - _log.warning('Failed to load bookings', resultLoadBookings.error); - return resultLoadBookings; - } + final resultDelete = await _bookingRepository.delete(id); + switch (resultDelete) { + case Ok(): + _log.fine('Deleted booking $id'); + case Error(): + _log.warning('Failed to delete booking $id', resultDelete.error); + return resultDelete; + } - return resultLoadBookings; - } finally { - notifyListeners(); + // After deleting the booking, reload the bookings list. + final resultLoadBookings = await _bookingRepository.getBookingsList(); + switch (resultLoadBookings) { + case Ok>(): + _bookings = resultLoadBookings.value; + _log.fine('Loaded bookings'); + notifyListeners(); // notify only when data changes + case Error>(): + _log.warning('Failed to load bookings', resultLoadBookings.error); + return resultLoadBookings; } + + return resultLoadBookings; } }