feat(webapp): add session persistence via URL hash routing + sessionStorage

- app.js: hash-based router (#runs / #new / #profiles / #report/{runId})
  - navigate() pushes history entries for back/forward support
  - _restoreSession() reads hash on load and popstate
  - sessionStorage fallback for same-tab refreshes
  - run-card highlights selected run (.run-card.selected)
- runner.js: use App.navigate() for report redirect; persist lastRunId to sessionStorage
- index.html: report nav button starts disabled (enabled on run select/restore)
- app.css: .run-card.selected with petrol border + ring

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-06-16 17:55:07 +08:00
parent 1a2cc534b8
commit ca01e44ad2
4 changed files with 106 additions and 36 deletions

View File

@@ -295,6 +295,12 @@ table.group-table td { border-bottom: 1px solid #f1f5f9; font-variant-numeric: t
.btn-danger { color: var(--bad); border-color: var(--bad); }
.btn-danger:hover { background: #fee2e2; }
/* 选中态 run 卡片 */
.run-card.selected {
border-color: var(--petrol);
box-shadow: 0 0 0 2px rgba(0,153,153,0.25), var(--shadow);
}
/* ---------- LLM 角色配置面板 ---------- */
.llm-assignment-panel { border-left: 3px solid var(--petrol); }
.llm-role-rows { display: flex; flex-direction: column; gap: 10px; }