From ac94208d8ffb55da439f3012c82022e41bb4af28 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 2 Jun 2026 18:07:33 +0000 Subject: [PATCH] chore: production-readiness sweep on the help-popover wave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Drop unused 'from src.i18n import t' from pages 1-9 (the swap to render_tool_header(tool_id) means no page calls t() directly anymore). Pages 10, 11 and the underscore-prefixed pages were already clean or legitimately use t(). - Rewrite PDF Extractor help_md (en + es). The original prose described features the tool does NOT have — template drawing, per-source saved templates, automatic reuse. The actual tool is a heuristic batch scanner (per its own docstring: "No templates, no per-bank configuration"). New copy: scan → uncheck → pick date format → enable OCR if needed → download. Spanish version tagged with '' since the prose is best-effort. - Document why both stSidebarNavSectionHeader (legacy, streamlit~=1.35) and stNavSectionHeader (current, 1.57) testids appear in the chrome CSS — requirements floor is streamlit>=1.35,<2 so dropping the legacy selector would silently break the lower bound. - Pin the t()-returns-key-on-miss contract that render_tool_header's fallback path depends on, with a comment at the call site. - Pin the demo's intentional skip of hide_streamlit_chrome (so the +/- sidebar swap JS doesn't ever try to load there) with a load- bearing comment in app_demo.py. - Confirmed i18n parity: every tool id has page_title / page_caption / description / name / help_md in BOTH packs; help.button_label and help.missing_body in both. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/gui/app_demo.py | 9 +++++++++ src/gui/components/_legacy.py | 18 +++++++++++++++++- src/gui/pages/1_Deduplicator.py | 1 - src/gui/pages/2_Text_Cleaner.py | 1 - src/gui/pages/3_Format_Standardizer.py | 1 - src/gui/pages/4_Missing_Values.py | 1 - src/gui/pages/5_Column_Mapper.py | 1 - src/gui/pages/6_Outlier_Detector.py | 1 - src/gui/pages/7_Multi_File_Merger.py | 1 - src/gui/pages/8_Validator_Reporter.py | 1 - src/gui/pages/9_Pipeline_Runner.py | 1 - src/i18n/packs/en.json | 2 +- src/i18n/packs/es.json | 2 +- 13 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/gui/app_demo.py b/src/gui/app_demo.py index 0bdb6e6..80d18cb 100644 --- a/src/gui/app_demo.py +++ b/src/gui/app_demo.py @@ -132,6 +132,15 @@ st.set_page_config( # Strip Streamlit chrome that breaks the iframe-embed look on the # landing pages. +# +# We deliberately do NOT call ``hide_streamlit_chrome()`` from the +# paid GUI here — that helper drags in the license gate, the sidebar +# brand block, language selector, and the +/- nav-section indicator +# script. The demo has no sidebar (we hide it below), no licensing +# (it's the marketing surface), and a different visual palette (dark +# theme vs. the paid app's cream paper). Keep this hand-rolled chrome +# in sync with the demo's own dark palette; do NOT replace it with +# the paid GUI's chrome helper. st.markdown("""