From 19837567cdb607d322b48d79af459e42b08a44e3 Mon Sep 17 00:00:00 2001 From: Dicken Date: Sun, 28 Jun 2026 13:45:26 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20HelpModal=20schlie=C3=9Fbar,=20mobile=20?= =?UTF-8?q?Nav=20scrollbar=20+=20einklappbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.jsx | 33 ++++++++++++++++--------- frontend/src/tools/gebietseroberung.jsx | 12 ++++++--- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index f408936..9a784e7 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -284,6 +284,7 @@ function Sidebar({ active, setActive, user, onLogout, unreadMsgs=0 }) { function BottomNav({ active, setActive, user, onLogout, unreadMsgs=0 }) { const [menuOpen, setMenuOpen] = useState(false); const [appsOpen, setAppsOpen] = useState(false); + const [mobileCollapsedGroups, setMobileCollapsedGroups] = useState({}); const NAV_H = 56; const MI = ({Icon, icon, label, onClick, color='rgba(255,255,255,0.85)'}) => { @@ -339,19 +340,27 @@ function BottomNav({ active, setActive, user, onLogout, unreadMsgs=0 }) { return ( <> - {/* Apps Sheet mit Gruppenüberschriften */} + {/* Apps Sheet mit Gruppenüberschriften + einklappbar + scrollbar */} setAppsOpen(false)}> -
- {getGroupedTools().map(([group, tools]) => ( -
-
{group.toUpperCase()}
- {tools.map(t => ( - { setActive(t.id); setAppsOpen(false); }} /> - ))} -
- ))} +
+ {getGroupedTools().map(([group, tools]) => { + const isGrpCollapsed = !!mobileCollapsedGroups[group]; + return ( +
+ + {!isGrpCollapsed && tools.map(t => ( + { setActive(t.id); setAppsOpen(false); }} /> + ))} +
+ ); + })}
diff --git a/frontend/src/tools/gebietseroberung.jsx b/frontend/src/tools/gebietseroberung.jsx index 51ae25a..2c74246 100644 --- a/frontend/src/tools/gebietseroberung.jsx +++ b/frontend/src/tools/gebietseroberung.jsx @@ -23,12 +23,17 @@ function getMyRole() { // ── Spielerklärung ──────────────────────────────────────────────────────────── function HelpModal({ onClose }) { return ( -
-
-
+
+
e.stopPropagation()}> +
⬡ SPIELREGELN
+

Ziel: Sammle mehr Punkte als dein Gegner — durch clevere Expansion und das Meiden von Fallen. @@ -62,6 +67,7 @@ function HelpModal({ onClose }) { 📱 Auf dem Handy: Pinch zum Zoomen, Feld antippen und bestätigen.

+
);