- Sidebar wrapper gets height:100% to fill window - Route-scoped Exchanges uses same Dashboard table (not compact ExchangeList) - 50:50 grid split: table on left, diagram on right when route selected - ContentTabs gets border-bottom and surface background for visibility Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cameleer3 UI
React SPA built with @cameleer/design-system, TanStack Query, and Zustand.
Development
npm install
npm run dev
By default the dev server proxies /api/* to http://localhost:8081. To proxy to a remote server instead:
VITE_API_TARGET=http://192.168.50.86:30090 npm run dev
No CORS issues — Vite's proxy makes API calls server-side.
Build
npm run build
API Types
Regenerate TypeScript types from a running backend:
npm run generate-api:live