WO-TF-024. Re-skin from frozen Wave-0 builtins into blueprint/HUD/mono chrome (AI/robotics product persona), preserving every content field, provider field, custom tag, and JS block; button/card legacy field reads reconciled per §4. - 49 mandatory template_overrides + 7 page templates (default, full-width, landing, article, blog-index, contact, auth) with MID-tier motion (JS scroll-reveal + ticking counters + CSS line-draw; reduced-motion + no-JS static fallback). - 4 persona blocks: tech_spec, benchmark_table, telemetry_grid, changelog_console. Deleted 5 builtin-duplicating theme blocks (now overrides). - 4 dual-mode presets (19 tokens, light + dark tuned). - Bundled OFL fonts (Space Grotesk / Inter / JetBrains Mono) + LICENSES. - Email-safe wrapper retuned; master pages + seed demo site (Halcyon Robotics: home, about, blog x3, contact with data-table + row_inserted email workflow, login). - required_icon_packs (lucide, simple-icons) + RECOMMENDED docs. make build exit 0 (codeless .bnp); check-safety exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
9 lines
1.6 KiB
Plaintext
9 lines
1.6 KiB
Plaintext
{# announcement-bar override — centered notice; carries data-bn-announcement / data-bn-annkey and a data-bn-ann-dismiss close button so the host dismissal JS binds. #}
|
|
{% if variant == "promo" %}{% set annvar = "sc-announce--promo" %}{% set annsty = "background:hsl(var(--primary));color:hsl(var(--primary-foreground));" %}{% elif variant == "alert" %}{% set annvar = "sc-announce--alert" %}{% set annsty = "background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));" %}{% else %}{% set annvar = "sc-announce--info" %}{% set annsty = "background:hsl(var(--accent));color:hsl(var(--accent-foreground));" %}{% endif %}
|
|
<div data-bn-announcement data-bn-annkey="{{ variant|default:'info' }}:{{ message|slugify }}" class="sc-announce {{ annvar }} {{ class }}" style="{{ annsty }}">
|
|
<div class="sc-content-well sc-announce-row" style="position:relative;display:flex;align-items:center;justify-content:center;gap:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;font-size:0.875rem;text-align:center;">
|
|
<p style="margin:0;font-weight:500;">{{ message }}{% if linkText and linkUrl %} <a href="{{ linkUrl }}" style="color:inherit;text-decoration:underline;text-underline-offset:2px;">{{ linkText }}</a>{% endif %}</p>
|
|
{% if dismissable %}<button type="button" data-bn-ann-dismiss aria-label="Dismiss announcement" class="sc-announce-close" style="position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:0.25rem;background:none;border:0;color:inherit;cursor:pointer;">::lucide:x:sm::</button>{% endif %}
|
|
</div>
|
|
</div>
|