@include('partials.favicon') @vite(['resources/css/app.css', 'resources/js/meet-room.js'])
@php use App\Models\User; use App\Services\Meet\ParticipantPresenter; $joined = $session->participants->whereIn('status', ['joined', 'waiting']); $participantAvatars = ParticipantPresenter::avatarMap($joined, $room->host_user_ref); $joinedParticipants = $joined ->map(fn ($p) => ParticipantPresenter::toArray($p, $participantAvatars, $room->host_user_ref)) ->values(); $roomHostUser = User::query()->where('public_id', $room->host_user_ref)->first(); $roomHost = [ 'user_ref' => $room->host_user_ref, 'display_name' => $roomHostUser?->name ?? 'Host', 'avatar_url' => $roomHostUser?->avatarUrl(), ]; $isConferenceSession = $isConference ?? false; $sessionNoun = match (true) { $isConferenceSession => 'conference', $room->isWebinar() => 'webinar', default => 'meeting', }; $sessionNounTitle = ucfirst($sessionNoun); $presenterRefsList = (array) ($presenterRefs ?? []); $headerHostPerson = ParticipantPresenter::headerHost($joinedParticipants->all(), $roomHost); $headerParticipantLabel = ParticipantPresenter::headerCountLabel( $joinedParticipants->all(), (bool) ($usesStageLayout ?? false), $presenterRefsList, ); $headerWaitingCount = $joinedParticipants->where('status', 'waiting')->count(); $stageLayoutName = ($stageConfig['stage_layout'] ?? 'plenary') === 'panel' ? 'Panel discussion' : 'Plenary'; $initialConferenceStatus = match (true) { ($inBreakout ?? false) => 'Breakout · meeting mode', ($isGreenRoom ?? false) && ($usesStageLayout ?? false) => "Green room · {$stageLayoutName}", ($isGreenRoom ?? false) => 'Green room', ! ($usesStageLayout ?? false) => 'Conference live', ($stageConfig['stage_layout'] ?? 'plenary') === 'panel' => 'Panel discussion live', default => 'Plenary live', }; $initialConferenceStatusClass = match (true) { ($inBreakout ?? false) => 'text-amber-400/90', ($isGreenRoom ?? false) => 'text-violet-400/90', ($stageConfig['stage_layout'] ?? 'plenary') === 'panel' => 'text-violet-400/90', default => 'text-sky-400/90', }; @endphp @if (! $mediaConfigured)Audio room
@elseif ($isConference ?? false){{ $initialConferenceStatus }}
@endifConnecting…
Green room
Only hosts and speakers are visible. Attendees join after you go live.
Stage layout:
Breakout session
Breakouts are active
Attendees are in smaller discussion groups. You remain on the main stage.
Invite others
Share this link so people can join the {{ $sessionNoun }}.
Passcode:
Attendees and speakers are split into smaller groups with full meeting controls. You stay on the main stage.
All participants will be disconnected and the session will close.
Messages are visible to everyone in the call
{{ $message->sender_name }}
@endunless{{ $message->body }}
{{ $message->created_at->format('g:i A') }}
Lineup from Events when linked to this {{ $sessionNoun }}
Waiting to join
Choose how speakers appear on stage. Changes apply when you save.
Switching to panel discussion changes the live stage to a multi-speaker grid for everyone in the room.
{{ $sessionNounTitle }} tools and extras
Broadcast to breakouts
Q&A