fix(web): streamline navigation and governance sections
Some checks failed
Code Review / ai-code-review (push) Successful in 20s
CD Pipeline / tests (push) Successful in 1m41s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-27 11:56:22 +08:00
parent 3274607af8
commit 0b7e0609f8
6 changed files with 141 additions and 62 deletions

View File

@@ -9,10 +9,10 @@
* - 無陰影
* - 單色圖示
*
* IA v2 (2026-06-04):
* - 頂層按照 operator 工作流排序,不按照技術模組排序
* - AwoooP / Runs / Work Items / Approvals / Alerts 直接成為全域入口
* - 頁內 tabs 只保留同一頁的視角切換,避免把任務入口藏在第二層
* IA D0 (2026-06-27):
* - 側欄只放高頻 primary 工作台
* - Runs / Approvals / Contracts 等流程細節保留深連結,不再攤平成主導航
* - 頁面內以同頁 sections 呈現關鍵狀態,減少二層分頁藏內容
*
* Phase 19: 使用 Z_INDEX.SIDEBAR (40)
* @see lib/constants/z-index.ts
@@ -125,7 +125,11 @@ export function Sidebar({
{/* 導航列表 - Operator workflow sections */}
<nav className="flex-1 py-2 overflow-y-auto">
{PRODUCT_NAV_SECTIONS.map(section => (
{PRODUCT_NAV_SECTIONS.map(section => {
const visibleItems = section.items.filter(item => item.surface !== 'secondary')
if (visibleItems.length === 0) return null
return (
<div key={section.sectionKey} style={{ marginBottom: 4 }}>
{!collapsed && (
<div style={{
@@ -141,7 +145,7 @@ export function Sidebar({
{tSection(section.sectionKey)}
</div>
)}
{section.items.map(item => {
{visibleItems.map(item => {
const active = isActive(item)
const count = item.badge && mounted ? pendingCount : 0
return (
@@ -190,7 +194,8 @@ export function Sidebar({
)
})}
</div>
))}
)
})}
{/* Separator */}
<div style={{ borderTop: '0.5px solid #e0ddd4', margin: '6px 0' }} />