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]>
This commit is contained in:
qcigano
2026-08-03 17:23:41 +02:00
co-authored by Claude Sonnet 5
parent 64110484de
commit 902516753d
12 changed files with 154 additions and 34 deletions
+12
View File
@@ -241,6 +241,9 @@ export const ui = {
loyaltyUnlockedText: "Du hast zehn Bestellungen abgeschlossen und erhältst bei deiner nächsten Bestellung 20 % Rabatt auf einen Artikel deiner Wahl.",
loyaltyGoToCart: "Artikel im Warenkorb auswählen →",
loyaltyExplainer: "Es zählen nur vollständig abgeschlossene und bezahlte Bestellungen. Nach der Einlösung beginnt dein Fortschritt wieder bei null.",
loyaltyLockedTitle: "🔒 Nur mit aktivem Abo verfügbar",
loyaltyLockedText: "Der Treuebonus ist ein Extra für unsere Abo-Mitglieder. Schließe ein Abo ab, um Bestellungen für deine 20 %-Belohnung zu sammeln.",
loyaltyLockedBtn: "Zum Abo →",
statAbo: "Mein Abo",
aboHeaderBtn: "🎫 Mein Abo verwalten",
aboTitle: "🎫 Mein Abo",
@@ -539,6 +542,9 @@ export const ui = {
loyaltyUnlockedText: "You've completed ten orders and get 20% off an item of your choice on your next order.",
loyaltyGoToCart: "Choose item in cart →",
loyaltyExplainer: "Only fully completed and paid orders count. After redemption your progress starts again from zero.",
loyaltyLockedTitle: "🔒 Only available with an active subscription",
loyaltyLockedText: "The loyalty reward is an extra for our subscription members. Subscribe to start collecting orders towards your 20% reward.",
loyaltyLockedBtn: "Go to subscription →",
statAbo: "My Subscription",
aboHeaderBtn: "🎫 Manage my subscription",
aboTitle: "🎫 My Subscription",
@@ -837,6 +843,9 @@ export const ui = {
loyaltyUnlockedText: "Du hesch zäh Bstellige abgschlosse und übercho bi dinere nächschte Bstellig 20 % Rabatt uf en Artikel dinere Wahl.",
loyaltyGoToCart: "Artikel im Warenchorb uswähle →",
loyaltyExplainer: "Es zelle nume vollständig abgschlosseni und bezahlti Bstellige. Nach dr Ilösig fangt din Fortschritt wieder bi null a.",
loyaltyLockedTitle: "🔒 Nume mit aktivem Abo verfüegbar",
loyaltyLockedText: "Dr Treuebonus isch es Extra für üsi Abo-Mitglieder. Schliess es Abo ab, um Bstellige für dini 20 %-Belohnig z sammle.",
loyaltyLockedBtn: "Zum Abo →",
statAbo: "Mis Abo",
aboHeaderBtn: "🎫 Mis Abo verwalte",
aboTitle: "🎫 Mis Abo",
@@ -1135,6 +1144,9 @@ export const ui = {
loyaltyUnlockedText: "Vous avez validé dix commandes et bénéficiez de 20 % de réduction sur l'article de votre choix lors de votre prochaine commande.",
loyaltyGoToCart: "Choisir l'article dans le panier →",
loyaltyExplainer: "Seules les commandes entièrement finalisées et payées comptent. Après utilisation, votre progression repart de zéro.",
loyaltyLockedTitle: "🔒 Disponible uniquement avec un abonnement actif",
loyaltyLockedText: "La récompense fidélité est un bonus réservé à nos abonné(e)s. Abonnez-vous pour commencer à cumuler des commandes vers votre récompense de 20 %.",
loyaltyLockedBtn: "Voir l'abonnement →",
statAbo: "Mon abonnement",
aboHeaderBtn: "🎫 Gérer mon abonnement",
aboTitle: "🎫 Mon abonnement",