<?php
$title = $title ?? 'Admin: Recuperação';
ob_start();
?>
<div class="card" style="max-width: 520px; margin: 0 auto;">
    <h2 style="margin-bottom:1rem;">Recuperar acesso administrativo</h2>
    <p class="muted" style="margin-bottom:1rem;color:#555;">Informe seu e-mail para receber um link de reset válido por 15 minutos.</p>

    <div class="form-group">
        <label for="email">E-mail</label>
        <input type="email" id="email" placeholder="admin@empresa.com" required>
    </div>
    <div class="form-group">
        <label for="finger">Identificador do dispositivo (opcional)</label>
        <input type="text" id="finger" placeholder="ex.: hash do dispositivo">
    </div>
    <button class="btn" id="requestBtn">Solicitar reset</button>

    <div id="msg" class="alert" style="display:none;margin-top:1rem;"></div>

    <div style="margin-top:1rem;">
        <a class="btn btn-secondary" href="/admin/login">Voltar ao login</a>
    </div>
</div>

<script>
document.getElementById('requestBtn').addEventListener('click', async () => {
    const email = document.getElementById('email').value.trim();
    const finger = document.getElementById('finger').value.trim();
    const msg = document.getElementById('msg');
    msg.style.display = 'none';
    try {
        const res = await fetch('/api/admin/auth/recovery/request', {
            method: 'POST', headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ email, device_fingerprint: finger })
        });
        const data = await res.json().catch(() => ({}));
        if (!res.ok) {
            msg.className = 'alert alert-error';
            msg.textContent = data.error || 'Falha na solicitação';
        } else {
            msg.className = 'alert alert-success';
            msg.textContent = 'Se existir, um link de reset foi enviado.';
        }
        msg.style.display = 'block';
    } catch (e) {
        msg.className = 'alert alert-error';
        msg.textContent = 'Erro de rede: ' + e.message;
        msg.style.display = 'block';
    }
});
</script>

<?php
$content = ob_get_clean();
echo $content;
?>