<?php
/** AURA FARMING — Etapa 10: sala de batalha */
require_once __DIR__.'/../config/config.php';require_once __DIR__.'/../config/database.php';require_once __DIR__.'/../includes/functions.php';require_once __DIR__.'/../includes/match_functions.php';requireLogin();
$u=usuarioAtual();$uid=(int)$u['id'];$id=max(0,(int)($_GET['id']??0));
$b=afBuscarBatalha($pdo,$id);if(!$b){setFlash('error','Batalha não encontrada.');header('Location: '.SITE_URL.'/pages/arena.php');exit;}
$opponentId=afBattleOpponentId($pdo,$id,$uid);afRequireAgeFeature($pdo,'battle',['opponent_user_id'=>$opponentId]);
$pub=afBatalhaPublica($pdo,$b,$uid);if(!$pub['sou_participante']){setFlash('error','Você não participa desta batalha.');header('Location: '.SITE_URL.'/pages/arena.php');exit;}
if($_SERVER['REQUEST_METHOD']==='POST'){
 if(!validarCsrfToken($_POST[CSRF_TOKEN_NAME]??''))setFlash('error','Sessão expirada.');else try{$acao=(string)($_POST['acao']??'');if(in_array($acao,['aceitar','recusar'],true))afResponderDuelo($pdo,$id,$uid,$acao==='aceitar');}catch(Throwable $e){setFlash('error',$e->getMessage());}
 header('Location: '.SITE_URL.'/pages/batalha.php?id='.$id);exit;
}
$me=array_values(array_filter($pub['jogadores'],static fn($j)=>$j['eu']))[0]??null;$op=array_values(array_filter($pub['jogadores'],static fn($j)=>!$j['eu']))[0]??null;
$pageTitle='Aura Battle';$showNav=false;$pageScripts=[SITE_URL.'/assets/js/battle.js?v=10.0'];require_once __DIR__.'/../includes/header.php';
?>
<main class="battle-room" data-battle-id="<?=$id?>">
<header class="battle-room__header"><a href="<?=SITE_URL?>/pages/arena.php">← ARENA</a><span><?=$pub['tipo']==='torneio'?'TORNEIO • RODADA '.$pub['rodada']:'AURA BATTLE'?></span><b><?=$pub['codigo']?></b></header>
<?=renderFlash()?>
<section class="battle-stage">
<div class="battle-stage__energy" aria-hidden="true"></div>
<div class="battle-player battle-player--you"><img src="<?=esc($me['avatar']??'')?>"><small>VOCÊ</small><strong><?=esc($me['nome']??'Jogador')?></strong><span><?=esc($me['aura_id']??'')?></span><div class="battle-score"><b data-score-user="<?= (int)($me['usuario_id']??0) ?>"><?=number_format((float)($me['pontuacao']??0),2,',','.')?></b><small>PONTOS</small></div><em data-status-user="<?= (int)($me['usuario_id']??0) ?>"><?=esc(str_replace('_',' ',$me['status']??''))?></em></div>
<div class="battle-vs"><span>VS</span><small data-battle-status><?=esc(str_replace('_',' ',$pub['status']))?></small><strong data-battle-timer><?=$pub['tempo_restante']>0?sprintf('%02d:%02d',intdiv($pub['tempo_restante'],60),$pub['tempo_restante']%60):'03:00'?></strong></div>
<div class="battle-player battle-player--opponent"><img src="<?=esc($op['avatar']??'')?>"><small>ADVERSÁRIO</small><strong><?=esc($op['nome']??'Aguardando')?></strong><span><?=esc($op['aura_id']??'')?></span><div class="battle-score"><b data-score-user="<?= (int)($op['usuario_id']??0) ?>"><?=number_format((float)($op['pontuacao']??0),2,',','.')?></b><small>PONTOS</small></div><em data-status-user="<?= (int)($op['usuario_id']??0) ?>"><?=esc(str_replace('_',' ',$op['status']??''))?></em></div>
</section>
<section class="battle-room__actions">
<?php if(($me['status']??'')==='convidado'&&$pub['status']==='convite'):?><form method="post" class="battle-response"><input type="hidden" name="<?=CSRF_TOKEN_NAME?>" value="<?=esc(gerarCsrfToken())?>"><button class="btn btn-primary" name="acao" value="aceitar">⚡ ACEITAR DESAFIO</button><button class="btn btn-secondary" name="acao" value="recusar">RECUSAR</button></form>
<?php elseif($pub['status']==='convite'&&($me['status']??'')==='aceito'):?><div class="event-score-done">⏳ AGUARDANDO O ADVERSÁRIO ACEITAR O DESAFIO</div>
<?php elseif(in_array($pub['status'],['aguardando_prontidao','preparando'],true)&&in_array($me['status']??'',['aceito','camera_pronta'],true)):?><a class="btn btn-primary battle-enter-btn" href="<?=SITE_URL?>/pages/farmar.php?battle=<?=$id?>">📷 PREPARAR CÂMERA</a><p>Quando os dois jogadores estiverem com a câmera pronta, a contagem será sincronizada.</p>
<?php elseif($pub['status']==='em_andamento'):?><a class="btn btn-primary" href="<?=SITE_URL?>/pages/farmar.php?battle=<?=$id?>">🔥 ENTRAR / CONTINUAR BATALHA</a>
<?php elseif($pub['status']==='finalizada'):?><div class="battle-winner"><span>🏆</span><strong><?=($pub['vencedor_id']===$uid)?'VOCÊ VENCEU!':esc(($op['usuario_id']??0)===$pub['vencedor_id']?($op['nome']??'Adversário'):($me['nome']??'Jogador')).' VENCEU'?></strong><small><?=$pub['desempate']?'Vencedor definido pelos critérios de desempate.':'Maior pontuação total da batalha.'?></small></div><?php else:?><p>Esta batalha foi encerrada.</p><?php endif;?>
<?php if($pub['competicao_id']):?><a class="btn btn-secondary" href="<?=SITE_URL?>/pages/competicao.php?id=<?=$pub['competicao_id']?>">🏆 VER COMPETIÇÃO</a><?php endif;?>
<a class="btn btn-secondary" href="<?=SITE_URL?>/pages/arena.php">← VOLTAR À ARENA</a>
</section>
<section class="battle-rules"><div><span>⏱️</span><strong>3 MINUTOS</strong><small>Mesmo tempo para os dois</small></div><div><span>💎</span><strong>AURA + SOCIAL</strong><small>Likes também pontuam</small></div><div><span>🏆</span><strong>MAIOR PLACAR</strong><small>Vence a pontuação total</small></div></section>
</main>
<?php require_once __DIR__.'/../includes/footer.php';?>
