validated(); $user = $request->user(); abort_unless($user instanceof User, 403); $room = Room::query() ->where('join_code', $validated['join_code']) ->firstOrFail(); $player = $this->roomParticipation->joinEmbedded( $room, $user, $validated['player_name'], ); $request->session()->put("room_players.{$room->id}", $player->id); $request->session()->forget('embedded_login'); $pageData = $this->roomPage->prepare($room, $player, $user); return Inertia::render('embedded/Room', [ 'room' => (new RoomResource($pageData))->resolve($request), 'currentPlayer' => (new CurrentPlayerResource($pageData))->resolve($request), ]); } }