diff --git a/blocks/episode_console.ninjatpl b/blocks/episode_console.ninjatpl index ee45df2..96d20d9 100644 --- a/blocks/episode_console.ninjatpl +++ b/blocks/episode_console.ninjatpl @@ -1,7 +1,7 @@
-
-
{% if cover %}{% img cover alt=title|default:"Episode cover" %}{% else %}
{% endif %}
+
+{% if cover %}
{% img cover alt=title|default:"Episode cover" %}
{% else %}{% endif %}
{% if eyebrow %}{{ eyebrow }}{% else %}Now Broadcasting{% endif %}
{% if episodeNumber %}EP {{ episodeNumber }}{% endif %}{% if stardate %}Stardate {{ stardate }}{% endif %}{% if duration %}{{ duration }}{% endif %}
diff --git a/manifest.yaml b/manifest.yaml index 3b1c0fb..17a7f84 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -212,7 +212,17 @@ css: .lcars-surface-card { background-color: hsl(var(--card)); } .lcars-media-frame { display: block; width: 100%; overflow: hidden; background-color: hsl(var(--muted)); border-radius: 0.5rem; } .lcars-media-frame img { display: block; width: 100%; height: 100%; object-fit: cover; } - .lcars-img-empty { display: block; width: 100%; aspect-ratio: 16 / 9; background-color: hsl(var(--muted)); border-radius: 0.5rem; } + .lcars-img-empty { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 20rem; background-color: hsl(var(--muted)); border-radius: 0.5rem; } + /* Graceful empty-media state: an on-brand LCARS readout panel that stays + compact instead of ballooning into a blank square when no cover ships. */ + .lcars-console-art { display: flex; align-items: center; justify-content: center; align-self: start; width: 100%; aspect-ratio: 4 / 3; max-height: 15rem; padding: 1.5rem; background-color: hsl(var(--muted)); border-radius: 0.5rem; box-sizing: border-box; } + .lcars-console-art-scope { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; max-width: 16rem; } + .lcars-console-art-scope i { display: block; height: 0.625rem; border-radius: 0.3125rem; opacity: 0.55; } + .lcars-console-art-scope i:nth-child(1) { width: 100%; background-color: hsl(var(--primary)); } + .lcars-console-art-scope i:nth-child(2) { width: 72%; background-color: hsl(var(--secondary)); } + .lcars-console-art-scope i:nth-child(3) { width: 88%; background-color: hsl(var(--accent)); } + .lcars-console-art-scope i:nth-child(4) { width: 60%; background-color: hsl(var(--secondary)); } + .lcars-console-art-scope i:nth-child(5) { width: 80%; background-color: hsl(var(--primary)); } /* --- Responsive grids --- */ .lcars-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(1, minmax(0, 1fr)); } diff --git a/templates/overrides/lcars/cta.ninjatpl b/templates/overrides/lcars/cta.ninjatpl index ed52675..56b51c6 100644 --- a/templates/overrides/lcars/cta.ninjatpl +++ b/templates/overrides/lcars/cta.ninjatpl @@ -1,5 +1,5 @@ {# cta override — full-width strip; band / card / split variants. #} -
+
{% if heading %}

{{ heading }}

{% endif %} {% if text %}

{{ text }}

{% endif %} diff --git a/templates/overrides/lcars/hero.ninjatpl b/templates/overrides/lcars/hero.ninjatpl index 39458cb..222349c 100644 --- a/templates/overrides/lcars/hero.ninjatpl +++ b/templates/overrides/lcars/hero.ninjatpl @@ -1,8 +1,8 @@ {# hero override — LCARS command-deck hero. GO BIG motion tier: one dependency-free canvas panel-sweep behind the content, lazy-inited, prefers-reduced-motion honored, with the fully-styled hero as the static no-JS fallback. All content fields preserved verbatim from the builtin. Styled-text fields accept {text,color} OR a bare string. #} -{% set eyebrowText = eyebrow.text|default:eyebrow %} -{% set headlineText = headline.text|default:headline %} -{% set subText = subheadline.text|default:subheadline %} -{% set descText = description.text|default:description %} +{% set eyebrowText = eyebrow|get:"text"|default:eyebrow %} +{% set headlineText = headline|get:"text"|default:headline %} +{% set subText = subheadline|get:"text"|default:subheadline %} +{% set descText = description|get:"text"|default:description %} {% set pText = ctaPrimary.text %} {% set pUrl = ctaPrimary.url %} {% set sText = ctaSecondary.text %} @@ -17,7 +17,7 @@ {% if trustLogos %}

Trusted by

{% for logo in trustLogos %}{% if logo.url %}{% img logo.image alt=logo.alt class="lcars-logo" %}{% else %}{% img logo.image alt=logo.alt class="lcars-logo" %}{% endif %}{% endfor %}
{% endif %} {% endmacro %} {% if variant == "split" %} -
{{ herobody() }}
{% if backgroundImage %}{% img backgroundImage alt=headlineText class="lcars-hero-media" %}{% endif %}
+
{% if backgroundImage %}
{{ herobody() }}
{% img backgroundImage alt=headlineText class="lcars-hero-media" %}
{% else %}
{{ herobody() }}
{% endif %}
{% else %}
{{ herobody() }}
{% endif %} diff --git a/templates/overrides/lcars/navbar.ninjatpl b/templates/overrides/lcars/navbar.ninjatpl index 48a71aa..9895039 100644 --- a/templates/overrides/lcars/navbar.ninjatpl +++ b/templates/overrides/lcars/navbar.ninjatpl @@ -1 +1 @@ - +