feat(brand): "Letter D (sans)" app icon — favicon + sidebar chip
Implements ``Business/DataTools/app_icons.html`` §03 "Letter D (sans)" as the canonical app mark. - New ``src/gui/assets/datatools_icon.svg`` — 64×64 SVG, 14px corner radius, ink ground (#1c1917), cream "D" (#fef4ed) in Geist 700 / -0.04em tracking. Pure SVG so it renders sharp at every favicon size; font stack falls back through Geist → system sans where the webfont isn't installed (favicons can't load Google Fonts). - ``_home.py``, ``_Activate.py``, ``99_Close.py``: page_icon now resolves the SVG path via ``Path(__file__).parent / "assets" / "datatools_icon.svg"`` instead of the broom 🧹 / 🔑 / 🛑 emojis. Streamlit inlines it as a ``data:image/svg+xml;base64,...`` link tag so the browser tab + OS app-icon for ``python -m src.gui`` matches the sidebar chip. - Sidebar ``.dt-brand-mark`` tightened to match the spec's "Letter D (sans)" rendering: ``font-weight: 700`` and ``letter-spacing: -0.04em`` (was 600 / -0.02em). The on-screen chip is now a scaled-up copy of the OS icon. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -171,9 +171,11 @@ def _home_page() -> None:
|
||||
from src.gui.components._legacy import _run_analysis_on_upload
|
||||
from src.i18n import t
|
||||
|
||||
from pathlib import Path as _Path
|
||||
_ICON_PATH = str(_Path(__file__).parent / "assets" / "datatools_icon.svg")
|
||||
st.set_page_config(
|
||||
page_title=t("home.page_title"),
|
||||
page_icon="🧹",
|
||||
page_icon=_ICON_PATH,
|
||||
layout="wide",
|
||||
)
|
||||
hide_streamlit_chrome()
|
||||
|
||||
Reference in New Issue
Block a user