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 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Steward">
|
||||
<g fill="none" stroke="#C8A840" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="32" cy="32" r="28"/>
|
||||
<g transform="rotate(30 32 32)">
|
||||
<circle cx="32" cy="5.4" r="3.6"/>
|
||||
<path d="M27.59 17.96 A5.6 5.6 0 1 1 36.41 17.96 A5.6 5.6 0 1 1 32.00 25.59 A5.6 5.6 0 1 1 27.59 17.96Z"/>
|
||||
<path d="M32.00 14.50L37.20 23.50 M37.20 23.50L26.80 23.50 M26.80 23.50L32.00 14.50" stroke-width="1.6"/>
|
||||
<g fill="#C8A840" stroke="none"><circle cx="32.00" cy="14.50" r="2.2"/><circle cx="37.20" cy="23.50" r="2.2"/><circle cx="26.80" cy="23.50" r="2.2"/></g>
|
||||
<path d="M32 29.10V54"/>
|
||||
<path d="M28 32.60h8"/>
|
||||
<path d="M32 54h6.5M32 49.5h4M32 45h6.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<path fill="#C8A840" d="M48 37.5Q48 42 52.5 42Q48 42 48 46.5Q48 42 43.5 42Q48 42 48 37.5Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 920 B |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Steward">
|
||||
<g fill="none" stroke="#C8A840" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<circle cx="32" cy="32" r="28"/>
|
||||
<g transform="rotate(30 32 32)">
|
||||
<circle cx="32" cy="5.4" r="3.6"/>
|
||||
<path d="M27.59 17.96 A5.6 5.6 0 1 1 36.41 17.96 A5.6 5.6 0 1 1 32.00 25.59 A5.6 5.6 0 1 1 27.59 17.96Z"/>
|
||||
<circle cx="32" cy="20.5" r="2.6" fill="#C8A840" stroke="none"/>
|
||||
<path d="M32 29.10V54"/>
|
||||
<path d="M28 32.60h8"/>
|
||||
<path d="M32 54h6.5M32 47h6.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<path fill="#C8A840" d="M48.5 36.5Q48.5 42.5 54.5 42.5Q48.5 42.5 48.5 48.5Q48.5 42.5 42.5 42.5Q48.5 42.5 48.5 36.5Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 737 B |
@@ -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; }
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
}, true);
|
||||
</script>
|
||||
<title>{% block title %}Steward{% endblock %}</title>
|
||||
<link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='logo/steward-mark.svg') }}">
|
||||
{# Every asset is served by Steward itself: it runs with no outbound network (rule 164). #}
|
||||
<script src="{{ url_for('static', filename='vendor/htmx-2.0.4.min.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='vendor/chart-4.4.4.umd.min.js') }}"></script>
|
||||
@@ -37,14 +38,7 @@
|
||||
{% if session.user_id is defined %}
|
||||
<aside class="sidebar" id="sidebar">
|
||||
<a href="/" class="brand">
|
||||
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||
<circle cx="12" cy="12" r="10.5" fill="none" stroke="#c8a840" stroke-width="1.5"/>
|
||||
<circle cx="12" cy="12" r="9.3" fill="#8a8a92" opacity="0.1"/>
|
||||
<path d="M7 10 L7 5.8 L9 7.8 L10.5 5 L12 7.2 L13.5 5 L15 7.8 L17 5.8 L17 10 Z" fill="#c8a840"/>
|
||||
<ellipse cx="12" cy="15.5" rx="5.2" ry="1" fill="#c8a840"/>
|
||||
<rect x="9.6" y="15.5" width="1" height="3.8" fill="#c8a840"/>
|
||||
<rect x="13.4" y="15.5" width="1" height="3.8" fill="#c8a840"/>
|
||||
</svg>
|
||||
<img src="{{ url_for('static', filename='logo/steward-mark.svg') }}" width="22" height="22" alt="">
|
||||
Steward
|
||||
</a>
|
||||
<nav class="side-nav" aria-label="Primary">
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ dashboard.name }} — Steward</title>
|
||||
<link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='logo/steward-mark.svg') }}">
|
||||
<script src="{{ url_for('static', filename='vendor/htmx-2.0.4.min.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='vendor/chart-4.4.4.umd.min.js') }}"></script>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='fonts/fonts.css') }}">
|
||||
|
||||
Reference in New Issue
Block a user