GEHEGE-RENAME Addendum: /rennmaeuse = Landing Page, 'Start'-Nav entfernt
- AppShell.tsx: Start-Eintrag (/) aus PRIMARY entfernt; /rennmaeuse ist nun erste Kachel und Landing Page - App.tsx: index-Route → <Navigate to="/rennmaeuse" replace>; HomePage-Import entfernt - HomePage.tsx: gelöscht (nicht mehr referenziert, via git wiederherstellbar) - de.ts: nav.home + pages.home entfernt (nur von AppShell/HomePage genutzt) - e2e/navigation.spec.ts: HomePage-Assertions → de.pages.gerbils.title Gate: build ✓ eslint ✓ vitest 82/82 ✓ e2e 120/120 ✓
This commit is contained in:
@@ -4,7 +4,7 @@ import { de, expect, gotoSection, test } from './fixtures'
|
|||||||
test('alle Bereiche sind über die Navigation erreichbar', async ({ page }) => {
|
test('alle Bereiche sind über die Navigation erreichbar', async ({ page }) => {
|
||||||
await page.goto('/')
|
await page.goto('/')
|
||||||
await expect(page.getByRole('heading', { name: de.app.title })).toBeVisible()
|
await expect(page.getByRole('heading', { name: de.app.title })).toBeVisible()
|
||||||
await expect(page.getByRole('heading', { name: de.pages.home.title })).toBeVisible()
|
await expect(page.getByRole('heading', { name: de.pages.gerbils.title, exact: true })).toBeVisible()
|
||||||
|
|
||||||
await gotoSection(page, de.nav.gerbils)
|
await gotoSection(page, de.nav.gerbils)
|
||||||
await expect(page.getByRole('heading', { name: de.pages.gerbils.title, exact: true })).toBeVisible()
|
await expect(page.getByRole('heading', { name: de.pages.gerbils.title, exact: true })).toBeVisible()
|
||||||
@@ -30,5 +30,5 @@ test('unbekannte Route zeigt die deutsche 404-Seite', async ({ page }) => {
|
|||||||
await page.goto('/diese-seite-gibt-es-nicht')
|
await page.goto('/diese-seite-gibt-es-nicht')
|
||||||
await expect(page.getByText(de.pages.notFound.message)).toBeVisible()
|
await expect(page.getByText(de.pages.notFound.message)).toBeVisible()
|
||||||
await page.getByRole('link', { name: de.pages.notFound.backHome }).click()
|
await page.getByRole('link', { name: de.pages.notFound.backHome }).click()
|
||||||
await expect(page.getByRole('heading', { name: de.pages.home.title })).toBeVisible()
|
await expect(page.getByRole('heading', { name: de.pages.gerbils.title, exact: true })).toBeVisible()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import GerbilDetailPage from './pages/GerbilDetailPage'
|
|||||||
import GerbilFormPage from './pages/GerbilFormPage'
|
import GerbilFormPage from './pages/GerbilFormPage'
|
||||||
import GenetikPage from './pages/GenetikPage'
|
import GenetikPage from './pages/GenetikPage'
|
||||||
import AbgabePage from './pages/AbgabePage'
|
import AbgabePage from './pages/AbgabePage'
|
||||||
import HomePage from './pages/HomePage'
|
|
||||||
import KontaktePage from './pages/KontaktePage'
|
import KontaktePage from './pages/KontaktePage'
|
||||||
import KontaktDetailPage from './pages/KontaktDetailPage'
|
import KontaktDetailPage from './pages/KontaktDetailPage'
|
||||||
import KontaktFormPage from './pages/KontaktFormPage'
|
import KontaktFormPage from './pages/KontaktFormPage'
|
||||||
@@ -38,7 +37,7 @@ export default function App() {
|
|||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route element={<AppShell />}>
|
<Route element={<AppShell />}>
|
||||||
<Route index element={<HomePage />} />
|
<Route index element={<Navigate to="/rennmaeuse" replace />} />
|
||||||
<Route path="rennmaeuse">
|
<Route path="rennmaeuse">
|
||||||
<Route index element={<GerbilsPage />} />
|
<Route index element={<GerbilsPage />} />
|
||||||
<Route path="neu" element={<GerbilFormPage />} />
|
<Route path="neu" element={<GerbilFormPage />} />
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ interface NavItem {
|
|||||||
// Primary items are always visible in the phone bottom bar; secondary items
|
// Primary items are always visible in the phone bottom bar; secondary items
|
||||||
// move into the "Mehr" sheet on phones and appear inline in the desktop sidebar.
|
// move into the "Mehr" sheet on phones and appear inline in the desktop sidebar.
|
||||||
const PRIMARY: NavItem[] = [
|
const PRIMARY: NavItem[] = [
|
||||||
{ to: '/', label: de.nav.home, icon: '🏠', end: true },
|
|
||||||
{ to: '/rennmaeuse', label: de.nav.gerbils, icon: '🐭' },
|
{ to: '/rennmaeuse', label: de.nav.gerbils, icon: '🐭' },
|
||||||
{ to: '/wuerfe', label: de.nav.litters, icon: '🍼' },
|
{ to: '/wuerfe', label: de.nav.litters, icon: '🍼' },
|
||||||
{ to: '/genetik', label: de.nav.genetics, icon: '🧬' },
|
{ to: '/genetik', label: de.nav.genetics, icon: '🧬' },
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
import { de } from '../strings/de'
|
|
||||||
|
|
||||||
export default function HomePage() {
|
|
||||||
return (
|
|
||||||
<section>
|
|
||||||
<h2>{de.pages.home.title}</h2>
|
|
||||||
<p>{de.pages.home.intro}</p>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -9,7 +9,6 @@ export const de = {
|
|||||||
tagline: 'Verwaltung für Rennmäuse, Würfe und Züchter',
|
tagline: 'Verwaltung für Rennmäuse, Würfe und Züchter',
|
||||||
},
|
},
|
||||||
nav: {
|
nav: {
|
||||||
home: 'Start',
|
|
||||||
gerbils: 'Rennmäuse',
|
gerbils: 'Rennmäuse',
|
||||||
litters: 'Würfe',
|
litters: 'Würfe',
|
||||||
breeders: 'Züchter',
|
breeders: 'Züchter',
|
||||||
@@ -37,11 +36,6 @@ export const de = {
|
|||||||
website: 'Webseite',
|
website: 'Webseite',
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
home: {
|
|
||||||
title: 'Willkommen',
|
|
||||||
intro:
|
|
||||||
'Hier verwaltest du deine Rennmäuse, Würfe und Züchter. Wähle einen Bereich aus der Navigation.',
|
|
||||||
},
|
|
||||||
gerbils: {
|
gerbils: {
|
||||||
title: 'Rennmäuse',
|
title: 'Rennmäuse',
|
||||||
// Liste
|
// Liste
|
||||||
|
|||||||
Reference in New Issue
Block a user