From 9ff96db3c873f6f35cfe5b9e04706c3afb3ea284 Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Tue, 29 Sep 2026 19:52:58 +0200 Subject: [PATCH] Fit browser workspace within viewport below dynamic header bars --- docs/VALIDATION.md | 12 ++++++++++++ frontend/App.tsx | 18 ++++++++++-------- frontend/views/Home.tsx | 4 ++-- frontend/views/Project.tsx | 10 +++++----- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md index 4094d35..f517921 100644 --- a/docs/VALIDATION.md +++ b/docs/VALIDATION.md @@ -51,3 +51,15 @@ Validation: build/typecheck and all 8 tests pass; integration tests now assert reported image's existence/read permission was verified from inside LTX without opening its content. A fresh synthetic upload was also checked from LTX and then removed. Only the GUI was recreated; real image generation remains a user retry. + +## Browser viewport layout — 2026-09-29 + +Replaced desktop view-level `100vh` sizing with parent-relative heights. The web +shell owns `100dvh`; headers/status banners do not shrink, and the workspace takes +only the remaining height with `min-height: 0`. Information panels are internally +scrollable and height-limited. Home and Project no longer add a second viewport. + +Typecheck, build and all 8 existing tests pass. In an isolated browser fixture at +720 px viewport height, document/shell height remains 720 px and the Generate +button's bottom stays at 693 px, both with the information panel open and closed. +No production prompts or media were used for this check. diff --git a/frontend/App.tsx b/frontend/App.tsx index ee6c82c..0c68bf3 100644 --- a/frontend/App.tsx +++ b/frontend/App.tsx @@ -19,13 +19,15 @@ function Workspace() { const { isLoaded, runtimePolicyLoaded } = useAppSettings() useGenerationRecoveryWatcher() const ready = connected && isLoaded && runtimePolicyLoaded - return <> -
+ return
+
{ready ? 'LTX backend connected · generation runs on the remote server' : isLoading ? 'Checking LTX connection…' : 'LTX is not ready. Activate Video mode in Athena Deck. The connection is checked automatically.'}
+
{currentView === 'home' ? : ready ? :

Projects are retained. Generation becomes available when the LTX backend and its settings are reachable.

} +
- +
} export default function App() { const [session, setSession] = useState<{ backendUrl: string } | null>(null) @@ -48,18 +50,18 @@ export default function App() {

{error}

- return <> -
+ return
+
LTX DeskWEB · Preview
- {help &&
} diff --git a/frontend/views/Home.tsx b/frontend/views/Home.tsx index 3d3b4a3..76c21dc 100644 --- a/frontend/views/Home.tsx +++ b/frontend/views/Home.tsx @@ -172,7 +172,7 @@ export function Home() { : 0 return ( -
+

Migrating project references... @@ -189,7 +189,7 @@ export function Home() { } return ( -

+
{/* Sidebar */}