Charakter-Geschichtsboxen nur noch für Charaktere mit echtem Produkt
Bisher bekam jeder Charakter einer Tier-Familie (z.B. Hase) automatisch seine eigene Story-Box, auch wenn für ihn noch gar kein Produkt existiert. Das wirkte unfertig (z.B. HasiGott und Mama Hase zeigten volle Persönlichkeitstexte, obwohl beide noch keine Produkte haben). Jetzt erscheint die Story-Box nur noch für Charaktere mit mindestens einem zugeordneten Produkt (aktuell also nur HasiDog). Die kompakten Karten darunter (mit Platzhalter-Foto und "Produkte folgen bald") bleiben für alle Charaktere sichtbar, damit die Familie als Ganzes trotzdem gezeigt wird. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
e212fb17d6
commit
5febeeaa2f
@@ -53,20 +53,22 @@ const weitere = alleProdukte.filter((p) => !zugeordneteSlugs.has(p.slug));
|
|||||||
<>
|
<>
|
||||||
{/* 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. */}
|
||||||
<section class="section-tight">
|
{characterEntries.some(({ product }) => product) && (
|
||||||
<div class="container character-stories">
|
<section class="section-tight">
|
||||||
{characterEntries.map(({ char }) => (
|
<div class="container character-stories">
|
||||||
<div class="card character-story">
|
{characterEntries.filter(({ product }) => product).map(({ char }) => (
|
||||||
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
<div class="card character-story">
|
||||||
<h3>{char.name[lang]}</h3>
|
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
||||||
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
<h3>{char.name[lang]}</h3>
|
||||||
{char.mehrLink && (
|
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
||||||
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">da →</a>
|
{char.mehrLink && (
|
||||||
)}
|
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">da →</a>
|
||||||
</div>
|
)}
|
||||||
))}
|
</div>
|
||||||
</div>
|
))}
|
||||||
</section>
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
||||||
<section class="section-tight">
|
<section class="section-tight">
|
||||||
|
|||||||
@@ -53,20 +53,22 @@ const weitere = alleProdukte.filter((p) => !zugeordneteSlugs.has(p.slug));
|
|||||||
<>
|
<>
|
||||||
{/* 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. */}
|
||||||
<section class="section-tight">
|
{characterEntries.some(({ product }) => product) && (
|
||||||
<div class="container character-stories">
|
<section class="section-tight">
|
||||||
{characterEntries.map(({ char }) => (
|
<div class="container character-stories">
|
||||||
<div class="card character-story">
|
{characterEntries.filter(({ product }) => product).map(({ char }) => (
|
||||||
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
<div class="card character-story">
|
||||||
<h3>{char.name[lang]}</h3>
|
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
||||||
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
<h3>{char.name[lang]}</h3>
|
||||||
{char.mehrLink && (
|
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
||||||
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">here →</a>
|
{char.mehrLink && (
|
||||||
)}
|
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">here →</a>
|
||||||
</div>
|
)}
|
||||||
))}
|
</div>
|
||||||
</div>
|
))}
|
||||||
</section>
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
||||||
<section class="section-tight">
|
<section class="section-tight">
|
||||||
|
|||||||
@@ -53,20 +53,22 @@ const weitere = alleProdukte.filter((p) => !zugeordneteSlugs.has(p.slug));
|
|||||||
<>
|
<>
|
||||||
{/* 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. */}
|
||||||
<section class="section-tight">
|
{characterEntries.some(({ product }) => product) && (
|
||||||
<div class="container character-stories">
|
<section class="section-tight">
|
||||||
{characterEntries.map(({ char }) => (
|
<div class="container character-stories">
|
||||||
<div class="card character-story">
|
{characterEntries.filter(({ product }) => product).map(({ char }) => (
|
||||||
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
<div class="card character-story">
|
||||||
<h3>{char.name[lang]}</h3>
|
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
||||||
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
<h3>{char.name[lang]}</h3>
|
||||||
{char.mehrLink && (
|
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
||||||
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">ici →</a>
|
{char.mehrLink && (
|
||||||
)}
|
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">ici →</a>
|
||||||
</div>
|
)}
|
||||||
))}
|
</div>
|
||||||
</div>
|
))}
|
||||||
</section>
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
||||||
<section class="section-tight">
|
<section class="section-tight">
|
||||||
|
|||||||
@@ -53,20 +53,22 @@ const weitere = alleProdukte.filter((p) => !zugeordneteSlugs.has(p.slug));
|
|||||||
<>
|
<>
|
||||||
{/* 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. */}
|
||||||
<section class="section-tight">
|
{characterEntries.some(({ product }) => product) && (
|
||||||
<div class="container character-stories">
|
<section class="section-tight">
|
||||||
{characterEntries.map(({ char }) => (
|
<div class="container character-stories">
|
||||||
<div class="card character-story">
|
{characterEntries.filter(({ product }) => product).map(({ char }) => (
|
||||||
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
<div class="card character-story">
|
||||||
<h3>{char.name[lang]}</h3>
|
{char.vorstellung && <span class="eyebrow">{char.vorstellung[lang].split("\n")[0]}</span>}
|
||||||
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
<h3>{char.name[lang]}</h3>
|
||||||
{char.mehrLink && (
|
<p>{char.vorstellung ? char.vorstellung[lang].split("\n")[1] : ""}</p>
|
||||||
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">hier →</a>
|
{char.mehrLink && (
|
||||||
)}
|
<a class="btn btn-outline btn-sm" href={char.mehrLink} target="_blank" rel="noopener">hier →</a>
|
||||||
</div>
|
)}
|
||||||
))}
|
</div>
|
||||||
</div>
|
))}
|
||||||
</section>
|
</div>
|
||||||
|
</section>
|
||||||
|
)}
|
||||||
|
|
||||||
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
{/* Kartenreihe wie im Shop-Grid — nur Foto, Preis und Kaufinfos, keine Geschichten. */}
|
||||||
<section class="section-tight">
|
<section class="section-tight">
|
||||||
|
|||||||
Reference in New Issue
Block a user