fixed like action, better dark mode, bottom navigation working, added taskcollection

This commit is contained in:
2025-09-13 00:43:53 +02:00
parent fc1e64fea3
commit 216ee063ff
24 changed files with 2070 additions and 208 deletions

View File

@@ -19,6 +19,7 @@ class DatabaseSeeder extends Seeder
EmotionsSeeder::class,
DemoEventSeeder::class,
TasksSeeder::class,
TaskCollectionsSeeder::class,
DemoAchievementsSeeder::class,
]);

View File

@@ -0,0 +1,90 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
class TaskCollectionsSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
// Get demo event ID
$demoEventId = DB::table('events')->where('slug', 'demo-wedding-2025')->value('id');
if (!$demoEventId) {
$this->command->info('Demo event not found, skipping task collections seeding');
return;
}
// Get some task IDs for demo (assuming TasksSeeder was run)
$taskIds = DB::table('tasks')->limit(6)->pluck('id')->toArray();
if (empty($taskIds)) {
$this->command->info('No tasks found, skipping task collections seeding');
return;
}
// Create Wedding Task Collection
$weddingCollectionId = DB::table('task_collections')->insertGetId([
'name' => json_encode([
'de' => 'Hochzeitsaufgaben',
'en' => 'Wedding Tasks'
]),
'description' => json_encode([
'de' => 'Spezielle Aufgaben für Hochzeitsgäste',
'en' => 'Special tasks for wedding guests'
]),
]);
// Assign first 4 tasks to wedding collection
$weddingTasks = array_slice($taskIds, 0, 4);
foreach ($weddingTasks as $taskId) {
DB::table('task_collection_task')->insert([
'task_collection_id' => $weddingCollectionId,
'task_id' => $taskId,
]);
}
// Link wedding collection to demo event
DB::table('event_task_collection')->insert([
'event_id' => $demoEventId,
'task_collection_id' => $weddingCollectionId,
'sort_order' => 1,
]);
// Create General Fun Tasks Collection (fallback)
$funCollectionId = DB::table('task_collections')->insertGetId([
'name' => json_encode([
'de' => 'Spaß-Aufgaben',
'en' => 'Fun Tasks'
]),
'description' => json_encode([
'de' => 'Allgemeine unterhaltsame Aufgaben',
'en' => 'General entertaining tasks'
]),
]);
// Assign remaining tasks to fun collection
$funTasks = array_slice($taskIds, 4);
foreach ($funTasks as $taskId) {
DB::table('task_collection_task')->insert([
'task_collection_id' => $funCollectionId,
'task_id' => $taskId,
]);
}
// Link fun collection to demo event as fallback
DB::table('event_task_collection')->insert([
'event_id' => $demoEventId,
'task_collection_id' => $funCollectionId,
'sort_order' => 2,
]);
$this->command->info("✅ Created 2 task collections with " . count($taskIds) . " tasks for demo event");
$this->command->info("Wedding Collection ID: {$weddingCollectionId}");
$this->command->info("Fun Collection ID: {$funCollectionId}");
}
}