v1.3: Serverseitige Datenbank (PostgreSQL + Node-API) ersetzt localStorage
- server/: Express-API (Auth, Bootstrap, Tickets, Threads, Benutzerverwaltung, Codes) mit pg-Schema (11 Tabellen), idempotem Seed (50 Wohnungen, 552 Buchungen) - mp-db (PostgreSQL 16, Volume mp_pgdata) + mp-api im Compose-Stack, nginx proxiet /api/ an mp-api; deploy.sh baut API-Image auf dem Server - Frontend: Store laedt /api/bootstrap, Schreibzugriff async, kein localStorage mehr (ausser Theme), Ladebildschirm beim Session-Check, vite-Proxy fuer Dev - Rollenrechte serverseitig: Mieter nur eigene Wohnung (getestet, 403-Verweis) - Mail-Benachrichtigungen komplett serverseitig (server/src/mail.js) - beispieldaten.py schreibt server/seed/generated.json; Verwaltungs-Mail = axel@hocks.eu - E2E live verifiziert: Login, Scoping, Ticket + Zustellung (status=sent), Registrierung, Codes; Testdaten bereinigt; Doku nachgefuehrt
This commit is contained in:
+15
-2
@@ -9,14 +9,27 @@ import Documents from './pages/Documents'
|
||||
import Messages from './pages/Messages'
|
||||
import BenutzerVerwaltung from './pages/BenutzerVerwaltung'
|
||||
|
||||
function Ladebildschirm() {
|
||||
return (
|
||||
<div className="flex min-h-screen items-center justify-center bg-[#22333b]">
|
||||
<div className="text-center text-slate-300">
|
||||
<div className="text-lg font-semibold text-white">Hinterstein Immobilien</div>
|
||||
<div className="mt-1 text-sm">Mieterportal wird geladen …</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function RequireAuth({ children }: { children: React.ReactElement }) {
|
||||
const { me } = useStore()
|
||||
const { me, bereit } = useStore()
|
||||
if (!bereit) return <Ladebildschirm />
|
||||
if (!me) return <Navigate to="/login" replace />
|
||||
return children
|
||||
}
|
||||
|
||||
function LoginGate() {
|
||||
const { me } = useStore()
|
||||
const { me, bereit } = useStore()
|
||||
if (!bereit) return <Ladebildschirm />
|
||||
if (me) return <Navigate to="/" replace />
|
||||
return <Login />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user