feat(frontend): Tailwind UI + Whitelabel + Multi-Tenant Components
Tech:
- Tailwind 3.4 + PostCSS + Autoprefixer
- Inter via rsms.me, Slate + Indigo (brand-* Farbpalette)
- Komponenten-Klassen .btn-{primary|secondary|danger|ghost}, .input, .label, .card, .badge-*
Visuelles Refresh:
- Logo entfernt - Wortmarke Pfandsystem mit Mono-Box
- Login: zentriertes Card-Layout mit Tenant-Slug-Toggle
- TopNav: cleanes Header mit Tabs + User-Menue, Demo-Badge
- Konsistente Card/Table/Badge-Patterns ueber alle Views
- Mobile-First (Tabellen scrollen, Filter wrap)
Komponenten neu/umgebaut:
- Auth/Login.jsx - Tenant-Slug aus URL-Param ?tenant=...
- Auth/PasswordChange.jsx
- Dashboard/Dashboard.jsx
- Dashboard/TopNav.jsx - inkl. Mobile-Hamburger
- Dashboard/Account.jsx (neu)
- Dashboard/AdminDashboard.jsx - Soll-Ist mit CSV-Export
- Dashboard/VorgangsListe.jsx
- Dashboard/BildModal.jsx
- Eingabe/VorgangForm.jsx - Kunden-Info-Popup mit Hinweis+Bildern+Maps
- KundenVerwaltung.jsx - inkl. Anlieferungshinweis, Lieferzeit, Bilder-Modal
- MitarbeiterVerwaltung.jsx - Aktiv-Toggle, Fahrer-Rolle
- Geraete.jsx (neu) - CRUD mit Status-Badges, Filter
- TourPlanung.jsx (neu) - Sortiert nach Lieferzeit, Navi-Button, Done-Persistenz
- SuperAdmin.jsx (neu) - Tenant-Liste + Demo-Anlage-Modal + Verlaengern
API Client:
- relative URL /api (Traefik-Proxy)
- Tenant-Slug im Login
- Endpoints fuer tenants, geraete, kunden-bilder
Sonstiges:
- nginx.conf: SSL raus (Traefik macht TLS), Host-Lock raus, Gzip, immutable Cache
- docker-compose: Frontend baut via Dockerfile (multi-stage)
- Manifest/Theme: #4338ca (Indigo)
- Aufgeraeumt: alte Supabase-Reste, Logout-Komponente (jetzt im Menu),
nicht mehr noetige Deploy-Skripte
This commit is contained in:
@@ -56,6 +56,7 @@ services:
|
||||
PORT: 3001
|
||||
NODE_ENV: production
|
||||
RESEND_API_KEY: ${RESEND_API_KEY}
|
||||
MAIL_FROM: ${MAIL_FROM:-Pfandsystem Demo <demo@dockly.de>}
|
||||
UPLOAD_DIR: /app/uploads
|
||||
MAX_FILE_SIZE: 10485760
|
||||
SUPERADMIN_EMAIL: ${SUPERADMIN_EMAIL}
|
||||
@@ -71,11 +72,11 @@ services:
|
||||
condition: service_healthy
|
||||
|
||||
frontend:
|
||||
image: nginx:1.25-alpine
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: pfandsystem-demo-frontend
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./dist:/usr/share/nginx/html:ro
|
||||
networks:
|
||||
- pfandsystem-demo-net
|
||||
labels:
|
||||
@@ -86,6 +87,8 @@ services:
|
||||
- "traefik.http.routers.pfandsystem-demo.tls=true"
|
||||
- "traefik.http.routers.pfandsystem-demo.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.pfandsystem-demo.loadbalancer.server.port=80"
|
||||
depends_on:
|
||||
- backend
|
||||
|
||||
volumes:
|
||||
mysql_data:
|
||||
|
||||
Reference in New Issue
Block a user