Commit Graph
216 Commits
Author SHA1 Message Date
qciganoandClaude Sonnet 5 3d06c5379e Zwei weitere interne Vorschau-Seiten: normale und angemeldete Ansicht
Ergänzt /demo-abo/ (bereits vorhanden) um:
- /demo-normal/ — Shop wie ein nicht angemeldeter Besucher ihn sieht (räumt
  ein evtl. simuliertes Konto im Browser vorher auf)
- /demo-konto/ — Kundenkonto einer angemeldeten Person OHNE Abo (Treuebonus
  dadurch im gesperrten Zustand zu sehen)

Damit gibt es jetzt für jede Sicht einen eigenen Link. Beide noindex + aus
der Sitemap ausgeschlossen, wie /demo-abo/.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 18:23:27 +02:00
qciganoandClaude Sonnet 5 25055d9345 Konto-Dropdown: Menüpunkte sauber ausgerichtet statt schiefem Emoji-Versatz
"Mein Konto" und "Abmelden" starteten je nach Breite des Emojis (👤 vs 🚪)
an leicht unterschiedlichen Stellen. Jetzt echtes Flex-Layout mit fester
Icon-Spalte (1.2em, zentriert) — beide Labels stehen exakt untereinander.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:52:32 +02:00
qciganoandClaude Sonnet 5 2c6d4dedae Abo-Bereich visuell auf Premium-Niveau gehoben
Plan-Karten: eigenes Icon je Stufe (🌱/🌿/👑), Rabatt als farbiger Chip statt
reinem Fließtext, Prämien-Intervalle als eigene Chips (aus den admin-
konfigurierten Werten berechnet), Preis mit Farbverlauf, sanft pulsierender
Rahmen für die aktuell gebuchte Stufe.

Abo-Status: Tabelle durch ein Stat-Kachel-Raster ersetzt (Icon + Label + Wert
pro Kennzahl, Rabatt farblich hervorgehoben), echte Fortschrittsbalken statt
Text für den Weg zum nächsten Teddy (Prozent aus dem admin-konfigurierten
Intervall berechnet), "Bereits erhalten" als Badge-Chip, verfügbare Prämien
als eigene, leicht glühende Karten statt schlichter Buttons.

Benachrichtigungen: farbiger Icon-Kreis pro Ereignistyp (Erfolg/Prämie/
Warnung/Abbruch/Info) statt einheitlicher grauer Liste — auf einen Blick
erkennbar, worum es bei jedem Eintrag geht.

Alles in 4 Sprachen (DE/EN/CH/FR), neues i18n-Template aboRewardEveryLabel
für die Prämien-Intervall-Chips.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:49:24 +02:00
qciganoandClaude Sonnet 5 28ded7faae Sprach- und Konto-Dropdown öffnen jetzt automatisch beim Drüberfahren
Bisher musste man auf "Deutsch ▾" bzw. das Konto-Menü in der Kopfzeile klicken,
damit sich das Untermenü öffnet. Jetzt reicht auf dem Desktop einfaches
Drüberfahren mit der Maus (mit kurzer Schließverzögerung beim Verlassen,
damit der Wechsel vom Button zum Menü nicht sofort wieder zuklappt) — Klick
funktioniert als Fallback für Touch-Geräte/Tastatur weiterhin ganz normal.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:37:51 +02:00
qciganoandClaude Sonnet 5 fec6626d1a Interne Vorschau-Seite /demo-abo/ für Konto mit aktivem Abo
Neue, nicht verlinkte Seite (noindex, aus der Sitemap ausgeschlossen), die
beim Aufruf ein Demo-Konto mit aktivem "Großes Abo" (14 bezahlte Monate,
verfügbare + bereits eingelöste Teddy-Prämien, mehrere Benachrichtigungen,
laufender Treuebonus-Fortschritt) ins localStorage DES AUFRUFENDEN BROWSERS
schreibt und direkt zum Abo-Tab im Kundenkonto weiterleitet — ändert nichts
an echten Kundendaten, jede Person sieht die Vorschau nur bei sich selbst.

