[Bug] Web-Drawer (Mobile-Viewport) öffnet als Bottom-Sheet — Items kleben unten, kein klassischer Side-Drawer #347

Closed
opened 2026-05-19 22:39:51 +02:00 by admin-mrrm · 1 comment
Owner

Beobachtetes Verhalten

Auf Mobile-Viewport (Web) öffnet der Hamburger-Button keinen klassischen Side-Drawer, sondern ein Bottom-Sheet, das nahezu die gesamte Viewport-Höhe einnimmt. Die Navigations-Items kleben am unteren Bildschirmrand, der gesamte obere Bereich ist leer. Siehe Screenshot.

Erwartetes Verhalten

Off-Canvas Side-Drawer von links (Material/HIG-Konvention für Hamburger):

  • Breite ~280–320 px (nicht volle Viewport-Breite)
  • Items oben ausgerichtet, direkt unter optionalem Header
  • Halbtransparentes Backdrop über dem Rest des Screens
  • Schließt per Tap aufs Backdrop oder Swipe nach links

Reproduktion

  1. App im Mobile-Viewport öffnen (z.B. app.mrrm.de auf Smartphone-Browser, oder DevTools Responsive Mode < $gtSm Breakpoint)
  2. Hamburger-Icon (☰) oben links antippen
  3. Drawer öffnet als Bottom-Sheet, Items unten

Umgebung

  • App: web
  • Version / Commit: aktueller main (post-#336)
  • OS / Browser / Device: Android, Vivaldi auf app.mrrm.de (vom User getestet)

Code-Hinweis

apps/web/src/routes/layout.tsx:75-89 verwendet Tamagui Sheet mit snapPointsMode="fit". Tamagui Sheet ist explizit ein Bottom-Sheet — kein Side-Mode verfügbar. Für Side-Drawer-Verhalten braucht es:

  • Eigene Off-Canvas-Implementierung (absolute YStack + Backdrop + translateX-Animation), oder
  • Dialog mit eigenem Positioning, oder
  • Externe Komponente (z.B. react-spring Drawer)

Mobile (Expo) nutzt bereits @react-navigation/drawer — dort ist das Verhalten korrekt. Dieser Bug-Report betrifft nur die Web-Variante.

Bezug

  • Einführung: #336 (App-Shell-Refactor)
  • Milestone: v0.4.5 (App-Shell & Listen-UX) — sollte zusammen mit #336-Followup behoben werden, damit App-Shell konsistent ausgeliefert wird
## Beobachtetes Verhalten Auf Mobile-Viewport (Web) öffnet der Hamburger-Button keinen klassischen Side-Drawer, sondern ein **Bottom-Sheet**, das nahezu die gesamte Viewport-Höhe einnimmt. Die Navigations-Items kleben am unteren Bildschirmrand, der gesamte obere Bereich ist leer. Siehe Screenshot. ## Erwartetes Verhalten **Off-Canvas Side-Drawer von links** (Material/HIG-Konvention für Hamburger): - Breite ~280–320 px (nicht volle Viewport-Breite) - Items **oben** ausgerichtet, direkt unter optionalem Header - Halbtransparentes Backdrop über dem Rest des Screens - Schließt per Tap aufs Backdrop oder Swipe nach links ## Reproduktion 1. App im Mobile-Viewport öffnen (z.B. `app.mrrm.de` auf Smartphone-Browser, oder DevTools Responsive Mode < `$gtSm` Breakpoint) 2. Hamburger-Icon (☰) oben links antippen 3. Drawer öffnet als Bottom-Sheet, Items unten ## Umgebung - App: **web** - Version / Commit: aktueller `main` (post-#336) - OS / Browser / Device: Android, Vivaldi auf `app.mrrm.de` (vom User getestet) ## Code-Hinweis `apps/web/src/routes/layout.tsx:75-89` verwendet Tamagui `Sheet` mit `snapPointsMode="fit"`. Tamagui `Sheet` ist explizit ein **Bottom-Sheet** — kein Side-Mode verfügbar. Für Side-Drawer-Verhalten braucht es: - Eigene Off-Canvas-Implementierung (absolute YStack + Backdrop + translateX-Animation), **oder** - `Dialog` mit eigenem Positioning, **oder** - Externe Komponente (z.B. `react-spring` Drawer) Mobile (Expo) nutzt bereits `@react-navigation/drawer` — dort ist das Verhalten korrekt. Dieser Bug-Report betrifft nur die Web-Variante. ## Bezug - Einführung: #336 (App-Shell-Refactor) - Milestone: v0.4.5 (App-Shell & Listen-UX) — sollte zusammen mit #336-Followup behoben werden, damit App-Shell konsistent ausgeliefert wird
Collaborator

PM-Housekeeping: Fix wurde bereits am 2026-05-20 via PR #357 (Commit f5e0109) auf main gemerged und ist seitdem in Prod ausgerollt. Issue wurde nur nicht automatisch geschlossen weil der Commit-Title fix(#347): statt Fixes #347 verwendet.

Schließe als verifiziert-implementiert. Falls bei dir lokal das Verhalten noch nicht funktioniert: bitte App-Cache leeren und neu laden — wieder öffnen wenn der Bug reproduzierbar bleibt.

**PM-Housekeeping:** Fix wurde bereits am 2026-05-20 via PR #357 (Commit `f5e0109`) auf `main` gemerged und ist seitdem in Prod ausgerollt. Issue wurde nur nicht automatisch geschlossen weil der Commit-Title `fix(#347):` statt `Fixes #347` verwendet. Schließe als verifiziert-implementiert. Falls bei dir lokal das Verhalten noch nicht funktioniert: bitte App-Cache leeren und neu laden — wieder öffnen wenn der Bug reproduzierbar bleibt.
Sign in to join this conversation.
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
admin-mrrm/mrrmlabapp#347
No description provided.