mirror of
https://github.com/tiennm99/ccs.git
synced 2026-07-16 04:18:05 +00:00
Logs page was visually disconnected from the rest of the dashboard. Health uses ornamental `HEALTH.ATTENTIONREQUIRED` markers, Home uses `LIVE Account Monitor` + stat cards. Logs shipped with a 14px h1 + clinical table that felt like a different product. - Header now opens with a `LOGS.STREAM` mono-uppercase marker matching the dashboard's `HEALTH.X` style, plus a 16px "Live activity" title and a status pill. - Below the header, a stat strip mirrors the home page's monitor layout: ENTRIES / TRACES / ERRORS counters, errors highlighted red when >0. - Trace row + child row font sizes lifted from 11px to 12-13px; request-id column widened to 112px to match the standalone-row table. - Stage-hint fallback derived from event names so the trace timeline still renders meaningful chips when backend entries lack an explicit `stage` field (e.g. dashboard self-polling). - Intra-trace coalesce: identical consecutive child rows collapse to a single row with `× N` badge so a 149-stage self-poll trace renders as 3 rows of signal instead of 149 rows of noise. Refs #1138, #1141, #1142
CCS Dashboard UI
React + TypeScript + Vite frontend for the CCS local dashboard.
This UI is served by the CCS web server and is accessed via:
ccs config
Development
From project root:
bun run dev
This starts the CCS server, opens a local browser URL, and prints bind/network details for the dashboard. If the runtime bind is reachable beyond loopback, CCS also prints an auth reminder.
For remote device access during development, run:
bun run dev -- --host 0.0.0.0
For local-only development, run:
bun run dev -- --host 127.0.0.1
From ui/ only (frontend dev server):
cd ui
bun run dev
Quality Commands
cd ui
bun run typecheck
bun run lint
bun run validate
bun run test:run
i18n
Dashboard localization uses react-i18next.
- Main setup:
ui/src/lib/i18n.ts - Locale helpers:
ui/src/lib/locales.ts - Language switcher:
ui/src/components/layout/language-switcher.tsx
For full architecture, conventions, and locale onboarding, see:
Notes
- UI locale persistence uses browser localStorage key
ccs-ui-locale. - Current supported locales are managed in
ui/src/lib/locales.ts. - Current locales:
en,zh-CN,vi. - Fallback locale is English (
en).