Add responsive mobile layout and improve viewport handling

Introduced CSS classes for targeted styling and implemented responsive breakpoints for mobile devices. Enhanced TopBar and AdminPanel layouts to adapt to smaller screens with reorganized grid structures and improved touch targets. Updated shell container to use dynamic viewport height (dvh) and added safe area insets for better mobile browser compatibility. Adjusted button sizes, spacing, and element wrapping for improved usability on narrow
This commit is contained in:
2026-08-01 18:15:03 +02:00
parent c176ccc904
commit 39245b7ee7
5 changed files with 37 additions and 10 deletions
+4 -3
View File
@@ -15,7 +15,7 @@ export default function TopBar({
const displayName = me ? ((me.display_name || "").trim() || me.email) : "";
return (
<div style={styles.topBar}>
<div className="hp-topbar" style={styles.topBar}>
<div>
<div style={{ fontWeight: 900, color: stylesTokens.textGold }}>Notizbogen</div>
<div style={{ fontSize: 12, opacity: 0.8, color: stylesTokens.textDim }}>
@@ -23,9 +23,10 @@ export default function TopBar({
</div>
</div>
<div style={{ display: "flex", gap: 8, alignItems: "center", flexWrap: "nowrap" }} data-user-menu>
<div className="hp-topbar-actions" style={{ display: "flex", gap: 8, alignItems: "center", flexWrap: "nowrap" }} data-user-menu>
<div style={{ position: "relative" }}>
<button
className="hp-topbar-user"
onClick={() => setUserMenuOpen((v) => !v)}
style={styles.userBtn}
title="User Menü"
@@ -84,7 +85,7 @@ export default function TopBar({
)}
</div>
<button onClick={onOpenNewGame} style={styles.primaryBtn}>
<button className="hp-topbar-new" onClick={onOpenNewGame} style={styles.primaryBtn}>
New Game
</button>
</div>