feat: replace screen state machine with React Router v7 URL routing
Release Pipeline / build-and-release (push) Successful in 5m24s

- Install react-router-dom
- Add slugify utility with full TDD test suite (7 tests)
- Wrap app in BrowserRouter in main.tsx
- Add optional onNavigate prop to ExamRunner.goTo
- Create ExamRoute component (deep-link restore + back/forward sync)
- Migrate App.tsx: replace screen useState with <Routes>, all setScreen()
  calls replaced with navigate(), add activateExam for deep-link activation,
  use useLocation for verify/reset-password special layouts
- Remove unused AppScreen type from types.ts
This commit is contained in:
LaurensBartelds committed 2026-04-24 23:55:52 +02:00
1 parent e97d90e316
commit 4eeacc38c5
10 files changed
+796 -367

No files matched your search

+8 -12
View File
@@ -1,23 +1,19 @@
import { defineConfig } from 'vitest/config'
import react, { reactCompilerPreset } from '@vitejs/plugin-react'
import babel from '@rolldown/plugin-babel'
import { defineConfig } from "vitest/config";
import react, { reactCompilerPreset } from "@vitejs/plugin-react";
import babel from "@rolldown/plugin-babel";
export default defineConfig({
plugins: [
react(),
babel({ presets: [reactCompilerPreset()] })
],
plugins: [react(), babel({ presets: [reactCompilerPreset()] })],
server: {
proxy: {
'/api': {
target: 'http://localhost:3001',
"/api": {
target: "http://localhost:3001",
changeOrigin: true,
},
},
},
test: {
environment: 'node',
environment: "node",
globals: true,
},
})
});