feat: Add calendar page, enhance activity search and approval logic, and refactor activity filtering UI.
This commit is contained in:
@@ -20,6 +20,7 @@ class Activity {
|
||||
final Map<String, int> votes; // userId -> vote (1 pour pour, -1 pour contre)
|
||||
final DateTime createdAt;
|
||||
final DateTime updatedAt;
|
||||
final DateTime? date; // Date prévue pour l'activité
|
||||
|
||||
Activity({
|
||||
required this.id,
|
||||
@@ -40,6 +41,7 @@ class Activity {
|
||||
this.votes = const {},
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
this.date,
|
||||
});
|
||||
|
||||
/// Calcule le score total des votes
|
||||
@@ -104,6 +106,8 @@ class Activity {
|
||||
Map<String, int>? votes,
|
||||
DateTime? createdAt,
|
||||
DateTime? updatedAt,
|
||||
DateTime? date,
|
||||
bool clearDate = false,
|
||||
}) {
|
||||
return Activity(
|
||||
id: id ?? this.id,
|
||||
@@ -124,6 +128,7 @@ class Activity {
|
||||
votes: votes ?? this.votes,
|
||||
createdAt: createdAt ?? this.createdAt,
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
date: clearDate ? null : (date ?? this.date),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -148,6 +153,7 @@ class Activity {
|
||||
'votes': votes,
|
||||
'createdAt': Timestamp.fromDate(createdAt),
|
||||
'updatedAt': Timestamp.fromDate(updatedAt),
|
||||
'date': date != null ? Timestamp.fromDate(date!) : null,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -172,6 +178,7 @@ class Activity {
|
||||
votes: Map<String, int>.from(map['votes'] ?? {}),
|
||||
createdAt: (map['createdAt'] as Timestamp).toDate(),
|
||||
updatedAt: (map['updatedAt'] as Timestamp).toDate(),
|
||||
date: map['date'] != null ? (map['date'] as Timestamp).toDate() : null,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user