Charakter-Story-Boxen zeigen nur noch Charaktere mit echtem Produkt

Bisher wurden auf den Tier-Familien-Seiten Vorstellungsboxen für ALLE im Admin
angelegten Charaktere gezeigt, auch ohne zugeordnetes Produkt (z.B. HasiGott,
Mama Hase auf der Hase-Seite ohne echte Ware). Auf Wunsch entfernt: die
Story-Boxen erscheinen jetzt nur noch für Charaktere, denen im Admin auch
wirklich ein Produkt zugeordnet ist - genau wie die Shop-Karten darunter.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
qcigano
2026-08-03 01:54:45 +02:00
co-authored by Claude Sonnet 5
parent 7720396be2
commit fa5287484e
4 changed files with 11 additions and 9 deletions
@@ -57,11 +57,11 @@ const komplettLeer = !hatProduktKarten && !hatWeitere;
</section> </section>
</div> </div>
{hatCharaktere && ( {hatProduktKarten && (
<section class="section-tight"> <section class="section-tight">
<div class="container"> <div class="container">
<div class="character-stories"> <div class="character-stories">
{characterEntries.map(({ char }) => ( {characterEntriesMitProdukt.map(({ char }) => (
<div class="card character-story"> <div class="card character-story">
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>} {char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p> <p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
@@ -57,11 +57,11 @@ const komplettLeer = !hatProduktKarten && !hatWeitere;
</section> </section>
</div> </div>
{hatCharaktere && ( {hatProduktKarten && (
<section class="section-tight"> <section class="section-tight">
<div class="container"> <div class="container">
<div class="character-stories"> <div class="character-stories">
{characterEntries.map(({ char }) => ( {characterEntriesMitProdukt.map(({ char }) => (
<div class="card character-story"> <div class="card character-story">
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>} {char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p> <p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
@@ -57,11 +57,11 @@ const komplettLeer = !hatProduktKarten && !hatWeitere;
</section> </section>
</div> </div>
{hatCharaktere && ( {hatProduktKarten && (
<section class="section-tight"> <section class="section-tight">
<div class="container"> <div class="container">
<div class="character-stories"> <div class="character-stories">
{characterEntries.map(({ char }) => ( {characterEntriesMitProdukt.map(({ char }) => (
<div class="card character-story"> <div class="card character-story">
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>} {char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p> <p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
@@ -60,13 +60,15 @@ const komplettLeer = !hatProduktKarten && !hatWeitere;
</section> </section>
</div> </div>
{hatCharaktere && ( {hatProduktKarten && (
<section class="section-tight"> <section class="section-tight">
<div class="container"> <div class="container">
{/* Die persönlichen Charaktergeschichten stehen als eigene, volle Breite Boxen ÜBER der {/* Die persönlichen Charaktergeschichten stehen als eigene, volle Breite Boxen ÜBER der
Kartenreihe — getrennt von den "Shop"-Karten darunter, die nur Foto/Preis/Infos zeigen. */} Kartenreihe — getrennt von den "Shop"-Karten darunter, die nur Foto/Preis/Infos zeigen.
Nur Charaktere mit echtem Produkt bekommen hier überhaupt eine Box (kein Charakter ohne
Ware im Shop), damit es keine Vorstellungen "ins Leere" gibt. */}
<div class="character-stories"> <div class="character-stories">
{characterEntries.map(({ char }) => ( {characterEntriesMitProdukt.map(({ char }) => (
<div class="card character-story"> <div class="card character-story">
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>} {char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p> <p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>