<?php
// clasificar_estado_whatsapp.php

require_once __DIR__ . '/config.php';        // tu config con db()
require_once __DIR__ . '/config_openai.php'; // donde está openai_clasificar_estado()

$pdo = db();

// -------------------------------------------------------------------
// 1) Si viene POST, guardo la elección y redirijo a "el próximo"
// -------------------------------------------------------------------
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $id     = isset($_POST['id']) ? (int)$_POST['id'] : 0;
    $estado = isset($_POST['estado']) ? trim($_POST['estado']) : '';

    if ($id > 0 && in_array($estado, ['cerrado', 'ignorado', 'pendiente'])) {
        $upd = $pdo->prepare("UPDATE whatsapp_leads SET estado = :estado WHERE id = :id");
        $upd->execute([
            ':estado' => $estado,
            ':id'     => $id,
        ]);
    }

    // Redirijo para evitar re-envío de formulario y cargar el siguiente
    header("Location: " . $_SERVER['PHP_SELF']);
    exit;
}

// -------------------------------------------------------------------
// 2) Buscar UN lead sin estado para clasificar
// -------------------------------------------------------------------
$sql = "SELECT id, telefono, fecha_txt, mensaje_prev, color_hex, archivo
        FROM whatsapp_leads
        WHERE (estado IS NULL OR estado = '')
          AND mensaje_prev IS NOT NULL
          AND TRIM(mensaje_prev) <> ''
        ORDER BY id ASC
        LIMIT 1";

$stmt = $pdo->query($sql);
$lead = $stmt->fetch();

if (!$lead) {
    // No hay más pendientes
    echo "<h2>No hay más leads pendientes para clasificar.</h2>";
    exit;
}

// -------------------------------------------------------------------
// 3) Pedir a OpenAI la clasificación sugerida
// -------------------------------------------------------------------
$mensaje_prev = $lead['mensaje_prev'];

try {
    $clasificacion_sugerida = openai_clasificar_estado($mensaje_prev);
} catch (Exception $e) {
    // Si falla la IA, por defecto sugerimos "pendiente"
    $clasificacion_sugerida = 'pendiente';
    $error_ia = $e->getMessage();
}

// -------------------------------------------------------------------
// 4) Mostrar HTML simple con el lead y la clasificación
// -------------------------------------------------------------------
function h($str) {
    return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Clasificar lead WhatsApp</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background: #f5f5f5;
            padding: 20px;
        }
        .card {
            background: #fff;
            border-radius: 6px;
            padding: 15px 20px;
            max-width: 700px;
            margin: 0 auto;
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        }
        .label {
            font-weight: bold;
            margin-top: 8px;
        }
        .mensaje {
            background: #f0f0f0;
            padding: 10px;
            border-radius: 4px;
            white-space: pre-wrap;
        }
        .estado-sugerido {
            padding: 8px 10px;
            border-radius: 4px;
            display: inline-block;
            margin-top: 8px;
        }
        .estado-sugerido.cerrado    { background: #e1f7e7; }
        .estado-sugerido.ignorado   { background: #ffe9e9; }
        .estado-sugerido.pendiente  { background: #fff7d6; }

        .footer {
            margin-top: 15px;
            text-align: right;
        }
        button {
            padding: 8px 16px;
            border-radius: 4px;
            border: none;
            cursor: pointer;
            background: #007bff;
            color: #fff;
            font-weight: bold;
        }
        .radios {
            margin-top: 10px;
        }
        .radios label {
            margin-right: 15px;
        }
        .small {
            font-size: 12px;
            color: #666;
        }
    </style>
</head>
<body>

<div class="card">
    <h2>Clasificar lead WhatsApp</h2>

    <p class="small">
        ID: <strong><?= (int)$lead['id']; ?></strong><br>
        Teléfono: <strong><?= h($lead['telefono']); ?></strong><br>
        Fecha: <strong><?= h($lead['fecha_txt']); ?></strong><br>
        Archivo: <strong><?= h($lead['archivo']); ?></strong><br>
        Color HEX: <span style="background:<?= h($lead['color_hex']); ?>; padding:2px 8px; border-radius:4px;"><?= h($lead['color_hex']); ?></span>
    </p>

    <div class="label">mensaje_prev:</div>
    <div class="mensaje">
        <?= nl2br(h($mensaje_prev)); ?>
    </div>

    <?php if (!empty($error_ia)): ?>
        <p style="color:red; font-size:12px;">Error IA: <?= h($error_ia); ?></p>
    <?php endif; ?>

    <div class="label">Clasificación sugerida por IA:</div>
    <div class="estado-sugerido <?= h($clasificacion_sugerida); ?>">
        <?= h($clasificacion_sugerida); ?>
    </div>

    <form method="post" style="margin-top: 15px;">
        <input type="hidden" name="id" value="<?= (int)$lead['id']; ?>">

        <div class="label">Elegir estado final:</div>
        <div class="radios">
            <label>
                <input type="radio" name="estado" value="cerrado"
                    <?= $clasificacion_sugerida === 'cerrado' ? 'checked' : ''; ?>>
                cerrado
            </label>
            <label>
                <input type="radio" name="estado" value="ignorado"
                    <?= $clasificacion_sugerida === 'ignorado' ? 'checked' : ''; ?>>
                ignorado
            </label>
            <label>
                <input type="radio" name="estado" value="pendiente"
                    <?= $clasificacion_sugerida === 'pendiente' ? 'checked' : ''; ?>>
                pendiente
            </label>
        </div>

        <div class="footer">
            <button type="submit">Guardar y siguiente</button>
        </div>
    </form>
</div>

</body>
</html>
