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:
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -70,7 +70,9 @@ Limits (Benutzer, Projekte, Speicher) richten sich nach dem gewählten Plan.
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -47,7 +47,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -74,7 +74,9 @@ Zahlungsdaten: Die Zahlungsabwicklung erfolgt über Stripe. Wir speichern keine
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -68,7 +68,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -81,7 +81,9 @@ Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installa
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -76,7 +76,9 @@ macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne lo
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -73,7 +73,9 @@ Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen a
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -139,7 +139,9 @@ macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -61,7 +61,9 @@ Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Ap
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -51,7 +51,9 @@ Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. Insta
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -88,7 +88,9 @@ Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 – M4) ✅ U
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -76,7 +76,9 @@ xattr -d com.apple.quarantine /Applications/Rapport.app App startet, zeigt aber
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -111,7 +111,9 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -60,7 +60,9 @@ macOS Architektur Download Apple Silicon (M1–M4) RAPPORT_0.8.2_aarch64.dmg Int
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -54,7 +54,9 @@ Ist Rapport kostenlos? Ja, vollständig. Quellcode unter GNU AGPL-3.0-or-later.
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -81,7 +81,9 @@ Abfrage gegen https://git.kgva.ch/karim/RAPPORT/releases/latest.json Versionsver
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -51,7 +51,9 @@ Module ZeiterfassungTages- & Wochenraster mit Drag & Drop. Rechnungen &a
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -77,7 +77,9 @@ Name, Eintrittsdatum, Pensum (%) Stundensatz (intern, für Rechnungen) Ferienans
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -71,7 +71,9 @@ Stammdaten — Nummer, Bezeichnung, Standort, Bauschätzwert Kunde — verknüpf
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -94,7 +94,9 @@ Empfänger, Datum, Bezug Positionen (Plan-Nummer, Bezeichnung, Anzahl, Massstab)
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -107,7 +107,9 @@ Bürodaten — IBAN, Empfänger-Adresse Kundendaten — Schuldner-Adresse Rechnu
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -93,7 +93,9 @@ Einnahmen — Rechnungsbeträge, sortiert nach Eingang Ausgaben — Spesen, Bür
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -95,7 +95,9 @@ Verhalten Aktion Verhalten Fenster schliessen (⌘W oder rotes X) App läuft im
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -72,7 +72,9 @@ Eingabe Wochenraster mit den 5 (oder 7) Arbeitstagen Halbstunden-Slots von 06:00
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -48,7 +48,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -80,7 +80,9 @@ Haftungsausschluss Die Inhalte dieser Website wurden mit grösstmöglicher Sorgf
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
+3
-1
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -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";
|
||||
});
|
||||
});
|
||||
})();
|
||||
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -54,7 +54,9 @@ Quellcode: git.kgva.ch/karim/RAPPORT Autor: Karim Gabriele Varano Lizenz Lizenzi
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -49,7 +49,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -54,7 +54,9 @@ Wann brauchst du Rapport Server? Szenario Lösung Ein Mensch, ein Mac Desktop-Ap
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
@@ -47,7 +47,9 @@
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<script defer src="/js/nav-account.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="hx:sr-only hx:focus-visible:not-sr-only hx:focus-visible:fixed hx:focus-visible:z-50 hx:focus-visible:top-2 hx:focus-visible:left-2 hx:focus-visible:bg-primary-500 hx:focus-visible:text-white hx:focus-visible:px-4 hx:focus-visible:py-2 hx:focus-visible:rounded-md hx:focus-visible:text-sm hx:focus-visible:font-medium">Zum Inhalt springen</a><div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user