Skip to content

Commit 0d045ed

Browse files
jonathanlabclaude
andcommitted
fix: show registered folders in command menu
Let cmdk handle filtering instead of manually tracking search state. This ensures folders are always rendered and cmdk's built-in fuzzy search matches against folder name and path. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent d14bc0e commit 0d045ed

File tree

1 file changed

+4
-20
lines changed

1 file changed

+4
-20
lines changed

apps/array/src/renderer/features/command/components/CommandMenu.tsx

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Flex, Text } from "@radix-ui/themes";
1414
import { useNavigationStore } from "@stores/navigationStore";
1515
import { useRegisteredFoldersStore } from "@stores/registeredFoldersStore";
1616
import { useThemeStore } from "@stores/themeStore";
17-
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
17+
import { useCallback, useEffect, useRef } from "react";
1818
import { useHotkeys } from "react-hotkeys-hook";
1919

2020
interface CommandMenuProps {
@@ -29,7 +29,6 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) {
2929
const toggleLeftSidebar = useSidebarStore((state) => state.toggle);
3030
const toggleRightSidebar = useRightSidebarStore((state) => state.toggle);
3131
const commandRef = useRef<HTMLDivElement>(null);
32-
const [searchQuery, setSearchQuery] = useState("");
3332

3433
const close = useCallback(() => onOpenChange(false), [onOpenChange]);
3534

@@ -42,12 +41,6 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) {
4241
[close],
4342
);
4443

45-
useEffect(() => {
46-
if (!open) {
47-
setSearchQuery("");
48-
}
49-
}, [open]);
50-
5144
useHotkeys("escape", close, {
5245
enabled: open,
5346
enableOnContentEditable: true,
@@ -85,14 +78,6 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) {
8578
return () => document.removeEventListener("mousedown", handleClickOutside);
8679
}, [open, close]);
8780

88-
const matchingFolders = useMemo(() => {
89-
if (!searchQuery.trim()) return [];
90-
const query = searchQuery.toLowerCase();
91-
return folders.filter((folder) =>
92-
folder.name.toLowerCase().includes(query),
93-
);
94-
}, [folders, searchQuery]);
95-
9681
if (!open) return null;
9782

9883
return (
@@ -113,7 +98,6 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) {
11398
autoFocus={true}
11499
style={{ fontSize: "12px" }}
115100
className="w-full bg-transparent py-3 outline-none placeholder:text-gray-9"
116-
onValueChange={setSearchQuery}
117101
/>
118102
</div>
119103

@@ -172,12 +156,12 @@ export function CommandMenu({ open, onOpenChange }: CommandMenuProps) {
172156
</Command.Item>
173157
</Command.Group>
174158

175-
{matchingFolders.length > 0 && (
159+
{folders.length > 0 && (
176160
<Command.Group heading="New task in folder">
177-
{matchingFolders.map((folder) => (
161+
{folders.map((folder) => (
178162
<Command.Item
179163
key={folder.id}
180-
value={`New task in ${folder.name} folder`}
164+
value={`New task in ${folder.name} folder ${folder.path}`}
181165
onSelect={runAndClose(() => navigateToTaskInput(folder.id))}
182166
>
183167
<FileTextIcon className="mr-3 h-3 w-3 text-gray-11" />

0 commit comments

Comments
 (0)