From 732068ad9c7096dc866e0b9845a9c38148873525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Gla=CC=88ser?= Date: Fri, 25 Sep 2026 08:19:56 +0200 Subject: [PATCH] Unify mobile detail navigation --- .../shared/ui_foundation/mobile-detail.md | 27 ++++++ modules/shared/auth/ui/home.php | 26 ++++-- public/assets/styles.portal.css | 27 ++++++ public/scripts/shared-mobile-detail.js | 85 +++++++++++++++++++ 4 files changed, 156 insertions(+), 9 deletions(-) create mode 100644 docs/modules/shared/ui_foundation/mobile-detail.md create mode 100644 public/scripts/shared-mobile-detail.js diff --git a/docs/modules/shared/ui_foundation/mobile-detail.md b/docs/modules/shared/ui_foundation/mobile-detail.md new file mode 100644 index 0000000..1c6b4af --- /dev/null +++ b/docs/modules/shared/ui_foundation/mobile-detail.md @@ -0,0 +1,27 @@ +# Mobile Detail + +## Zweck + +`SharedMobileDetail` ist ein fachlich neutrales Frontend-Pattern fuer mobile +Listen-/Detailansichten. Es ersetzt auf kleinen Viewports den sichtbaren +Drawer durch eine vollflaechige Detailansicht. + +## Verantwortung + +Das Pattern kapselt ausschliesslich technische Interaktion: + +- Verschieben des vorhandenen Detail-DOMs in einen mobilen Host +- Anzeigen und Entfernen des mobilen Hosts +- Browser-History und `popstate`-kompatibler Zurueck-Navigation +- Zuruecksetzen des Body-Locks und des globalen Drawer-Zustands +- Zuruecksetzen der Drawer-Attribute beim Verlassen der Detailansicht + +Fachliche Darstellung, API-Aufrufe, Validierung und Speichern bleiben im +owning Modul. + +## Nutzung + +Fachliche Bereiche erzeugen einen Controller mit eigenem Host-/Drawer- +Attribut, eigener Body-Klasse und einem bestehenden Styleguide- +Navigationskarten-Markup fuer die Zurueck-Navigation. Der Controller darf +keine fachlichen Daten oder fachlichen Zustandsentscheidungen enthalten. diff --git a/modules/shared/auth/ui/home.php b/modules/shared/auth/ui/home.php index d5951dc..75f6fb5 100644 --- a/modules/shared/auth/ui/home.php +++ b/modules/shared/auth/ui/home.php @@ -931,6 +931,7 @@ function render_auth_home_page(array $user, array $otcProducts = [], array $otcM echo ''; echo ''; echo ''; + echo ''; echo '