feat(ux): eingeloggter Kunde landet im Konto statt Login/Marketing
- renderLogin/renderRegister: bei vorhandenem Token sofort → /konto/ (behebt 'man bleibt nicht eingeloggt' — Formular wurde trotz Token gezeigt) - nav-account.js (auf allen Seiten via custom/head-end.html): CTAs auf /register/ und Navbar 'Anmelden' (/login/) → 'Mein Konto' (/konto/) sobald eingeloggt. So führt /hosting/ den Kunden direkt ins Konto. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -64,6 +64,9 @@
|
||||
|
||||
// ── Login ──────────────────────────────────────────────────────────────
|
||||
function renderLogin() {
|
||||
// Schon eingeloggt? Dann nicht das Login-Formular zeigen, sondern direkt
|
||||
// ins Konto — der häufigste Grund für "ich muss mich ständig neu anmelden".
|
||||
if (tok.isLoggedIn) return go("/konto/");
|
||||
root.innerHTML = card(authCard(
|
||||
'<div class="hosting-title">Anmelden</div>' +
|
||||
'<div class="hosting-sub">Zu Ihrer Rapport-Instanz</div>' +
|
||||
@@ -95,6 +98,7 @@
|
||||
|
||||
// ── Registrierung ──────────────────────────────────────────────────────
|
||||
function renderRegister() {
|
||||
if (tok.isLoggedIn) return go("/konto/");
|
||||
root.innerHTML = card(authCard(
|
||||
'<div class="hosting-title">Konto erstellen</div>' +
|
||||
'<div class="hosting-sub">In Minuten zur eigenen Instanz</div>' +
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
/* RAPPORT Hosting — Navbar/CTA-Anpassung je nach Login-Status.
|
||||
* Läuft auf ALLEN Seiten (im baseof eingebunden). Wenn ein Kunde eingeloggt
|
||||
* ist (rapport_host_token vorhanden), werden:
|
||||
* - Hosting-CTAs ("Jetzt starten" / "Kostenlos registrieren") → "Mein Konto"
|
||||
* - der Navbar-Eintrag "Anmelden" → "Mein Konto"
|
||||
* So landet ein eingeloggter Kunde nicht wieder im Marketing-/Login-Flow.
|
||||
*/
|
||||
(function () {
|
||||
"use strict";
|
||||
var loggedIn = !!localStorage.getItem("rapport_host_token");
|
||||
if (!loggedIn) return;
|
||||
|
||||
function ready(fn) {
|
||||
if (document.readyState !== "loading") fn();
|
||||
else document.addEventListener("DOMContentLoaded", fn);
|
||||
}
|
||||
|
||||
ready(function () {
|
||||
// 1. Hero-/CTA-Buttons, die auf /register/ zeigen → /konto/ "Mein Konto"
|
||||
document.querySelectorAll('a[href="/register/"]').forEach(function (a) {
|
||||
a.setAttribute("href", "/konto/");
|
||||
a.textContent = "Mein Konto";
|
||||
});
|
||||
// 2. Navbar-Link "Anmelden" (zeigt auf /login/) → "Mein Konto"
|
||||
document.querySelectorAll('a[href="/login/"]').forEach(function (a) {
|
||||
a.setAttribute("href", "/konto/");
|
||||
// Navbar-Label kann in einem <span> liegen
|
||||
var span = a.querySelector("span");
|
||||
if (span) span.textContent = "Mein Konto"; else a.textContent = "Mein Konto";
|
||||
});
|
||||
});
|
||||
})();
|
||||
Reference in New Issue
Block a user