feat: Add logger service and improve expense dialog with enhanced receipt management and calculation logic.
This commit is contained in:
@@ -8,6 +8,8 @@ import '../../models/activity.dart';
|
||||
import '../../services/activity_cache_service.dart';
|
||||
|
||||
import '../loading/laoding_content.dart';
|
||||
import '../../blocs/user/user_bloc.dart';
|
||||
import '../../blocs/user/user_state.dart';
|
||||
|
||||
class ActivitiesPage extends StatefulWidget {
|
||||
final Trip trip;
|
||||
@@ -32,8 +34,7 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
List<Activity> _tripActivities = [];
|
||||
List<Activity> _approvedActivities = [];
|
||||
bool _isLoadingTripActivities = false;
|
||||
int _totalGoogleActivitiesRequested =
|
||||
0; // Compteur pour les recherches progressives
|
||||
|
||||
bool _autoReloadInProgress =
|
||||
false; // Protection contre les rechargements en boucle
|
||||
int _lastAutoReloadTriggerCount =
|
||||
@@ -999,9 +1000,11 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
}
|
||||
|
||||
void _voteForActivity(String activityId, int vote) {
|
||||
// TODO: Récupérer l'ID utilisateur actuel
|
||||
// Pour l'instant, on utilise l'ID du créateur du voyage pour que le vote compte
|
||||
final userId = widget.trip.createdBy;
|
||||
// Récupérer l'ID utilisateur actuel depuis le UserBloc
|
||||
final userState = context.read<UserBloc>().state;
|
||||
final userId = userState is UserLoaded
|
||||
? userState.user.id
|
||||
: widget.trip.createdBy;
|
||||
|
||||
// Vérifier si l'activité existe dans la liste locale pour vérifier le vote
|
||||
// (car l'objet activity passé peut venir d'une liste filtrée ou autre)
|
||||
@@ -1122,7 +1125,7 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
6; // Activités actuelles + ce qui manque + buffer de 6
|
||||
|
||||
// Mettre à jour le compteur et recharger avec le nouveau total
|
||||
_totalGoogleActivitiesRequested = newTotalToRequest;
|
||||
|
||||
_loadMoreGoogleActivitiesWithTotal(newTotalToRequest);
|
||||
|
||||
// Libérer le verrou après un délai
|
||||
@@ -1135,7 +1138,6 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
}
|
||||
|
||||
void _searchGoogleActivities() {
|
||||
_totalGoogleActivitiesRequested = 6; // Reset du compteur
|
||||
_autoReloadInProgress = false; // Reset des protections
|
||||
_lastAutoReloadTriggerCount = 0;
|
||||
|
||||
@@ -1166,7 +1168,6 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
}
|
||||
|
||||
void _resetAndSearchGoogleActivities() {
|
||||
_totalGoogleActivitiesRequested = 6; // Reset du compteur
|
||||
_autoReloadInProgress = false; // Reset des protections
|
||||
_lastAutoReloadTriggerCount = 0;
|
||||
|
||||
@@ -1203,8 +1204,6 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
final currentCount = currentState.searchResults.length;
|
||||
final newTotal = currentCount + 6;
|
||||
|
||||
_totalGoogleActivitiesRequested = newTotal;
|
||||
|
||||
// Utiliser les coordonnées pré-géolocalisées du voyage si disponibles
|
||||
if (widget.trip.hasCoordinates) {
|
||||
context.read<ActivityBloc>().add(
|
||||
|
||||
Reference in New Issue
Block a user