auto-save 2026-05-13 12:18 (~3)

This commit is contained in:
2026-05-13 12:18:49 +08:00
parent a14995d6d1
commit ada21b079f
3 changed files with 22 additions and 4 deletions

View File

@@ -1423,6 +1423,19 @@
"message": "auto-save 2026-05-13 12:07 (~1)", "message": "auto-save 2026-05-13 12:07 (~1)",
"hash": "9c7044b", "hash": "9c7044b",
"files_changed": 1 "files_changed": 1
},
{
"ts": "2026-05-13T12:13:17+08:00",
"type": "commit",
"message": "auto-save 2026-05-13 12:13 (~1)",
"hash": "a14995d",
"files_changed": 1
},
{
"ts": "2026-05-13T04:17:38Z",
"type": "session-heartbeat",
"message": "Claude 会话活跃 · 最近命令claude · 3 项未提交变更 · 最近提交auto-save 2026-05-13 12:13 (~1)",
"files_changed": 3
} }
] ]
} }

View File

@@ -101,7 +101,9 @@ export const Dashboard = forwardRef<DashboardHandle, Props>(function Dashboard({
if (base === "keyframe" && data.expandedFrame !== null) return "keyframe:lightbox" if (base === "keyframe" && data.expandedFrame !== null) return "keyframe:lightbox"
return base return base
})() })()
const defaultWidth = drawerKey === "keyframe:lightbox" ? 760 : 400 const isLightboxMode = drawerKey === "keyframe:lightbox"
const defaultWidth = isLightboxMode ? 760 : 400
const minDrawerWidth = isLightboxMode ? 480 : 280
const [drawerWidths, setDrawerWidths] = useState<Record<string, number>>({}) const [drawerWidths, setDrawerWidths] = useState<Record<string, number>>({})
useEffect(() => { useEffect(() => {
if (typeof window === "undefined") return if (typeof window === "undefined") return
@@ -113,7 +115,7 @@ export const Dashboard = forwardRef<DashboardHandle, Props>(function Dashboard({
const drawerWidth = drawerKey ? (drawerWidths[drawerKey] ?? defaultWidth) : defaultWidth const drawerWidth = drawerKey ? (drawerWidths[drawerKey] ?? defaultWidth) : defaultWidth
const setDrawerWidth = (w: number) => { const setDrawerWidth = (w: number) => {
if (!drawerKey) return if (!drawerKey) return
const clamped = Math.max(280, Math.min(1400, w)) const clamped = Math.max(minDrawerWidth, Math.min(1400, w))
setDrawerWidths((prev) => { setDrawerWidths((prev) => {
const next = { ...prev, [drawerKey]: clamped } const next = { ...prev, [drawerKey]: clamped }
try { localStorage.setItem("skg.drawer.widths", JSON.stringify(next)) } catch { /* ignore */ } try { localStorage.setItem("skg.drawer.widths", JSON.stringify(next)) } catch { /* ignore */ }

View File

@@ -286,7 +286,10 @@ export function FrameLightbox({ jobId, frames, activeIndex, selected, onClose, o
{/* 主体 — 左:大图 + 清洗 / 选用;右:识别 + 元素清单 */} {/* 主体 — 左:大图 + 清洗 / 选用;右:识别 + 元素清单 */}
<div className="flex gap-3 p-3 overflow-hidden flex-1 min-h-0"> <div className="flex gap-3 p-3 overflow-hidden flex-1 min-h-0">
{/* 左侧大图区 */} {/* 左侧大图区 */}
<div className="flex flex-col items-stretch gap-2 flex-shrink-0" style={{ width: 320 }}> <div
className="flex flex-col items-stretch gap-2 overflow-y-auto pr-1"
style={{ flex: "1 1 320px", minWidth: 200, maxWidth: 420, minHeight: 0 }}
>
{/* 上方:主图 + 画框 overlay */} {/* 上方:主图 + 画框 overlay */}
<div <div
ref={imgWrapRef} ref={imgWrapRef}
@@ -487,7 +490,7 @@ export function FrameLightbox({ jobId, frames, activeIndex, selected, onClose, o
</div> </div>
{/* 右侧识别 + 元素清单 */} {/* 右侧识别 + 元素清单 */}
<div className="flex flex-col gap-2.5 overflow-y-auto flex-1 min-h-0"> <div className="flex flex-col gap-2.5 overflow-y-auto flex-1 min-h-0" style={{ minWidth: 240 }}>
{/* 识别 */} {/* 识别 */}
<section> <section>
<div className="flex items-center justify-between mb-2"> <div className="flex items-center justify-between mb-2">