Skip to content

fix: P2 console UX — overview, nav, audit, primary color, disabled hints - #5

Merged
chenow9 merged 1 commit into
mainfrom
fix/p2-console-ux
Sep 21, 2026
Merged

chenow9 merged 1 commit into
mainfrom
fix/p2-console-ux

Conversation

@chenow9

@chenow9 chenow9 commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Depends on #4 (P1) and #3 (P0). Branch is fix/p2-console-ux from fix/p1-console-ux. Merge after those land, or retarget to main.

Summary

Implements only the five P2 console polish items. No protocol or security-model changes. No P0/P1 rework.

P2-1 — Light overview home

  • / is a compact 总览 / Overview (no longer redirects to Nodes).
  • Logo and post-login navigation go there.
  • Shows online/total nodes, service count, needs-attention, 1–3 recent audit events, and a primary CTA when empty/unhealthy.

P2-2 — Two location patterns

  • A masthead: top-level sections.
  • B SubNav: Observe, Settings, and service-detail tabs share one underline style.
  • Drawers keep a clearer close control; service overlay still clears the URL on close.

P2-3 — Human audit + names

  • Synonym actions share one phrase (登记节点, 节点离线, 来源不允许, 同步节点配置, …).
  • List prefers display names; ids are title hints. Actor is 管理员 / 网关, not owner.
  • Quick Go labels match main nav (节点 / 观测 / 设置 / 全部服务). Footer uses 退出 / Close, not esc.

P2-4 — One primary in light and dark

  • Semantic --primary / --primary-fg / --primary-hover (lime) in both themes.
  • Primary buttons, active nav pill, and login CTAs follow the same fill/on-fill rule.

P2-5 — Disabled actions explain why

  • Probe / knock / issue show a tooltip when gated (e.g. 节点离线,上线后再探测或签发).
  • Enabled behavior unchanged.

Files changed (why)

P2 Files
P2-1 overview-page.tsx, routes/index.tsx, app-shell.tsx, umbra-ui-smoke.mjs
P2-2 sub-nav.tsx, observability-nav.tsx, system-page.tsx, service-connect.tsx, sheet.tsx, styles.css
P2-3 labels.ts, audit-page.tsx, page.ts, quick-launcher.tsx, messages.ts, listpage.go
P2-4 styles.css, button.tsx, theme.ts
P2-5 tooltip.tsx, service-connect.tsx, service.ts, app-providers.tsx

How verified

  • Unit: serviceGateReason offline copy; audit enroll≡create filter; i18n synonym labels.
  • npx tsc --noEmit, eslint on touched TS, go test ./internal/control/.
  • Playwright against a local auth-off console:
    • P2-1: / heading 总览; logo returns there; nodes + recent audit shown.
    • P2-2: Observe 流量/审计 and Settings 密码/语言/外观 sub-nav.
    • P2-3: audit shows 管理员, not owner / ACL.
    • P2-5: 发送探测 disabled offline; tooltip states 节点离线….
    • P2-4: CSS tokens + primary button/nav classes (visual, both themes use lime fill).

Checklist

  • P2-1 Light overview home
  • P2-2 Unify navigation / location patterns
  • P2-3 Humanize audit + readable names
  • P2-4 One primary color system for light + dark
  • P2-5 Disabled controls explain why

…d hints

Add a light overview landing, one in-page sub-nav pattern, human audit
labels and names, a shared lime primary for light and dark, and reasons
on gated connect actions.
@chenow9
chenow9 changed the base branch from fix/p1-console-ux to main September 21, 2026 01:25
@chenow9
chenow9 merged commit 0fd3bfe into main Sep 21, 2026
1 of 2 checks passed
chenow9 added a commit that referenced this pull request Sep 21, 2026
fix: console regressions after #5 — empty traffic, audit names, Quick Go, service name
@chenow9
chenow9 deleted the fix/p2-console-ux branch September 29, 2026 07:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant