Fix guest demo UX and enforce guest limits
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
tests / ui (push) Has been cancelled

This commit is contained in:
Codex Agent
2026-01-21 21:35:40 +01:00
parent 50cc4e76df
commit 2f9a700e00
28 changed files with 812 additions and 118 deletions

View File

@@ -36,7 +36,7 @@ class DemoEventSeeder extends Seeder
$events = [
[
'slug' => 'demo-wedding-2025',
'name' => ['de' => 'Demo Hochzeit 2025', 'en' => 'Demo Wedding 2025'],
'name' => ['de' => 'Hochzeit von Klara & Ben', 'en' => "Klara & Ben's Wedding"],
'description' => ['de' => 'Demo-Event', 'en' => 'Demo event'],
'date' => Carbon::now()->addMonths(3),
'event_type' => $weddingType,

View File

@@ -11,6 +11,7 @@ use App\Models\Tenant;
use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
@@ -98,7 +99,7 @@ class DemoPhotosSeeder extends Seeder
}
$guestNames = $config['guest_names'];
$photosToSeed = min($photoFiles->count(), count($guestNames));
$photosToSeed = min($photoFiles->count(), count($guestNames), 20);
if ($photosToSeed === 0) {
continue;
@@ -143,23 +144,29 @@ class DemoPhotosSeeder extends Seeder
$taskId = $taskIds ? $taskIds[array_rand($taskIds)] : null;
$emotionId = $emotions->random()->id;
$photoData = [
'task_id' => $taskId,
'emotion_id' => $emotionId,
'guest_name' => $guestName,
'thumbnail_path' => $thumbDest,
'likes_count' => $likes,
'is_featured' => $i === 0,
'metadata' => ['demo' => true],
'created_at' => $timestamp,
'updated_at' => $timestamp,
];
if (Schema::hasColumn('photos', 'status')) {
$photoData['status'] = 'approved';
}
$photo = Photo::updateOrCreate(
[
'tenant_id' => $tenant->id,
'event_id' => $event->id,
'file_path' => $destPath,
],
[
'task_id' => $taskId,
'emotion_id' => $emotionId,
'guest_name' => $guestName,
'thumbnail_path' => $thumbDest,
'likes_count' => $likes,
'is_featured' => $i === 0,
'metadata' => ['demo' => true],
'created_at' => $timestamp,
'updated_at' => $timestamp,
]
$photoData
);
PhotoLike::where('photo_id', $photo->id)->delete();

View File

@@ -19,6 +19,7 @@ class SuperAdminSeeder extends Seeder
'last_name' => 'Admin',
'password' => Hash::make($password),
'role' => 'super_admin',
'email_verified_at' => now(),
]);
$tenantSlug = env('OWNER_TENANT_SLUG', 'owner-tenant');
@@ -58,5 +59,9 @@ class SuperAdminSeeder extends Seeder
if ($user->tenant_id !== $tenant->id) {
$user->forceFill(['tenant_id' => $tenant->id])->save();
}
if (! $user->email_verified_at) {
$user->forceFill(['email_verified_at' => now()])->save();
}
}
}