From 8f8b0f108dfbf9bafef5b5e24581bc3582086999 Mon Sep 17 00:00:00 2001 From: ddCat <2695092045@qq.com> Date: Sat, 22 Aug 2026 13:34:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(canvas):=20=E7=94=BB=E5=B8=83=E4=BA=A4?= =?UTF-8?q?=E4=BA=92=20-=20=E4=BC=98=E5=8C=96=E8=8A=82=E7=82=B9=E8=A7=86?= =?UTF-8?q?=E8=A7=89=E3=80=81=E5=88=86=E9=95=9C=E5=88=97=E4=B8=8E=E6=BB=91?= =?UTF-8?q?=E5=8A=A8=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/canvas-node-prompt-panel.tsx | 2 +- web/src/components/canvas/canvas-node.tsx | 29 +++-------------- .../canvas/canvas-project-sidebar.tsx | 2 +- .../components/canvas/canvas-script-node.tsx | 31 +++++++++---------- web/src/components/canvas/infinite-canvas.tsx | 2 +- web/src/constant/canvas.ts | 2 +- web/src/lib/canvas-theme.ts | 4 +-- web/src/lib/canvas/canvas-project-domain.ts | 6 ++-- web/src/lib/canvas/canvas-short-drama.ts | 2 +- .../lib/canvas/project-chapter-storyboard.ts | 4 +-- .../pages/canvas/use-canvas-render-model.ts | 23 +++++--------- web/src/pages/canvas/use-canvas-storyboard.ts | 6 ++-- 12 files changed, 42 insertions(+), 71 deletions(-) diff --git a/web/src/components/canvas/canvas-node-prompt-panel.tsx b/web/src/components/canvas/canvas-node-prompt-panel.tsx index baa627620..af30e3fe0 100644 --- a/web/src/components/canvas/canvas-node-prompt-panel.tsx +++ b/web/src/components/canvas/canvas-node-prompt-panel.tsx @@ -113,7 +113,7 @@ export function CanvasNodePromptPanel({ node, isRunning, onPromptChange, onConfi } as CSSProperties; const composerSurfaceStyle = { ...composerTokens, - border: `1px solid ${theme.node.edge}`, + border: `1px solid color-mix(in srgb, ${theme.node.edge} 42%, transparent)`, background: theme.node.panel, color: theme.node.text, boxShadow: theme.node.shadow, diff --git a/web/src/components/canvas/canvas-node.tsx b/web/src/components/canvas/canvas-node.tsx index e407fb66f..cb5209fb7 100644 --- a/web/src/components/canvas/canvas-node.tsx +++ b/web/src/components/canvas/canvas-node.tsx @@ -1,6 +1,6 @@ import React, { useCallback, useEffect, useRef, useState } from "react"; import type { ReactNode } from "react"; -import { AlertCircle, BookOpenCheck, CheckCircle2, ChevronRight, Clapperboard, Copy, Download, Image as ImageIcon, Lock, Maximize2, Music2, Pencil, Plus, RefreshCw, Replace, Settings2, Star, Trash2, Type, Upload, Video } from "lucide-react"; +import { AlertCircle, BookOpenCheck, CheckCircle2, ChevronRight, Clapperboard, Copy, Download, Image as ImageIcon, Lock, Maximize2, Music2, Pencil, Plus, RefreshCw, Settings2, Star, Trash2, Type, Video } from "lucide-react"; import { useCanvasNodeActions } from "./canvas-node-action-context"; @@ -95,7 +95,6 @@ export const CanvasNode = React.memo(function CanvasNode({ onOpenTaskDetails, onOpenVersions, onViewImage, - onReplaceMedia, onOpenTextEditor, onOpenDirector, onOpenDrawing, @@ -112,7 +111,6 @@ export const CanvasNode = React.memo(function CanvasNode({ const hasAudioContent = data.type === CanvasNodeType.Audio && Boolean(data.metadata?.content); const isComposerNode = data.type === CanvasNodeType.Config; const hasMediaContent = hasImageContent || hasVideoContent || hasAudioContent; - const hasReplaceAction = !readOnly && (data.type === CanvasNodeType.Image || data.type === CanvasNodeType.Video); const isBatchRoot = data.type === CanvasNodeType.Image && Boolean(data.metadata?.isBatchRoot) && batchCount > 1; const isBatchChild = data.type === CanvasNodeType.Image && Boolean(data.metadata?.batchRootId); const showStatusTrack = Boolean(resourceLabel || data.metadata?.locked || isBatchRoot || (isBatchChild && !readOnly) || (hasMediaContent && !readOnly)); @@ -367,25 +365,6 @@ export const CanvasNode = React.memo(function CanvasNode({ /> - {hasReplaceAction && (!hasMediaContent || isSelected || hovered) ? ( -