diff --git a/web/components/dashboard/dashboard-command-menu.tsx b/web/components/dashboard/dashboard-command-menu.tsx index 4e609dcd..3663082b 100644 --- a/web/components/dashboard/dashboard-command-menu.tsx +++ b/web/components/dashboard/dashboard-command-menu.tsx @@ -8,7 +8,7 @@ import { ServerIcon, } from "lucide-react"; import { useRouter } from "next/navigation"; -import { useEffect, useState } from "react"; +import { useEffect, useRef, useState } from "react"; import useSWR from "swr"; import { Button } from "@/components/ui/button"; import { @@ -69,6 +69,7 @@ export function DashboardCommandMenu() { const router = useRouter(); const [open, setOpen] = useState(false); const [search, setSearch] = useState(""); + const commandListRef = useRef(null); const { data, error, isLoading, mutate } = useSWR( open ? "/api/navigation" : null, fetcher, @@ -97,6 +98,11 @@ export function DashboardCommandMenu() { if (!nextOpen) setSearch(""); }; + const handleSearchChange = (value: string) => { + if (commandListRef.current) commandListRef.current.scrollTop = 0; + setSearch(value); + }; + const handleSelect = (href: string) => { setOpen(false); setSearch(""); @@ -130,10 +136,10 @@ export function DashboardCommandMenu() { - + {isLoading ? (