<?php
// 1. CONEXIÓN A LA BASE DE DATOS
$host = "localhost";
$user = "root";
$pass = "";
$db   = "lapecosa";

$conn = new mysqli($host, $user, $pass, $db);

if ($conn->connect_error) {
    die("Error de conexión: " . $conn->connect_error);
}

// 2. LÓGICA PARA GUARDAR CAMBIOS (PROCESAMIENTO)
$mensaje_alerta = "";

// Agregar nueva pregunta CORREGIDO (Incluye keywords y categoría dinámica)
if (isset($_POST['agregar_pregunta'])) {
    $preg = $conn->real_escape_string($_POST['nueva_pregunta']);
    $resp = $conn->real_escape_string($_POST['nueva_respuesta']);
    $keys = $conn->real_escape_string($_POST['nuevas_keywords']); 
    
    // Procesamiento inteligente de la categoría
    $cat_seleccionada = $_POST['categoria_existente'];
    if ($cat_seleccionada === 'nueva') {
        $cat = $conn->real_escape_string(trim(strtolower($_POST['nueva_categoria'])));
    } else {
        $cat = $conn->real_escape_string($cat_seleccionada);
    }
    
    if (!empty($preg) && !empty($resp) && !empty($keys) && !empty($cat)) {
        // Ejecución del INSERT incluyendo la nueva columna
        $conn->query("INSERT INTO bot_preguntas (pregunta, respuesta, keywords, categoria) VALUES ('$preg', '$resp', '$keys', '$cat')");
        $mensaje_alerta = "Pregunta, palabras clave y categoría agregadas con éxito.";
    } else {
        $mensaje_alerta = "Error: Todos los campos del asistente virtual, incluida la categoría, son obligatorios.";
    }
}

// Eliminar pregunta
if (isset($_GET['eliminar'])) {
    $id_del = intval($_GET['eliminar']);
    $conn->query("DELETE FROM bot_preguntas WHERE id = $id_del");
    header("Location: asistente.php"); // Recargar para limpiar la URL
    exit();
}

