im profil kann ein nutzer nun seine daten exportieren. man kann seinen account löschen. nach 2 jahren werden inaktive accounts gelöscht, 1 monat vorher wird eine email geschickt. Hilfetexte und Legal Pages in der Guest PWA korrigiert und vom layout her optimiert (dark mode).

This commit is contained in:
Codex Agent
2025-11-10 19:55:46 +01:00
parent 447a90a742
commit 2587b2049d
37 changed files with 1650 additions and 50 deletions

View File

@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\Api\EventPublicController;
use App\Http\Controllers\Api\LegalController;
use App\Http\Controllers\Api\HelpController;
use App\Http\Controllers\Api\Marketing\CouponPreviewController;
use App\Http\Controllers\Api\PackageController;
@@ -61,6 +62,7 @@ Route::prefix('v1')->name('api.v1.')->group(function () {
Route::middleware('throttle:100,1')->group(function () {
Route::get('/help', [HelpController::class, 'index'])->name('help.index');
Route::get('/help/{slug}', [HelpController::class, 'show'])->name('help.show');
Route::get('/legal/{slug}', [LegalController::class, 'show'])->name('legal.show');
Route::get('/events/{token}', [EventPublicController::class, 'event'])->name('events.show');
Route::get('/events/{token}/stats', [EventPublicController::class, 'stats'])->name('events.stats');

View File

@@ -10,7 +10,9 @@ use App\Http\Controllers\LocaleController;
use App\Http\Controllers\MarketingController;
use App\Http\Controllers\PaddleCheckoutController;
use App\Http\Controllers\PaddleWebhookController;
use App\Http\Controllers\ProfileAccountController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ProfileDataExportController;
use App\Http\Controllers\Tenant\EventPhotoArchiveController;
use App\Http\Controllers\TenantAdminAuthController;
use App\Http\Controllers\TenantAdminGoogleController;
@@ -242,6 +244,12 @@ Route::get('/dashboard', DashboardController::class)
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'index'])
->name('profile.index');
Route::post('/profile/data-exports', [ProfileDataExportController::class, 'store'])
->name('profile.data-exports.store');
Route::get('/profile/data-exports/{export}', [ProfileDataExportController::class, 'download'])
->name('profile.data-exports.download');
Route::delete('/profile/account', [ProfileAccountController::class, 'destroy'])
->name('profile.account.destroy');
});
Route::prefix('event-admin')->group(function () {
$renderAdmin = fn () => view('admin');