feat: Add TripImageService for automatic trip image management

- Implemented TripImageService to load missing images for trips, reload images, and clean up unused images.
- Added functionality to get image statistics and clean up duplicate images.
- Created utility scripts for manual image cleanup and diagnostics in Firebase Storage.
- Introduced tests for image loading optimization and photo quality algorithms.
- Updated dependencies in pubspec.yaml and pubspec.lock for image handling.
This commit is contained in:
Dayron
2025-11-03 14:33:58 +01:00
parent 83aed85fea
commit e3dad39c4f
16 changed files with 2415 additions and 190 deletions

View File

@@ -16,15 +16,19 @@ class ExpenseRepository {
// Stream des dépenses d'un groupe
Stream<List<Expense>> getExpensesStream(String groupId) {
// Utiliser une requête simple pour éviter les problèmes d'index
return _expensesCollection
.where('groupId', isEqualTo: groupId)
.where('isArchived', isEqualTo: false)
.orderBy('createdAt', descending: true)
.snapshots()
.map((snapshot) {
return snapshot.docs
final expenses = snapshot.docs
.map((doc) => Expense.fromMap(doc.data() as Map<String, dynamic>, doc.id))
.where((expense) => !expense.isArchived) // Filtrer côté client
.toList();
// Trier côté client par date de création (plus récent en premier)
expenses.sort((a, b) => b.createdAt.compareTo(a.createdAt));
return expenses;
}).handleError((error) {
_errorService.logError('ExpenseRepository', 'Erreur stream expenses: $error');
return <Expense>[];