DogiCrew-Registrierung: "Coming Soon"-Sperre + Bald-Badge im Nav-Knopf
Nutzer-Wunsch 20.08.2026: DogiCrew ist "das geilste Bonus" -- der Registrieren- Knopf soll noch nicht bedienbar sein (Dogis PayPal-Business-Zugangsdaten fehlen noch, siehe DogFather Website - Offene Punkte.md), aber Besucher sollen ueber den Nav-Knopf trotzdem ganz normal auf die Seite kommen und die Vorschau sehen duerfen -- "soll alles bleiben" ausser dem einen Knopf. - Nav-Knopf (DogiCrew/Abo aktivieren, main.js renderAboButton): neues kleines Schimmer-Badge "Bald" direkt in der Pille (main.css .nav-cta-soon, reine Wiederverwendung von .btn-silver-text/-spark in kleinerem Massstab). Nur auf den drei Zielen, die zur (noch gesperrten) Registrierung fuehren -- NICHT auf supporter.html, das ist der echte, bereits funktionierende Bereich fuer Dogi/VanVan als Test-Supporter. - abonnieren.html: Registrieren-Knopf ersetzt durch neue .btn-gold-locked- Komponente -- eigener Gold/Schloss-Stil (nicht das schon anderswo auf dieser Seite vergebene .btn-silver), natives disabled-Attribut (kein JS noetig, disabled-Buttons feuern keine Click-Events -- der bestehende Listener bleibt unveraendert und inert). Formularfelder bleiben normal ausfuellbar (Teaser), nur der Absende-Knopf ist gesperrt. Bug waehrend der Umsetzung gefunden UND behoben, nicht nur uebersehen: die rotierende Conic-Gradient-Randmaske von .btn-silver/.btn-legendary (copy-paste als erster Versuch) verzieht sich auf diesem sehr langgestreckten 100%-Breite- Knopf zu einer krummen Schlaufe -- exakt die dokumentierte Lektion in Projektregeln.md Punkt 14 (03.08.2026, TikTok-Button-Bug), die beim ersten Entwurf übersehen wurde. Per Playwright-Screenshots über mehrere Animations- Frames nachgewiesen (nicht nur vermutet) und auch am bereits LIVE laufenden .btn-silver auf dieser Seite reproduziert, um auszuschliessen, dass es an der neuen Komponente statt an der Technik selbst liegt. Fix: derselbe sichere Zwei-Layer-Background-Trick wie bei .abo-google-frame (gleiche Datei) -- Bewegung nur ueber background-position, bleibt geometrieunabhaengig exakt an der Kontur. Nach dem Fix erneut ueber mehrere Frames verifiziert, sauber. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
+19
-3
@@ -104,6 +104,11 @@
|
||||
nav_cta_abo_anonym: { de: "DogiCrew 👑", "de-CH": "DogiCrew 👑", en: "DogiCrew 👑", fr: "DogiCrew 👑", pt: "DogiCrew 👑" },
|
||||
nav_cta_abo_aktivieren: { de: "Abo aktivieren 👑", "de-CH": "Abo aktiviere 👑", en: "Activate Subscription 👑", fr: "Activer l'abonnement 👑", pt: "Ativar assinatura 👑" },
|
||||
nav_cta_abo_bereich: { de: "Supporter-Bereich 👑", "de-CH": "Supporter-Bereich 👑", en: "Supporter Area 👑", fr: "Espace Supporter 👑", pt: "Área do Apoiador 👑" },
|
||||
/* Kleines Schimmer-Badge auf dem Abo-Knopf, solange die Registrierung
|
||||
noch gesperrt ist (20.08.2026, Nutzer-Wunsch) — bewusst ein kurzes
|
||||
Wort statt "Coming soon…", weil in der schmalen Nav-Pille (siehe
|
||||
Mobil-Menü-Fix vom selben Tag) kaum Platz ist. */
|
||||
nav_cta_abo_soon: { de: "Bald", "de-CH": "Bald", en: "Soon", fr: "Bientôt", pt: "Em breve" },
|
||||
nav_toggle_aria: { de: "Menü öffnen", "de-CH": "Menü uftue", en: "Open menu", fr: "Ouvrir le menu", pt: "Abrir menu" },
|
||||
sprache_aria: { de: "Sprache wählen", "de-CH": "Sprach uswähle", en: "Choose language", fr: "Choisir la langue", pt: "Escolher idioma" },
|
||||
brand_tagline: {
|
||||
@@ -454,6 +459,17 @@
|
||||
return `${escapeHtml(kuerzen(sauber, 18))} 👑`;
|
||||
}
|
||||
|
||||
/* Kleines Schimmer-Badge "Bald", solange die eigentliche Registrierung auf
|
||||
abonnieren.html gesperrt ist (20.08.2026, siehe .btn-gold-locked dort).
|
||||
Nur auf den drei Zielen, die dort ankommen — NICHT auf supporter.html
|
||||
(echter, bereits funktionierender Bereich für Dogi/VanVan als Test-
|
||||
Supporter), sonst würde es fälschlich so wirken, als sei der ganze
|
||||
Supporter-Bereich gesperrt. Reine Wiederverwendung von .btn-silver-text/
|
||||
-spark (siehe main.css) in kleinerem Maßstab, kein neuer Mechanismus. */
|
||||
function soonBadge() {
|
||||
return `<span class="nav-cta-soon"><span class="btn-silver-spark" aria-hidden="true">✨</span><span class="btn-silver-text">${t("nav_cta_abo_soon")}</span></span>`;
|
||||
}
|
||||
|
||||
function renderAboButton() {
|
||||
const vorschau = getVorschauModus();
|
||||
if (vorschau === "abonnent") {
|
||||
@@ -469,20 +485,20 @@
|
||||
return `<a class="nav-cta nav-cta-abo" href="supporter.html"><span>${bereichLabel(echterName || vorschauAnzeigename())}</span></a>`;
|
||||
}
|
||||
if (vorschau === "nicht-abonnent") {
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_anonym")}</span></a>`;
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_anonym")}</span>${soonBadge()}</a>`;
|
||||
}
|
||||
|
||||
const token = localStorage.getItem("supporterToken");
|
||||
const status = localStorage.getItem("supporterSubStatus");
|
||||
if (!token) {
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_anonym")}</span></a>`;
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_anonym")}</span>${soonBadge()}</a>`;
|
||||
}
|
||||
const hatBereich = ["active", "pending", "suspended", "cancelled"].includes(status);
|
||||
if (hatBereich) {
|
||||
const name = localStorage.getItem("supporterDisplayName");
|
||||
return `<a class="nav-cta nav-cta-abo" href="supporter.html"><span>${bereichLabel(name)}</span></a>`;
|
||||
}
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_aktivieren")}</span></a>`;
|
||||
return `<a class="nav-cta nav-cta-abo" href="abonnieren.html"><span>${t("nav_cta_abo_aktivieren")}</span>${soonBadge()}</a>`;
|
||||
}
|
||||
|
||||
function renderHeader() {
|
||||
|
||||
Reference in New Issue
Block a user