fix: Sync display name in TemplateSearchPicker when initialName changes

This commit is contained in:
Dries Augustyns
2026-04-20 19:47:39 +02:00
parent cbde3cce3f
commit 3649392b47
@@ -20,14 +20,13 @@ interface TemplateSearchPickerProps {
*/ */
export function TemplateSearchPicker({value, initialName, onChange}: TemplateSearchPickerProps) { export function TemplateSearchPicker({value, initialName, onChange}: TemplateSearchPickerProps) {
const [query, setQuery] = useState(initialName ?? ''); const [query, setQuery] = useState(initialName ?? '');
const [prevInitialName, setPrevInitialName] = useState(initialName);
const [debouncedQuery, setDebouncedQuery] = useState(''); const [debouncedQuery, setDebouncedQuery] = useState('');
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null); const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);
const prevInitialName = useRef(initialName);
// Sync display name when initialName changes (e.g. dialog re-opens with a different selection) if (initialName !== prevInitialName) {
if (initialName !== prevInitialName.current) { setPrevInitialName(initialName);
prevInitialName.current = initialName;
setQuery(initialName ?? ''); setQuery(initialName ?? '');
} }