Commit Graph

3 Commits

Author SHA1 Message Date
markmorado
49e976c0c0 feat(ui): design polish — semantic status tokens, self-hosted fonts, a11y, skeletons
Design system & theme:
- add semantic status tokens (success/warning/danger + track) for both themes
- replace hardcoded green/red/amber/blue across ~20 files with tokens
- fix light-mode bugs (bg-white/10, rgba white gauges) via theme-aware track
- add named text-2xs (11px) step; unify ad-hoc text-[10px]/[11px]
- consistent card elevation (shadow-sm) + opt-in interactive hover

Fonts & perf:
- self-host DM Sans / JetBrains Mono via @fontsource-variable (font-display: swap)
- drop render-blocking Google Fonts link; remove unused Geist dep

Accessibility & mobile:
- global prefers-reduced-motion; focus-visible on custom buttons
- StatusDot role/aria-label; aria-sort on sortable table headers
- Button auto nativeButton=false when rendered as Link/anchor
- 100vh -> dvh in app shell; pointer-coarse min 44px touch targets

Loading & types:
- Skeleton primitive + table loading state on InstancesPage
- fix all 36 pre-existing tsc errors (Select null coercion, SDN query keys,
  Dashboard Rec typing, VMInstance, profile language, JSX namespace)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 06:40:48 +05:00
markmorado
297082dc72 feat: improve nodes, workspaces, settings pages; add favicon and logo; update locales 2026-04-29 16:38:32 +02:00
markmorado
1d08c815a7 fix: frontend-backend integration — 14 issues resolved
- nginx: add proxy routes for /settings/, /templates/, /ipam/, /logs/, /admin/, /health
- dashboard: fix data format mismatch (servers[] not nodes[]/vms[])
- dashboard: add WebSocket subscription to dashboard_metrics for real-time updates
- dashboard: connect activity feed to /logs/api/logs endpoint
- dashboard: reduce polling to 15s with WS as primary update source
- graphs: fix rrddata response unwrap (backend returns {data:[],timeframe:''})
- graphs: add i18n translations for chart titles
- console: add xterm.js CSS import for proper terminal rendering
- console: add i18n translations (connecting, reconnect)
- workspace: add switcher dropdown in TopBar
- workspace: add edit dialog in WorkspacesPage
- workspace: create Zustand store with localStorage persistence
- workspace: add X-Active-Workspace header to API client
- sidebar: replace generic icon with actual favicon.svg logo
- instances: translate RowActionMenu and InstanceDetailPage strings
- locales: add graphs, console, workspace, instance tab keys to en/ru
2026-04-07 00:46:04 +02:00