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:
@@ -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];
|
||||
}
|
||||
Reference in New Issue
Block a user