auto-save 2026-05-13 10:16 (~4)
This commit is contained in:
@@ -13,7 +13,7 @@ import {
|
||||
type NodeData,
|
||||
} from "@/components/nodes"
|
||||
import { ThemeToggle } from "@/components/theme-toggle"
|
||||
import { Dashboard } from "@/components/dashboard"
|
||||
import { Dashboard, type DashboardHandle } from "@/components/dashboard"
|
||||
import { addManualFrame, analyzeJob, createJob, getJob, uploadJob, type Job } from "@/lib/api"
|
||||
import { VideoLightbox } from "@/components/video-lightbox"
|
||||
|
||||
@@ -64,6 +64,7 @@ export default function Home() {
|
||||
const [selectedFrames, setSelectedFrames] = useState<Set<number>>(new Set())
|
||||
const [expandedFrame, setExpandedFrame] = useState<number | null>(null)
|
||||
const [videoLightboxOpen, setVideoLightboxOpen] = useState(false)
|
||||
const dashboardRef = useRef<DashboardHandle>(null)
|
||||
|
||||
// 把 setJob(prev=>...) 翻译成 setJobs 里更新当前 active
|
||||
const setJob = useCallback((updater: Job | ((prev: Job | null) => Job | null) | null) => {
|
||||
@@ -225,6 +226,7 @@ export default function Home() {
|
||||
onOpenVideoLightbox: () => setVideoLightboxOpen(true),
|
||||
onSwitchJob: handleSwitchJob,
|
||||
onJobUpdate: setJob as any,
|
||||
onOpenPanel: (key: string) => dashboardRef.current?.openPanel(key),
|
||||
}), [job, jobs, activeJobId, submitting, analyzing, selectedFrames, expandedFrame, handleSubmit, handleUpload, handleAnalyze, handleToggleFrame, handleAddManualFrame, handleSwitchJob, setJob])
|
||||
|
||||
// 用 useNodesState 让 ReactFlow 自己管位置(避免轮询时重置 drag)
|
||||
@@ -281,7 +283,7 @@ export default function Home() {
|
||||
className="relative z-10 flex-shrink-0 border-r border-white/5 bg-black/20 backdrop-blur-xl overflow-y-auto"
|
||||
style={{ width: 88 }}
|
||||
>
|
||||
<Dashboard data={nodeData} />
|
||||
<Dashboard ref={dashboardRef} data={nodeData} />
|
||||
</aside>
|
||||
|
||||
{/* 右区:紧凑 DAG 节点流图(撑满剩余宽度) */}
|
||||
|
||||
Reference in New Issue
Block a user