auto-save 2026-05-12 19:20 (~3)
This commit is contained in:
@@ -230,6 +230,13 @@
|
|||||||
"message": "auto-save 2026-05-12 19:08 (~3)",
|
"message": "auto-save 2026-05-12 19:08 (~3)",
|
||||||
"hash": "67bbdae",
|
"hash": "67bbdae",
|
||||||
"files_changed": 3
|
"files_changed": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ts": "2026-05-12T19:14:42+08:00",
|
||||||
|
"type": "commit",
|
||||||
|
"message": "auto-save 2026-05-12 19:14 (~3)",
|
||||||
|
"hash": "30a4c46",
|
||||||
|
"files_changed": 3
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,10 +240,10 @@ export default function Home() {
|
|||||||
<ThemeToggle />
|
<ThemeToggle />
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{/* 左侧:竖向 tile 看板(固定 200px 宽) */}
|
{/* 左侧:竖向 tile 看板(窄版) */}
|
||||||
<aside
|
<aside
|
||||||
className="relative z-10 flex-shrink-0 border-r border-white/5 bg-black/20 backdrop-blur-xl overflow-y-auto"
|
className="relative z-10 flex-shrink-0 border-r border-white/5 bg-black/20 backdrop-blur-xl overflow-y-auto"
|
||||||
style={{ width: 200 }}
|
style={{ width: 144 }}
|
||||||
>
|
>
|
||||||
<Dashboard data={nodeData} />
|
<Dashboard data={nodeData} />
|
||||||
</aside>
|
</aside>
|
||||||
|
|||||||
@@ -151,18 +151,16 @@ export function Dashboard({ data }: Props) {
|
|||||||
onClick={() => toggleTile(t.key)}
|
onClick={() => toggleTile(t.key)}
|
||||||
title={colSummary[t.key]}
|
title={colSummary[t.key]}
|
||||||
className={`group w-full rounded-md overflow-hidden border flex items-stretch transition ${
|
className={`group w-full rounded-md overflow-hidden border flex items-stretch transition ${
|
||||||
isOpen ? "border-violet-400/60 ring-2 ring-violet-400/40" : "border-white/10 hover:border-white/20"
|
isOpen ? "border-violet-400/70 ring-2 ring-violet-400/40 shadow-lg shadow-violet-500/20" : "border-white/10 hover:border-white/20"
|
||||||
}`}
|
}`}
|
||||||
style={{ height: 36 }}
|
style={{ height: 30 }}
|
||||||
>
|
>
|
||||||
<div className="px-2.5 flex items-center gap-2 flex-1" style={{ background: TYPE_GRAD[t.type] }}>
|
<div className="px-1.5 flex items-center gap-1.5 flex-1 min-w-0" style={{ background: TYPE_GRAD[t.type] }}>
|
||||||
<span className="text-white/70 text-[9.5px] font-mono shrink-0">{String(t.step).padStart(2, "0")}</span>
|
|
||||||
<span className="text-white shrink-0">{t.icon}</span>
|
<span className="text-white shrink-0">{t.icon}</span>
|
||||||
<span className="text-white text-[12px] font-medium truncate">{t.title}</span>
|
<span className="text-white text-[11.5px] font-medium truncate">{t.title}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="px-2 flex items-center gap-1 bg-black/40 shrink-0">
|
<div className="px-1.5 flex items-center bg-black/40 shrink-0">
|
||||||
<span className={`h-1.5 w-1.5 rounded-full ${STATE_DOT[state]}`} />
|
<span className={`h-1.5 w-1.5 rounded-full ${STATE_DOT[state]}`} />
|
||||||
<ChevronDown className={`h-3 w-3 text-white/60 transition ${isOpen ? "-rotate-90" : "-rotate-90"}`} />
|
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
)
|
)
|
||||||
@@ -192,17 +190,20 @@ export function Dashboard({ data }: Props) {
|
|||||||
{/* 合流 */}
|
{/* 合流 */}
|
||||||
<Tile tkey="compose" />
|
<Tile tkey="compose" />
|
||||||
|
|
||||||
{/* 展开面板 — 紧贴左侧 sidebar 右侧滑出,竖向单列 */}
|
{/* 展开面板 — 离 sidebar 一段距离,明显"飞出"悬浮 */}
|
||||||
{expanded.size > 0 && (
|
{expanded.size > 0 && (
|
||||||
<div
|
<div
|
||||||
className="fixed z-40 transition-transform duration-200"
|
className="fixed z-40"
|
||||||
style={{ left: 220, top: 16, bottom: 16, width: 380 }}
|
style={{ left: 168, top: 16, bottom: 16, width: 400 }}
|
||||||
>
|
>
|
||||||
{TILES.filter((t) => expanded.has(t.key)).map((t) => (
|
{TILES.filter((t) => expanded.has(t.key)).map((t) => (
|
||||||
<section
|
<section
|
||||||
key={t.key}
|
key={t.key}
|
||||||
className="rounded-xl border border-white/10 bg-black/50 backdrop-blur-xl overflow-hidden flex flex-col shadow-2xl h-full"
|
className="rounded-2xl border border-white/15 bg-black/60 backdrop-blur-2xl overflow-hidden flex flex-col h-full"
|
||||||
style={{ animation: "drawer-in 0.22s cubic-bezier(0.32, 0.72, 0, 1)" }}
|
style={{
|
||||||
|
animation: "drawer-in 0.24s cubic-bezier(0.32, 0.72, 0, 1)",
|
||||||
|
boxShadow: "0 30px 80px -20px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.05)",
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="flex items-center justify-between px-3 py-2" style={{ background: TYPE_GRAD[t.type] }}>
|
<div className="flex items-center justify-between px-3 py-2" style={{ background: TYPE_GRAD[t.type] }}>
|
||||||
<div className="flex items-center gap-1.5">
|
<div className="flex items-center gap-1.5">
|
||||||
|
|||||||
Reference in New Issue
Block a user