From 5a67ef2948101b8afe2f339f853f60e7ff61e347 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Tue, 8 Sep 2026 21:49:16 +0200 Subject: [PATCH] Die Rabattcodes haengen am Konto, nicht mehr am Abo Filipe: "die partner codes sollen auch schon fuer die leute sichtbar sein die angemeldet sind." Umgestellt, und auf Nachfrage dauerhaft: Rabattcodes sind ab jetzt ein Konto-Vorteil, kein Abo-Vorteil. WARUM DAS MEHR IST ALS EINE BEQUEMLICHKEIT Der alte Riegel verlangte einen Abo-Status. Nachgesehen, statt vermutet: Die Bezahlung auf abonnieren.html steht auf "Coming soon", bis Dogis PayPal-Business-Zugang da ist (der Kommentar dort nennt es beim Namen). Registrieren geht, bezahlen nicht. Der erste echte Partnercode lag damit seit gestern hinter einer Tuer, die sich gar nicht oeffnen laesst -- er waere fuer NIEMANDEN sichtbar gewesen ausser fuer Dogi und VanVan ueber die Rollenvorschau. Entschieden wird jetzt an "supporterToken" (beim Login gesetzt, beim Logout entfernt, supporter.js). Der Abo-Stand wird als Sicherheitsnetz weiter mitgelesen: Niemand soll Zugang verlieren, den er gestern hatte. BEIDE STELLEN, NICHT EINE Die Bedingung steht doppelt im Haus -- an der Kachel auf links.html und an der Seite selbst. Nur eine davon umzustellen erzeugt einen Fehler, den keine der beiden fuer sich zeigt: Man kaeme mit Konto auf die Seite und saehe dort die Sperre. Beide sind umgestellt, tragen den Hinweis aufeinander, und die Pruefung vergleicht sie in jedem Anmeldezustand gegeneinander. TEXTE, DIE SONST GELOGEN HAETTEN "Nur fuer Supporter" auf einer Seite, die ein kostenloses Konto oeffnet, schickt Leute zum Bezahlen fuer etwas, das sie umsonst bekommen. Kopf, Vorspann, Kachelband, Beschreibung und Sperrtext sagen jetzt "Konto", in allen fuenf Sprachen. Die Sperre bietet auf Filipes Wunsch beide Wege an: den kostenlosen zuerst, das Abo daneben -- mit einer Zeile darunter, dass es erst startet, wenn es offiziell live geht. Ohne die waere der zweite Knopf eine Falle. EIN FEHLER, DER SEIT DEM 03.08.2026 DRINSTAND Die Pruefung meldete auf der FREIGESCHALTETEN Kachel weiter "Nur mit Konto" statt "Freigeschaltet". Ursache: Das Skript setzte den Text (`badge.textContent = ...`), aber applyTranslations() schreibt aus dem data-i18n-Attribut zurueck -- und es laeuft danach noch einmal, weil dogiSiteTexteLaden() die Texte aus der Verwaltung holt und dann neu uebersetzt. NACHGEMESSEN STATT HERGELEITET, und die erste Erklaerung war zu schnell: Der Text war schon nach 50 ms falsch, also nicht "irgendwann spaeter ueberschrieben". Der Grund ist, dass TEAM_API_BASIS auf den ECHTEN Worker zeigt -- der Abruf gelingt selbst aus einer lokalen Testseite. Kontroll- versuch mit blockiertem Abruf: derselbe alte Code, und das Band bleibt korrekt. Ursache weg, Fehler weg. Behoben, indem der SCHLUESSEL getauscht wird statt des Textes. Damit schreibt jeder weitere Uebersetzungslauf von selbst das Richtige hin -- auch bei Sprachwechsel, wo die alte Fassung ebenfalls zurueckfiel. Aufgefallen ist es nie, weil bis gestern niemand in den freigeschalteten Zustand kommen konnte. NEBENBEFUND, NICHT ANGEFASST: index.html hat dieselbe Bauart beim Live-Status (#live-text mit data-i18n, Text per Skript gesetzt). Gemessen ist es dort ein Wettlauf zweier Abrufe -- in meinem Lauf gewann der Status um Haaresbreite, und ein Sprachwechsel repariert es dort ohnehin (dogi-sprache-geaendert). Kleiner, aber echt. Auf Ansage. pruef-rabattcodes EXIT=0 (63 Pruefungen, vorher 42). Neu darunter: drei Anmeldezustaende statt zweier -- ausgeloggt, angemeldet ohne Abo, angemeldet mit Abo --, jeder auf BEIDEN Seiten, dazu der Klick auf die Kachel (fuehrt sie wirklich weiter?), die Beschriftung des Bands und als Gegenprobe ein erzwungener Uebersetzungslauf, der den alten Fehler zuverlaessig ausloest. Co-Authored-By: Claude Opus 5 --- assets/js/i18n-links.js | 36 ++++--- assets/js/i18n-rabattcodes.js | 64 ++++++++---- links.html | 92 ++++++++++++++---- pruef-rabattcodes.mjs | 177 +++++++++++++++++++++++++++------- rabattcodes.html | 66 ++++++++++--- 5 files changed, 336 insertions(+), 99 deletions(-) diff --git a/assets/js/i18n-links.js b/assets/js/i18n-links.js index c096dd44..fd21a6be 100644 --- a/assets/js/i18n-links.js +++ b/assets/js/i18n-links.js @@ -24,8 +24,8 @@ window.I18N_PAGE = { en: "By request only", fr: "Uniquement sur demande", pt: "Somente mediante solicitação", }, lk_rabatt_badge: { - de: "🔒 Nur für Supporter", "de-CH": "🔒 Nur für Supporter", - en: "🔒 Supporters only", fr: "🔒 Réservé aux Supporters", pt: "🔒 Somente para apoiadores", + de: "🔒 Nur mit Konto", "de-CH": "🔒 Nur mit Konto", + en: "🔒 Account required", fr: "🔒 Compte requis", pt: "🔒 Requer conta", }, lk_rabatt_badge_frei: { de: "✓ Freigeschaltet", "de-CH": "✓ Freigschalte", @@ -36,22 +36,30 @@ window.I18N_PAGE = { en: "Discount Codes", fr: "Codes de réduction", pt: "Códigos de desconto", }, lk_rabatt_desc: { - de: "Codes von Dogis Partnern — exklusiv für Dogfather-Supporter.", - "de-CH": "Codes vo Dogis Partner — exklusiv für Dogfather-Supporter.", - en: "Codes from Dogi's partners — exclusive to Dogfather supporters.", - fr: "Des codes chez les partenaires de Dogi — exclusifs aux Supporters Dogfather.", - pt: "Códigos dos parceiros do Dogi — exclusivos para apoiadores do Dogfather.", + de: "Codes von Dogis Partnern — für alle mit einem Konto.", + "de-CH": "Codes vo Dogis Partner — für alli mit eme Konto.", + en: "Codes from Dogi's partners — for everyone with an account.", + fr: "Des codes chez les partenaires de Dogi — pour toute personne ayant un compte.", + pt: "Códigos dos parceiros do Dogi — para todos com uma conta.", }, + /* Seit 08.09.2026 hängt die Kachel am Konto, nicht mehr am Abo (siehe + den Kommentar im @@ -70,16 +91,19 @@
- 🔒 Nur für Supporter + 🔒 Nur mit Konto 🏷️

Rabattcodes

-

Codes von Dogis Partnern — exklusiv für Dogfather-Supporter.

+

Codes von Dogis Partnern — für alle mit einem Konto.

@@ -159,7 +183,7 @@ - +