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