import { useEffect, useState } from 'react' // Ein winziger Router über die History-API statt einer Bibliothek. // // Echte Pfade und keine Reiter im Zustand, weil der Dienst dafür schon gebaut // ist: index.ts liefert auf alles Unbekannte die index.html aus, damit ein // Neuladen auf /tokens im Router landet und nicht im 404. // // `gehZu` steht hier als MODULFUNKTION und nicht als Eigenschaft der Seiten. // Der Unterschied ist mehr als Geschmack: sobald eine einzige Seite eine // Navigationsfunktion durchgereicht bekäme, hätten alle Seiten verschiedene // Signaturen — und die gemeinsame Liste in App.tsx ginge nicht mehr. Genau // daran ist der erste Versuch gescheitert. /** Woanders hin, ohne die Seite neu zu laden. */ export function gehZu(pfad: string) { if (window.location.pathname === pfad) return window.history.pushState(null, '', pfad) // pushState löst KEIN popstate aus — das tut nur der Zurück-Knopf. Ohne // dieses Ereignis bliebe die Ansicht stehen, obwohl die Adresse wechselt. window.dispatchEvent(new PopStateEvent('popstate')) } export function usePfad(): string { const [pfad, setPfad] = useState(window.location.pathname) useEffect(() => { const zurueck = () => setPfad(window.location.pathname) window.addEventListener('popstate', zurueck) return () => window.removeEventListener('popstate', zurueck) }, []) return pfad }