Add new activity events and enhance ActivityBloc for better state management

- Introduced LoadTripActivitiesPreservingSearch event to load trip activities while preserving search results.
- Added RemoveFromSearchResults and AddActivityAndRemoveFromSearch events for improved activity handling.
- Updated ActivitiesPage to show loading dialog during activity addition and provide user feedback.
- Increased maxResults for activity search to load more activities.
This commit is contained in:
Dayron
2025-11-13 10:46:36 +01:00
parent 236327f6fa
commit dd8de46e71
4 changed files with 209 additions and 41 deletions

View File

@@ -19,6 +19,16 @@ class LoadActivities extends ActivityEvent {
List<Object> get props => [tripId];
}
/// Event to load trip activities without resetting search results
class LoadTripActivitiesPreservingSearch extends ActivityEvent {
final String tripId;
const LoadTripActivitiesPreservingSearch(this.tripId);
@override
List<Object> get props => [tripId];
}
/// Event to search activities using Google Places API
class SearchActivities extends ActivityEvent {
final String tripId;
@@ -194,4 +204,28 @@ class RestoreCachedSearchResults extends ActivityEvent {
@override
List<Object?> get props => [searchResults];
}
/// Event to remove an activity from search results
class RemoveFromSearchResults extends ActivityEvent {
final String activityId;
const RemoveFromSearchResults({required this.activityId});
@override
List<Object> get props => [activityId];
}
/// Event to add an activity and remove it from search results in one action
class AddActivityAndRemoveFromSearch extends ActivityEvent {
final Activity activity;
final String googleActivityId;
const AddActivityAndRemoveFromSearch({
required this.activity,
required this.googleActivityId,
});
@override
List<Object> get props => [activity, googleActivityId];
}