"Unterkategorien" & "Hauptkategorie" auf der Kategorie-Seite deutlicher erkennbar
Beide Beschriftungen waren identisch schlichter grauer Kleinschrift-Text, kaum von normalem Fliesstext zu unterscheiden. Jetzt: "Unterkategorien" bekommt ein kleines Icon + zwei kurze Verlaufslinien als dezenten Trenner, "Hauptkategorie" zusaetzlich einen Farbverlaufs-Icon-Kreis (Kategorie-Icon) und einen schmalen Leucht-Trenner darunter, der die eigentliche Produktreihe einleitet - bewusst mit den schon vorhandenen Marken-Verlaufsfarben statt neuer Effekte. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
4f8e6d87a7
commit
af0093e401
@@ -32,7 +32,7 @@ const items = productsByCategory(category.slug);
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
{category.subcategories && category.subcategories.length > 0 && (
|
{category.subcategories && category.subcategories.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.subcategoriesLabel}</h2>
|
<h2 class="section-label-sub"><span aria-hidden="true">🗂️</span> {t.shop.subcategoriesLabel}</h2>
|
||||||
<div class="subcategory-chips">
|
<div class="subcategory-chips">
|
||||||
{category.subcategories.map((s) => (
|
{category.subcategories.map((s) => (
|
||||||
<a class="subcategory-chip" href={`/ch/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
<a class="subcategory-chip" href={`/ch/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
||||||
@@ -41,7 +41,10 @@ const items = productsByCategory(category.slug);
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 && (
|
{items.length > 0 && (
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.mainCategoryLabel}</h2>
|
<>
|
||||||
|
<h2 class="kategorie-section-label"><span class="label-icon" aria-hidden="true">{category.icon}</span> {t.shop.mainCategoryLabel}</h2>
|
||||||
|
<div class="kategorie-section-label-rule" aria-hidden="true"></div>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 ? (
|
{items.length > 0 ? (
|
||||||
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const items = productsByCategory(category.slug);
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
{category.subcategories && category.subcategories.length > 0 && (
|
{category.subcategories && category.subcategories.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.subcategoriesLabel}</h2>
|
<h2 class="section-label-sub"><span aria-hidden="true">🗂️</span> {t.shop.subcategoriesLabel}</h2>
|
||||||
<div class="subcategory-chips">
|
<div class="subcategory-chips">
|
||||||
{category.subcategories.map((s) => (
|
{category.subcategories.map((s) => (
|
||||||
<a class="subcategory-chip" href={`/en/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
<a class="subcategory-chip" href={`/en/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
||||||
@@ -41,7 +41,10 @@ const items = productsByCategory(category.slug);
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 && (
|
{items.length > 0 && (
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.mainCategoryLabel}</h2>
|
<>
|
||||||
|
<h2 class="kategorie-section-label"><span class="label-icon" aria-hidden="true">{category.icon}</span> {t.shop.mainCategoryLabel}</h2>
|
||||||
|
<div class="kategorie-section-label-rule" aria-hidden="true"></div>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 ? (
|
{items.length > 0 ? (
|
||||||
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const items = productsByCategory(category.slug);
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
{category.subcategories && category.subcategories.length > 0 && (
|
{category.subcategories && category.subcategories.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.subcategoriesLabel}</h2>
|
<h2 class="section-label-sub"><span aria-hidden="true">🗂️</span> {t.shop.subcategoriesLabel}</h2>
|
||||||
<div class="subcategory-chips">
|
<div class="subcategory-chips">
|
||||||
{category.subcategories.map((s) => (
|
{category.subcategories.map((s) => (
|
||||||
<a class="subcategory-chip" href={`/fr/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
<a class="subcategory-chip" href={`/fr/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
||||||
@@ -41,7 +41,10 @@ const items = productsByCategory(category.slug);
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 && (
|
{items.length > 0 && (
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.mainCategoryLabel}</h2>
|
<>
|
||||||
|
<h2 class="kategorie-section-label"><span class="label-icon" aria-hidden="true">{category.icon}</span> {t.shop.mainCategoryLabel}</h2>
|
||||||
|
<div class="kategorie-section-label-rule" aria-hidden="true"></div>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 ? (
|
{items.length > 0 ? (
|
||||||
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ const items = productsByCategory(category.slug);
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
{category.subcategories && category.subcategories.length > 0 && (
|
{category.subcategories && category.subcategories.length > 0 && (
|
||||||
<>
|
<>
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.subcategoriesLabel}</h2>
|
<h2 class="section-label-sub"><span aria-hidden="true">🗂️</span> {t.shop.subcategoriesLabel}</h2>
|
||||||
<div class="subcategory-chips">
|
<div class="subcategory-chips">
|
||||||
{category.subcategories.map((s) => (
|
{category.subcategories.map((s) => (
|
||||||
<a class="subcategory-chip" href={`/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
<a class="subcategory-chip" href={`/shop/${category.slug}/${s.slug}/`}>{subcategoryChipLabel(s, lang)}</a>
|
||||||
@@ -41,7 +41,10 @@ const items = productsByCategory(category.slug);
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 && (
|
{items.length > 0 && (
|
||||||
<h2 class="text-center small" style="text-transform:uppercase; letter-spacing:0.08em; color:var(--c-text-muted); margin-bottom:0.8rem;">{t.shop.mainCategoryLabel}</h2>
|
<>
|
||||||
|
<h2 class="kategorie-section-label"><span class="label-icon" aria-hidden="true">{category.icon}</span> {t.shop.mainCategoryLabel}</h2>
|
||||||
|
<div class="kategorie-section-label-rule" aria-hidden="true"></div>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
{items.length > 0 ? (
|
{items.length > 0 ? (
|
||||||
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
<div class="grid grid-3">{items.map((p) => <ProductCard product={p} lang={lang} />)}</div>
|
||||||
|
|||||||
+52
-2
@@ -948,14 +948,64 @@ a:focus-visible, button:focus-visible {
|
|||||||
.contact-highlight p { margin: 0 0 0.3rem; }
|
.contact-highlight p { margin: 0 0 0.3rem; }
|
||||||
.contact-highlight p:last-child { margin-bottom: 0; }
|
.contact-highlight p:last-child { margin-bottom: 0; }
|
||||||
|
|
||||||
|
/* "Unterkategorien"-Beschriftung auf der Hauptkategorie-Seite — vorher reiner grauer
|
||||||
|
Kleinschrift-Text, kaum von Fließtext zu unterscheiden. Jetzt: Akzentfarbe statt Grau, ein
|
||||||
|
kleines Icon und zwei kurze Verlaufslinien links/rechts (dezenter "Trenner"-Look statt
|
||||||
|
auffälliger Balken), damit auf einen Blick klar ist: hier beginnt ein neuer Abschnitt. */
|
||||||
|
.section-label-sub {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.6em;
|
||||||
|
font-size: 0.78rem;
|
||||||
|
letter-spacing: 0.16em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--c-accent);
|
||||||
|
margin: 0 0 1rem;
|
||||||
|
}
|
||||||
|
.section-label-sub::before,
|
||||||
|
.section-label-sub::after {
|
||||||
|
content: "";
|
||||||
|
height: 1px;
|
||||||
|
width: clamp(1.6rem, 6vw, 3.2rem);
|
||||||
|
background: linear-gradient(90deg, transparent, var(--c-purple-glow), transparent);
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
/* Hauptkategorie-Überschrift zwischen den Unterkategorie-Chips und der eigentlichen
|
/* Hauptkategorie-Überschrift zwischen den Unterkategorie-Chips und der eigentlichen
|
||||||
Produktreihe auf der Kategorie-Seite — macht klar, welche Hauptkategorie man gerade
|
Produktreihe auf der Kategorie-Seite — macht klar, welche Hauptkategorie man gerade
|
||||||
durchstöbert, fällt bewusst etwas mehr auf als die stille "Unterkategorien"-Beschriftung. */
|
durchstöbert. Deutlich kräftiger als die "Unterkategorien"-Beschriftung (größer, mit
|
||||||
|
Verlaufs-Icon-Kreis und einem schmalen Leucht-Trenner darunter), weil sie die eigentliche
|
||||||
|
Produktreihe einleitet — bewusst nicht übertrieben (kein neuer Farbton, keine Animation). */
|
||||||
.kategorie-section-label {
|
.kategorie-section-label {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.55em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 1.3rem;
|
font-size: 1.3rem;
|
||||||
color: var(--c-accent);
|
color: var(--c-accent);
|
||||||
margin: 2.2rem 0 1.3rem;
|
margin: 2.2rem 0 0;
|
||||||
|
}
|
||||||
|
.kategorie-section-label .label-icon {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 1.9rem;
|
||||||
|
height: 1.9rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
font-size: 1rem;
|
||||||
|
background: linear-gradient(135deg, var(--c-accent), var(--c-purple-glow) 45%, var(--c-sale) 100%);
|
||||||
|
color: #08181c;
|
||||||
|
}
|
||||||
|
.kategorie-section-label-rule {
|
||||||
|
height: 2px;
|
||||||
|
width: clamp(3.5rem, 16vw, 7rem);
|
||||||
|
margin: 0.9rem auto 1.3rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: linear-gradient(90deg, transparent, var(--c-accent), var(--c-purple-glow), var(--c-sale), transparent);
|
||||||
|
opacity: 0.85;
|
||||||
}
|
}
|
||||||
@media (max-width: 800px) { .shop-layout { grid-template-columns: 1fr; } }
|
@media (max-width: 800px) { .shop-layout { grid-template-columns: 1fr; } }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user