feat: Add geocoding functionality for trips and enhance activity search with coordinates

This commit is contained in:
Dayron
2025-11-04 20:47:26 +01:00
parent f6c8432335
commit 9cb21c3470
9 changed files with 421 additions and 56 deletions

View File

@@ -12,35 +12,43 @@ abstract class GoogleActivityEvent extends Equatable {
/// Charger les activités Google Places
class LoadGoogleActivities extends GoogleActivityEvent {
final String tripId;
final String destination;
final String? destination;
final double? latitude;
final double? longitude;
final ActivityCategory? category;
const LoadGoogleActivities({
required this.tripId,
required this.destination,
this.destination,
this.latitude,
this.longitude,
this.category,
});
@override
List<Object?> get props => [tripId, destination, category];
List<Object?> get props => [tripId, destination, latitude, longitude, category];
}
/// Charger plus d'activités Google (pagination)
class LoadMoreGoogleActivities extends GoogleActivityEvent {
final String tripId;
final String destination;
final String? destination;
final double? latitude;
final double? longitude;
final ActivityCategory? category;
final String? nextPageToken;
const LoadMoreGoogleActivities({
required this.tripId,
required this.destination,
this.destination,
this.latitude,
this.longitude,
this.category,
this.nextPageToken,
});
@override
List<Object?> get props => [tripId, destination, category, nextPageToken];
List<Object?> get props => [tripId, destination, latitude, longitude, category, nextPageToken];
}
/// Mettre à jour les activités Google
@@ -74,17 +82,21 @@ class AddGoogleActivityToDb extends GoogleActivityEvent {
/// Rechercher des activités Google par catégorie
class SearchGoogleActivitiesByCategory extends GoogleActivityEvent {
final String tripId;
final String destination;
final String? destination;
final double? latitude;
final double? longitude;
final ActivityCategory category;
const SearchGoogleActivitiesByCategory({
required this.tripId,
required this.destination,
this.destination,
this.latitude,
this.longitude,
required this.category,
});
@override
List<Object?> get props => [tripId, destination, category];
List<Object?> get props => [tripId, destination, latitude, longitude, category];
}
/// Effacer les résultats Google