@php if (!function_exists('krx_avatar_initial')) { function krx_avatar_initial($value) { $value = trim((string) $value); if ($value === '') { return 'K'; } if (function_exists('mb_substr') && function_exists('mb_strtoupper')) { return mb_strtoupper(mb_substr($value, 0, 1)); } return strtoupper(substr($value, 0, 1)); } } if (!function_exists('krx_has_real_avatar')) { function krx_has_real_avatar($value) { $value = trim((string) $value); if ($value === '') { return false; } return stripos($value, 'default-avatar') === false; } } @endphp {{ $lobby->title }} - Lobby @php $status = $lobby->status ?? 'waiting'; $teamA = collect($participants)->filter(fn($p) => (int)($p->team ?? 1) === 1)->values(); $teamB = collect($participants)->filter(fn($p) => (int)($p->team ?? 1) === 2)->values(); $gxBetRoom = \Illuminate\Support\Facades\Schema::hasTable('gigax_bet_rooms') ? \Illuminate\Support\Facades\DB::table('gigax_bet_rooms')->where('lobby_id', (int)$lobby->id)->first() : null; $gxIsBetLobby = !empty($gxBetRoom); @endphp
✦
{{ $lobby->title }}
Sala de espera / pronto para veto ou inicio
Voltar ao hub
{{ $status }}
Lobby {{ $lobby->id }}
@if($gxIsBetLobby)
💰 SALA APOSTADA · R$ 20
@endif

{{ $lobby->title }}

Sala competitiva GIGAX Arena. Acompanhe jogadores, times, status e fluxo da partida em tempo real.

Mapa{{ $lobby->map_name ?: 'Crossfire' }}
Slots{{ count($participants) }}/{{ $lobby->max_players }}
Fluxo{{ $status === 'waiting' ? 'Preparacao' : ($status === 'veto' ? 'Veto' : 'Live') }}
@if(!$isParticipant) @else @endif @if($isHost) @endif
Mapa{{ $lobby->map_name ?: 'Crossfire' }}
Jogadores{{ count($participants) }}/{{ $lobby->max_players }}
Host{{ $lobby->host_name }}
Modo{{ $lobby->training_type }}
Status do fluxo{{ $status }}
Criado em{{ \Carbon\Carbon::parse($lobby->created_at)->format('d/m H:i') }}
Senha{{ !empty($lobby->password) ? 'Protegido' : 'Aberto' }}
Pronto para{{ count($participants) >= (int)$lobby->max_players ? 'Ready-check' : 'Completar sala' }}
Se o lobby atingir 10 jogadores, o host pode iniciar o veto. Se estiver em partida, a tela troca automaticamente.
Elencos da sala
{{ count($participants) }} conectados
Time A
{{ count($teamA) }}/5
@forelse($teamA as $player)
@if(!empty($player->avatar_url)) {{ $player->nickname }} @else {{ strtoupper(\Illuminate\Support\Str::substr($player->nickname ?? 'J', 0, 1)) }} @endif
{{ $player->nickname }}
@if(!empty($player->league_tag)) [{{ $player->league_tag }}] @endif Skill {{ $player->skill_level ?? 1 }}
@if(!empty($player->is_captain)) CAP @else Player @endif
@empty
Sem jogadores ainda.
@endforelse
Time B
{{ count($teamB) }}/5
@forelse($teamB as $player)
@if(!empty($player->avatar_url)) {{ $player->nickname }} @else {{ strtoupper(\Illuminate\Support\Str::substr($player->nickname ?? 'J', 0, 1)) }} @endif
{{ $player->nickname }}
@if(!empty($player->league_tag)) [{{ $player->league_tag }}] @endif Skill {{ $player->skill_level ?? 1 }}
@if(!empty($player->is_captain)) CAP @else Player @endif
@empty
Aguardando balanceamento.
@endforelse
Chat do lobby
sala privada
@if($isParticipant)
@endif
Fluxo competitivo
auto refresh
1. Sala
Jogadores entram e ocupam os times automaticamente.
2. Veto
Com 10 jogadores, o host pode iniciar o veto. Se o sistema mover automaticamente, esta pagina redireciona.
3. Partida
Quando a partida iniciar, os canais e o monitor da sala assumem a interface live.
@if($gxIsBetLobby) @endif