- Tenant-Admin-PWA: Neues /event-admin/welcome Onboarding mit WelcomeHero, Packages-, Order-Summary- und Event-Setup-Pages, Zustandsspeicher, Routing-Guard und Dashboard-CTA für Erstnutzer; Filament-/admin-Login via Custom-View behoben.

- Brand/Theming: Marketing-Farb- und Typographievariablen in `resources/css/app.css` eingeführt, AdminLayout, Dashboardkarten und Onboarding-Komponenten entsprechend angepasst; Dokumentation (`docs/todo/tenant-admin-onboarding-fusion.md`, `docs/changes/...`) aktualisiert.
- Checkout & Payments: Checkout-, PayPal-Controller und Tests für integrierte Stripe/PayPal-Flows sowie Paket-Billing-Abläufe überarbeitet; neue PayPal SDK-Factory und Admin-API-Helper (`resources/js/admin/api.ts`) schaffen Grundlage für Billing/Members/Tasks-Seiten.
- DX & Tests: Neue Playwright/E2E-Struktur (docs/testing/e2e.md, `tests/e2e/tenant-onboarding-flow.test.ts`, Utilities), E2E-Tenant-Seeder und zusätzliche Übersetzungen/Factories zur Unterstützung der neuen Flows.
- Marketing-Kommunikation: Automatische Kontakt-Bestätigungsmail (`ContactConfirmation` + Blade-Template) implementiert; Guest-PWA unter `/event` erreichbar.
- Nebensitzung: Blogsystem gefixt und umfassenden BlogPostSeeder für Beispielinhalte angelegt.
This commit is contained in:
Codex Agent
2025-10-10 21:31:55 +02:00
parent 52197f216d
commit d04e234ca0
84 changed files with 8397 additions and 1005 deletions

View File

@@ -132,6 +132,49 @@
.font-script {
font-family: var(--font-script);
}
.bg-brand-gradient {
background: linear-gradient(135deg, var(--brand-rose) 0%, var(--brand-gold) 50%, var(--brand-sky) 100%);
}
.bg-brand-card {
background-color: rgba(255, 255, 255, 0.92);
}
.border-brand-rose-soft {
border-color: var(--brand-rose-soft);
}
.text-brand-slate {
color: var(--brand-slate);
}
.text-brand-rose {
color: var(--brand-rose);
}
.text-brand-navy {
color: var(--brand-navy);
}
.bg-brand-rose {
background-color: var(--brand-rose);
}
.bg-brand-gold {
background-color: var(--brand-gold);
}
.bg-brand-sky-soft {
background-color: var(--brand-sky-soft);
}
.bg-brand-teal {
background-color: var(--brand-teal);
}
.shadow-brand-primary {
box-shadow: 0 24px 80px -32px rgba(255, 182, 193, 0.4);
}
.ring-brand-rose {
--tw-ring-color: var(--brand-rose);
}
.from-brand-rose-soft {
--tw-gradient-from: var(--brand-rose-soft);
--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(255, 229, 236, 0));
}
.to-brand-sky-soft {
--tw-gradient-to: var(--brand-sky-soft);
}
}
:root {
@@ -168,41 +211,60 @@
--sidebar-accent-foreground: oklch(0.205 0 0);
--sidebar-border: oklch(0.922 0 0);
--sidebar-ring: oklch(0.87 0 0);
--brand-rose: #FFB6C1;
--brand-rose-strong: #FF69B4;
--brand-rose-soft: #FFE5EC;
--brand-gold: #FFD700;
--brand-gold-soft: #FFF2B2;
--brand-sky: #87CEEB;
--brand-sky-soft: #E0F5FF;
--brand-teal: #06D6A0;
--brand-navy: #0F4C75;
--brand-slate: #1F2937;
--brand-cream: #FFF8F5;
--brand-mauve: #EAD7EE;
}
.tenant-admin-theme {
--background: oklch(0.985 0.035 330);
--foreground: oklch(0.22 0.04 250);
--card: oklch(0.99 0.02 285);
--card-foreground: oklch(0.22 0.04 250);
--popover: oklch(0.99 0.02 285);
--popover-foreground: oklch(0.22 0.04 250);
--primary: oklch(0.68 0.23 330);
--primary-foreground: oklch(0.985 0.02 20);
--secondary: oklch(0.94 0.04 220);
--secondary-foreground: oklch(0.28 0.04 230);
--muted: oklch(0.95 0.03 250);
--muted-foreground: oklch(0.52 0.03 250);
--accent: oklch(0.93 0.06 345);
--accent-foreground: oklch(0.25 0.05 250);
--destructive: oklch(0.58 0.25 27);
--destructive-foreground: oklch(0.98 0.01 20);
--border: oklch(0.9 0.03 250);
--input: oklch(0.9 0.03 250);
--ring: oklch(0.72 0.16 330);
--chart-1: oklch(0.7 0.2 330);
--chart-2: oklch(0.66 0.18 230);
--chart-3: oklch(0.62 0.19 20);
--chart-4: oklch(0.72 0.18 120);
--chart-5: oklch(0.69 0.22 300);
--sidebar: oklch(0.98 0.03 320);
--sidebar-foreground: oklch(0.24 0.04 250);
--sidebar-primary: oklch(0.68 0.23 330);
--sidebar-primary-foreground: oklch(0.985 0.02 20);
--sidebar-accent: oklch(0.93 0.06 345);
--sidebar-accent-foreground: oklch(0.27 0.05 240);
--sidebar-border: oklch(0.9 0.03 250);
--sidebar-ring: oklch(0.72 0.16 330);
--background: var(--brand-cream);
--foreground: var(--brand-slate);
--card: #ffffff;
--card-foreground: var(--brand-slate);
--popover: #ffffff;
--popover-foreground: var(--brand-slate);
--primary: var(--brand-rose);
--primary-foreground: #381b2d;
--secondary: var(--brand-gold);
--secondary-foreground: #332200;
--muted: var(--brand-rose-soft);
--muted-foreground: #51344d;
--accent: var(--brand-sky);
--accent-foreground: var(--brand-navy);
--destructive: #f87171;
--destructive-foreground: #7f1d1d;
--border: #f7d9e6;
--input: #f7d9e6;
--ring: var(--brand-rose);
--chart-1: var(--brand-rose);
--chart-2: var(--brand-gold);
--chart-3: var(--brand-sky);
--chart-4: var(--brand-teal);
--chart-5: var(--brand-rose-strong);
--sidebar: #ffffff;
--sidebar-foreground: var(--brand-slate);
--sidebar-primary: var(--brand-rose);
--sidebar-primary-foreground: #381b2d;
--sidebar-accent: var(--brand-rose-soft);
--sidebar-accent-foreground: var(--brand-slate);
--sidebar-border: #f7d9e6;
--sidebar-ring: var(--brand-rose);
}
.tenant-admin-welcome-theme {
font-family: var(--font-sans-marketing);
background-color: var(--brand-cream);
color: var(--brand-slate);
}
.dark {