<?php
/** Desafio viral público por resultado */
require_once __DIR__.'/../config/config.php';
require_once __DIR__.'/../config/database.php';
require_once __DIR__.'/../includes/functions.php';
require_once __DIR__.'/../includes/viral_functions.php';
$token=strtolower(preg_replace('/[^a-f0-9]/','',(string)($_GET['t']??$_POST['t']??'')));
$d=afBuscarDesafioViral($pdo,$token);
if($d && !afCanPublishUserContent($pdo,(int)$d['criador_id']))$d=null;
if(!$d){http_response_code(404);}
if($d)afRegistrarVisitaViral($pdo,(int)$d['partida_origem_id'],(int)$d['id'],'challenge');
$erro='';
if($d && $_SERVER['REQUEST_METHOD']==='POST' && isset($_POST['aceitar'])){
  if(!isLoggedIn()){
    $_SESSION['af_after_login']='/pages/desafio.php?t='.$token;
    header('Location: '.SITE_URL.'/auth/login.php');exit;
  }
  afRequireAgeFeature($pdo,'share');
  if(!validarCsrfToken((string)($_POST[CSRF_TOKEN_NAME]??'')))$erro='Sessão expirada. Recarregue a página.';
  else try{afAceitarDesafioViral($pdo,$token,(int)usuarioAtual()['id']);header('Location: '.SITE_URL.'/pages/farmar.php?viral='.$token);exit;}catch(Throwable $e){$erro=$e->getMessage();}
}
$title=$d?'Desafio de '.$d['nome'].' — '.$d['alvo_pontuacao'].' pontos':'Desafio não encontrado';
$desc=$d?'Você consegue superar '.number_format((float)$d['alvo_pontuacao'],2,',','.').' pontos no Aura Farming?':'Este desafio não está disponível.';
$url=SITE_URL.'/pages/desafio.php?t='.urlencode($token);
?><!DOCTYPE html><html lang="pt-BR"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"><title><?=esc($title)?> | Aura Farming</title><meta name="description" content="<?=esc($desc)?>"><meta property="og:type" content="website"><meta property="og:title" content="<?=esc($title)?>"><meta property="og:description" content="<?=esc($desc)?>"><meta property="og:url" content="<?=esc($url)?>"><meta name="app-base-url" content="<?=esc(SITE_URL)?>"><link rel="stylesheet" href="<?=SITE_URL?>/assets/css/style.css?v=11.0"></head><body class="viral-public-body"><div class="particles"></div><main class="viral-public-shell">
<?php if(!$d):?><section class="viral-public-card"><div class="public-result-logo">AURA <small>FARMING</small></div><h1>DESAFIO NÃO ENCONTRADO</h1><p>O link pode ter expirado ou sido digitado incorretamente.</p><a class="btn btn-primary" href="<?=SITE_URL?>">ABRIR AURA FARMING</a></section>
<?php else:$concluido=$d['status']==='concluido';?>
<section class="viral-public-card viral-public-card--challenge">
 <div class="public-result-logo">AURA <small>CHALLENGE</small></div>
 <div class="challenge-avatar"><img src="<?=urlAvatar($d['foto_perfil']??null,$d['foto_externa']??null)?>" alt=""><span><?=esc($d['aura_id'])?></span></div>
 <p class="eyebrow"><?=esc($d['nome'])?> DESAFIOU VOCÊ</p><h1><?=number_format((float)$d['alvo_pontuacao'],2,',','.')?></h1><h2>PONTOS PARA SUPERAR</h2>
 <div class="challenge-origin-stats"><span>🌌 <?=number_format((float)$d['aura_gerada'],0,',','.')?> aura</span><span>🔥 x<?= (int)$d['combo_maximo']?></span><span>🏆 <?=!empty($d['ranking_global_posicao'])?(int)$d['ranking_global_posicao'].'º':'—'?></span></div>
 <?php if($erro):?><div class="flash flash--error">✕ <?=esc($erro)?></div><?php endif;?>
 <?php if($concluido):$r=(string)$d['resultado'];?>
  <div class="challenge-finish challenge-finish--<?=esc($r)?>"><small>DESAFIO FINALIZADO</small><strong><?=match($r){'superou'=>'PONTUAÇÃO SUPERADA!','empate'=>'EMPATE PERFEITO!','nao_superou'=>'AURA DEFENDIDA!',default=>'RESULTADO REGISTRADO'}?></strong><p><?=esc((string)($d['respondente_nome']??'Jogador'))?> marcou <?=number_format((float)($d['resposta_pontuacao']??0),2,',','.')?> pontos.</p></div>
  <?php if(!empty($d['resposta_share_token'])):?><a class="btn btn-outline-cyan" href="<?=SITE_URL?>/pages/compartilhar.php?t=<?=urlencode($d['resposta_share_token'])?>">VER RESULTADO DA RESPOSTA</a><?php endif;?>
 <?php elseif($d['status']==='expirado'):?><div class="challenge-finish"><strong>DESAFIO EXPIRADO</strong><p>O prazo de 30 dias terminou.</p></div>
 <?php elseif(isLoggedIn() && (int)usuarioAtual()['id']===(int)$d['criador_id']):?><div class="challenge-owner-note">🔗 Compartilhe este link para alguém tentar superar sua pontuação.</div>
 <?php elseif($d['status']==='aceito' && isLoggedIn() && (int)usuarioAtual()['id']===(int)$d['convidado_id']):?><a class="btn btn-primary" href="<?=SITE_URL?>/pages/farmar.php?viral=<?=urlencode($token)?>">🔥 CONTINUAR DESAFIO</a>
 <?php else:?><form method="post"><?=camposCsrf()?><input type="hidden" name="t" value="<?=esc($token)?>"><button class="btn btn-primary" name="aceitar" value="1">⚡ ACEITAR E FARMAR AGORA</button></form><?php endif;?>
 <div class="challenge-share-actions"><button type="button" class="btn btn-secondary" onclick="navigator.share?navigator.share({title:'Aura Challenge',text:'Tente superar esta pontuação!',url:location.href}):navigator.clipboard.writeText(location.href)">📤 COMPARTILHAR DESAFIO</button><a class="btn btn-secondary" href="<?=SITE_URL?>/pages/replay.php?t=<?=urlencode((string)$d['share_token'])?>">▶ VER REPLAY ANIMADO</a></div>
 <small class="challenge-expiry">Válido até <?=date('d/m/Y H:i',strtotime((string)$d['expira_em']))?></small>
</section><?php endif;?>
</main></body></html>
