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]>
Van's DIY & Bastelbedarf – Website (lokale Vorschau)
Hallo VanVan 🩵 Das hier ist der Code für deinen zukünftigen Onlineshop. Du musst nichts programmieren – diese Anleitung reicht, um die Seite auf deinem PC anzusehen.
Schnellstart (empfohlen)
- Doppelklick auf die Datei
Vorschau-Starten.batin diesem Ordner. - Es öffnet sich ein schwarzes Fenster, das kurz Dinge vorbereitet.
- Danach öffnet sich automatisch dein Browser mit der Vorschau.
- Zum Beenden: im schwarzen Fenster
Strg + Cdrücken, dann Fenster schließen.
Falls sich nichts öffnet: prüfe, ob im schwarzen Fenster ein Hinweis auf Node.js steht (siehe unten) und lies die Fehlermeldung genau durch.
Voraussetzung: Node.js
Diese Website braucht ein kostenloses Programm namens Node.js, damit sie auf deinem PC laufen kann (das ist wie ein kleiner "Motor" für moderne Webseiten).
- Prüfen, ob es schon installiert ist: das Start-Skript macht das automatisch.
- Falls nicht: Download unter https://nodejs.org → den Button mit "LTS" wählen →
installieren (einfach überall "Weiter" klicken) → danach
Vorschau-Starten.baterneut starten.
Manueller Start (für Filipe / falls das Skript mal nicht geht)
Im Ordner shop/ in einer Kommandozeile (z. B. Git Bash oder PowerShell):
npm install # nur beim allerersten Mal nötig
npm run build # baut die Seite (prüft, ob alles fehlerfrei ist)
npm run dev # startet die lokale Vorschau
Danach im Browser öffnen: http://localhost:4321
Was ist das hier gerade für ein Stand?
Phase 1 – Design & Struktur. Alle Seiten aus dem Pflichtenheft sind als echtes, klickbares Frontend vorhanden (Startseite, Shop, Kategorien, Produktseiten, Warenkorb, Checkout-Vorschau, rechtliche Seiten usw.). Der Warenkorb funktioniert bereits (im Browser gespeichert), es gibt aber noch keine echte Bestellabwicklung, keine echte Zahlung und noch kein Adminbereich – das folgt in Phase 2. Alle Produkte, Preise, Bilder und der "Über die Kreative"-Text sind aktuell Platzhalter und werden ersetzt, sobald du echte Fotos/Texte/Preise lieferst.
Projektstruktur (kurz)
shop/
├─ src/pages/ ← jede Datei hier ist eine Seite der Website
├─ src/data/ ← Produkte & Kategorien (hier später echte Daten eintragen)
├─ src/components/ ← wiederverwendbare Bausteine (z. B. Produktkarte)
├─ src/layouts/ ← gemeinsamer Rahmen (Header/Footer) aller Seiten
├─ src/styles/ ← Farben, Schriften, Design-Grundlagen
└─ public/ ← Logo, Icons, robots.txt
Mehr Hintergrund (Pflichtenheft-Zusammenfassung, Branding-Entscheidungen, Tech-Stack-Begründung) steht im Obsidian-Vault unter „Van Van – Homepage".