From d487a441700c743a4cc1bd32044e00727f754acc Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 18 May 2026 22:28:17 +0000 Subject: [PATCH] fix(footer): tighten block-container ``padding-bottom`` to close white gap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Diagnostics confirmed the "white bar" the user has been describing is not a separate element — it's ``[data-testid=stApp]``'s solid white background (``rgb(255,255,255)``, viewport-locked) showing through the gap between where page content ends and where the fixed Help/Close footer overlay begins. ``stApp`` stays put while content scrolls inside it, which is why the bar "doesn't change when scrolling". The gap exists because ``render_sticky_footer`` overrides the block container's ``padding-bottom`` to ``3rem`` (48px) to reserve clear room for the fixed footer. The footer is only ~32-33px tall (min- height 32px + 0.25rem top/bottom padding), so ~16px of that reserve was pure visible white space sitting above the buttons. Reduce ``padding-bottom`` to ``2rem`` (~32px) — just enough to prevent content from rendering under the footer overlay, no more. Eliminates the visible gap without exposing text to clipping. Also remove the diagnostic banner + click-to-inspect iframe from the home page now that the bar is identified. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/gui/_home.py | 160 ---------------------------------- src/gui/components/_legacy.py | 7 +- 2 files changed, 6 insertions(+), 161 deletions(-) diff --git a/src/gui/_home.py b/src/gui/_home.py index 66db2fb..1df4482 100644 --- a/src/gui/_home.py +++ b/src/gui/_home.py @@ -288,163 +288,3 @@ def _home_page() -> None: header=f"📄 {name}", key_namespace=name, ) - - # TEMP: end-of-content marker — confirmed at the true bottom of - # the home page's main content. The user reports content scrolls - # *behind* the offending white bar, so the bar is fixed-positioned. - # Only ``#datatools-sticky-footer`` is fixed at the bottom per - # our CSS, but the user already confirmed the sticky footer is - # NOT the offending bar. So there's a fixed element we haven't - # accounted for. The JS below outlines EVERY fixed/sticky element - # in the parent document with a labelled colored border so we can - # see exactly what's overlaying scrolled content. - st.markdown( - '
' - '◀ CLAUDE TEST #3 — END OF MAIN CONTENT ▶' - '
', - unsafe_allow_html=True, - ) - st.iframe( - """ - -""", - height=1, - ) diff --git a/src/gui/components/_legacy.py b/src/gui/components/_legacy.py index 18e5401..c5e1393 100644 --- a/src/gui/components/_legacy.py +++ b/src/gui/components/_legacy.py @@ -629,7 +629,12 @@ def render_sticky_footer() -> None: """