import { ChevronDown, Download, MessageSquareDashed, PanelRightClose, Settings2, SquarePen, } from "lucide-react" import { useRef } from "react" import { DevXmlSimulator } from "@/components/dev-xml-simulator" import { BrandMark } from "@/components/workspace/brand-mark" import { IconButton } from "@/components/workspace/icon-button" import { useDiagram } from "@/contexts/diagram-context" import { useDictionary } from "@/hooks/use-dictionary" import { modKey } from "@/lib/platform" import { cn } from "@/lib/utils" import { useCanvasStore } from "@/stores/canvas-store" import { PANEL_MAX_WIDTH, PANEL_MIN_WIDTH, useSettingsStore, } from "@/stores/settings-store" import { useUiStore } from "@/stores/ui-store" import { useChatEngine } from "./chat-engine" import { Composer } from "./composer" import { MessageList } from "./message-list" import { SessionMenu, useSessionTitle } from "./session-menu" import { VersionStrip } from "./version-strip" const DEBUG = process.env.NODE_ENV === "development" /** Drag handle on the panel's left edge (the panel sits on the right) */ function ResizeHandle() { const panelWidth = useSettingsStore((s) => s.panelWidth) const setPanelWidth = useSettingsStore((s) => s.setPanelWidth) const startRef = useRef<{ x: number; width: number } | null>(null) return ( // biome-ignore lint/a11y/useSemanticElements: a draggable handle, not a divider line
{dict.chat.emptyThread}