Skip to content

feat: redesign UI with centralized design token system#376

Merged
nadaverell merged 2 commits intomainfrom
feature/ui-design-system
Mar 29, 2026
Merged

feat: redesign UI with centralized design token system#376
nadaverell merged 2 commits intomainfrom
feature/ui-design-system

Conversation

@nadaverell
Copy link
Copy Markdown
Contributor

Summary

  • Design token system: New CSS variable hierarchy in packages/k8s-ui/src/theme/variables.css — brand, selection, shadow, and background tokens with a deliberate base / surface / elevated layering that creates clear visual zones (chrome vs content vs inputs/badges). Light mode uses blue-tinted cool neutrals for palette cohesion.

  • Centralized component CSS: New packages/k8s-ui/src/theme/components.css moves all shared component classes (.badge, .btn-brand, .card-inner, .selection, .dialog, .status-*, .border-*-subtle) into the k8s-ui package under @layer components. koala-frontend can now import these styles directly without depending on Radar's index.css.

  • Badge centralization: Badge.tsx becomes the single source of truth for all badge color strings (required for Tailwind class scanning — no template literals). badge-colors.ts re-exports from it, removing ~200 lines of duplicated ad-hoc color definitions spread across the codebase.

  • Visual refinements: HealthRing rewritten as a 270° arc gauge with SVG glow; uppercase tracking on section labels; brand accent replaces cold blue-500 throughout sidebar/table/topology/workload; header and toolbar use the base chrome layer with backdrop-blur; all decorative borders (badges, cards, topology nodes, subtle dividers) reduced to 0.5px hairlines for retina displays.

Gives the UI a more technical, purpose-built feel by rendering data
values in DM Mono instead of the body font. Applied to health ring
center numbers, resource count badges, metrics chart values/axes,
and cluster health card breakdowns.
@nadaverell nadaverell requested a review from hisco as a code owner March 29, 2026 12:12
@nadaverell nadaverell force-pushed the feature/ui-design-system branch 3 times, most recently from 63a4e57 to a31ee7a Compare March 29, 2026 12:36
Introduces a cohesive design token system and centralized component
classes across the entire UI.

Design tokens (packages/k8s-ui/src/theme/variables.css):
- Brand color tokens (--color-brand, --color-brand-light)
- Selection tokens (--selection-bg, --selection-border, --selection-text)
- Shadow tokens (--shadow-drawer, --shadow-card, --shadow-lg)
- Background hierarchy: base (chrome) / surface (panels) / elevated (inputs, badges)
- Blue-tinted cool neutrals in light mode for subtle palette cohesion

Centralized component CSS (packages/k8s-ui/src/theme/components.css):
- New shared file with all component classes in @layer components
- .badge / .badge-sm with 0.5px hairline borders (retina-friendly)
- .btn-brand / .btn-brand-muted / .btn-brand-toggle
- .card-inner / .card-inner-lg with 0.5px borders
- .selection / .selection-strong / .selection-text / .selection-ring
- .dialog, .status-*, .border-*-subtle (all 0.5px), .table-divide-subtle
- Exported from k8s-ui package so koala-frontend can import without Radar's index.css

Badge.tsx — single source of truth for badge color strings (static
strings required for Tailwind class scanning). badge-colors.ts now
re-exports from Badge.tsx, removing ~200 lines of ad-hoc definitions.

Other changes:
- HealthRing rewritten as 270° arc gauge with SVG glow filter
- Uppercase tracking on section labels, editorial typography hierarchy
- Brand accent replaces cold blue-500 across sidebar, table, topology,
  workload tabs, and drawer resize handle
- Header uses bg-theme-base chrome layer with backdrop-blur
- Toolbar and table column headers use bg-theme-base for clear zone separation
- Topology node borders reduced to 0.5px hairlines
- vite.config.ts: RADAR_PORT env override for backend proxy target
@nadaverell nadaverell force-pushed the feature/ui-design-system branch from a31ee7a to 88ba9f4 Compare March 29, 2026 12:38
@nadaverell nadaverell merged commit 0ffc76d into main Mar 29, 2026
5 of 6 checks passed
@nadaverell nadaverell deleted the feature/ui-design-system branch March 29, 2026 12:47
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