fix(web): restore product navigation coverage
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 24s
CD Pipeline / build-and-deploy (push) Successful in 4m52s
CD Pipeline / post-deploy-checks (push) Successful in 58s

This commit is contained in:
Your Name
2026-06-30 02:39:51 +08:00
parent 320061af35
commit c04a72c2a6
9 changed files with 314 additions and 75 deletions

View File

@@ -30,6 +30,7 @@ export type ProductNavItem = {
exact?: boolean
badge?: boolean
surface?: 'primary' | 'secondary'
children?: ProductNavChild[]
}
export type ProductNavSection = {
@@ -37,6 +38,14 @@ export type ProductNavSection = {
items: ProductNavItem[]
}
export type ProductNavChild = {
id: string
href: string
labelKey: string
exact?: boolean
badge?: boolean
}
export type WorkflowNavItem = {
labelKey: string
href: string
@@ -57,6 +66,10 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
labelKey: 'awooopWarRoom',
Icon: BrainCircuit,
exact: true,
children: [
{ id: 'aiops-timeline', href: '/aiops/timeline', labelKey: 'aiopsTimeline' },
{ id: 'openclaw-live-ops-space', href: '/openclaw/live-ops-space', labelKey: 'openclawLiveOps' },
],
},
{
id: 'observability',
@@ -64,6 +77,17 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
labelKey: 'observabilityCommandCenter',
Icon: Monitor,
aliases: ['/monitoring', '/apm', '/errors', '/apps', '/services', '/topology', '/alerts', '/alert-operation-logs', '/notifications'],
children: [
{ id: 'monitoring', href: '/monitoring', labelKey: 'monitoring' },
{ id: 'apm', href: '/apm', labelKey: 'apm' },
{ id: 'errors', href: '/errors', labelKey: 'errors' },
{ id: 'apps', href: '/apps', labelKey: 'apps' },
{ id: 'services', href: '/services', labelKey: 'services' },
{ id: 'topology', href: '/topology', labelKey: 'topology' },
{ id: 'alerts', href: '/alerts', labelKey: 'alerts' },
{ id: 'alert-operation-logs', href: '/alert-operation-logs', labelKey: 'alertOperationLogs' },
{ id: 'notifications', href: '/notifications', labelKey: 'notifications' },
],
},
],
},
@@ -82,6 +106,13 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
labelKey: 'knowledgeAutomation',
Icon: BookOpen,
aliases: ['/knowledge', '/automation', '/auto-repair', '/drift', '/neural-command'],
children: [
{ id: 'knowledge', href: '/knowledge', labelKey: 'knowledge' },
{ id: 'automation', href: '/automation', labelKey: 'automation' },
{ id: 'auto-repair', href: '/auto-repair', labelKey: 'autoRepair' },
{ id: 'drift', href: '/drift', labelKey: 'drift' },
{ id: 'neural-command', href: '/neural-command', labelKey: 'neuralCommand' },
],
},
{
id: 'awooop-tenants',
@@ -110,6 +141,9 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
aliases: ['/authorizations'],
badge: true,
surface: 'secondary',
children: [
{ id: 'authorizations', href: '/authorizations', labelKey: 'authorizations' },
],
},
{
id: 'awooop-contracts',
@@ -134,21 +168,14 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
href: '/iwooos',
labelKey: 'iwooos',
Icon: ShieldCheck,
},
{
id: 'iwooos-security-compliance',
href: '/security-compliance',
labelKey: 'iwooosSecurityCompliance',
Icon: ShieldCheck,
aliases: ['/security', '/compliance'],
surface: 'secondary',
},
{
id: 'governance-security',
href: '/governance',
labelKey: 'governanceSecurity',
Icon: Radar,
surface: 'secondary',
aliases: ['/security-compliance'],
relatedPaths: ['/security', '/compliance', '/governance'],
children: [
{ id: 'security-compliance', href: '/security-compliance', labelKey: 'securityCompliance' },
{ id: 'security', href: '/security', labelKey: 'security' },
{ id: 'compliance', href: '/compliance', labelKey: 'compliance' },
{ id: 'governance', href: '/governance', labelKey: 'governance' },
],
},
{
id: 'operations',
@@ -156,12 +183,24 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
labelKey: 'operationsOverview',
Icon: Package,
aliases: ['/deployments', '/tickets', '/cost', '/billing', '/action-logs', '/reports'],
children: [
{ id: 'deployments', href: '/deployments', labelKey: 'deployments' },
{ id: 'tickets', href: '/tickets', labelKey: 'tickets' },
{ id: 'cost', href: '/cost', labelKey: 'cost' },
{ id: 'billing', href: '/billing', labelKey: 'billing' },
{ id: 'action-logs', href: '/action-logs', labelKey: 'actions' },
{ id: 'reports', href: '/reports', labelKey: 'reports' },
],
},
{
id: 'settings',
href: '/settings',
labelKey: 'settings',
Icon: Settings,
aliases: ['/users'],
children: [
{ id: 'users', href: '/users', labelKey: 'users' },
],
},
],
},
@@ -184,7 +223,17 @@ export const PRODUCT_NAV_SECTIONS: ProductNavSection[] = [
surface: 'secondary',
},
{ id: 'terminal', href: '/terminal', labelKey: 'terminal', Icon: Terminal, surface: 'secondary' },
{ id: 'classic', href: '/classic', labelKey: 'classicAICenter', Icon: Radar, surface: 'secondary' },
{
id: 'classic',
href: '/classic',
labelKey: 'classicAICenter',
Icon: Radar,
surface: 'secondary',
aliases: ['/demo'],
children: [
{ id: 'demo', href: '/demo', labelKey: 'demo' },
],
},
],
},
]