feat(admin): Cockpit — Suche/Filter, Kennzahlen, klickbare Kunden-Detailansicht

- Kennzahlen-Kacheln mit Unterzeile (neu/30T, gesperrt, ARR) + Plan-Leiste
- Toolbar: Suche (E-Mail/Firma) + Plan-Filter, live
- Kundentabelle: Zeilen klickbar → Detailansicht
- Detail: Profil, Abo-Historie, Instanzen mit Öffnen/Sperren/Reaktivieren
- fix: Abmelden-Button hatte keinen Handler

E2E: Detail, Suspend→Counter, Reactivate verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 12:04:32 +02:00
parent 9e24ce8dd6
commit db357b8103
39 changed files with 352 additions and 103 deletions
+2 -2
View File
@@ -97,8 +97,8 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
Diese Seite bleibt als Referenz erhalten, der empfohlene Weg für Multi-User-Setups ist Rapport Server.
Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App — siehe Installation 25 Personen, gleicher Standort Rapport Server auf einem Mac Mini im LAN Verteiltes Team / Home-Office Rapport Server mit SSL &#43; Reverse Proxy Hosted Backend (eigener VPS) Rapport Server auf Linux-VPS Architektur (Kurzfassung) ┌────────────┐ HTTPS ┌──────────────┐ SQL ┌────────────┐ │ Browser │ ──────────────│ nginx │ ─────────────│ Postgres │ │ / Desktop │ │ (Frontend) │ │ &#43; GoTrue │ └────────────┘ └──────────────┘ │ &#43; REST │ │ &#43; Realtime │ │ &#43; Storage │ └────────────┘ Frontend: dieselbe React-App, aber Vite-Build statt Tauri (npm run build) Backend: Postgres-Stack (Rapport Server) Auth: E-Mail / Passwort über GoTrue Storage: Belege, Logos in Object-Storage Setup Alle Setup-Schritte (Repo klonen, .env erstellen, Migrations syncen, Docker-Compose starten, Reverse-Proxy konfigurieren) sind in Rapport Server dokumentiert.">
<link rel="preload" href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" as="style" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link href="/css/compiled/main.min.9e7ba5cc2f8fede57d631892f51554687d9697bebe78354e35d5baa7683fa57a.css" rel="stylesheet" integrity="sha256-nnulzC&#43;P7eV9YxiS9RVUaH2Wl76&#43;eDVONdW6p2g/pXo=" />
<link rel="preload" href="/css/compiled/main.min.4e6c8bd9baa81422228dbc44a656d3be761d2660e4820d4258f4959717cb7fe0.css" as="style" integrity="sha256-TmyL2bqoFCIijbxEplbTvnYdJmDkgg1CWPSVlxfLf&#43;A=" />
<link href="/css/compiled/main.min.4e6c8bd9baa81422228dbc44a656d3be761d2660e4820d4258f4959717cb7fe0.css" rel="stylesheet" integrity="sha256-TmyL2bqoFCIijbxEplbTvnYdJmDkgg1CWPSVlxfLf&#43;A=" />