diff --git a/public/admin/config.yml b/public/admin/config.yml index 243aed1..e634d86 100644 --- a/public/admin/config.yml +++ b/public/admin/config.yml @@ -134,25 +134,12 @@ collections: - { label: Lieferumfang, name: lieferumfang, widget: string, required: false } - { label: Pflegehinweise, name: pflegehinweise, widget: string, required: false } - { label: Lieferzeit, name: lieferzeit, widget: string, required: false } - - label: "đŸ©” Kundenrezensionen" - name: bewertungen - widget: list - required: false - summary: "{{fields.name}} — {{fields.bewertung}}/5" - hint: "WICHTIG: Hier nur echte RĂŒckmeldungen deiner Kund:innen eintragen (z.B. per E-Mail/Nachricht erhalten) — erfundene Bewertungen sind in Deutschland und der EU gesetzlich verboten (Gesetz gegen unlauteren Wettbewerb). Ohne Eintrag hier bleibt der Bewertungsbereich beim Produkt einfach leer, das ist völlig normal fĂŒr neue Produkte." - fields: - - { label: "Name (z.B. Vorname + Initiale des Nachnamens)", name: name, widget: string } - - { label: "Bewertung (1-5 Herzen)", name: bewertung, widget: number, value_type: int, min: 1, max: 5 } - - label: "Text der Bewertung (optional)" - name: text - widget: object - required: false - fields: - - { label: Deutsch, name: de, widget: text, required: false } - - { label: Englisch, name: en, widget: text, required: false } - - { label: "Schweizerdeutsch", name: ch, widget: text, required: false } - - { label: Französisch, name: fr, widget: text, required: false } - - { label: "Datum (optional)", name: datum, widget: datetime, format: "YYYY-MM-DD", date_format: "YYYY-MM-DD", time_format: false, required: false } + # Kein "Bewertungen"-Feld mehr hier: Kund:innen schreiben ihre Rezensionen jetzt direkt auf + # der Produktseite selbst (Herzen + Text), die Durchschnittsbewertung wird automatisch + # berechnet und ĂŒberall auf der Seite live angezeigt (Produktkarten, Filter, Startseite). + # VanVan muss dafĂŒr nichts mehr im Adminbereich eintragen. Das Datenfeld "bewertungen" bleibt + # im Hintergrund als technische Grundlage bestehen (src/data/products.ts), ist hier aber + # bewusst nicht mehr als Formularfeld sichtbar. - label: "Interner Code (URL) — nach Veröffentlichung nicht mehr Ă€ndern!" name: slug widget: string diff --git a/src/components/ProductCard.astro b/src/components/ProductCard.astro index 092ad28..7494b37 100644 --- a/src/components/ProductCard.astro +++ b/src/components/ProductCard.astro @@ -26,7 +26,7 @@ const badgeLabel: Record = { const name = product.name[lang]; const desc = product.beschreibung[lang]; --- - +
{product.bilder && product.bilder.length > 0 ? ( <> @@ -59,9 +59,23 @@ const desc = product.beschreibung[lang];

{name}

- {bewertungSchnitt !== null && ( - - )} + {/* Immer gerendert (auch ohne Server-Bewertungen), aber standardmĂ€ĂŸig versteckt — ein + gemeinsames Skript (siehe unten) blendet die Zeile automatisch ein, sobald auf diesem + GerĂ€t lokal gespeicherte Kundenrezensionen fĂŒr dieses Produkt dazukommen (siehe + scripts/reviews.ts), egal auf welcher Seite die Karte gerade angezeigt wird. */} + + {bewertungSchnitt !== null && ( + + )} +

{desc.slice(0, 78)}{desc.length > 78 ? "
" : ""}

{product.preisAlt && {formatPrice(product.preisAlt, lang)}} @@ -146,6 +160,39 @@ const desc = product.beschreibung[lang]; }, true); + +