2026-03-19 17:42:17 +01:00
|
|
|
# Cameleer3 UI
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-04-03 17:03:54 +02:00
|
|
|
React SPA built with [@cameleer/design-system](https://gitea.siegeln.net/cameleer/design-system) v0.1.28, TanStack Query, and Zustand.
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
## Development
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
```bash
|
|
|
|
|
npm install
|
|
|
|
|
npm run dev
|
|
|
|
|
```
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
By default the dev server proxies `/api/*` to `http://localhost:8081`. To proxy to a remote server instead:
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
```bash
|
2026-04-03 11:22:44 +02:00
|
|
|
VITE_API_TARGET=http://192.168.50.86:30081 npm run dev
|
2026-03-19 17:42:17 +01:00
|
|
|
```
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
No CORS issues — Vite's proxy makes API calls server-side.
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
## Build
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
```bash
|
|
|
|
|
npm run build
|
2026-03-14 15:33:37 +01:00
|
|
|
```
|
|
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
## API Types
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
Regenerate TypeScript types from a running backend:
|
2026-03-14 15:33:37 +01:00
|
|
|
|
2026-03-19 17:42:17 +01:00
|
|
|
```bash
|
2026-04-03 11:22:44 +02:00
|
|
|
npm run generate-api # Requires backend running on :8081
|
2026-03-14 15:33:37 +01:00
|
|
|
```
|
2026-04-03 11:22:44 +02:00
|
|
|
|
|
|
|
|
## Key Features
|
|
|
|
|
|
|
|
|
|
- **Composable sidebar** with accordion behavior (Applications / Starred / Admin sections)
|
|
|
|
|
- **Context-aware cmd-k search**: shows apps/routes/exchanges on operational pages, users/groups/roles on admin pages
|
|
|
|
|
- **LIVE mode toggle**: when ON, queries poll at intervals (5s-30s); when OFF, sidebar clicks trigger manual refresh
|
|
|
|
|
- **Route control bar** with state-aware buttons (start/stop/suspend/resume) and confirmation dialogs
|
|
|
|
|
- **Event-type icons** in agent timeline with severity-based coloring
|