import { Button, Modal } from "antd"; import { Check, Star } from "lucide-react"; import { canvasThemes } from "@/lib/canvas-theme"; import { canvasNodeVideoPreviewUrl } from "@/lib/canvas/canvas-media-preview"; import { useActiveTheme } from "@/stores/canvas/use-canvas-theme-store"; import { CanvasNodeType, type CanvasNodeData } from "@/types/canvas"; export function CanvasVersionCompareModal({ open, versions, onClose, onSetPrimary, onFocus }: { open: boolean; versions: CanvasNodeData[]; onClose: () => void; onSetPrimary: (nodeId: string) => void; onFocus: (nodeId: string) => void }) { const theme = canvasThemes[useActiveTheme()]; const modalWidth = Math.min(1180, Math.max(440, 112 + versions.length * 340)); return (
{versions.map((node) => { const videoPreview = canvasNodeVideoPreviewUrl(node); return (
{node.metadata?.versionLabel || "-"}{node.title}
{node.metadata?.versionPrimary ? 主版本 : null}
提示词
{node.metadata?.composerContent || node.metadata?.prompt || "未填写"}
); })}
); } function Info({ label, value }: { label: string; value: string }) { return
{label}{value}
; }