<?php
require_once __DIR__.'/../config/config.php';
require_once __DIR__.'/../config/database.php';
require_once __DIR__.'/../includes/functions.php';
requireLogin();

$viewerId=(int)$_SESSION['usuario_id'];
$targetId=(int)($_GET['minor_id']??$viewerId);
$isGuardianView=false;
$linkId=0;

if($targetId!==$viewerId){
    $st=$pdo->prepare("SELECT id FROM af_guardian_minor_links WHERE guardian_usuario_id=? AND minor_usuario_id=? AND status IN ('pending_verification','verified_pending_consent','active') LIMIT 1");
    $st->execute([$viewerId,$targetId]);
    $linkId=(int)($st->fetchColumn()?:0);
    if($linkId<=0){setFlash('error','Você não possui autorização para visualizar esta política.');header('Location: '.SITE_URL.'/pages/home.php');exit;}
    $isGuardianView=true;
}

$st=$pdo->prepare('SELECT id,nome,username,aura_id,foto_perfil,foto_externa FROM af_usuarios WHERE id=? AND status=1 LIMIT 1');
$st->execute([$targetId]);$target=$st->fetch();
if(!$target){setFlash('error','Conta não encontrada.');header('Location: '.SITE_URL.'/pages/home.php');exit;}

$summary=afMinorPolicySummary($pdo,$targetId,true);
$definitions=afMinorPolicyDefinitions();
$statusLabel=match((string)$summary['status']){
    'adult'=>'Conta adulta — regras padrão',
    'age_pending'=>'Idade não confirmada',
    'controlled_event_only'=>'Somente evento controlado',
    'guardian_required'=>'Responsável necessário',
    'guardian_verification_required'=>'Verificação do responsável pendente',
    'consent_required'=>'Consentimentos pendentes',
    'protected'=>'Política protegida ativa',
    default=>'Política em análise',
};
$pageTitle='Política de segurança';$showNav=!$isGuardianView;require_once __DIR__.'/../includes/header.php';
?>
<header class="app-header"><a href="<?=$isGuardianView?SITE_URL.'/pages/painel-responsavel.php':SITE_URL.'/pages/home.php'?>" class="btn-back">← Voltar</a><div class="logo-inline"><span class="logo-main">AURA</span><span class="logo-sub">SAFE</span></div><span class="btn-notif">🛡️</span></header>
<main class="page-content minor-policy-page">
 <?=renderFlash()?>
 <section class="minor-policy-hero">
  <div class="minor-policy-shield">🛡️</div>
  <div><p class="eyebrow">ETAPA 18 • POLÍTICA <?=esc((string)$summary['version'])?></p><h1>SEGURANÇA PARA MENORES</h1><p>Cada recurso é avaliado separadamente no servidor antes de ser liberado.</p></div>
 </section>

 <section class="card minor-policy-user">
  <img src="<?=urlAvatar($target['foto_perfil']??null,$target['foto_externa']??null)?>" alt="">
  <div><b><?=esc($target['nome'])?></b><small><?=esc($target['aura_id'])?> • <?=esc($summary['age_band_label'])?></small><span><?=esc($statusLabel)?></span></div>
 </section>

 <section class="minor-policy-summary-grid">
  <article class="card"><small>RESPONSÁVEL</small><strong><?=$summary['guardian_verified']?'✓ Verificado':($summary['guardian_linked']?'⏳ Pendente':'— Não vinculado')?></strong></article>
  <article class="card"><small>CONSENTIMENTO</small><strong><?=$summary['consent_current']?'✓ Atual':($summary['consent_active']?'⏳ Atualização':'— Pendente')?></strong></article>
  <article class="card"><small>CÂMERA SEGURA</small><strong><?=$summary['safe_camera_ready']?'✓ Disponível':'⏳ Etapa 19'?></strong></article>
  <article class="card"><small>PERFIL</small><strong><?=$summary['is_minor']?'🔒 Privado':'Padrão adulto'?></strong></article>
 </section>

 <?php if($summary['age_band']==='child_under_13'):?>
 <div class="age-status-panel"><span>🏫</span><div><strong>Modo controlado necessário</strong><p>Contas de menores de 13 anos ficarão reservadas ao futuro modo de evento controlado, sem transmissão pública.</p></div></div>
 <?php elseif($summary['is_minor']):?>
 <div class="age-status-panel age-status-panel--success"><span>✓</span><div><strong>Motor de políticas ativo</strong><p>As permissões do responsável são aplicadas junto com idade, privacidade e disponibilidade técnica.</p></div></div>
 <?php endif?>

 <div class="section-title">Permissões avaliadas</div>
 <section class="minor-policy-feature-list">
 <?php foreach($definitions as $key=>$definition):$decision=$summary['features'][$key];?>
  <article class="card minor-policy-feature <?=$decision['allowed']?'is-allowed':'is-blocked'?>">
   <div class="minor-policy-feature-icon"><?=$decision['allowed']?'✓':'🔒'?></div>
   <div><b><?=esc($definition['label'])?></b><small><?=esc($decision['message'])?></small><span><?=esc($decision['code'])?></span></div>
  </article>
 <?php endforeach?>
 </section>

 <section class="card minor-policy-explanation">
  <div class="section-title">Como a decisão é feita</div>
  <div class="age-protection-list">
   <div>1 <span><b>Faixa etária</b><small>Menores de 13 anos e adolescentes recebem regras diferentes.</small></span></div>
   <div>2 <span><b>Responsável verificado</b><small>O vínculo precisa estar ativo e o adulto precisa estar verificado.</small></span></div>
   <div>3 <span><b>Consentimento específico</b><small>Cada permissão precisa estar ativa e na versão atual.</small></span></div>
   <div>4 <span><b>Proteção técnica</b><small>Mesmo autorizado, o recurso só abre quando a proteção técnica estiver pronta.</small></span></div>
  </div>
 </section>

 <?php if($summary['is_minor']&&!$isGuardianView):?><a class="btn btn-primary" href="<?=SITE_URL?>/pages/responsavel.php">VER MEU RESPONSÁVEL</a><?php endif?>
 <?php if($isGuardianView&&$linkId>0):?><a class="btn btn-primary" href="<?=SITE_URL?>/pages/consentimentos-responsavel.php?link_id=<?=$linkId?>">REVISAR CONSENTIMENTOS</a><?php endif?>
 <a class="btn btn-secondary mt-12" href="<?=$isGuardianView?SITE_URL.'/pages/painel-responsavel.php':SITE_URL.'/pages/home.php'?>">VOLTAR</a>
</main>
<?php if(!$isGuardianView)require_once __DIR__.'/../includes/navbar.php';require_once __DIR__.'/../includes/footer.php';?>
