themes-y2k/blocks/nft_gallery.ninjatpl
Alex Dunmow a86a54639a feat: convert to codeless .bnp — templates + manifest, Go/templ deleted (WO-WZ-021)
Convert the Y2K theme from a Go+templ wasm plugin to a fully codeless .bnp:
blocks/blocks.yaml + .ninjatpl, page/system templates, template overrides,
email wrapper, master pages and CSS declared in manifest.yaml. All *.go, *.templ,
*_templ.go, go.mod and go.sum deleted; schemas moved schemas/ -> blocks/.

Static parity proven 48/48 identical against the templ baseline (10 blocks x
full+empty+variant branches, 4 overrides incl. heading L1-6, email full+empty).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 15:10:52 +08:00

10 lines
1020 B
Plaintext

<section class="my-6" data-block-key="y2k:nft_gallery">
{% if not items %}<p class="text-center text-muted-foreground py-12">No items yet.</p>{% else %}<div class="grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">{% for item in items %}<a href="{{ item.href|default:"#" }}" class="y2k-foil y2k-bevel block bg-card rounded-xl overflow-hidden no-underline text-foreground">
<div class="aspect-square bg-muted overflow-hidden">{% if item.image %}<img src="{{ item.image }}" alt="{{ item.title }}" class="w-full h-full object-cover">{% else %}<div class="w-full h-full flex items-center justify-center text-muted-foreground text-xs uppercase tracking-widest">no image</div>{% endif %}</div>
<div class="p-3 flex items-center justify-between gap-2">
<span class="font-semibold truncate">{{ item.title|default:"untitled" }}</span>
{% if item.chain %}<span class="text-xs uppercase tracking-widest text-muted-foreground">{{ item.chain }}</span>{% endif %}
</div>
</a>{% endfor %}</div>{% endif %}
</section>