import { Button, Modal } from "antd"; import { Check, Star } from "lucide-react"; import { CanvasVideoPreviewImage } from "@/components/canvas/canvas-video-preview-image"; import { producedModelLabel } from "@/lib/canvas/produced-model"; import { canvasThemes } from "@/lib/canvas-theme"; import { useEffectiveConfig } from "@/stores/use-config-store"; 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 config = useEffectiveConfig(); const modalWidth = Math.min(1180, Math.max(440, 112 + versions.length * 340)); return (
{versions.map((node) => { const producedModelText = producedModelLabel(config, node.metadata?.producedModel); return (
{node.metadata?.versionLabel || "-"}{node.title}
{node.metadata?.versionPrimary ? 主版本 : null}
{producedModelText ? : null}
提示词
{node.metadata?.composerContent || node.metadata?.prompt || "未填写"}
); })}
); } function Info({ label, value }: { label: string; value: string }) { return
{label}{value}
; }