<?php
require_once __DIR__.'/../config/config.php';
require_once __DIR__.'/../config/database.php';
require_once __DIR__.'/../includes/functions.php';
requireLogin();
$uid=(int)$_SESSION['usuario_id'];
$age=afResumoIdade($pdo,$uid);
$minorEvents=[];$guardianEvents=[];$organizer=afControlledEventOrganizer($pdo,$uid);$errors=[];
try{
    if(($age['tipo_conta']??'')==='minor')$minorEvents=afControlledEventListForMinor($pdo,$uid);
    if(($age['tipo_conta']??'')==='guardian'||afGuardianUsuarioPodeSerResponsavel($pdo,$uid))$guardianEvents=afControlledEventListForGuardian($pdo,$uid);
}catch(Throwable $e){$errors[]=$e->getMessage();}
$pageTitle='Evento infantil';$showNav=false;$pageStyles=[SITE_URL.'/assets/css/eventos-infantis.css?v=23.0'];$pageScripts=[SITE_URL.'/assets/vendor/qrcode/aura-qrcode.js?v=1.0',SITE_URL.'/assets/js/eventos-infantis.js?v=23.0'];require __DIR__.'/../includes/header.php';
?>
<header class="app-header"><a href="<?=SITE_URL?>/pages/home.php" class="btn-back">← Início</a><div class="logo-inline"><span class="logo-main">AURA</span><span class="logo-sub">EVENTO</span></div><span class="btn-notif">🎟️</span></header>
<main class="event-shell"><?=renderFlash()?><?php if($errors):?><div class="flash flash--error"><span>✕</span><?=esc(implode(' | ',$errors))?></div><?php endif?>
<section class="event-hero"><div class="event-hero__icon">🎟️</div><div><small>ETAPA 23</small><h1>EVENTO INFANTIL CONTROLADO</h1><p>Participação somente com lista antecipada, autorização do responsável, QR individual, check-in na área de câmera e supervisão presencial ativa.</p></div></section>
<div class="event-warning"><span>🔒</span><div><b>Ambiente fechado e protegido</b><p>Sem transmissão pública, comentários, mensagens, localização pública, perfil completo ou progressão no ranking global.</p></div></div>
<?php if(($age['tipo_conta']??'')==='minor'):?>
<section class="event-card"><h2>Meus eventos</h2><?php if(!$minorEvents):?><div class="event-empty"><span>🛡️</span><b>Nenhum evento disponível</b><p>O organizador precisa incluir sua conta antecipadamente e seu responsável precisa autorizar.</p></div><?php else:?><div class="event-list"><?php foreach($minorEvents as $e):
$access=afControlledEventAccessDecision($pdo,$uid,(int)$e['event_id'],true);$qr=afControlledEventParticipantQr($pdo,(int)$e['id'],$uid);$qrUrl=$qr?SITE_URL.'/pages/evento-checkin.php?code='.rawurlencode((string)$qr['short_code']).'&event='.rawurlencode((string)$e['public_code']):'';?>
<article class="event-card"><div style="display:flex;justify-content:space-between;gap:10px"><div><small><?=esc($e['public_code'])?></small><h3><?=esc($e['name'])?></h3></div><span class="event-status event-status--<?=esc($e['status'])?>"><?=esc(strtoupper($e['status']))?></span></div><div class="event-meta"><span>📅 <?=date('d/m/Y H:i',strtotime($e['starts_at']))?></span><span>📍 <?=esc($e['venue_name'])?></span></div><p><?=esc($e['camera_area_instructions'])?></p>
<?php if($qr):?><div class="event-qr event-qr--small"><canvas data-event-qr="<?=esc($qrUrl)?>" width="160" height="160"></canvas><b class="event-code"><?=esc($qr['short_code'])?></b><small>Apresente no check-in.</small></div><?php endif?>
<div class="guardian-access-message <?=!empty($access['allowed'])?'is-ok':'is-blocked'?>"><b><?=esc($access['code'])?></b><span><?=esc($access['message'])?></span></div>
<div class="event-actions"><?php if(!empty($access['allowed'])):?><a class="btn btn-primary" href="<?=SITE_URL?>/pages/farmar.php?controlled_event=<?=(int)$e['event_id']?>">INICIAR PARTIDA SUPERVISIONADA</a><?php endif?><a class="btn btn-secondary" href="<?=SITE_URL?>/pages/evento-ranking.php?event=<?=(int)$e['event_id']?>">RANKING DO EVENTO</a></div></article>
<?php endforeach?></div><?php endif?></section>
<?php endif?>
<?php if($guardianEvents):?><section class="event-card" style="margin-top:18px"><h2>Autorizações dos dependentes</h2><div class="event-list"><?php foreach($guardianEvents as $e):?><article class="event-card"><div style="display:flex;justify-content:space-between;gap:10px"><div><small><?=esc($e['public_code'])?></small><h3><?=esc($e['name'])?></h3><p><?=esc($e['minor_name'])?> • <?=esc($e['minor_aura_id'])?></p></div><span class="event-status event-status--<?=esc($e['status'])?>"><?=esc(strtoupper($e['status']))?></span></div><div class="event-meta"><span>📅 <?=date('d/m/Y H:i',strtotime($e['starts_at']))?></span><span>📍 <?=esc($e['venue_name'])?></span></div><div class="event-actions"><a class="btn btn-primary" href="<?=SITE_URL?>/pages/autorizar-evento.php?participant=<?=(int)$e['id']?>"><?=in_array($e['status'],['authorized','checked_in','participating','completed'],true)?'REVISAR AUTORIZAÇÃO':'AUTORIZAR PARTICIPAÇÃO'?></a><a class="btn btn-secondary" href="<?=SITE_URL?>/pages/evento-ranking.php?event=<?=(int)$e['event_id']?>">RANKING FECHADO</a></div></article><?php endforeach?></div></section><?php endif?>
<?php if(($age['tipo_conta']??'')!=='minor'):?><section class="event-card" style="margin-top:18px"><h2>Organização de eventos</h2><p>Contas adultas confirmadas podem solicitar acesso de organizador. A administração aprova cada conta e cada evento antes da ativação.</p><a class="btn btn-primary" href="<?=SITE_URL?>/pages/organizador-eventos.php"><?=($organizer&&$organizer['status']==='approved')?'GERENCIAR EVENTOS':'SOLICITAR ACESSO DE ORGANIZADOR'?></a></section><?php endif?>
</main><?php require __DIR__.'/../includes/footer.php';?>
