feat: Add calendar page, enhance activity search and approval logic, and refactor activity filtering UI.

This commit is contained in:
Van Leemput Dayron
2025-11-26 12:15:13 +01:00
parent 258f10b42b
commit f7eeb7c6f1
11 changed files with 952 additions and 700 deletions

View File

@@ -50,7 +50,15 @@ class SearchActivities extends ActivityEvent {
});
@override
List<Object?> get props => [tripId, destination, category, maxResults, offset, reset, appendToExisting];
List<Object?> get props => [
tripId,
destination,
category,
maxResults,
offset,
reset,
appendToExisting,
];
}
/// Event to search activities using coordinates directly (bypasses geocoding)
@@ -76,7 +84,16 @@ class SearchActivitiesWithCoordinates extends ActivityEvent {
});
@override
List<Object?> get props => [tripId, latitude, longitude, category, maxResults, offset, reset, appendToExisting];
List<Object?> get props => [
tripId,
latitude,
longitude,
category,
maxResults,
offset,
reset,
appendToExisting,
];
}
/// Event to search activities by text query
@@ -95,6 +112,21 @@ class SearchActivitiesByText extends ActivityEvent {
List<Object> get props => [tripId, destination, query];
}
class UpdateActivityDate extends ActivityEvent {
final String tripId;
final String activityId;
final DateTime? date;
const UpdateActivityDate({
required this.tripId,
required this.activityId,
this.date,
});
@override
List<Object?> get props => [tripId, activityId, date];
}
/// Event to add a single activity to the trip
class AddActivity extends ActivityEvent {
final Activity activity;
@@ -147,11 +179,7 @@ class FilterActivities extends ActivityEvent {
final double? minRating;
final bool? showVotedOnly;
const FilterActivities({
this.category,
this.minRating,
this.showVotedOnly,
});
const FilterActivities({this.category, this.minRating, this.showVotedOnly});
@override
List<Object?> get props => [category, minRating, showVotedOnly];
@@ -228,4 +256,4 @@ class AddActivityAndRemoveFromSearch extends ActivityEvent {
@override
List<Object> get props => [activity, googleActivityId];
}
}