Unterkategorien-Chips zeigen wieder den Charakternamen (z.B. Hase „HasiDog")
Seit der Umstellung auf "eine Seite pro Tier-Familie" hießen die Chips nur noch generisch (Kuh, Hase, Wal, ...). Jetzt zeigen sie zusätzlich den ersten/bekanntesten Charakter der Serie in Anführungszeichen — z.B. "Hase „HasiDog"" — behalten dabei aber die neue Datenstruktur (Subcategory.characters) bei, damit Familien mit mehreren Charakteren (wie Hase: HasiDog, HasiGott, Mama Hase) technisch weiterhin funktionieren. Neue Helper-Funktion subcategoryChipLabel() in categories.ts, pro Sprache mit den richtigen Anführungszeichen (DE/CH „...", EN "...", FR « ... »). Verifiziert per Puppeteer: alle 6 Chips zeigen exakt die gewünschten Labels.
This commit is contained in:
@@ -55,3 +55,20 @@ export function getCategory(slug: string): Category | undefined {
|
||||
export function getSubcategory(categorySlug: string, subSlug: string): Subcategory | undefined {
|
||||
return getCategory(categorySlug)?.subcategories?.find((s) => s.slug === subSlug);
|
||||
}
|
||||
|
||||
const ZITATZEICHEN: Record<Locale, [string, string]> = {
|
||||
de: ["„", "”"],
|
||||
en: ['"', '"'],
|
||||
ch: ["„", "”"],
|
||||
fr: ["« ", " »"],
|
||||
};
|
||||
|
||||
// Freundliches Kurz-Label für die Unterkategorien-Chips (z.B. "Hase „HasiDog"") — nennt neben
|
||||
// dem Familiennamen den ersten/bekanntesten Charakter der Serie, auch wenn die Seite selbst
|
||||
// inzwischen mehrere Charaktere zeigen kann (siehe Subcategory.characters).
|
||||
export function subcategoryChipLabel(sub: Subcategory, lang: Locale): string {
|
||||
const erster = sub.characters?.[0];
|
||||
if (!erster) return sub.name[lang];
|
||||
const [auf, zu] = ZITATZEICHEN[lang];
|
||||
return `${sub.name[lang]} ${auf}${erster.name[lang]}${zu}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user