From 4dd1fa4b243cf3af48cfc09e8474d95ddeca9559 Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 10 May 2026 12:07:48 +0200 Subject: [PATCH] =?UTF-8?q?fix(documents):=20MoveToFolderDialog=20?= =?UTF-8?q?=E2=80=94=20Root=20search=20+=20reset=20on=20reopen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cmdk filters by the CommandItem value prop, so the sentinel "__root__" silently failed to match natural search terms like "no folder". Use the human label instead. Also reset pickedId when the dialog re-opens so a cancelled pick doesn't carry a stale highlight into the next open. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/documents/move-to-folder-dialog.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/documents/move-to-folder-dialog.tsx b/src/components/documents/move-to-folder-dialog.tsx index 7e2cae28..66bd2fa7 100644 --- a/src/components/documents/move-to-folder-dialog.tsx +++ b/src/components/documents/move-to-folder-dialog.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { Check, FolderInput } from 'lucide-react'; import { toast } from 'sonner'; @@ -46,6 +46,10 @@ export function MoveToFolderDialog({ const move = useMoveDocument(); const [pickedId, setPickedId] = useState(currentFolderId); + useEffect(() => { + if (open) setPickedId(currentFolderId); + }, [open, currentFolderId]); + const paths = useMemo(() => buildFolderPaths(tree), [tree]); return ( @@ -60,7 +64,7 @@ export function MoveToFolderDialog({ No folders match. setPickedId(null)} className="flex items-center gap-2" >