Dafür neu: Layout.astro bekommt eine noindex-Prop, und die Kontoseite
unterstützt jetzt Deep-Links per URL-Hash (#abo, #treuebonus, …), damit die
Vorschau direkt im richtigen Tab landet.

Separat per `wrangler pages deploy --branch=vorschau-abo` auf eine eigene
Vorschau-URL deployed (vorschau-abo.vans-diy-bastelbedarf.pages.dev) —
komplett getrennt von der normalen Produktions-URL, wird nicht durch den
GitHub-Actions-Workflow (nur branch=main) überschrieben.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:34:06 +02:00
qciganoandClaude Sonnet 5 380a32db87 Abo-Benachrichtigungen: informativer Leerzustand statt "Noch keine Benachrichtigungen."
Erklärt jetzt direkt, was in dieser Liste erscheinen wird (Zahlungen, neue
Teddy-Prämien, Stufenwechsel), statt nur eine leere Aussage zu zeigen — in
allen 4 Sprachen.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:28:11 +02:00
qciganoandClaude Sonnet 5 902516753d Treuebonus nur noch mit aktivem Abo nutzbar
Der Treuebonus (10 Bestellungen → 20% Rabatt) sammelt jetzt nur noch, solange
ein aktives, bezahltes Abo besteht — ohne Abo bleibt der Fortschritt einfach
stehen, statt weiterzuzählen (account.ts: registriereAbgeschlosseneBestellung()).
Ebenso greift ein bereits freigeschalteter Rabatt im Warenkorb/Checkout nur,
solange das Abo aktiv ist (cart.ts: treuebonusDiscount()).

Im Kundenkonto wird die Treuebonus-Karte ohne aktives Abo nicht einfach
ausgeblendet, sondern zeigt bewusst einen einladenden gesperrten Zustand
("🔒 Nur mit aktivem Abo verfügbar" + Button "Zum Abo →") statt der üblichen
Fortschrittsanzeige — soll als klarer Anreiz fürs Abo wirken, nicht als totes
Feature. Dieselbe Sperre greift auch im Warenkorb: das Auswahl-Radio/Badge für
den Treuebonus-Artikel erscheint nur noch bei tatsächlich aktivem Abo, damit
nie ein Rabatt suggeriert wird, der beim Checkout dann doch nicht greift.

Alles in 4 Sprachen (DE/EN/CH/FR).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:23:41 +02:00
qciganoandClaude Sonnet 5 64110484de Konto-Kopfkarte: "Meine Daten"-Button statt Abo-Button
Der "Mein Abo verwalten"-Button in der Kopfkarte fällt wieder weg — der
Zugriff aufs Abo läuft ab jetzt nur noch über die eigene "Mein Abo"-Nav-
Kachel. Stattdessen wandert "Meine Daten" aus der Schnellnavigation direkt
in die Kopfkarte: ein neuer, gleich premium gestylter Button (Teal/Lila statt
Gold, gleiches wanderndes Glanzlicht) unten rechts in der Karte, der zum
Profil-Bereich springt.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:11:20 +02:00
qciganoandClaude Sonnet 5 a222d6c96e Abo-System: VanVan kann jetzt wirklich alles im Admin einstellen
Bisher waren nur Preis, Rabatt-% und ein paar Verhaltensregeln im CMS
editierbar — Namen, Vorteilstexte und die Teddy-Vergabe-Intervalle steckten
fest im Code. Jetzt ist pro Abo-Stufe (Klein/Mittel/Groß) direkt im
Adminbereich einstellbar:

- Name & Vorteilstext der Stufe, in allen 4 Sprachen einzeln
- Ob die Stufe aktuell überhaupt neu buchbar ist (bestehende Abonnent:innen
  behalten ihre Vorteile trotzdem, im Kundenkonto wird die Stufe nur für neue
  Buchungen ausgegraut mit "Derzeit nicht buchbar")
- Nach wie vielen Monaten es den kleinen/großen Teddy gibt (ersetzt die vorher
  fest verankerten 6-/12-Monats-Abstände)
- Welches Produkt als "kleiner"/"großer" Teddy für die Prämien-Einlösung
  verwendet wird (Produktauswahl statt festem Slug im Code)

Alle Berechnungen (Meilensteine, Fortschrittsanzeige) laufen jetzt komplett
über diese Admin-Werte statt über Konstanten im Code. Konto-Plan-Karten in
allen 4 Sprachen zeigen die admin-gepflegten Texte live an.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 17:03:28 +02:00
qciganoandClaude Sonnet 5 208d995941 Abosystem mit dauerhaften Rabatten und Teddy-Prämien
Drei Mitgliedschaftsstufen (Klein 4,99€/5%, Mittel 9,99€/10%, Groß 19,99€/20%)
mit automatischem Bestellrabatt und Teddy-Prämien nach Meilensteinen (12-Monats-
Rhythmus bzw. 6+12 bei Groß). Preise/Rabatte und alle Admin-Regeln (Kombinier-
barkeit mit anderen Rabatten, Fortsetzung bei Wiederanmeldung, Monate über
Stufen zusammenzählen, kostenloser Versand bei Prämie) sind über Decap CMS
einstellbar (src/content/abo-einstellungen.json).

Neuer "Mein Abo"-Bereich im Kundenkonto (6. Nav-Kachel) mit Plan-Vergleich,
Live-Status (Laufzeit, nächste Zahlung, Rabatt, Fortschritt bis zur nächsten
Prämie), Einlösen-Buttons für freigeschaltete Teddys, Kündigen/Wechseln sowie
einer übersetzten Benachrichtigungsliste. Dazu ein extra hervorgehobener
"Mein Abo verwalten"-Button neben Abmelden in der Kopfkarte.

Warenkorb/Checkout rechnen den Abo-Rabatt korrekt in die Summe ein und stellen
eingelöste Teddys als 0€-Gratisposition dar. Alles in 4 Sprachen (DE/EN/CH/FR).

Unterwegs zwei echte Bugs gefunden und behoben: addMonateISO() vermischte
lokale Zeit mit toISOString() (UTC) und verlor dadurch bei jeder Monats-
verlängerung reproduzierbar einen Tag; die Checkout-Positionsliste zeigte für
Gratis-Prämien fälschlich den vollen Preis statt 0€.

Wie beim Treuebonus gilt: Speicherung aktuell im localStorage des Geräts
(Phase 1) statt einer echten geräteübergreifenden Datenbank — folgt mit der
Zahlungsanbindung in Phase 2.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 16:54:25 +02:00
qciganoandClaude Sonnet 5 0cb7d3ca65 Treuebonus-System: 10 abgeschlossene Bestellungen = 20% Rabatt auf einen frei wählbaren Artikel
Neue eigene Kiste "Treuebonus" im Kundenkonto (5. Nav-Tab, grüner Akzent)
zeigt den Fortschritt ("X von 10 Bestellungen") mit Fortschrittsbalken und
Restanzahl-Hinweis, nach Freischaltung eine Erfolgsmeldung mit Link zum
Warenkorb. Es zählen ausschließlich erfolgreich abgeschickte, bezahlte
Bestellungen (in Phase 1: jede erfolgreich abgeschlossene Demo-Bestellung
im Checkout) — abgebrochene Bestellungen zählen nie mit.

Sobald der Bonus aktiv ist, erscheint im Warenkorb ein Hinweis-Banner und
bei jedem Artikel eine Auswahl ("Für 20% Treuebonus auswählen") — es kann
immer nur EIN Artikel gewählt werden (Radiobutton-Verhalten über alle
Positionen hinweg). Der Rabatt fließt automatisch in Warenkorb- und
Checkout-Summe ein (neue treuebonusDiscount()-Funktion in scripts/cart.ts,
in totalDiscount() eingerechnet). Nach erfolgreichem Bestellabschluss wird
die Belohnung als eingelöst markiert und der Fortschrittszähler beginnt
wieder bei 0 — beides dauerhaft im Konto (localStorage, Phase 1) gespeichert
und eindeutig diesem Kundenkonto zugeordnet.

Neue Funktionen in scripts/account.ts: registriereAbgeschlosseneBestellung(),
setTreuebonusArtikel(), treuebonusEinloesen(), treueFortschritt(). Beide
Zustandsübergänge (Fortschritt zählen vs. Belohnung einlösen) end-to-end
über den echten Checkout-Ablauf getestet und verifiziert.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 15:03:48 +02:00
qciganoandClaude Sonnet 5 d7ba1b9bff Konto: echte "Rechnung downloaden"-Funktion neben "Rechnung ansehen"
Neuer Button lädt die Rechnung als echte PDF-Datei herunter — komplett
clientseitig mit jsPDF + jspdf-autotable (beide MIT-lizenziert, per
dynamic import erst beim Klick nachgeladen, kein Einfluss auf die normale
Seitenladezeit). Zeigt exakt dieselben Daten wie der "Rechnung ansehen"-
Dialog (Rechnungsnummer/-datum, Verkäufer, Empfänger, Artikeltabelle,
Gesamtbetrag, §19-UStG-Hinweis), sauber formatiert mit Kopfzeile, zwei
Spalten für Verkäufer/Empfänger und einer echten Tabelle. Datei heißt
"Rechnung-<Bestellnummer>.pdf". Mit Node-Testskript verifiziert, dass die
PDF-Erzeugung fehlerfrei ein valides PDF mit korrekten Umlauten liefert.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 14:34:21 +02:00
qciganoandClaude Sonnet 5 e523d6f0e5 Kundenkonto: einheitlicher "premium" Look für alle Kisten + größerer Avatar
Größeres Profilbild in der "Mein Konto"-Karte. Alle vier Navigations-
Knöpfe (Bestellungen/Offene Sendungen/Wunschliste/Meine Daten) haben jetzt
denselben besonderen Stil wie vorher nur "Meine Daten": wanderndes Verlaufs-
licht in der eigenen Akzentfarbe, pulsierender Glanzrand, funkelndes
Sternchen und Farbverlauf-Text — nur die Farbe unterscheidet sich pro
Knopf. Der "Meine Daten"-Inhaltsbereich (Profilkarte) bekommt dieselbe
"mega besondere" Behandlung wie die Begrüßungs-Karte (wandernder Verlaufs-
rand, Farbschein, Glanz-Sweep, Sternchen). Bestellkarten bekommen einen
passenden dezenten Glanz-Sweep und pulsierenden Schein in ihrer Status-
farbe für ein stimmigeres Gesamtbild.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 14:20:17 +02:00
qciganoandClaude Sonnet 5 8873c5e8eb Konto-Navigation: Bestellungen-Zahl zählt jetzt nur angekommene Bestellungen
Die Zahl im "Bestellungen"-Kasten zeigte bisher alle Bestellungen, obwohl
der Tab selbst nur die angekommenen anzeigt. Jetzt stimmen Zahl und Liste
überein. "Offene Sendungen" zählt entsprechend alles, was noch nicht
abgeschlossen ist (nicht nur "versendet"), passend zum Tab-Filter.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 14:12:31 +02:00
qciganoandClaude Sonnet 5 e2a19db663 Konto: Rechnung direkt auf der Seite ansehen statt nur Download-Platzhalter
Der bisherige "Rechnung (PDF)"-Knopf war ein toter Link (href="#"). Jetzt
öffnet "Rechnung ansehen" pro Bestellung ein natives Dialog-Fenster direkt
auf der Seite mit vollständiger Rechnung: Rechnungsnummer/-datum,
Verkäufer, Rechnungsempfänger (live mit dem aktuellen Kontonamen befüllt),
Artikeltabelle mit Einzel-/Gesamtpreisen und dem §19-UStG-Hinweis — kein
Herunterladen nötig, schließbar per Kreuz, Schließen-Knopf oder Klick auf
den abgedunkelten Hintergrund.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 14:10:25 +02:00
qciganoandClaude Sonnet 5 fac404190f Begrüßungs-Karte im Kundenkonto besonders gestaltet
Wandernder Mehrfarb-Verlaufsrand, sanfter Farbschein im Hintergrund, ein
Glanz-Sweep, der regelmäßig durchläuft, ein pulsierender Leucht-Ring um
den Avatar und zwei funkelnde -Sternchen — dieselbe Formsprache wie beim
"Meine Daten"-Knopf, nur größer und ruhiger für gute Lesbarkeit.
Respektiert prefers-reduced-motion.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 14:02:28 +02:00
qciganoandClaude Sonnet 5 57183825a0 Konto: "Meine Bestellungen"-Tab zeigt jetzt nur angekommene Bestellungen
Bisher zeigte der Bestellungen-Tab ALLE Bestellungen (Überschneidung mit
"Offene Sendungen"). Jetzt ist es eine echte Trennung: "Bestellungen"
zeigt nur bereits angekommene/abgeschlossene, "Offene Sendungen" nur die
noch nicht angekommenen. Eigene Leermeldung, falls noch keine Bestellung
angekommen ist.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:59:03 +02:00
qciganoandClaude Sonnet 5 5434801dda Konto: Name jetzt fest wie E-Mail/Lieferadresse, nur Benutzername änderbar
Der echte Name war bisher versehentlich ebenfalls editierbar. Jetzt steht
er als reine Anzeige in derselben Tabelle wie E-Mail und Lieferadresse —
änderbar bleibt ausschließlich der optionale Benutzername (Spitzname).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:56:00 +02:00
qciganoandClaude Sonnet 5 279960b950 Konto-Navigation: Reihenfolge "Offene Sendungen" vor "Wunschliste" getauscht
Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:49:23 +02:00
qciganoandClaude Sonnet 5 11d6f6c6e4 "Meine Daten"-Knopf im Kontobereich besonders gestaltet
Sanft wanderndes Mehrfarb-Verlaufslicht im Hintergrund, pulsierender
Glanzrand, funkelndes -Sternchen und ein Farbverlauf-Text — hebt sich
jetzt deutlich von den anderen drei Knöpfen ab, ohne kitschig zu wirken.
Respektiert prefers-reduced-motion.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:45:49 +02:00
qciganoandClaude Sonnet 5 f8864b39da Konto-Dashboard: kein Tab beim Laden aktiv, "Meine Daten" jetzt auch ein Tab
Bisher war "Bestellungen" beim Öffnen der Seite automatisch aktiv. Jetzt
ist standardmäßig KEIN Knopf gedrückt — man muss selbst auswählen, was man
sehen möchte. Solange nichts angeklickt ist, steht direkt "Zuletzt
angesehen" da. "Meine Daten" ist jetzt ein vierter, gleichwertiger Tab-
Knopf (👤, goldener Akzent) statt permanent sichtbar — genau wie
Bestellungen/Wunschliste/Offene Sendungen erscheint das Profilformular
erst nach Klick.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:40:10 +02:00
qciganoandClaude Sonnet 5 b5be6e0e61 Konto-Navigation: Klick zeigt jetzt wirklich NUR den passenden Bereich
Die Schnellnav-Leiste sprang bisher nur zum Abschnitt (der Rest blieb
sichtbar). Jetzt sind es echte Filter-Tabs: Klick auf "Bestellungen" /
"Wunschliste" / "Offene Sendungen" blendet alle anderen Bereiche komplett
aus und zeigt nur den ausgewählten. "Offene Sendungen" filtert zusätzlich
innerhalb der Bestellungen auf noch nicht abgeschlossene. Der aktive Tab
bleibt farbig hinterlegt und unterstrichen erkennbar. Start-Ansicht:
Bestellungen-Tab aktiv.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:33:31 +02:00
qciganoandClaude Sonnet 5 fd7b5f4ea5 Konto: Benutzername (Spitzname) im Profil über dem echten Namen anzeigen
Reihenfolge im "Meine Daten"-Formular getauscht, wie gewünscht.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:27:44 +02:00
qciganoandClaude Sonnet 5 4b78ebb270 Konto-Dashboard: Statistik-Kästchen zu klickbarer Schnellnavigations-Leiste
Die drei losen "Bestellungen/Wunschliste/Offene Sendungen"-Kästchen waren
nur Zahlen ohne Verbindung zu den Abschnitten weiter unten. Jetzt sind sie
eine zusammenhängende Leiste direkt über "Meine Bestellungen" — jedes
Segment ist ein echter Sprunglink zum passenden Abschnitt (📦 Bestellungen,
🩵 Wunschliste, 🚚 Offene Sendungen), mit eigener Akzentfarbe je Segment und
einem Hover-Unterstrich, der die Klickbarkeit deutlich macht.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:25:38 +02:00
qciganoandClaude Sonnet 5 3c0747eb5b Bestellstatus im Kundenkonto deutlich sichtbar unterscheiden (unterwegs vs. angekommen)
Bisher unterschied sich der Status nur durch eine kleine, ähnlich gefärbte
Pille — auf einen Blick kaum zu erkennen. Jetzt bekommt jede Bestellkarte
einen eigenen farbigen Rand plus dezenten Farbschein passend zum Status
(Blau = versendet/unterwegs, Grün = abgeschlossen/angekommen, Gold = in
Bearbeitung/Versand wird vorbereitet, Violett = bezahlt), zusätzlich ein
Icon direkt in der Status-Pille (🚚 unterwegs,  angekommen, usw.) — genau
wie schon bei den Zahlungskarten im Checkout.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:19:52 +02:00
qciganoandClaude Sonnet 5 5b14630986 Konto: echter Name jetzt getrennt vom optionalen Benutzernamen (Spitzname)
Bisher gab es nur ein "Benutzername"-Feld, das überall (Begrüßung, Header,
Rezensionen) angezeigt wurde. Jetzt gibt es zwei getrennte Felder: einen
festen "Name" (Pflichtangabe, z.B. für Bestellungen) und einen optionalen
"Benutzername (Spitzname)" als Bonus, falls man lieber mit einem Spitznamen
statt dem echten Namen angezeigt werden möchte.

Überall, wo bisher nur der Benutzername angezeigt wurde (Header-Konto-Menü,
Begrüßung im Dashboard, Rezensions-Autorenname, "angemeldet als"-Hinweis),
gilt jetzt: Spitzname bevorzugt, sonst echter Name als Rückfalloption
(neue anzeigeName()-Hilfsfunktion in scripts/account.ts).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 13:16:04 +02:00
qciganoandClaude Sonnet 5 7549ec239b Zahlungskarten im Checkout kräftiger/edler gestaltet
Jede Zahlungsart-Karte hat jetzt einen deutlich sichtbaren Farbschein in
der jeweiligen Markenfarbe (auch im Ruhezustand, nicht erst bei Hover),
einen feinen Farbstreifen am oberen Rand und einen dezenten Glanz-Sweep
beim Hover — wirkt hochwertiger/"geiler", bleibt aber gedeckt genug fürs
dunkle Gesamtdesign. Kreditkarte (Visa/Mastercard) bekommt einen eigenen
Gold-Akzent statt der bisherigen, kaum sichtbaren Farbe.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 12:48:20 +02:00
qciganoandClaude Sonnet 5 c9a9370039 Checkout & Login: echte Markenlogos statt Platzhaltern, Vorschau-Link fürs Kundenkonto
Nach Recherche zu den Markenrichtlinien von PayPal, Klarna, Visa und
Mastercard: Zahlungsoptionen im Checkout zeigen jetzt echte Markenlogos in
den offiziellen Farben (PayPal- und Klarna-Icon, Visa-Wortmarke auf Weiß,
Mastercard-Kreise in Rot/Orange unverändert nebeneinander) statt grober
Buchstaben-/Emoji-Platzhalter — genau die Verwendung, die die jeweiligen
Markenrichtlinien für die Kennzeichnung akzeptierter Zahlungsarten
vorsehen. Dieselbe PayPal-Grafik jetzt auch beim Social-Login auf der
Anmeldeseite statt eines schlichten "P".

Zusätzlich: Ein Vorschau-Link auf der Anmeldeseite meldet mit einem Demo-
Konto an und führt direkt zum Kundenbereich-Dashboard — bleibt dauerhaft
erreichbar, damit VanVan und wir jederzeit sehen können, wie der Bereich
für angemeldete Kund:innen aussieht, ohne das Formular jedes Mal
auszufüllen.

Der Phase-1-Demo-Hinweis auf Checkout- und Anmeldeseite steht jetzt am
Ende der Seite statt direkt unter der Überschrift, damit zuerst der
fertige, professionelle Eindruck zählt.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 11:41:03 +02:00
vansdiyundbastelbedarfandGitHub 912c77b625 Update 🚚 Versandkosten-Staffel “staffel” 2026-08-03 09:49:55 +02:00
qciganoandClaude Sonnet 5 ab3bf675b9 Login-Seite professionalisiert: Social-Login-Optionen, Passwort-Toggle, DSGVO-Hinweis
Nach Recherche zu üblichen Anmelde-Standards bei deutschen Online-Shops:
Ergänzt Social-Login-Buttons für Google, Apple und PayPal (PayPal explizit
wegen seiner Marktdominanz bei Zahlungen in DE/DACH), da Social Login
Registrierung/Login deutlich beschleunigt und laut Studien die Conversion
spürbar erhöht. Die Buttons sind noch nicht funktional (kein OAuth ohne
eigenes Backend) — ein Klick zeigt stattdessen ehrlich einen Phase-2-
Hinweis, statt eine Anmeldung vorzutäuschen.

Zusätzlich: Passwort-Sichtbarkeits-Toggle (Augen-Icon, eine der
wirkungsvollsten Login-UX-Verbesserungen laut UX-Recherche), "Angemeldet
bleiben"-Checkbox, sowie ein DSGVO-konformer Hinweis mit Link zur
Datenschutzerklärung unterhalb des Formulars. Gastbestellung ("Neu hier?")
war als gleichwertige Alternative schon vorhanden und bleibt bestehen —
Gastbestellung gilt laut EDPB-Empfehlung als Standard neben der freiwilligen
Registrierung.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 04:33:12 +02:00
qciganoandClaude Sonnet 5 cc3e84bd98 Fix: Kategorie-/Bewertungs-Dropdown im Shop-Filter kaputt + horizontaler Scrollbalken
Beim Einbau der Kundenbewertungen in den Shop-Filter (voriger Commit) landete
ein "import" mitten in einem define:vars-Skript, das aber gar keine Module
unterstützt. Dadurch brach das komplette Filter-Skript auf allen 4 Sprachen
mit einem SyntaxError ab, sobald es geladen wurde – Kategorie-Dropdown,
Mindestbewertung-Dropdown und Sortierung reagierten dadurch gar nicht mehr
auf Klicks. Die lokal gespeicherten Kundenbewertungen werden jetzt in einem
eigenen, echten Modul-Skript direkt danach eingerechnet.

Zusätzlich: horizontaler Scrollbalken im Dropdown-Menü entfernt (nur noch
vertikal scrollbar), wie gewünscht.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 04:26:30 +02:00
qciganoandClaude Sonnet 5 6f10e41386 Kundenrezensionen jetzt vollständig durch Kund:innen selbst, nicht mehr über Admin
Bisher musste VanVan Bewertungen manuell im CMS eintragen. Jetzt können
angemeldete Kund:innen Rezensionen direkt auf der Produktseite abgeben
(inkl. Herzen-Sternebewertung und Text). Die Durchschnittsbewertung wird
automatisch berechnet und überall live eingebunden: Produktkarten
(shop-weit), Produktdetailseite, Shop-Filter/Sortierung nach Bewertung
und die Kundenstimmen-Sektion auf der Startseite.

Neu dazu: ein Kontobereich fürs Login (Demo-Login per E-Mail), Profilfoto-
Upload, wählbarer Benutzername, und ein Header-Kontomenü, das nur bei
Anmeldung erscheint. Jede Bestellung im Konto-Dashboard hat einen
"Rezension schreiben"-Link, der direkt zur Produktseite führt und dort
per Bestellnummer verknüpft wird; im Profil ist dann sofort sichtbar,
welche Bestellungen schon bewertet wurden.

Technisch als reines Frontend/localStorage-System umgesetzt (kein Backend
in dieser Phase), analog zum bestehenden Warenkorb-Muster. Admin-CMS-Feld
für manuelle Bewertungen entfernt, da Rezensionen jetzt ausschließlich von
Kund:innen kommen (auch aus rechtlichen Gründen: keine Fake-Bewertungen).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 04:17:04 +02:00
qciganoandClaude Sonnet 5 d27a858d8f Mindestbewertung-Filter: echte Lila-Babyblau-Verlaufsherzen statt System-Emoji
Im Filter "Mindestbewertung" wurden bisher schlichte 🩵-Emojis angezeigt. Grund:
das war ein natives <select>, und in der browsereigenen Auswahlliste lassen
sich weder Farbverlaeufe noch eigene Grafiken darstellen - der Browser rendert
dort nur das System-Emoji in seiner festen hellblauen Farbe.

Ersetzt durch dasselbe eigene Dropdown, das schon der Kategorie-Filter nutzt.
Dadurch erscheinen jetzt die echten HeartRating-Herzen mit dem Marken-Verlauf
von Lila (--c-purple-glow) nach Babyblau (--c-accent) - auch im geschlossenen
Knopf, sobald eine Bewertung gewaehlt ist. Der Verlauf bekam zusaetzlich einen
weichen Zwischenton, damit er im kleinen Herz-Format nicht hart umschlaegt,
sondern wirklich wie eine Mischung beider Farben wirkt.

Die Dropdown-Logik ist dabei fuer BEIDE Filter zu einem gemeinsamen Code
zusammengefasst worden (statt zweimal fast dasselbe): beide verhalten sich
identisch, oeffnen sich gegenseitig zu, schliessen bei Klick daneben und bei
Escape - nur noch eine Stelle zum Pflegen.

Im Browser funktional geprueft: 5 Optionen, oeffnet/schliesst korrekt, 10
Verlaufsherzen in der Liste, Auswahl setzt den Filterwert und uebernimmt die
Herzen in den Knopf, gegenseitiges Schliessen funktioniert. Gilt fuer alle 4
Sprachen.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 03:35:31 +02:00
qciganoandClaude Sonnet 5 0a819b6a4d Kundenbereich-Vorschau, VanVans Geschichte neben ihr Foto, Emoji-Kreis entfernt
1. Neue Seite /konto/angemeldet/ (alle 4 Sprachen): zeigt, was Kund:innen nach
   dem Anmelden sehen - Begruessung, Kennzahlen, Bestellhistorie mit farbigem
   Bestellstatus, Sendungsverfolgung (echter DHL-Link), Rechnung/Nochmal-
   bestellen, Wunschliste, "Zuletzt angesehen" und Profildaten. Klar als
   Vorschau gekennzeichnet: es gibt noch kein echtes Login und keine Datenbank
   (Phase 2), die Bestellungen sind Beispieldaten fuer die Gestaltung. Von der
   Login-Seite aus verlinkt, damit die Ansicht ueberhaupt erreichbar ist.

2. "Ueber die Kreative": der erste Abschnitt ihrer Geschichte ("Meine Reise
   begann mit einer einzigen Masche") steht jetzt direkt neben dem Foto statt
   darunter. Foto bleibt beim Lesen sichtbar (sticky), die restlichen
   Abschnitte folgen wie bisher darunter.

3. Kategorie-Seiten: der farbige Kreis um das Emoji bei "Hauptkategorie" ist
   entfernt, das Emoji steht jetzt frei neben der Ueberschrift.

Dabei gefundener und behobener eigener Fehler: das noetige "align-items: start"
fuer das neue Nebeneinander-Layout hat im gestapelten Handy-Layout die
Grid-Zeile zu niedrig berechnet, wodurch das Foto 80px in den Text darunter
ragte (per Messung im Browser nachgewiesen, nicht nur per Screenshot geraten).
Jetzt sauber auf Bildschirme ab 901px begrenzt - Handy misst 24px Abstand.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 03:27:26 +02:00
qciganoandClaude Sonnet 5 b384938b92 Neu: Kundenrezensionen mit Herzen in Lila-Babyblau, ueberall im Shop integriert
Neue HeartRating-Komponente (Herzen statt Sterne, Lila-Babyblau-Verlauf wie
der Rest der Markenoptik) + komplettes Rezensions-System:

- Produktkarten: Bewertungszeile (Herzen + Anzahl) unter dem Titel, nur wenn
  Bewertungen vorhanden sind.
- Produktseite: volle "Kundenrezensionen"-Sektion mit Durchschnitt und
  einzelnen Rezensionen (Name, Herzen, Datum, Text) bzw. "Noch keine
  Bewertungen"-Hinweis.
- Shop-Filter: neuer "Mindestbewertung"-Filter im Filter-Sidebar + neue
  Sortierung "Beste Bewertung".
- Startseite: "Was unsere Kund:innen sagen"-Sektion mit Gesamtbewertung und
  den 3 neuesten Rezensionen - erscheint automatisch, sobald die erste echte
  Bewertung existiert.
- Adminbereich: neues Feld "Bewertungen" pro Produkt (Name/Herzen/Text/Datum),
  mit deutlichem Hinweis, dass hier nur echte Kundenrueckmeldungen eingetragen
  werden duerfen - erfundene Bewertungen sind in Deutschland/der EU gesetzlich
  verboten (UWG). Deshalb bewusst OHNE Beispiel-Bewertungen im Code: alle
  Bereiche starten leer und blenden sich automatisch ein, sobald VanVan die
  erste echte Rezension eintraegt.

Mit temporaeren Testdaten end-to-end durchgetestet (Herzen-Darstellung,
Rezensions-Section, Filter, Startseiten-Sektion) und vor dem Commit wieder
aus den echten Produktdaten entfernt. Gilt fuer alle 4 Sprachen.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 03:15:00 +02:00
qciganoandClaude Sonnet 5 1add9a42a1 Checkout: Kreis-Icon bei Kreditkarte durch schlichtes Kartensymbol ersetzt
Die zwei ueberlappenden Kreise (Visa/Mastercard-Anmutung) beim
Kreditkarte-Zahlungsoption wirkten wie ein fremdes Marken-Logo statt einem
neutralen eigenen Icon. Ersetzt durch ein schlichtes SVG-Kartensymbol, im
gleichen Stil wie die anderen Zahlungsarten-Icons (PayPal/Klarna).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:58:57 +02:00
qciganoandClaude Sonnet 5 52429c5a16 Fix: VanVan-Fotos wurden wieder beschnitten (Oktopus/Schildkroete abgeschnitten)
Zwei Fotos betroffen:
1. "Ueber die Kreative"-Seite: eine alte, spezifischere CSS-Regel
   (.intro .portrait-frame.portrait img) hat lautlos die bereits einmal
   gefixte 2:3-Bildkorrektur wieder auf 1:1 zurueckgesetzt (per Computed-
   Style-Debug bestaetigt: ratio war 1/1 statt 2/3). Diese Regel stammte aus
   einem laengst ersetzten Layout (Foto+Text nebeneinander), das nirgends
   mehr benutzt wird, ausser eben ungewollt hier durch geteilte Klassennamen.
   aspect-ratio aus dieser Regel entfernt, die 2/3-Regel greift jetzt wieder.
2. Startseite "Die Kreative"-Bereich (vanvan-portrait.png, 1122x1402 ≈ 4/5):
   nutzte noch die allgemeine 1:1-Regel und schnitt das Foto ebenfalls
   quadratisch zu. Eigenes Seitenverhaeltnis (4/5) ergaenzt, width/height
   Attribute korrigiert (640x800 statt 640x640) fuer korrekte Bildproportion
   schon vor dem CSS-Laden.

Per Screenshot auf Desktop und Mobil verifiziert: beide Fotos jetzt komplett
sichtbar, inkl. Oktopus- und Schildkroeten-Plushie.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:55:47 +02:00
qciganoandClaude Sonnet 5 22c475d6a5 Shop-Filter: Tier-Unterkategorien im Kategorie-Dropdown jetzt klar sichtbar
Der native <select> mit optgroups zeigte Kuh/Hase/Wal/Oktopus/Schildkroete/
Pinguin zwar technisch an, aber in der schmucklosen Browser-eigenen Liste
kaum erkennbar (kein Kontrast, keine Struktur). Ersetzt durch ein eigenes,
zum Rest der Seite passendes Dropdown (Verlaufsrand-Look wie beim
Sprach-Umschalter): Hauptkategorien mit Icon als Gruppen-Header, Tier-
Unterkategorien darunter eingerueckt mit denselben freundlichen Namen wie auf
den Kategorie-Seiten ("Kuh „Frieda"", "Hase „HasiDog"" usw.) statt schlichtem
Kategorienamen. Filterlogik, URL-Preset (?kategorie=) und Barrierefreiheit
(role=listbox/option, aria-selected) unveraendert erhalten. Gilt fuer alle 4
Sprachen, gebaut und per Screenshot in offenem und geschlossenem Zustand
geprueft.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:49:10 +02:00
qciganoandClaude Sonnet 5 af0093e401 "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]>
2026-08-03 02:41:47 +02:00
qciganoandClaude Sonnet 5 4f8e6d87a7 Rechtstexte: fehlende gesetzliche Pflichtangaben ergaenzt (Impressum, AGB, Datenschutz, Versand)
Auf Wunsch geprueft, was in den Rechtstexten laut Gesetz zwingend stehen muss
(unabhaengig von VanVans persoenlichen Daten, die weiterhin als Platzhalter
bleiben). Ergaenzt:

- Impressum: veraltete Rechtsgrundlage "§ 5 TMG" korrigiert zu "§ 5 DDG"
  (Digitale-Dienste-Gesetz hat das TMG im Mai 2024 abgeloest).
- AGB § 4: Kreditkarte als Zahlungsart ergaenzt (ist seit heute im Checkout
  echt waehlbar, fehlte aber noch im Rechtstext).
- AGB § 10: Pflicht-Vorbehalt fuer zwingende Verbraucherschutzvorschriften
  bei Rechtswahl deutschen Rechts gegenueber EU-Verbraucher:innen (Art. 6
  Rom-I-VO).
- Datenschutzerklaerung: fehlenden Pflichtabschnitt "Kontaktformular" als
  eigenen Verarbeitungszweck ergaenzt, Widerrufsrecht der Einwilligung
  (Art. 7 Abs. 3 DSGVO), Pflichthinweis zu automatisierter Entscheidungs-
  findung/Profiling (Art. 22 DSGVO) und konkretere Beschwerderecht-Formulierung
  (Art. 77 DSGVO) ergaenzt.
- Versand & Zahlung (alle 4 Sprachen): Pflichthinweis auf Schweizer
  Einfuhrumsatzsteuer/Zollgebuehren bei CH-Lieferungen ergaenzt (Art. 246a
  EGBGB verlangt vorvertragliche Information ueber Zusatzkosten) sowie
  Kreditkarte in den Zahlungsarten.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:35:35 +02:00
qciganoandClaude Sonnet 5 944e20d9a3 FAQ und Versand&Zahlung: fehlende/veraltete Infos ergaenzt (alle 4 Sprachen)
Beim Durchgehen aller FAQ-Antworten gegen den tatsaechlichen Seiteninhalt
aufgefallen: Kreditkarte ist seit heute ein echtes, waehlbares Zahlungsmittel
im Checkout, fehlte aber noch in der FAQ und auf der Versand&Zahlung-Seite.
Ausserdem: Sendungsverfolgung wird auf der Konto-Seite genannt, fehlte aber in
der FAQ-Antwort zum Kundenkonto. Zusaetzlich professioneller/konkreter
formuliert, aber ausschliesslich mit bereits vorhandenen Infos (keine neuen
Behauptungen erfunden):
- Versandkosten-Frage verweist jetzt auf die Versand&Zahlung-Seite fuer die
  Staffelung unterhalb der 75-Euro-Grenze.
- Pflege-Antwort nennt konkrete, handhäkel-typische Pflege (Handwaesche,
  kein Trockner, liegend trocknen).
- Widerruf-Antwort nennt die 14-Tage-Frist explizit und den Hinweis "bei
  Standardartikeln gilt es regulaer" (1:1 aus der Widerrufsbelehrung-Seite
  uebernommen).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:28:29 +02:00
qciganoandClaude Sonnet 5 346a0ed14e Kontaktseite: "Direkter Kontakt" & "Antwortzeit" in eigene, auffaellige Kiste gepackt
Standen bisher als freier Text neben dem Formular. Jetzt in einer eigenen Karte
mit demselben Verlaufsrand-Look wie der Rest der Seite, zusaetzlich mit einem
sanften Akzent-Glow (wie bei den Charakter-Story-Boxen) und kleinen Icons vor
den Ueberschriften, damit die wichtigen Kontaktinfos etwas mehr Aufmerksamkeit
bekommen, ohne aus dem Design zu fallen.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:22:57 +02:00
qciganoandClaude Sonnet 5 b6f8b4339f Fix: zu großer Abstand zwischen Story-Box und Platzhalterkarten bei Tier-Familien ohne Produkt
Familien ohne eigenes Produkt (z.B. Frieda bei der Kuh) zeigten die Story-Box
und die Platzhalterkarten darunter in zwei getrennten <section>-Bloecken -
dadurch addierten sich zwei section-Innenabstaende zu einem viel zu grossen
Zwischenraum (im Vergleich zur Hase-Seite, wo Story-Box und echte Produktkarte
in derselben Sektion stehen). Platzhalterkarten stehen jetzt in derselben
Sektion wie die Story-Box, Abstand ist ueberall einheitlich eng.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:15:01 +02:00
qciganoandClaude Sonnet 5 739c0845ba Fix: Haupt-Charakter einer Tier-Familie verliert Story-Box nicht mehr ohne Produkt
Der letzte Commit hatte Story-Boxen komplett an ein zugeordnetes Produkt
gekoppelt - das entfernte zwar wie gewuenscht HasiGott/Mama Hase (Hase-Familie
hat bereits HasiDog als Produkt), loeschte aber ungewollt auch die Box des
Haupt-Charakters bei Familien ohne eigenes Produkt (z.B. Frieda bei der Kuh).

Jetzt bekommt immer der erste/Haupt-Charakter einer Familie eine Story-Box,
zusaetzliche Charaktere weiterhin nur mit echtem Produkt.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 02:01:52 +02:00
qciganoandClaude Sonnet 5 fa5287484e Charakter-Story-Boxen zeigen nur noch Charaktere mit echtem Produkt
Bisher wurden auf den Tier-Familien-Seiten Vorstellungsboxen für ALLE im Admin
angelegten Charaktere gezeigt, auch ohne zugeordnetes Produkt (z.B. HasiGott,
Mama Hase auf der Hase-Seite ohne echte Ware). Auf Wunsch entfernt: die
Story-Boxen erscheinen jetzt nur noch für Charaktere, denen im Admin auch
wirklich ein Produkt zugeordnet ist - genau wie die Shop-Karten darunter.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:54:45 +02:00
qciganoandClaude Sonnet 5 7720396be2 Fix: Menüpunkte in der Kopfzeile brachen bei mittleren Bildschirmbreiten um
"Über die Kreative" (und potenziell andere Menüpunkte) konnte bei
mittleren Fensterbreiten (zwischen ca. 860-1100px) in eine zweite Zeile
umbrechen — durch die kürzlich vergrößerte Kopfzeile plus den neuen
Installieren-Button wurde es dort schlicht zu eng für die Hauptnavi.

Fix: white-space:nowrap auf den Menüpunkten (bricht nie mehr um) +
den Umschaltpunkt zum Hamburger-Menü von 860px auf 1100px angehoben,
damit auf mittleren Breiten gar nicht erst versucht wird, alles
nebeneinander reinzuquetschen, sondern rechtzeitig auf das kompakte
Menü umgeschaltet wird. Geprüft: bei 1100px sauberer Wechsel zum
Hamburger-Menü, kein Umbruch und kein horizontaler Überlauf mehr bei
1150-1600px.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:43:59 +02:00
qciganoandClaude Sonnet 5 1b55604cba Badges kräftiger für bessere Lesbarkeit + Admin-Install-Icon endlich zuverlässig
Badges ("NEU", "HANDGEMACHT" ...) sitzen direkt auf Produktfotos mit
unterschiedlichsten Hintergründen — die alte, sehr transparente Pille
ging auf manchen Fotos optisch unter. Gleiche Farben/gleicher Stil,
aber kräftigerer (deutlich weniger transparenter) Hintergrund + eigener
Rand + dezenter Schlagschatten hinterm Text für Kontrast auf jedem
Untergrund.

Den eigentlichen Grund für das wacklige Verhalten beim Installieren des
Admin-Bereichs gefunden: Sveltia CMS liest selbst den "logo"-Eintrag in
config.yml (eigentlich nur fürs Branding IN der CMS-Oberfläche gedacht)
und fügt daraus automatisch EIGENE Icon-/Manifest-Verknüpfungen in den
<head> ein — u.a. ein live generiertes, eigenes Manifest als blob:-URL
— NACH unseren eigenen. Zwei "rel=manifest"-Links gleichzeitig sind
technisch erlaubt, aber welcher beim Installieren gewinnt, war nicht
zuverlässig vorhersagbar. Das erklärt, warum es mal geklappt hat und
mal nicht, unabhängig vom Icon-Inhalt selbst.

Fix: ein MutationObserver entfernt Sveltias eigene, automatisch
eingefügte Icon-/Manifest-Verknüpfungen sofort wieder, sobald sie
auftauchen — übrig bleiben ausschließlich unsere eigenen (Favicon =
echtes Logo, Install-Icon = lila V). Verifiziert: nach vollständigem
Laden inkl. Sveltia sind nur noch unsere 5 eigenen Verknüpfungen im
<head> vorhanden, 0 Installability-Errors.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:24:40 +02:00
qciganoandClaude Sonnet 5 8da322699b Admin: Produktformular-Felder umsortiert (Kategorie/Auszeichnungen/Unterkategorie/Charakter vor Preis)
Neue Reihenfolge: Kategorie → Auszeichnungen → Unterkategorie →
Charakter → Preis (danach unverändert wie bisher weiter). Reiner
Reihenfolge-Tausch, keine Felder inhaltlich verändert.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:18:54 +02:00
qciganoandClaude Sonnet 5 19f8ce6e6f Browser-Tab-Icon wieder das echte Logo — "V" nur noch fürs Installieren
Klarstellung: Favicon (Browser-Tab, Lesezeichen) zeigt wieder das echte
VanVan-Logo, wie überall sonst auf der Seite. Nur das Icon, das beim
Installieren als App auf dem PC/Handy verwendet wird (icon-192/512 +
maskable-Varianten, apple-touch-icon), bleibt das eigens gestaltete
lila "V" von eben.

Dafür die favicon-16x16/32x32-Einträge aus beiden Web-App-Manifesten
entfernt (die enthielten noch das jetzt wieder logo-basierte Favicon)
— die Manifeste referenzieren jetzt ausschließlich die V-Icons, damit
beim Installieren garantiert nie versehentlich das Logo statt des V
gezogen wird. Erneut auf 0 Installability-Errors geprüft.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:15:53 +02:00
qciganoandClaude Sonnet 5 ba3ab44ef3 Fotos mit dem Finger wischen (Swipe) — auf jeder Karte, überall auf der Seite
Das Foto-Karussell auf den Produktkarten (Shop-Grid, Startseite, Sale,
Charakter-Kacheln, "Weitere Modelle" — überall wo ProductCard.astro
verwendet wird) lässt sich jetzt zusätzlich zu den ‹/›-Pfeilen auch per
Wisch-Geste bedienen: Finger auf dem Handy oder Maus ziehen am PC.
Technisch über die Pointer-Events-API (deckt Touch UND Maus mit
derselben Logik ab). Ein Wisch zählt erst ab einer Mindeststrecke und
nur bei überwiegend horizontaler Bewegung, damit normales Scrollen der
Seite nicht versehentlich als Wisch missverstanden wird. Da die ganze
Karte ein Link ist, wird der nachfolgende Klick nach einem echten Wisch
unterdrückt — sonst würde man ungewollt zur Produktseite springen, nur
weil man durch die Fotos blättern wollte.

Gleiches Wischen jetzt auch auf der Produktdetailseite selbst, für das
große Hauptbild (springt zum nächsten/vorherigen Thumbnail).

Verifiziert: Wisch ändert das Bild UND verhindert nachweislich die
Navigation; normale Klicks navigieren weiterhin korrekt; die Pfeil-
Buttons funktionieren unverändert (kein Regressionsfehler).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-03 01:12:46 +02:00