From f257234f648788d23b4b364bd6420c8bb1d28f79 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 4 Nov 2025 14:11:04 +0000 Subject: [PATCH] Improve delivery deletion by updating the local cache and refetching data Implement optimistic UI updates for delivery deletion by using `setQueryData` to remove the item from the cache locally and then using `refetchQueries` to ensure data consistency with the server. Includes error handling to refetch on failure. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 3527f812-5444-4cba-9693-7eb9aae7ec50 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/lCj0xbO --- client/src/pages/BLReconciliation.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/client/src/pages/BLReconciliation.tsx b/client/src/pages/BLReconciliation.tsx index ef7b7ff..aa2299f 100644 --- a/client/src/pages/BLReconciliation.tsx +++ b/client/src/pages/BLReconciliation.tsx @@ -705,8 +705,18 @@ export default function BLReconciliation() { description: "Livraison supprimée avec succès", }); - queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); + // Mise à jour optimiste du cache local pour disparition immédiate + queryClient.setQueryData(['/api/deliveries/bl', selectedStoreId], (oldData: any) => { + if (!oldData) return oldData; + return oldData.filter((d: any) => d.id !== deliveryId); + }); + + // Force refetch pour synchroniser avec le serveur + queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] }); + queryClient.refetchQueries({ queryKey: ['/api/deliveries'] }); } catch (error) { + // En cas d'erreur, refetch pour annuler la mise à jour optimiste + queryClient.refetchQueries({ queryKey: ['/api/deliveries/bl'] }); toast({ title: "Erreur", description: "Impossible de supprimer la livraison",