Full LCARS library-computer interface for a sci-fi podcast/media outfit. Codeless .bnp. Re-skins every mandatory builtin inside LCARS framing and ships the full Wave A surface. - 49 mandatory template overrides (chrome, marketing, primitives, commerce, blog family, auth, page-suggestions), field-faithful re-skins of the frozen builtin defaults; identity carried by the lcars-* class system. - 8 page templates (default+sidebar rail, full-width, full-display, landing, article, blog-index, contact, auth) with elbow-frame chrome. - 4 persona blocks: episode_console, crew_roster, stardate_log, transmission_status. Legacy lcars_header/sidebar/panel removed (now overrides + page chrome). - 5 dual-mode presets (canonical black + daylight-ops cream), all 19 tokens. - Bundled Antonio + Share Tech Mono (OFL); email-safe LCARS wrapper. - Seed "Subspace Signal": home, about, 3 episodes+articles, contact (hail_signals table + row_inserted email-admins workflow), login. - GO BIG motion: dependency-free canvas panel-sweep on the hero (lazy-init, reduced-motion static frame, no-JS fallback). Build + check-safety green. Visual UNVERIFIED until Wave B. Known frozen-cms limits (contract §11 auth/404 non-dispatch, §12 provider-backed empty lists) authored faithfully. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4 lines
1.0 KiB
Plaintext
4 lines
1.0 KiB
Plaintext
<nav class="{{ class }}" data-block="lcars:sidebar-nav" style="{% if showBorder %}border-right: 1px solid hsl(var(--border)); padding-right: 1rem;{% endif %}">{% if title %}<h3 class="lcars-kicker" style="margin-top: 0;">{{ title }}</h3>{% endif %}<ul class="lcars-stack-sm" style="list-style: none; margin: 0; padding: 0;">{% for item in menu.items %}<li><a class="lcars-sidebar-link" href="{{ item.url|default:'#' }}"{% if item.open_in_new_tab %} target="_blank" rel="noopener"{% endif %}{% if item.title %} title="{{ item.title }}"{% endif %} data-bn-sidebar-link>{% if item.icon %}<svg class="lcars-icon" aria-hidden="true"><use href="/icons/{{ item.icon|split:":"|first }}.svg#{{ item.icon|split:":"|last }}"/></svg>{% endif %}{{ item.label }}</a></li>{% endfor %}</ul>{% if highlightCurrent %}<script>
|
|
(function(){var p=window.location.pathname;document.querySelectorAll('[data-bn-sidebar-link]').forEach(function(a){if(a.getAttribute('href')===p){a.setAttribute('aria-current','page');}});})();
|
|
</script>{% endif %}</nav>
|