import { Navigate, Route, Routes } from 'react-router-dom'; import AppShell from './components/AppShell'; import { WizardProvider } from './lib/wizard'; import { DialogsProvider } from './lib/dialogs'; import Login from './routes/Login'; import Auftraege from './routes/Auftraege'; import Stammdaten from './routes/Stammdaten'; import Configurator from './routes/Configurator'; import MusterSeite from './routes/Muster'; import { loadSession } from './lib/api'; /** * Produkt-Direktlinks (Slug → Produktschlüssel): wählen das Produkt vor, der * Konfigurator startet auf Schritt 1. Mehrere freundliche Slugs erlaubt * (z. B. /followups zeigt auf den Schlüssel follow_ups). */ const PRODUKT_PFADE: Record = { briefe: 'briefe', postkarten: 'postkarten', unterschriftenservice: 'unterschriftenservice', follow_ups: 'follow_ups', followups: 'follow_ups', 'follow-ups': 'follow_ups', }; function Geschuetzt({ children }: { children: React.ReactNode }) { return loadSession() ? <>{children} : ; } export default function App() { return ( } /> } /> {/* Muster als eigene Seite (kein Popup) – Direktlink /muster. */} } /> } /> } /> {/* Produkt-Direktlinks – Produktwahl entfällt, Personentyp bleibt. */} {Object.entries(PRODUKT_PFADE).map(([slug, key]) => ( } /> ))} } /> ); }