racecraft/src/router/index.ts
Jan-Peter v. Hunnius 2228a71a5f legal: add AGPL-3.0 license, copyright headers, commercial license info
- LICENSE: GNU AGPL-3.0 (full text)
- Copyright headers added to all 19 source files (TS + Vue)
- COMMERCIAL_LICENSE.md: dual-license explanation (AGPL + commercial)
2026-06-25 11:09:04 +02:00

73 lines
2.2 KiB
TypeScript

// racecraft — Vue.js web client for sim racing telemetry analysis
// Copyright (C) 2026 Jan-Peter v. Hunnius
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
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/grip/:id',
name: 'grip-analysis',
component: () => import('@/views/GripAnalysisView.vue'),
props: true,
},
{
path: '/tracks',
name: 'tracks',
component: () => import('@/views/TracksView.vue'),
},
{
path: '/tracks/:game/:trackName',
name: 'track-detail',
component: () => import('@/views/TrackDetailView.vue'),
props: true,
},
{
path: '/characteristics',
name: 'characteristics',
component: () => import('@/views/CharacteristicsView.vue'),
},
],
})
export default router