user() ->ownedRooms() ->withCount('players') ->orderByRaw('closed_at IS NOT NULL') ->orderByDesc('last_activity_at') ->get() ->map(fn (Room $room) => [ 'id' => $room->id, 'title' => $room->title, 'join_code' => $room->join_code, 'current_round' => $room->current_round, 'players_count' => $room->players_count, 'last_activity_at' => $room->last_activity_at?->toIso8601String(), 'closed_at' => $room->closed_at?->toIso8601String(), ]); return Inertia::render('Dashboard', [ 'rooms' => $rooms, ]); } }