Fix #1: Mein Konto - Bereich in Desktop Variante nicht vorhanden #2

Merged
florian.wilde merged 1 commits from fix/1-mein-konto-desktop into main 2026-08-22 23:03:54 +00:00
Owner

Was los war

Am Schreibtisch war „Mein Konto" praktisch nicht zu finden — und damit auch nicht der Passwortwechsel, der zweite Faktor und die frisch eingebaute Passkey-Verwaltung.

Die Seitenleiste hatte keine feste Höhe und wuchs mit der Seite mit. Ihr Fuß mit dem Benutzermenü landete deshalb am Ende der Seite statt am unteren Bildschirmrand.

Nachgemessen im Browser, nicht aus dem Code geschlossen:

Seite Fensterhöhe Position des Knopfes im Bild?
/heute 900 1632 nein
/vorgaenge 900 974 nein
/dokumente 900 1081 nein
/finanzen 900 1092 nein
/fristen 900 820 ja (Seite ist kurz)

Der Fehler sah nach nichts aus: Kein Element fehlte, nichts war kaputt, die Seite sah richtig aus. Man musste nur ganz nach unten scrollen — und darauf kommt niemand, der eine Seitenleiste vor sich hat.

Was geändert wurde

lg:sticky lg:top-0 lg:h-dvh lg:self-start auf die Seitenleiste.

Das self-start gehört dazu: Ein Flex-Kind wird sonst auf die volle Zeilenhöhe gestreckt und verliert die feste Höhe wieder. Die Navigation dazwischen hat bereits overflow-y-auto und scrollt bei Bedarf in sich selbst — auch auf einem flachen Laptopfenster passt damit alles.

Am Handy war es nie ein Problem; dort sitzt das Menü in der ohnehin festen Kopfzeile.

Nach dem Fix steht der Knopf auf allen geprüften Seiten bei y=820.

Absicherung

e2e/benutzermenue.spec.ts fragt nicht, ob das Menü im DOM ist, sondern ob es im sichtbaren Bereich steht:

  • fünf verschiedene Seiten, ohne zu scrollen
  • drei Scrollpositionen (0 %, 50 %, 100 %)
  • flaches Laptopfenster, 1280 × 620
  • Handy: Kopfzeile bleibt beim Scrollen stehen

Die Position in der Mitte ist Absicht. Nur oben und unten zu messen hätte nicht gereicht: Am Seitenende wird eine mitwachsende Leiste zufällig doch sichtbar — der Test wäre grün gewesen und der Fehler trotzdem da.

Beide Sichtbarkeitstests sind gegen den kaputten Zustand gegengeprüft und schlagen dort an.

Geprüft

  • 500 Unit-Tests, 45 End-to-End-Tests über beide Geräteprofile — alle grün
  • 0 TypeScript-Fehler, Lint sauber, Produktionsbau steht

Version auf 1.1.2 angehoben, Changelog ergänzt.

Closes #1