// Consultas dinámicas para la vista y el selector
$preguntas = $conn->query("SELECT * FROM bot_preguntas ORDER BY id DESC");
$categorias_existentes = $conn->query("SELECT DISTINCT categoria FROM bot_preguntas WHERE categoria IS NOT NULL AND categoria != '' ORDER BY categoria ASC");
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Panel Asistente Virtual | La Pecosa</title>
    <link rel="stylesheet" href="../css/all.min.css">
    <style>
        :root { --rojo: #D32F2F; --oscuro: #121212; --gris: #1e1e1e; --texto: #f5f5f5; }
        body { font-family: 'Segoe UI', sans-serif; background-color: var(--oscuro); color: var(--texto); margin: 0; padding: 20px; }
        .container { max-width: 1200px; margin: auto; }
        header { border-bottom: 2px solid var(--rojo); padding-bottom: 10px; margin-bottom: 30px; display: flex; align-items: center; }
        header h1 { color: var(--rojo); margin: 0; text-transform: uppercase; font-size: 24px; }
        header i { margin-right: 15px; font-size: 30px; color: var(--rojo); }

        .grid { display: grid; grid-template-columns: 1fr 1.8fr; gap: 20px; }
        
        .card { background: var(--gris); padding: 20px; border-radius: 12px; border: 1px solid #333; }
        h2 { font-size: 18px; border-left: 4px solid var(--rojo); padding-left: 10px; margin-bottom: 20px; }

        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; font-size: 14px; color: #bbb; }
        input, textarea, select { width: 100%; padding: 10px; background: #2a2a2a; border: 1px solid #444; color: white; border-radius: 6px; box-sizing: border-box; }
        select option { background: #1e1e1e; color: white; }
        
        .btn { background: var(--rojo); color: white; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-weight: bold; width: 100%; }
        .btn:hover { background: #b71c1c; }

        table { width: 100%; border-collapse: collapse; margin-top: 10px; }
        th { text-align: left; background: #252525; padding: 12px; border-bottom: 2px solid var(--rojo); }
        td { padding: 12px; border-bottom: 1px solid #333; font-size: 14px; }
        .btn-del { color: #ff5252; text-decoration: none; font-size: 18px; }
        
        .alerta { background: #2e7d32; color: white; padding: 15px; border-radius: 6px; margin-bottom: 20px; text-align: center; }
        .btn-volver {
            background: #252525;
            color: var(--rojo);
            padding: 10px 15px;
            border-radius: 8px;
            text-decoration: none;
            margin-right: 20px;
            border: 1px solid #444;
            transition: 0.3s;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .btn-volver:hover { background: var(--rojo); color: white; border-color: var(--rojo); }
        .badge-key { background: #444; color: #ffeb3b; padding: 2px 6px; border-radius: 4px; font-size: 12px; margin-right: 4px; display: inline-block; }
        .badge-cat { background: rgba(211, 47, 47, 0.2); color: #ff8a80; padding: 2px 6px; border-radius: 4px; font-size: 11px; font-weight: bold; text-transform: uppercase; }
    </style>
</head>
<body>

<div class="container">

<header>
    <a href="dashboard.php" class="btn-volver" title="Volver al Panel Principal">
        <i class="fas fa-arrow-left"></i>
    </a>
    <i class="fas fa-robot"></i>
    <h1>Asistente Virtual La Pecosa - Administración</h1>
</header>

    <?php if($mensaje_alerta): ?>
        <div class="alerta"><?php echo $mensaje_alerta; ?></div>
    <?php endif; ?>

    <div class="grid">
        <div class="card">
            <h2>Nueva pregunta frecuente</h2>
            <form action="asistente.php" method="POST">
                <div class="form-group">
                    <label>Título de la pregunta (Referencia interna):</label>
                    <input type="text" name="nueva_pregunta" placeholder="Ej: Precio de las Milanesas" required>
                </div>
                
                <div class="form-group">
                    <label>Categoría del bot:</label>
                    <select name="categoria_existente" id="categoria_select" onchange="alternarNuevaCategoria(this.value)" required>
                        <option value="">-- Seleccioná una categoría --</option>
                        <?php while($c = $categorias_existentes->fetch_assoc()): ?>
                            <option value="<?php echo htmlspecialchars($c['categoria']); ?>">
                                <?php echo htmlspecialchars(ucfirst($c['categoria'])); ?>
                            </option>
                        <?php endwhile; ?>
                        <option value="nueva" style="color: #ff8a80;">+ Crear una nueva categoría...</option>
                    </select>
                </div>

                <div id="campo_nueva_categoria" class="form-group" style="display: none;">
                    <label>Nombre de la nueva categoría:</label>
                    <input type="text" name="nueva_categoria" id="nueva_categoria_input" placeholder="Ej: promos, horarios, envios">
                </div>

                <div class="form-group">
                    <label>Palabras clave activadoras (Separadas por comas):</label>
                    <input type="text" name="nuevas_keywords" placeholder="Ej: milanesa, milanesas, precio, cuanto cuesta" required>
                    <small style="color: #aaa; font-size: 11px;">Si el usuario escribe alguna de estas palabras, el bot responderá.</small>
                </div>
                <div class="form-group">
                    <label>El asistente virtual responde:</label>
                    <textarea name="nueva_respuesta" placeholder="Ej: La porción de milanesa con fritas cuesta..." required></textarea>
                </div>
                <button type="submit" name="agregar_pregunta" class="btn" style="background: #e02828;">Añadir al asistente virtual</button>
            </form>
        </div>

        <div class="card">
            <h2>Base de conocimiento</h2>
            <table>
                <thead>
                    <tr>
                        <th>Pregunta / Keywords</th>
                        <th>Categoría</th>
                        <th>Respuesta configurada</th>
                        <th>Acción</th>
                    </tr>
                </thead>
                <tbody>
                    <?php while($p = $preguntas->fetch_assoc()): ?>
                    <tr>
                        <td>
                            <strong><?php echo htmlspecialchars($p['pregunta']); ?></strong><br>
                            <span style="font-size: 12px; color: #bbb;">Palabras clave:</span><br>
                            <?php 
                            $kw = explode(',', $p['keywords']);
                            foreach($kw as $k) {
                                if(trim($k) != "") echo '<span class="badge-key">'.htmlspecialchars(trim($k)).'</span>';
                            }
                            ?>
                        </td>
                        <td>
                            <span class="badge-cat"><?php echo htmlspecialchars($p['categoria']); ?></span>
                        </td>
                        <td><?php echo htmlspecialchars($p['respuesta']); ?></td>
                        <td align="center">
                            <a href="asistente.php?eliminar=<?php echo $p['id']; ?>" class="btn-del" onclick="return confirm('¿Eliminar esta respuesta?')">
                                <i class="fas fa-trash-can"></i>
                            </a>
                        </td>
                    </tr>
                    <?php endwhile; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<script>
function alternarNuevaCategoria(valor) {
    const contenedorNueva = document.getElementById('campo_nueva_categoria');
    const inputNueva = document.getElementById('nueva_categoria_input');
    
    if (valor === 'nueva') {
        contenedorNueva.style.display = 'block';
        inputNueva.required = true;
        inputNueva.focus();
    } else {
        contenedorNueva.style.display = 'none';
        inputNueva.required = false;
        inputNueva.value = '';
    }
}
</script>

</body>
</html>