feat: Gutscheine gelten fuer Patenschaften, Layout der Patenschaftsseiten, "Suesses Abo"
Docker Image bauen und veroeffentlichen / typecheck (push) Successful in 4m36s
Docker Image bauen und veroeffentlichen / lint (push) Successful in 5m4s
Docker Image bauen und veroeffentlichen / test (push) Successful in 3m32s
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 11m51s

- Eingegebene Gutscheincodes wirken auf die ganze Zwischensumme inkl.
  Patenschaften; automatische Mengenrabatte zaehlen weiter nur Ware
  ausserhalb von Patenschaftspaketen; Vorschau und Server rechnen gleich
- Paketkarten erst ab lg dreispaltig, Umschalter bricht nicht mehr aus,
  Schrittleiste ohne Querscrollen bei 1024 px, Vorschau-Dialog passt in
  die Hoehe, Felder scrollen ueber die mobile Leiste, 16 px auf Touch
- Umschalter-Beschriftung "Suesses Abo" / "Sweet subscription"

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick.RosenloecherandClaude Opus 5.5 committed 2026-10-19 13:26:26 +02:00
1 parent dd180563ca
commit e5b6736dcb
28 files changed
+332 -100

No files matched your search

+6 -4
View File
@@ -175,11 +175,13 @@ export function cartPhysicalQuantity(items: CartItem[]): number {
}
/**
* Rabattbasis wie im Checkout-Server (discountBase): nur Ware ausserhalb von
* Patenschaftspaketen — weder die Urkunde noch der Honig eines Pakets zaehlen
* fuer Mengenrabatt-Schwelle und Rabattbetrag.
* Basis fuer die Mengenrabatt-Vorschau, wie bulkDiscountBase im
* Checkout-Server: nur Ware ausserhalb von Patenschaftspaketen — weder die
* Urkunde noch der Honig eines Pakets zaehlen fuer Schwelle und Betrag. Ein
* eingegebener Gutschein wirkt dagegen auf die ganze Zwischensumme
* (cartTotalCents), siehe discountBaseForCode.
*/
export function cartDiscountBase(items: CartItem[]): { subtotalCents: number; quantity: number } {
export function cartBulkDiscountBase(items: CartItem[]): { subtotalCents: number; quantity: number } {
return items
.filter((item) => !item.sponsorship)
.reduce(