<?php
/** AURA FARMING — Etapa 8: rankings por período, localização e amigos */
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';
require_once __DIR__.'/../includes/personal_score_functions.php';
require_once __DIR__.'/../includes/aura_ui.php';
requireLogin();
recarregarSessaoUsuario($pdo,(int)$_SESSION['usuario_id']);
$u=usuarioAtual();
$maiorNotaPessoal = function_exists('afSincronizarMaiorNotaPessoal') ? afSincronizarMaiorNotaPessoal($pdo,(int)$u['id']) : (float)($u['melhor_pontuacao'] ?? 0);
$periodo=afPeriodoValido((string)($_GET['periodo']??$_GET['tipo']??'global'));
$escopo=afEscopoValido((string)($_GET['escopo']??'global'));
$ranking=afRanking($pdo,$periodo,$escopo,$u,50,0);
$periodos=['diario'=>'Diário','semanal'=>'Semanal','mensal'=>'Mensal','global'=>'Todos'];
$escopos=['global'=>'Global','nacional'=>'País','regional'=>'Estado','cidade'=>'Cidade','amigos'=>'Amigos'];
$pageTitle='Ranking';$activePage='ranking';$bodyClass='aura-home-v4-body aura-app-body aura-ranking-body';$showNav=false;$hideLegalFooter=true;$pageStyles=[SITE_URL.'/assets/css/home-fiel.css?v=4.1.0',SITE_URL.'/assets/css/aura-pages.css?v=1.0.0'];require_once __DIR__.'/../includes/header.php';
?>
<?php afRenderAppHeader($pdo,$u,['score'=>$maiorNotaPessoal]); ?>
<main class="af-home-shell af-subpage-main page-content ranking-v7-page">
  <?=renderFlash()?>
  <section class="ranking-v7-title"><p class="eyebrow">QUEM TEM A MAIOR AURA?</p><h1>🏆 <?=esc(strtoupper($periodos[$periodo]))?> • <?=esc(strtoupper($escopos[$escopo]))?></h1><span><?=esc($ranking['rotulo'])?></span></section>

  <nav class="ranking-filter-group" aria-label="Período">
    <?php foreach($periodos as $k=>$label):?><a class="<?=$periodo===$k?'active':''?>" href="?periodo=<?=$k?>&escopo=<?=$escopo?>"><?=$label?></a><?php endforeach;?>
  </nav>
  <nav class="ranking-filter-group ranking-filter-scope" aria-label="Localização">
    <?php foreach($escopos as $k=>$label):?><a class="<?=$escopo===$k?'active':''?>" href="?periodo=<?=$periodo?>&escopo=<?=$k?>"><?=$label?></a><?php endforeach;?>
  </nav>

  <?php if(!$ranking['disponivel']):?>
    <section class="card empty-ranking"><div>📍</div><h2>Complete sua localização</h2><p>Informe cidade e estado no perfil para participar deste ranking.</p><a class="btn btn-primary" href="<?=SITE_URL?>/pages/perfil.php">EDITAR PERFIL</a></section>
  <?php elseif(!$ranking['itens']):?>
    <section class="card empty-ranking"><div>🌀</div><h2>Nenhum resultado neste filtro</h2><p>Seja o primeiro a registrar uma pontuação.</p><a class="btn btn-primary" href="<?=SITE_URL?>/pages/farmar.php">🔥 FARMAR AURA</a></section>
  <?php else:?>
    <?php $top=array_slice($ranking['itens'],0,3); if(count($top)>=3):?>
    <section class="ranking-podium-v7">
      <?php foreach([1,0,2] as $idx):$p=$top[$idx];$medal=['🥇','🥈','🥉'][$idx];?>
        <a class="podium-player podium-player--<?= $idx+1 ?>" href="<?=SITE_URL?>/pages/jogador.php?aura=<?=urlencode($p['aura_id'])?>">
          <div class="podium-medal"><?=$medal?></div><img src="<?=urlAvatar($p['foto_perfil']??null,$p['foto_externa']??null)?>" alt=""><strong><?=esc(mb_strimwidth($p['nome'],0,16,'…'))?></strong><small><?=esc($p['aura_id'])?></small><b>🏆 <?=number_format((float)$p['melhor_pontuacao'],2,',','.')?> Aura</b><span><?= (int)$p['partidas_periodo']?> partidas</span>
        </a>
      <?php endforeach;?>
    </section>
    <?php endif;?>

    <section class="card ranking-list-v7">
      <div class="ranking-table-head"><span>POS</span><span>JOGADOR</span><span>PONTUAÇÃO</span></div>
      <?php foreach($ranking['itens'] as $p):$isMe=(int)$p['id']===(int)$u['id'];?>
        <a class="ranking-row-v7 <?=$isMe?'is-me':''?>" href="<?=SITE_URL?>/pages/jogador.php?aura=<?=urlencode($p['aura_id'])?>">
          <span class="ranking-position"><?= (int)$p['posicao']?>º</span>
          <img src="<?=urlAvatar($p['foto_perfil']??null,$p['foto_externa']??null)?>" alt="">
          <span class="ranking-player-name"><strong><?=esc($p['nome'])?> <?=$isMe?'<em>VOCÊ</em>':''?></strong><small><?=esc($p['aura_id'])?> • <?= (int)$p['partidas_periodo']?> partidas</small></span>
          <span class="ranking-score ranking-score--aura"><strong>🏆 <?=number_format((float)$p['melhor_pontuacao'],2,',','.')?></strong><small>Aura • média <?=number_format((float)$p['media_pontuacao'],1,',','.')?></small></span>
        </a>
      <?php endforeach;?>
    </section>

    <section class="card my-ranking-v7">
      <div><small>SUA POSIÇÃO NESTE FILTRO</small><strong><?= $ranking['minha_posicao']>0?$ranking['minha_posicao'].'º':'SEM PONTUAÇÃO' ?></strong></div><div><small>MAIOR NOTA PESSOAL</small><strong>🏆 <?=number_format((float)$ranking['minha_pontuacao'],2,',','.')?></strong></div><div><small>JOGADORES</small><strong><?= (int)$ranking['total']?></strong></div>
    </section>
  <?php endif;?>
</main>
<?php afRenderBottomNav($activePage);require_once __DIR__.'/../includes/footer.php';?>
