feat: initial Racecraft web client v0.1.0

Vue 3 + TypeScript + Vite web client for rusty-telemetry.

- Dashboard with system status, live feeds, quick actions
- Live telemetry view with real-time gauges (speed/RPM/gear)
- Session management (create, run, complete, analyze)
- Shift point analysis with Chart.js visualizations
- Track map with Canvas 2D boundary rendering
- Typed API client for all 19 REST endpoints
- Dark theme, network-accessible via Vite 0.0.0.0 bind
This commit is contained in:
Jan-Peter von Hunnius 2026-06-05 16:12:33 +02:00
commit cf9af73281
27 changed files with 5123 additions and 0 deletions

42
src/router/index.ts Normal file
View file

@ -0,0 +1,42 @@
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
name: 'dashboard',
component: () => import('@/views/DashboardView.vue'),
},
{
path: '/live',
name: 'live',
component: () => import('@/views/LiveView.vue'),
},
{
path: '/sessions',
name: 'sessions',
component: () => import('@/views/SessionsView.vue'),
},
{
path: '/sessions/:id',
name: 'session-detail',
component: () => import('@/views/SessionDetailView.vue'),
props: true,
},
{
path: '/analysis/shift-points/:id',
name: 'shift-points',
component: () => import('@/views/ShiftPointsView.vue'),
props: true,
},
{
path: '/analysis/track-map/:id',
name: 'track-map',
component: () => import('@/views/TrackMapView.vue'),
props: true,
},
],
})
export default router