"use client"; import { Button } from "./ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "./ui/dropdown-menu"; import { ChevronDown, RotateCcw, LayoutPanelTop } from "lucide-react"; import { usePanelStore, type PanelPreset } from "@/stores/panel-store"; const PRESET_LABELS: Record = { default: "Default", media: "Media", inspector: "Inspector", "vertical-preview": "Vertical Preview", }; const PRESET_DESCRIPTIONS: Record = { default: "Media, preview, and inspector on top row, timeline on bottom", media: "Full height media on left, preview and inspector on top row", inspector: "Full height inspector on right, media and preview on top row", "vertical-preview": "Full height preview on right for vertical videos", }; export function PanelPresetSelector() { const { activePreset, setActivePreset, resetPreset } = usePanelStore(); const handlePresetChange = (preset: PanelPreset) => { setActivePreset(preset); }; const handleResetPreset = (preset: PanelPreset, event: React.MouseEvent) => { event.stopPropagation(); resetPreset(preset); }; return (
Panel Presets
{(Object.keys(PRESET_LABELS) as PanelPreset[]).map((preset) => ( handlePresetChange(preset)} className="flex items-start justify-between gap-2 py-2 cursor-pointer" >
{PRESET_LABELS[preset]} {activePreset === preset && (
)}

{PRESET_DESCRIPTIONS[preset]}

))} ); }