-
视频路
+
{/* 分叉:下路 转录/翻译/改写 */}
-
-
音频路
+
@@ -190,11 +188,11 @@ export function Dashboard({ data }: Props) {
{/* 合流 */}
- {/* 展开面板 — 离 sidebar 一段距离,明显"飞出"悬浮 */}
- {expanded.size > 0 && (
+ {/* 展开面板 — 用 portal 渲染到 body 避免 backdrop-filter 影响 fixed 定位 */}
+ {expanded.size > 0 && mounted && createPortal(
{TILES.filter((t) => expanded.has(t.key)).map((t) => (
))}
-
+
,
+ document.body
)}
)
diff --git a/web/components/nodes/index.tsx b/web/components/nodes/index.tsx
index 26d1cf2..db58400 100644
--- a/web/components/nodes/index.tsx
+++ b/web/components/nodes/index.tsx
@@ -272,7 +272,7 @@ export function KeyframeNode({ data, selected }: any) {
key={f.index}
onClick={(e) => { e.stopPropagation(); d.onExpandFrame(f.index) }}
title={`第 ${f.index + 1} 张 · ${f.timestamp.toFixed(1)}s · 点击放大`}
- className={`group relative overflow-hidden rounded-md border transition shadow-lg hover:scale-110 hover:-translate-y-1 ${
+ className={`group relative rounded-md border transition shadow-lg hover:-translate-y-0.5 ${
isSel
? "border-emerald-400 ring-2 ring-emerald-400/60"
: "border-white/30 dark:border-white/20"
@@ -282,15 +282,39 @@ export function KeyframeNode({ data, selected }: any) {

{isSel && (
-
+
)}
{/* 时间戳 */}
-
+
{f.timestamp.toFixed(1)}s
+
+ {/* Hover 大图预览 */}
+
+
+

+
+ 分镜 {f.index + 1}
+ {f.timestamp.toFixed(2)}s
+
+
+
)
})}