From ea21df13c778425ceeb2ba00cdf78f38d99115c4 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Wed, 24 Sep 2025 08:21:56 +0200 Subject: [PATCH] fix: improve local search synchronization in KanbanFilters - Added a ref to track user typing state to prevent overwriting local search when filters change externally. - Ensured local search updates only occur when the user is not actively typing, enhancing user experience and reducing unnecessary updates. --- src/components/kanban/KanbanFilters.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/components/kanban/KanbanFilters.tsx b/src/components/kanban/KanbanFilters.tsx index 36e5bbc..007dfef 100644 --- a/src/components/kanban/KanbanFilters.tsx +++ b/src/components/kanban/KanbanFilters.tsx @@ -90,13 +90,20 @@ export function KanbanFilters({ filters, onFiltersChange, hiddenStatuses: propsH }, [filters, onFiltersChange]); const handleSearchChange = (search: string) => { + isUserTypingRef.current = true; setLocalSearch(search); debouncedSearchChange(search); }; // Synchroniser l'état local quand les filtres changent de l'extérieur + // mais seulement si ce n'est pas dû à notre propre saisie + const isUserTypingRef = useRef(false); + useEffect(() => { - setLocalSearch(filters.search || ''); + if (!isUserTypingRef.current) { + setLocalSearch(filters.search || ''); + } + isUserTypingRef.current = false; }, [filters.search]); // Nettoyer le timeout au démontage