Feature: Partner-Dashboard (#partner-dashboard) — operative Daten raus aus dem Profil-Editor

Rene: QR-Stats gehören nicht ins öffentliche Profil, eigene Seite fehlte.
Neue Seite 'Partner-Bereich' (Welten-Chip 🤝 zwischen Moderation und Admin,
role:partner — sichtbar für is_partner + Admin; _mergeDefaults reicht den
Chip an bestehende Welt-Configs nach):
- Einladungscode groß + Link-kopieren-Button
- Kacheln: Registrierungen gesamt / diesen Monat / unbestätigt
- QR-Kontingente mit Einzel-Code-Status (aus partner-profil.js hierher verschoben)
- Profil-Status-Karte (Entwurf/Prüfung/frei) mit Sprung zum Editor

Backend: GET /partner/my-stats (Codes mit Zahlen + Profil-Status).
Settings-Partner-Karte: zwei Buttons (Partner-Bereich primär, Profil sekundär);
Dank-Mail-CTA zeigt auf #partner-dashboard. Suite: 52 passed.
This commit is contained in:
rene 2026-06-07 19:06:51 +02:00
parent 3d7d5dc1c4
commit 0a262989f3
12 changed files with 287 additions and 96 deletions

View file

@ -86,14 +86,14 @@
<title>Ban Yaro</title>
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
<script src="/js/boot-early.js?v=1260"></script>
<script src="/js/boot-early.js?v=1261"></script>
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
<link rel="stylesheet" href="/css/design-system.css?v=1260">
<link rel="stylesheet" href="/css/layout.css?v=1260">
<link rel="stylesheet" href="/css/components.css?v=1260">
<link rel="stylesheet" href="/css/utilities.css?v=1260">
<link rel="stylesheet" href="/css/lists.css?v=1260">
<link rel="stylesheet" href="/css/design-system.css?v=1261">
<link rel="stylesheet" href="/css/layout.css?v=1261">
<link rel="stylesheet" href="/css/components.css?v=1261">
<link rel="stylesheet" href="/css/utilities.css?v=1261">
<link rel="stylesheet" href="/css/lists.css?v=1261">
</head>
<body>
@ -612,11 +612,11 @@
<div id="modal-container"></div>
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
<script src="/js/api.js?v=1260"></script>
<script src="/js/ui.js?v=1260"></script>
<script src="/js/app.js?v=1260"></script>
<script src="/js/worlds.js?v=1260"></script>
<script src="/js/offline-indicator.js?v=1260"></script>
<script src="/js/api.js?v=1261"></script>
<script src="/js/ui.js?v=1261"></script>
<script src="/js/app.js?v=1261"></script>
<script src="/js/worlds.js?v=1261"></script>
<script src="/js/offline-indicator.js?v=1261"></script>
<!-- Feature-Seiten werden lazy geladen -->
@ -626,7 +626,7 @@
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
<script src="/js/boot.js?v=1260"></script>
<script src="/js/boot.js?v=1261"></script>
</body>