- Updated ActivityCard layout for better visual consistency and responsiveness. - Simplified the category badge and adjusted styles for better readability. - Enhanced the voting section with a progress bar and improved button designs. - Added a new method in Activity model to check if all trip participants approved an activity. - Improved error handling and validation in ActivityRepository for voting and fetching activities. - Implemented pagination in ActivityPlacesService for activity searches. - Removed outdated scripts for cleaning up duplicate images.
72 lines
1.8 KiB
Dart
72 lines
1.8 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
|
|
/// Events pour les activités approuvées par tous les participants
|
|
abstract class ApprovedActivityEvent extends Equatable {
|
|
const ApprovedActivityEvent();
|
|
|
|
@override
|
|
List<Object?> get props => [];
|
|
}
|
|
|
|
/// Charger les activités approuvées par tous
|
|
class LoadApprovedActivities extends ApprovedActivityEvent {
|
|
final String tripId;
|
|
final List<String> tripParticipants;
|
|
|
|
const LoadApprovedActivities({
|
|
required this.tripId,
|
|
required this.tripParticipants,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId, tripParticipants];
|
|
}
|
|
|
|
/// Rechercher dans les activités approuvées
|
|
class SearchApprovedActivities extends ApprovedActivityEvent {
|
|
final String tripId;
|
|
final String query;
|
|
final List<String> tripParticipants;
|
|
|
|
const SearchApprovedActivities({
|
|
required this.tripId,
|
|
required this.query,
|
|
required this.tripParticipants,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId, query, tripParticipants];
|
|
}
|
|
|
|
/// Filtrer les activités approuvées
|
|
class FilterApprovedActivities extends ApprovedActivityEvent {
|
|
final String? category;
|
|
final double? minRating;
|
|
|
|
const FilterApprovedActivities({
|
|
this.category,
|
|
this.minRating,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [category, minRating];
|
|
}
|
|
|
|
/// Rafraîchir les activités approuvées
|
|
class RefreshApprovedActivities extends ApprovedActivityEvent {
|
|
final String tripId;
|
|
final List<String> tripParticipants;
|
|
|
|
const RefreshApprovedActivities({
|
|
required this.tripId,
|
|
required this.tripParticipants,
|
|
});
|
|
|
|
@override
|
|
List<Object?> get props => [tripId, tripParticipants];
|
|
}
|
|
|
|
/// Effacer les résultats de recherche approuvées
|
|
class ClearApprovedSearchResults extends ApprovedActivityEvent {
|
|
const ClearApprovedSearchResults();
|
|
} |