<?php
// Prevent direct access
if (count(get_included_files()) === 1) {
    http_response_code(403);
    exit('Forbidden');
}
$page_title = 'Vale Admin — Configuración';
function st_dot(bool $ok): string {
    return '<span style="display:inline-block;width:9px;height:9px;border-radius:50%;background:' . ($ok ? '#1E7A4D' : '#C0392B') . ';margin-right:7px;"></span>';
}
ob_start();
?>
<div class="dashboard-container">
    <?php $adminNav = 'config'; require __DIR__ . '/sidebar.php'; ?>

    <main class="main-content">
        <header class="header-bar"><h2>Configuración</h2></header>

        <div style="flex:1;overflow-y:auto;padding:1.5rem 2rem;max-width:760px;">
            <?php if (!empty($cfgNotice)): ?><div class="alert" style="background:rgba(30,122,77,.1);color:var(--color-verde);border:1px solid rgba(30,122,77,.2);"><?php echo htmlspecialchars($cfgNotice); ?></div><?php endif; ?>
            <?php if (!empty($cfgError)): ?><div class="alert alert-error"><?php echo htmlspecialchars($cfgError); ?></div><?php endif; ?>
            <?php if ($testResult !== null): ?>
                <div class="alert" style="background:<?php echo $testResult['ok'] ? 'rgba(30,122,77,.1)' : 'rgba(192,57,43,.1)'; ?>;color:<?php echo $testResult['ok'] ? 'var(--color-verde)' : 'var(--color-rojo)'; ?>;border:1px solid var(--color-border);">
                    <?php echo $testResult['ok'] ? '✅ Mensaje enviado (SID: ' . htmlspecialchars($testResult['sid'] ?? '') . ')' : '❌ Falló: ' . htmlspecialchars($testResult['error'] ?? ''); ?>
                </div>
            <?php endif; ?>

            <!-- Estado de integraciones -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-soft);">
                <h3 style="margin-bottom:1rem;">Estado de integraciones</h3>
                <div style="font-size:.9rem;line-height:2;">
                    <div><?php echo st_dot($status['twilio_sid']); ?>Twilio Account SID <?php echo $status['twilio_sid'] ? 'configurado' : '<b>falta en .env (TWILIO_ACCOUNT_SID)</b>'; ?></div>
                    <div><?php echo st_dot($status['twilio_token']); ?>Twilio Auth Token <?php echo $status['twilio_token'] ? 'configurado' : '<b>falta en .env</b>'; ?></div>
                    <div><?php echo st_dot($status['twilio_validation']); ?>Validación de firma Twilio <?php echo $status['twilio_validation'] ? 'activa' : 'desactivada'; ?></div>
                    <div><?php echo st_dot($status['supraide_number'] !== ''); ?>Número de Supraide: <strong><?php echo $status['supraide_number'] !== '' ? '+' . htmlspecialchars($status['supraide_number']) : 'sin definir'; ?></strong></div>
                    <hr style="border:none;border-top:1px solid var(--color-border);margin:.5rem 0;">
                    <div><?php echo st_dot($status['gemini_key']); ?>Gemini API key <?php echo $status['gemini_key'] ? 'configurada' : '<b>falta en .env</b>'; ?> · modelo <code><?php echo htmlspecialchars($status['gemini_model']); ?></code></div>
                    <div><?php echo st_dot($status['google_oauth']); ?>Google OAuth (login + Calendar) <?php echo $status['google_oauth'] ? 'configurado' : 'sin configurar'; ?></div>
                </div>
            </section>

            <!-- Número de Supraide -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-soft);">
                <h3 style="margin-bottom:.5rem;">Número oficial de Supraide</h3>
                <p style="color:var(--color-text-muted);font-size:.85rem;margin-bottom:1rem;">Se usa para el onboarding por WhatsApp y los recordatorios. Solo dígitos con código de país (ej. <code>13502231247</code>).</p>
                <form method="POST" action="/admin/config" style="display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;">
                    <input type="hidden" name="action" value="save_number">
                    <input type="text" name="supraide_whatsapp" class="form-control" style="flex:1;min-width:220px;" value="<?php echo htmlspecialchars($status['supraide_number']); ?>" placeholder="13502231247">
                    <button type="submit" class="btn btn-primary">Guardar</button>
                </form>
            </section>

            <!-- Webhook -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-soft);">
                <h3 style="margin-bottom:.5rem;">Webhook para Twilio</h3>
                <p style="color:var(--color-text-muted);font-size:.85rem;margin-bottom:.75rem;">Pegá esta URL en Twilio, en "When a message comes in" (POST):</p>
                <input type="text" class="form-control" readonly value="<?php echo htmlspecialchars($status['webhook_url']); ?>" onclick="this.select()">
            </section>

            <!-- Test de conexión -->
            <section style="background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-soft);">
                <h3 style="margin-bottom:.5rem;">Probar conexión (enviar mensaje real)</h3>
                <p style="color:var(--color-text-muted);font-size:.85rem;margin-bottom:1rem;">Manda un mensaje de prueba desde el número de Supraide. Valida que SID + Token + número funcionen.</p>
                <form method="POST" action="/admin/config" style="display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;">
                    <input type="hidden" name="action" value="test_send">
                    <input type="text" name="test_to" class="form-control" style="flex:1;min-width:200px;" placeholder="Número destino (ej. 13055551234)">
                    <select name="test_channel" class="form-control" style="width:130px;">
                        <option value="whatsapp">WhatsApp</option>
                        <option value="sms">SMS</option>
                    </select>
                    <button type="submit" class="btn btn-outline">Enviar prueba</button>
                </form>
            </section>
        </div>
    </main>
</div>
<?php
$content = ob_get_clean();
require dirname(__DIR__) . '/layout.php';
