Tier-Familien-Seiten verfeinert, Foto-Karussell, Partnercode auf Sale-Ausschluss

Mehrere Feinschliff-Punkte auf den Tier-Familien-Seiten (z.B. "Hase"):
- Abstand zwischen der Story-Box und der Kartenreihe verkleinert (vorher
  durch zwei separate Section-Umrandungen unnötig groß) — beide Bereiche
  teilen sich jetzt eine gemeinsame Section statt zwei gestapelte.
- Platzhalter-Karten (Charaktere ohne Foto) bekommen jetzt exakt die
  gleiche Bildhöhe wie eine Karte mit echtem Foto (vorher griff nur die
  allgemeine Mindesthöhe, wirkte kleiner/anders proportioniert).
- Neues optionales Feld `bannerName` an der Unterkategorie: überschreibt
  NUR die große Bannerüberschrift (Breadcrumb/Chips bleiben unverändert)
  — für "Hase" jetzt auf "HasiDog" gesetzt, den bekanntesten Charakter
  der Familie.
- Unterkategorie-Seiten ganz ohne Produkte/Charaktere (z.B. Maschen-
  markierer, Holzknöpfe) zeigen jetzt schon 3 vorbereitete Platzhalter-
  Karten im selben Kartenstil statt nur einer nackten Textzeile — die
  Seite "sieht schon fertig aus", auch bevor echte Produkte da sind.
  Nebenbei einen Bug behoben: bei Unterkategorien ohne Charaktere, aber
  MIT echten Produkten, erschien vorher zusätzlich fälschlich der
  "noch keine Produkte"-Hinweis über der echten Produktreihe.

Neu: Mini-Bildkarussell direkt auf jeder Produktkarte (Shop-Grid,
Charakter-Kacheln, "Weitere Modelle", Sale-Seite, Startseite — überall
wo ProductCard verwendet wird). Sobald ein Produkt mehrere Fotos hat
(Admin-Bereich erlaubt das bereits über das Foto-Listenfeld), erscheinen
dezente ‹/›-Pfeile plus Punkte-Indikator direkt auf der Karte, ganz ohne
erst die Produktseite öffnen zu müssen.

Neu: Partner-Rabattcodes können im Admin jetzt gezielt auf "gilt NICHT
für Artikel, die schon im Sale sind" gestellt werden (giltAufSale:
false) — der Rabatt berechnet sich dann nur noch auf den regulär
bepreisten Teil des Warenkorbs, damit sich der Partner-Rabatt nicht
zusätzlich auf einen bereits reduzierten Preis obendrauf summiert.
Standardverhalten (Feld leer/true) bleibt wie bisher unverändert.

Alle Änderungen lokal mit Test-Daten durchgespielt (mehrere Testfotos,
Testprodukt im Sale + Partnercode mit/ohne giltAufSale, leere
Unterkategorie-Seite) und vor dem Commit wieder zurückgesetzt.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
qcigano
2026-08-02 23:41:27 +02:00
co-authored by Claude Sonnet 5
parent 6fc64e0972
commit e48700f982
13 changed files with 290 additions and 93 deletions
+6 -1
View File
@@ -807,7 +807,7 @@ a:focus-visible, button:focus-visible {
/* Persönliche Charaktergeschichten (Hallo-ich-bin-Texte) auf den Tier-Familien-Seiten — eigene,
volle Breite Karten übereinander gestapelt, GETRENNT von den Shop-Karten darunter (die zeigen
nur noch Foto/Preis/Kaufinfos, keine Geschichten). */
.character-stories { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.2rem; }
.character-stories { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 0.6rem; }
/* Die Story-Karte bekommt einen eigenen, "besonderen" Auftritt statt der schlichten Basis-Karte:
ein großes, dezentes Anführungszeichen als Wasserzeichen (reine Formatierung, kein neuer Text),
@@ -878,6 +878,11 @@ a:focus-visible, button:focus-visible {
echten Produktkarten (ProductCard.astro), damit die Reihe einheitlich aussieht. */
.character-card { display: flex; flex-direction: column; gap: 0.6rem; padding: 1rem; }
.character-card .product-media { position: relative; }
/* Gleiche Bildhöhe wie ein echtes Produktfoto (siehe ProductCard.astro .product-media
.img-placeholder) — vorher griff hier nur die allgemeine .img-placeholder-Mindesthöhe
(160px), wodurch die Platzhalter-Karten kleiner/anders proportioniert wirkten als die
Karte mit echtem Foto daneben. */
.character-card .product-media .img-placeholder { aspect-ratio: 1 / 1; min-height: 0; }
.character-card h3 { font-size: 1.15rem; margin: 0.1rem 0 0; }
.character-card-desc { margin: 0; color: var(--c-text-muted); font-size: 0.92rem; }