<?php
declare(strict_types=1);

require_once __DIR__ . '/_bootstrap.php';
admin_require_login();

$id = (int) ($_GET['id'] ?? 0);
$passageiro = admin_buscar_usuario_por_id_tipo($id, 'passageiro');
if (!$passageiro) {
    admin_flash('Passageiro não encontrado.', 'error');
    header('Location: passageiros.php');
    exit;
}

$resumo = admin_usuario_resumo_corridas($id, 'passageiro');
$corridas = admin_usuario_corridas($id, 'passageiro');
$feedbacks = admin_usuario_feedbacks($id);
$feedbackResumo = admin_usuario_feedback_resumo($id);
$foto = (string) ($passageiro['foto_url'] ?? '');
$flash = admin_flash();
?>
<!doctype html>
<html lang="pt-BR">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Bulo Admin - Passageiro</title>
  <link rel="stylesheet" href="assets/admin.css?v=20260626-1">
</head>
<body>
  <?php admin_sidebar('passageiros'); ?>

  <main class="page">
    <?php if ($flash): ?><div class="flash <?= e($flash['type']) ?>"><?= e($flash['message']) ?></div><?php endif; ?>

    <section class="panel profile-hero">
      <div class="profile-photo">
        <?php if ($foto !== ''): ?>
          <img src="../<?= e($foto) ?>" alt="Foto de <?= e((string) $passageiro['nome']) ?>">
        <?php else: ?>
          <span><?= e(strtoupper(substr((string) $passageiro['nome'], 0, 1))) ?></span>
        <?php endif; ?>
      </div>
      <div class="profile-main">
        <h1><?= e((string) $passageiro['nome']) ?></h1>
        <p><?= e((string) $passageiro['email']) ?> | <?= e((string) $passageiro['celular']) ?></p>
        <div class="status-stack">
          <span class="badge badge-muted">Passageiro</span>
          <span class="badge <?= e(admin_status_class((string) $passageiro['passageiro_documento_status'])) ?>">
            <?= (string) $passageiro['passageiro_documento_status'] === 'aprovado' ? 'Passageiro verificado' : 'Verificacao: ' . e(admin_passageiro_doc_status_label((string) $passageiro['passageiro_documento_status'])) ?>
          </span>
          <span class="badge badge-muted">Código: <?=  e((string) $passageiro['codigoind']) ?></span>
          <span class="badge badge-muted">Indicado por: <?= e((string) ($passageiro['indicador_codigo'] ?? '--')) ?></span>
        </div>
      </div>
      <div class="profile-actions">
        <a class="button secondary" href="passageiros.php">Voltar</a>
      </div>
    </section>

    <section class="metric-grid">
      <div class="stat-card stat-blue">
        <div><strong><?= e((string) $resumo['finalizadas']) ?></strong><span>Corridas finalizadas</span><small>Total: <?= e((string) $resumo['total_corridas']) ?></small></div>
      </div>
      <div class="stat-card stat-green">
        <div><strong><?= e(admin_money((float) $resumo['valor_total'])) ?></strong><span>Total gasto</span><small>Dinheiro + online</small></div>
      </div>
      <div class="stat-card stat-gold">
        <div><strong><?= e(admin_money((float) $resumo['valor_online'])) ?></strong><span>Pagamento online</span><small><?= e(admin_money((float) $resumo['valor_dinheiro'])) ?> em dinheiro</small></div>
      </div>
      <div class="stat-card stat-orange">
        <div><strong><?= e((string) $feedbackResumo['elogios']) ?>/<?= e((string) $feedbackResumo['reclamacoes']) ?></strong><span>Elogios/Reclamações</span><small><?= e((string) $feedbackResumo['observacoes']) ?> observacoes</small></div>
      </div>
    </section>

    <section class="panel">
      <div class="panel-header"><h1>Dados cadastrais</h1></div>
      <div class="panel-body info-grid">
        <div><span>Nome</span><strong><?= e((string) $passageiro['nome']) ?></strong></div>
        <div><span>CPF</span><strong><?= e((string) $passageiro['cpf']) ?></strong></div>
        <div><span>E-mail</span><strong><?= e((string) $passageiro['email']) ?></strong></div>
        <div><span>Celular</span><strong><?= e((string) $passageiro['celular']) ?></strong></div>
        <div><span>Código de indicação</span><strong><?= e((string) $passageiro['codigoind']) ?></strong></div>
        <div><span>Indicado por</span><strong><?= e((string) ($passageiro['indicador_codigo'] ?? '--')) ?></strong></div>
        <div><span>Verificação</span><strong><?= e(admin_passageiro_doc_status_label((string) $passageiro['passageiro_documento_status'])) ?></strong></div>
        <div><span>Revisado por</span><strong><?= e((string) ($passageiro['passageiro_documento_aprovado_por'] ?? '--')) ?></strong></div>
        <div><span>Endereço</span><strong><?= e(trim((string) ($passageiro['endereco_logradouro'] ?? '') . ', ' . (string) ($passageiro['endereco_numero'] ?? ''), ', ')) ?></strong></div>
        <div><span>Cidade</span><strong><?= e((string) ($passageiro['endereco_cidade'] ?? '--')) ?>/<?= e((string) ($passageiro['endereco_uf'] ?? '--')) ?></strong></div>
        <div><span>Criado em</span><strong><?= e((string) $passageiro['criado_em']) ?></strong></div>
        <div><span>Atualizado em</span><strong><?= e((string) $passageiro['atualizado_em']) ?></strong></div>
      </div>
    </section>

    <section class="panel">
      <div class="panel-header"><h1>Documentos de verificação</h1><p>Documentos opcionais para selo de passageiro verificado.</p></div>
      <div class="panel-body info-grid">
        <div><span>Documento</span><strong><?php if (!empty($passageiro['passageiro_documento_url'])): ?><a class="button secondary" target="_blank" href="../<?= e((string) $passageiro['passageiro_documento_url']) ?>">Abrir documento</a><?php else: ?>--<?php endif; ?></strong></div>
        <div><span>Selfie com documento</span><strong><?php if (!empty($passageiro['passageiro_documento_selfie_url'])): ?><a class="button secondary" target="_blank" href="../<?= e((string) $passageiro['passageiro_documento_selfie_url']) ?>">Abrir selfie</a><?php else: ?>--<?php endif; ?></strong></div>
        <div><span>Observação</span><strong><?= e((string) ($passageiro['passageiro_documento_observacao'] ?? '--')) ?></strong></div>
        <div><span>Revisado em</span><strong><?= e((string) ($passageiro['passageiro_documento_aprovado_em'] ?? '--')) ?></strong></div>
      </div>
    </section>

    <section class="panel">
      <div class="panel-header"><h1>Corridas</h1><p>Últimas corridas solicitadas pelo passageiro.</p></div>
      <div class="panel-body table-wrap">
        <table>
          <thead><tr><th>ID</th><th>Motorista</th><th>Status</th><th>Pagamento</th><th>Valor</th><th>Avaliação motorista</th><th>Finalizada em</th></tr></thead>
          <tbody>
            <?php foreach ($corridas as $c): ?>
              <tr>
                <td>#<?= e((string) $c['id']) ?></td>
                <td><?= e((string) ($c['motorista_nome'] ?? '--')) ?></td>
                <td><span class="badge <?= admin_status_class((string) ($c['status'] === 'finalizada' ? 'aprovado' : 'pendente')) ?>"><?= e((string) $c['status']) ?></span></td>
                <td><?= e((string) $c['forma_pagamento']) ?></td>
                <td><?= e(admin_money((float) ($c['valor'] ?? 0))) ?></td>
                <td><?= $c['avaliacao_motorista'] === null ? '--' : e((string) $c['avaliacao_motorista']) ?></td>
                <td><?= e((string) ($c['finalizada_em'] ?? $c['criada_em'])) ?></td>
              </tr>
            <?php endforeach; ?>
            <?php if (!$corridas): ?><tr><td colspan="7">Nenhuma corrida registrada.</td></tr><?php endif; ?>
          </tbody>
        </table>
      </div>
    </section>

    <?php include __DIR__ . '/_feedback_panel.php'; ?>
  </main>
</body>
</html>
<?php
function admin_passageiro_doc_status_label(string $status): string
{
    return [
        'nao_enviado' => 'Não enviado',
        'pendente' => 'Pendente',
        'aprovado' => 'Aprovado',
        'reprovado' => 'Reprovado',
    ][$status] ?? $status;
}
