From ba140ab1097d90b709bb473170abae03c5f102c8 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 6 Oct 2026 22:57:37 -0400 Subject: [PATCH] feat(ui): the key logo replaces the crown; favicon The operator's concept, redrawn as a single-colour SVG in the accent gold: a key whose bow is a cloverleaf holding three connected nodes, hanging on a loop threaded through a keyring and swinging into the ring's middle, with a small sparkle. - static/logo/steward-logo.svg: the full mark (node graph in the bow). - static/logo/steward-mark.svg: the small mark for 16-32 px (heavier lines, one centre node, two teeth); the node graph turns to mush below ~40 px. Used in the sidebar brand (was an inline crown) and as the favicon on every page and on the public share view. Co-Authored-By: Claude Opus 5.5 --- steward/static/logo/steward-logo.svg | 15 +++++++++++++++ steward/static/logo/steward-mark.svg | 14 ++++++++++++++ steward/static/steward.css | 2 +- steward/templates/base.html | 10 ++-------- steward/templates/dashboard/share_view.html | 1 + 5 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 steward/static/logo/steward-logo.svg create mode 100644 steward/static/logo/steward-mark.svg diff --git a/steward/static/logo/steward-logo.svg b/steward/static/logo/steward-logo.svg new file mode 100644 index 0000000..22eef8e --- /dev/null +++ b/steward/static/logo/steward-logo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/steward/static/logo/steward-mark.svg b/steward/static/logo/steward-mark.svg new file mode 100644 index 0000000..81d43a8 --- /dev/null +++ b/steward/static/logo/steward-mark.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/steward/static/steward.css b/steward/static/steward.css index b86db83..12b220d 100644 --- a/steward/static/steward.css +++ b/steward/static/steward.css @@ -72,7 +72,7 @@ code { font-family: var(--fs-font-mono); font-size: 0.875em; background: var(--b display: flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--border); } -.sidebar .brand svg { flex-shrink: 0; } +.sidebar .brand img { flex-shrink: 0; } /* Only the nav list scrolls when long — the brand and user/logout stay pinned. */ .side-nav { flex: 1; min-height: 0; overflow-y: auto; padding: 0.75rem 0; } .nav-group { margin-bottom: 0.9rem; } diff --git a/steward/templates/base.html b/steward/templates/base.html index 7abe5fc..0898d80 100644 --- a/steward/templates/base.html +++ b/steward/templates/base.html @@ -19,6 +19,7 @@ }, true); {% block title %}Steward{% endblock %} + {# Every asset is served by Steward itself: it runs with no outbound network (rule 164). #} @@ -37,14 +38,7 @@ {% if session.user_id is defined %}