8c61a557f8
- new mark: measurement-span glyph on rounded brand-gradient badge (favicon, inline logo, standalone tmflow-logo.svg) - wordmark moved from SVG <text> with hardcoded x offsets (clipped "Flow" past the 260px viewBox, font-dependent overlap) to plain HTML spans — never clips, natural kerning, theme-adaptive - _app_logo.html params: logo_class, wordmark_class, logo_id (unique gradient id when logo appears twice per page) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
34 lines
1.8 KiB
HTML
34 lines
1.8 KiB
HTML
<!--
|
|
TieMeasureFlow logo: brand badge (SVG) + HTML wordmark.
|
|
The wordmark inherits `color` from the parent (set e.g. `text-slate-900
|
|
dark:text-white`); "Measure" keeps the brand blue.
|
|
|
|
Parameters (set before include):
|
|
logo_class — badge size, default 'h-10 w-10'
|
|
wordmark_class — wordmark text size, default 'text-xl'; '' hides the text
|
|
logo_id — unique suffix for the SVG gradient id when the logo
|
|
appears more than once per page (default 'tmf')
|
|
-->
|
|
{% set _logo_id = logo_id|default('tmf') %}
|
|
<span class="inline-flex items-center gap-2.5 select-none whitespace-nowrap">
|
|
<svg class="{{ logo_class|default('h-10 w-10') }} shrink-0" viewBox="0 0 64 64" fill="none"
|
|
xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
<defs>
|
|
<linearGradient id="tmfBadge-{{ _logo_id }}" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0" stop-color="#3B82F6"/>
|
|
<stop offset="1" stop-color="#1D4ED8"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<rect x="2" y="2" width="60" height="60" rx="15" fill="url(#tmfBadge-{{ _logo_id }})"/>
|
|
<rect x="14" y="16" width="5" height="32" rx="2.5" fill="#FFFFFF"/>
|
|
<rect x="45" y="16" width="5" height="32" rx="2.5" fill="#FFFFFF"/>
|
|
<path d="M24 32 H40" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round"/>
|
|
<path d="M28 26.5 L22.5 32 L28 37.5" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<path d="M36 26.5 L41.5 32 L36 37.5" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
</svg>
|
|
{% if wordmark_class is not defined or wordmark_class %}
|
|
<span class="{{ wordmark_class|default('text-xl') }} font-bold tracking-tight leading-none"
|
|
aria-label="TieMeasureFlow">Tie<span class="text-primary-600 dark:text-primary-400">Measure</span>Flow</span>
|
|
{% endif %}
|
|
</span>
|