fix: Navigation aufteilen, statt sie weiter zu dehnen

Mit dem dreizehnten Eintrag verschluckte die Leiste erneut Punkte am
rechten Rand — nach M6 zum zweiten Mal. Das Problem ist nicht die Breite,
sondern die Vermischung: Einrichtung und Verwaltung sucht man nicht beim
Arbeiten. Alltag bleibt in der Leiste, alles andere liegt hinter "Mehr".

Ein <details> statt eines Menues aus Skript: Es klappt ohne JavaScript
auf und braucht keine Zustandsverwaltung.

Zurueckgezogene Tokens stehen jetzt unten. Was noch Zugang hat, ist das,
wonach man sucht.

Zwei E2E-Tests greifen den neuen Weg ueber "Mehr" auf. Ein dritter wartet
das Neuladen ab, bevor er navigiert — die Meldung kommt frueher als die
fertige Liste, und Chromium bricht die Navigation sonst ab.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Florian Wilde
2026-09-12 18:52:35 +02:00
co-authored by Claude Opus 5
parent 2e57713a8e
commit 7919149879
4 changed files with 78 additions and 11 deletions
+7 -1
View File
@@ -50,7 +50,11 @@ test.describe('Anmeldung', () => {
await page.getByRole('button', { name: 'Mit Passwort anmelden' }).click()
await expect(page.getByRole('heading', { name: /Guten Tag/ })).toBeVisible()
// exact, weil die Startseite zusätzlich einen Link "Bereiche verwalten" hat.
// Alltagspunkte stehen in der Leiste, Einrichtung liegt hinter "Mehr".
await expect(page.getByRole('link', { name: 'Aufgaben', exact: true })).toBeVisible()
await expect(page.getByRole('link', { name: 'Bereiche', exact: true })).toBeHidden()
await page.getByText('Mehr', { exact: true }).click()
await expect(page.getByRole('link', { name: 'Bereiche', exact: true })).toBeVisible()
await page.getByTitle('Abmelden').click()
@@ -64,6 +68,8 @@ test.describe('Anmeldung', () => {
await page.getByRole('button', { name: 'Mit Passwort anmelden' }).click()
await expect(page.getByRole('heading', { name: /Guten Tag/ })).toBeVisible()
// Das Protokoll liegt hinter "Mehr" – aufklappen, dann hin.
await page.getByText('Mehr', { exact: true }).click()
await page.getByRole('link', { name: 'Protokoll' }).click()
await expect(page.getByRole('heading', { name: 'Protokoll' })).toBeVisible()
})