"use client" import * as React from "react" import { Calculator, Calendar, CreditCard, Settings, Smile, User, LayoutDashboard, Package, ShoppingCart, Users, BarChart3, RefreshCcw, RotateCcw, Search, MessageSquare, Truck } from "lucide-react" import { CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, } from "@/components/common/command" import { useRouter } from "next/navigation" interface CommandPaletteProps { onResetLayout?: () => void onToggleWidget?: (id: string) => void availableWidgets?: Array<{ id: string; title: string; visible: boolean }> } export function CommandPalette({ onResetLayout, onToggleWidget, availableWidgets }: CommandPaletteProps) { const [open, setOpen] = React.useState(false) const router = useRouter() React.useEffect(() => { const down = (e: KeyboardEvent) => { if (e.key === "k" && (e.metaKey || e.ctrlKey)) { e.preventDefault() setOpen((open) => !open) } } document.addEventListener("keydown", down) return () => document.removeEventListener("keydown", down) }, []) const runCommand = React.useCallback((command: () => void) => { setOpen(false) command() }, []) return ( No results found. runCommand(() => router.push("/dashboard"))}> Dashboard runCommand(() => router.push("/dashboard/orders"))}> Manage Orders runCommand(() => router.push("/dashboard/stock"))}> Inventory & Stock runCommand(() => router.push("/dashboard/customers"))}> Customers runCommand(() => router.push("/dashboard/analytics"))}> Advanced Analytics runCommand(() => router.push("/dashboard/shipping"))}> Shipping Options runCommand(() => window.location.reload())}> Reload Data {onResetLayout && ( runCommand(onResetLayout)}> Reset Widget Layout )} {availableWidgets && availableWidgets.length > 0 && ( <> {availableWidgets.map((widget) => ( runCommand(() => onToggleWidget?.(widget.id))} >
{widget.visible ? "Hide" : "Show"} {widget.title} ))} )} runCommand(() => router.push("/dashboard/settings"))}> General Settings ⌘S ) }