refactor: Optimisation de la gestion des événements dans le cache et suppression des appels API redondants
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:cloud_functions/cloud_functions.dart';
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:em2rp/models/event_model.dart';
|
||||
import 'package:em2rp/models/equipment_model.dart';
|
||||
import 'package:em2rp/models/container_model.dart';
|
||||
import 'package:em2rp/providers/equipment_provider.dart';
|
||||
import 'package:em2rp/providers/container_provider.dart';
|
||||
import 'package:em2rp/providers/event_provider.dart';
|
||||
import 'package:em2rp/providers/local_user_provider.dart';
|
||||
import 'package:em2rp/services/data_service.dart';
|
||||
import 'package:em2rp/services/api_service.dart';
|
||||
import 'package:em2rp/services/qr_code_processing_service.dart';
|
||||
@@ -449,10 +447,17 @@ class _EventPreparationPageState extends State<EventPreparationPage> with Single
|
||||
|
||||
// Recharger l'événement depuis le provider
|
||||
final eventProvider = context.read<EventProvider>();
|
||||
// Recharger la liste des événements pour rafraîchir les données
|
||||
final userId = context.read<LocalUserProvider>().uid;
|
||||
if (userId != null) {
|
||||
await eventProvider.loadUserEvents(userId, canViewAllEvents: true);
|
||||
|
||||
// Recharger uniquement cet événement depuis l'API pour obtenir les dernières données
|
||||
try {
|
||||
final result = await _dataService.getEventWithDetails(_currentEvent.id);
|
||||
final eventData = result['event'] as Map<String, dynamic>;
|
||||
final updatedEvent = EventModel.fromMap(eventData, eventData['id'] as String);
|
||||
|
||||
// Mettre à jour dans le cache
|
||||
await eventProvider.updateEvent(updatedEvent);
|
||||
} catch (e) {
|
||||
DebugLog.error('[EventPreparationPage] Erreur lors du rechargement de l\'événement', e);
|
||||
}
|
||||
|
||||
setState(() => _showSuccessAnimation = true);
|
||||
|
||||
Reference in New Issue
Block a user