Refactor ActivityCard UI and improve voting functionality
- 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.
This commit is contained in:
86
lib/blocs/activity/db_activities/db_activity_state.dart
Normal file
86
lib/blocs/activity/db_activities/db_activity_state.dart
Normal file
@@ -0,0 +1,86 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import '../../../models/activity.dart';
|
||||
|
||||
/// States pour les activités de la base de données
|
||||
abstract class DbActivityState extends Equatable {
|
||||
const DbActivityState();
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
/// État initial
|
||||
class DbActivityInitial extends DbActivityState {
|
||||
const DbActivityInitial();
|
||||
}
|
||||
|
||||
/// État de chargement
|
||||
class DbActivityLoading extends DbActivityState {
|
||||
const DbActivityLoading();
|
||||
}
|
||||
|
||||
/// État de recherche
|
||||
class DbActivitySearching extends DbActivityState {
|
||||
const DbActivitySearching();
|
||||
}
|
||||
|
||||
/// État avec les activités chargées
|
||||
class DbActivityLoaded extends DbActivityState {
|
||||
final List<Activity> activities;
|
||||
final List<String> tripParticipants;
|
||||
|
||||
const DbActivityLoaded({
|
||||
required this.activities,
|
||||
required this.tripParticipants,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [activities, tripParticipants];
|
||||
|
||||
/// Créer une copie avec des modifications
|
||||
DbActivityLoaded copyWith({
|
||||
List<Activity>? activities,
|
||||
List<String>? tripParticipants,
|
||||
}) {
|
||||
return DbActivityLoaded(
|
||||
activities: activities ?? this.activities,
|
||||
tripParticipants: tripParticipants ?? this.tripParticipants,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// État avec résultats de recherche
|
||||
class DbActivitySearchResults extends DbActivityState {
|
||||
final List<Activity> results;
|
||||
final String query;
|
||||
final List<String> tripParticipants;
|
||||
|
||||
const DbActivitySearchResults({
|
||||
required this.results,
|
||||
required this.query,
|
||||
required this.tripParticipants,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [results, query, tripParticipants];
|
||||
}
|
||||
|
||||
/// État de succès d'opération
|
||||
class DbActivityOperationSuccess extends DbActivityState {
|
||||
final String message;
|
||||
|
||||
const DbActivityOperationSuccess(this.message);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [message];
|
||||
}
|
||||
|
||||
/// État d'erreur
|
||||
class DbActivityError extends DbActivityState {
|
||||
final String message;
|
||||
|
||||
const DbActivityError(this.message);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [message];
|
||||
}
|
||||
Reference in New Issue
Block a user