From d6b9d6a1cee6762baf455aa245d7c5ec43c9e7f9 Mon Sep 17 00:00:00 2001 From: marc Date: Mon, 24 Aug 2026 23:40:34 +0200 Subject: [PATCH] =?UTF-8?q?fix(ui):=20die=20Seite=20rechnet=20die=20H?= =?UTF-8?q?=C3=B6he=20der=20HoneyOS-Leiste=20ab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Leiste liegt fest am oberen Rand und schiebt den Inhalt herunter. Wer danach noch mit 100vh rechnete, war genau um ihre Höhe zu hoch — am Rechner eine Bildlaufleiste, die es vorher nicht gab. Und wer selbst fest am oberen Rand klebte (Seitenleiste am Handy, Vorschau, Office), lag darunter und war verdeckt. --honeybar-h setzt die Leiste selbst auf ; ohne sie ist der Wert 0 und alles bleibt wie zuvor. Drei Hilfsklassen in index.css halten das an einer Stelle zusammen. Co-Authored-By: Claude Opus 5 --- frontend/src/App.tsx | 2 +- frontend/src/components/FilePreview.tsx | 2 +- frontend/src/components/OfficeEditor.tsx | 2 +- frontend/src/components/Shell.tsx | 2 +- frontend/src/components/Sidebar.tsx | 4 ++-- frontend/src/index.css | 12 ++++++++++++ frontend/src/pages/LoginPage.tsx | 2 +- frontend/src/pages/SharePage.tsx | 2 +- 8 files changed, 20 insertions(+), 8 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 64d3bba..248a269 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -45,7 +45,7 @@ function AuthedApp() { if (loading) { return ( -
+
setSidebarOpen(true), }}> -
+
{/* Mobile overlay */} {sidebarOpen && (
, sobald sie + da ist; hier steht er, damit calc() auch ohne sie aufgeht. */ + --honeybar-h: 0px; } +/* Die Leiste liegt fest am oberen Rand und schiebt den Seiteninhalt herunter. + Wer mit der vollen Fensterhöhe rechnet, muss sie abziehen — sonst ist die + Seite genau um die Leistenhöhe zu hoch und bekommt eine Bildlaufleiste. + Wer fest am oberen Rand klebt, muss unter ihr anfangen — sonst verdeckt sie + ihn (am Handy fällt das sofort auf, dort ist jede Zeile kostbar). */ +.aether-vh { height: calc(100vh - var(--honeybar-h)); } +.aether-minvh { min-height: calc(100vh - var(--honeybar-h)); } +.aether-full { position: fixed; inset: var(--honeybar-h) 0 0 0; } + @media (display-mode: standalone) { :root { --safe-top: env(safe-area-inset-top, 0px); diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx index 4ee846d..4c7e1f2 100644 --- a/frontend/src/pages/LoginPage.tsx +++ b/frontend/src/pages/LoginPage.tsx @@ -34,7 +34,7 @@ export default function LoginPage({ onLogin }: Props) { } return ( -
+
{/* Logo / branding */}
diff --git a/frontend/src/pages/SharePage.tsx b/frontend/src/pages/SharePage.tsx index 971e1bd..a191583 100644 --- a/frontend/src/pages/SharePage.tsx +++ b/frontend/src/pages/SharePage.tsx @@ -59,7 +59,7 @@ export default function SharePage({ token }: Props) { return (