## Was los war Am Schreibtisch war „Mein Konto" praktisch nicht zu finden — und damit auch nicht der Passwortwechsel, der zweite Faktor und die frisch eingebaute Passkey-Verwaltung. Die Seitenleiste hatte **keine feste Höhe** und wuchs mit der Seite mit. Ihr Fuß mit dem Benutzermenü landete deshalb am **Ende der Seite** statt am unteren Bildschirmrand. Nachgemessen im Browser, nicht aus dem Code geschlossen: | Seite | Fensterhöhe | Position des Knopfes | im Bild? | |---|---:|---:|---| | `/heute` | 900 | 1632 | nein | | `/vorgaenge` | 900 | 974 | nein | | `/dokumente` | 900 | 1081 | nein | | `/finanzen` | 900 | 1092 | nein | | `/fristen` | 900 | 820 | ja (Seite ist kurz) | Der Fehler sah nach nichts aus: Kein Element fehlte, nichts war kaputt, die Seite sah richtig aus. Man musste nur ganz nach unten scrollen — und darauf kommt niemand, der eine Seitenleiste vor sich hat. ## Was geändert wurde `lg:sticky lg:top-0 lg:h-dvh lg:self-start` auf die Seitenleiste. Das `self-start` gehört dazu: Ein Flex-Kind wird sonst auf die volle Zeilenhöhe gestreckt und verliert die feste Höhe wieder. Die Navigation dazwischen hat bereits `overflow-y-auto` und scrollt bei Bedarf in sich selbst — auch auf einem flachen Laptopfenster passt damit alles. Am Handy war es nie ein Problem; dort sitzt das Menü in der ohnehin festen Kopfzeile. Nach dem Fix steht der Knopf auf **allen** geprüften Seiten bei y=820. ## Absicherung `e2e/benutzermenue.spec.ts` fragt nicht, ob das Menü **im DOM** ist, sondern ob es **im sichtbaren Bereich** steht: - fünf verschiedene Seiten, ohne zu scrollen - drei Scrollpositionen (0 %, 50 %, 100 %) - flaches Laptopfenster, 1280 × 620 - Handy: Kopfzeile bleibt beim Scrollen stehen Die Position in der Mitte ist Absicht. Nur oben und unten zu messen hätte nicht gereicht: **Am Seitenende wird eine mitwachsende Leiste zufällig doch sichtbar** — der Test wäre grün gewesen und der Fehler trotzdem da. Beide Sichtbarkeitstests sind gegen den kaputten Zustand gegengeprüft und schlagen dort an. ## Geprüft - 500 Unit-Tests, 45 End-to-End-Tests über beide Geräteprofile — alle grün - 0 TypeScript-Fehler, Lint sauber, Produktionsbau steht Version auf **1.1.2** angehoben, Changelog ergänzt. Closes #1
florian.wilde added 1 commit 2026-08-22 23:00:53 +00:00
Am Schreibtisch war "Mein Konto" praktisch nicht zu finden - und damit
auch nicht Passwortwechsel, zweiter Faktor und Passkey-Verwaltung.

Die Seitenleiste hatte keine feste Hoehe und wuchs mit der Seite mit. Ihr
Fuss mit dem Benutzermenue landete deshalb am Ende der SEITE statt am
unteren Bildschirmrand: auf /heute bei 1632 Pixel in einem 900 Pixel
hohen Fenster. Nachgemessen, nicht geraten - im Browser auf fuenf Seiten.

Der Fehler sah nach nichts aus. Kein Element fehlte, nichts war kaputt,
die Seite sah richtig aus. Man musste nur ganz nach unten scrollen.

Behoben mit lg:sticky, lg:top-0, lg:h-dvh und lg:self-start. Das
self-start gehoert dazu, weil ein Flex-Kind sonst auf die volle
Zeilenhoehe gestreckt wird und die feste Hoehe wieder verliert. Die
Navigation dazwischen hat bereits overflow-y-auto und scrollt bei Bedarf
in sich selbst.

Am Handy war es nie ein Problem - dort sitzt das Menue in der ohnehin
festen Kopfzeile.

Neu: e2e/benutzermenue.spec.ts fragt nicht, ob das Menue im DOM ist,
sondern ob es im sichtbaren Bereich steht - auf fuenf Seiten, an drei
Scrollpositionen, auf einem flachen Laptopfenster und am Handy. Die
Position in der Mitte ist Absicht: Am Seitenende wird eine mitwachsende
Leiste zufaellig doch sichtbar, der Test waere gruen und der Fehler
trotzdem da. Beide Sichtbarkeitstests sind gegen den kaputten Zustand
gegengeprueft und schlagen dort an.

Refs #1
florian.wilde merged commit 8a594ee4a4 into main 2026-08-22 23:03:54 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: florian.wilde/betreuungs-cockpit#2