<?php
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/kyc_helpers.php';

$auth = getAuth();
$auth->requireAuth();
$user = $auth->getCurrentUser();
$db = getDatabaseConnection();
$kyc = getUserKyc($db, $user['id']);
$message = isset($_GET['message']) ? htmlspecialchars($_GET['message']) : '';

$statusLabel = [
    'no_iniciado' => 'Pendiente de iniciar',
    'pendiente' => 'En proceso',
    'verificado' => 'Verificada',
    'rechazado' => 'Rechazada'
]; 
$status = $kyc['kyc_estado'] ?? 'no_iniciado';
?>
<!DOCTYPE html>
<html lang="es">  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" href="graphics/signatureicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="graphics/signatureicon.ico" type="image/x-icon">
    <title>Verificacion de identidad</title>
    <style>
        body { margin:0; font-family: Segoe UI, Tahoma, sans-serif; background:#f6f8fb; }
        .container { max-width: 760px; margin: 40px auto; background:#fff; border-radius:0 0 8px 8px; box-shadow: 0 8px 30px rgba(0,0,0,.08); overflow:hidden; }
        .header { background: linear-gradient(135deg, #29648D 0%, #29648D 100%); padding:22px; color:#fff; }
        .content { padding: 24px; }
        .btn { display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:600; border:none; cursor:pointer; }
        .btn-primary { background:#29648D; color:#fff; }
        .btn-disabled { background:#cbd5e1; color:#475569; cursor:not-allowed; }
        .alert { padding:12px 14px; border-radius:8px; margin-bottom:14px; }
        .alert.info { background:#eef2ff; color:#1e3a8a; border:1px solid #c7d2fe; }
        .alert.error { background:#fdecea; color:#b42318; border:1px solid #f1a7a1; }
        .alert.success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
        .status-chip { display:inline-block; padding:6px 10px; border-radius:999px; background:#e2e8f0; color:#1f2937; font-weight:600; }
    </style>
</head>
<body>
    <div class="container">
        <div class="header">
            <h2>Verifica tu identidad</h2>
        </div>
        <div class="content">
            <?php if ($message): ?>
                <div class="alert info"><?php echo $message; ?></div>
            <?php endif; ?>
            <p>Para activar tu suscripcion necesitamos validar tu documento y selfie mediante Didit. No almacenamos imagenes ni numeros de documento en nuestros servidores; solo guardamos el resultado (aprobado/rechazado).</p>
            <p>Estado actual: <span class="status-chip"><?php echo htmlspecialchars($statusLabel[$status] ?? $status); ?></span>
                <?php if (!empty($kyc['kyc_motivo_resultado']) && $status === 'rechazado'): ?>
                    <div style="margin-top:6px; color:#b42318; font-size:.95rem;">Motivo: <?php echo htmlspecialchars($kyc['kyc_motivo_resultado']); ?></div>
                <?php endif; ?>
                <?php if (!empty($kyc['kyc_verificado_el']) && $status === 'verificado'): ?>
                    <div style="margin-top:6px; color:#065f46; font-size:.95rem;">Verificada el <?php echo htmlspecialchars($kyc['kyc_verificado_el']); ?></div>
                <?php endif; ?>
            </p>
            <p style="margin-top:16px;">
                <button id="startKycBtn" class="btn <?php echo $status === 'verificado' ? 'btn-disabled' : 'btn-primary'; ?>" <?php echo $status === 'verificado' ? 'disabled' : ''; ?>>
                    <?php echo $status === 'pendiente' ? 'Reintentar verificacion' : 'Iniciar verificacion'; ?>
                </button>
                <a class="btn" href="subscription" style="margin-left:8px; text-decoration:none;">Volver</a>
            </p>
            <div id="kycFeedback" class="alert" style="display:none;"></div>
        </div>
    </div>
    <script>
        const btn = document.getElementById('startKycBtn');
        const feedback = document.getElementById('kycFeedback');
        function showFeedback(text, type) {
            if (!feedback) return;
            feedback.textContent = text;
            feedback.className = 'alert ' + (type || 'info');
            feedback.style.display = 'block';
        }
        if (btn) {
            btn.addEventListener('click', async () => {
                btn.disabled = true;
                btn.classList.add('btn-disabled');
                showFeedback('Creando sesion de verificacion...', 'info');
                try {
                    const res = await fetch('start_kyc.php', { method: 'POST' }); 
                    const data = await res.json();
                    if (data && data.success && data.redirectUrl) {
                        window.location.href = data.redirectUrl;
                        return;
                    }
                    throw new Error(data && data.message ? data.message : 'No se pudo iniciar la verificacion');
                } catch (err) {
                    showFeedback(err.message, 'error');
                    btn.disabled = false;
                    btn.classList.remove('btn-disabled');
                }
            });
        }
    </script>
</body>
</html>
