import { BrowserRouter, Route, Routes } from 'react-router-dom'
import AppShell from './components/AppShell'
import BeckenPage from './pages/BeckenPage'
import BeckenDetailPage from './pages/BeckenDetailPage'
import BeckenFormPage from './pages/BeckenFormPage'
import GerbilsPage from './pages/GerbilsPage'
import GerbilDetailPage from './pages/GerbilDetailPage'
import GerbilFormPage from './pages/GerbilFormPage'
import GenetikPage from './pages/GenetikPage'
import AbgabePage from './pages/AbgabePage'
import HomePage from './pages/HomePage'
import KontaktePage from './pages/KontaktePage'
import KontaktDetailPage from './pages/KontaktDetailPage'
import KontaktFormPage from './pages/KontaktFormPage'
import WuerfeListPage from './pages/WuerfeListPage'
import WurfDetailPage from './pages/WurfDetailPage'
import WurfFormPage from './pages/WurfFormPage'
import NotFoundPage from './pages/NotFoundPage'
import StammbaumPage from './pages/StammbaumPage'
import StatistikPage from './pages/StatistikPage'
import HilfePage from './pages/HilfePage'
import VertraegeListPage from './pages/VertraegeListPage'
import VertragWizardPage from './pages/VertragWizardPage'
import EinstellungenPage from './pages/EinstellungenPage'

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route element={<AppShell />}>
          <Route index element={<HomePage />} />
          <Route path="rennmaeuse">
            <Route index element={<GerbilsPage />} />
            <Route path="neu" element={<GerbilFormPage />} />
            <Route path=":id" element={<GerbilDetailPage />} />
            <Route path=":id/bearbeiten" element={<GerbilFormPage />} />
            <Route path=":id/stammbaum" element={<StammbaumPage />} />
          </Route>
          <Route path="wuerfe">
            <Route index element={<WuerfeListPage />} />
            <Route path="neu" element={<WurfFormPage />} />
            <Route path=":id" element={<WurfDetailPage />} />
            <Route path=":id/bearbeiten" element={<WurfFormPage />} />
          </Route>
          {/* FEAT-2: Kontakte ersetzt das Züchter-Platzhalter-Routing (Breeder -> Contact) */}
          <Route path="becken">
            <Route index element={<BeckenPage />} />
            <Route path="neu" element={<BeckenFormPage />} />
            <Route path=":id" element={<BeckenDetailPage />} />
            <Route path=":id/bearbeiten" element={<BeckenFormPage />} />
          </Route>
          <Route path="kontakte">
            <Route index element={<KontaktePage />} />
            <Route path="neu" element={<KontaktFormPage />} />
            <Route path=":id" element={<KontaktDetailPage />} />
            <Route path=":id/bearbeiten" element={<KontaktFormPage />} />
          </Route>
          <Route path="genetik" element={<GenetikPage />} />
          <Route path="abgabe" element={<AbgabePage />} />
          <Route path="statistik" element={<StatistikPage />} />
          <Route path="hilfe" element={<HilfePage />} />
          {/* FEAT-13: Abgabeverträge + Einstellungen (Zuchtprofil) */}
          <Route path="vertraege">
            <Route index element={<VertraegeListPage />} />
            <Route path="neu" element={<VertragWizardPage />} />
          </Route>
          <Route path="einstellungen" element={<EinstellungenPage />} />
          <Route path="*" element={<NotFoundPage />} />
        </Route>
      </Routes>
    </BrowserRouter>
  )
}
