<?php
/**
 * TechShop Perú - Módulo Comparador Lado a Lado de Productos
 */
define('SECURE_ACCESS', true);
require_once __DIR__ . '/../includes/config.php';
require_once __DIR__ . '/../includes/database.php';
require_once __DIR__ . '/../includes/functions.php';

$page_title = 'Comparador de Productos';
$db = db();

$ids = $_SESSION['comparar'] ?? [];
$productos = [];
$especificaciones_map = [];

if (!empty($ids)) {
    $in = implode(',', array_fill(0, count($ids), '?'));
    $stmt = $db->prepare("
        SELECT p.*, c.nombre AS categoria_nombre, m.nombre AS marca_nombre 
        FROM productos p 
        JOIN categorias c ON p.categoria_id = c.id 
        JOIN marcas m ON p.marca_id = m.id 
        WHERE p.id IN ($in) AND p.activo = 1
    ");
    $stmt->execute($ids);
    $productos = $stmt->fetchAll();

    foreach ($productos as $p) {
        try {
            $stmtEsp = $db->prepare('SELECT clave, valor FROM especificaciones_producto WHERE producto_id = ?');
            $stmtEsp->execute([$p['id']]);
            $esps = $stmtEsp->fetchAll();
            foreach ($esps as $esp) {
                $especificaciones_map[$esp['clave']][$p['id']] = $esp['valor'];
            }
        } catch (PDOException $e) {
            // Manejo defensivo en caso de que la tabla especificaciones aún no exista
        }
    }
}

require_once __DIR__ . '/../includes/header.php';
?>

<section class="page-header mb-4">
    <div class="container">
        <h1 class="h2 mb-1"><i class="bi bi-arrow-left-right me-2"></i>Comparador de Productos</h1>
        <nav aria-label="breadcrumb">
            <ol class="breadcrumb mb-0">
                <li class="breadcrumb-item"><a href="<?= url('') ?>" class="text-white-50">Inicio</a></li>
                <li class="breadcrumb-item active text-white">Comparador</li>
            </ol>
        </nav>
    </div>
</section>

<section class="py-4">
    <div class="container">
        <?php if (empty($productos)): ?>
            <div class="card border-0 shadow-sm p-5 text-center">
                <div class="fs-1 text-muted mb-3"><i class="bi bi-arrow-left-right"></i></div>
                <h4 class="fw-bold">No tienes productos en el comparador</h4>
                <p class="text-muted">Explora nuestro catálogo y presiona el botón "Comparar" en los productos que desees analizar lado a lado.</p>
                <div>
                    <a href="<?= url('pages/productos.php') ?>" class="btn btn-primary btn-lg mt-2">
                        <i class="bi bi-grid me-2"></i>Ver Productos
                    </a>
                </div>
            </div>
        <?php else: ?>
            <div class="table-responsive bg-white rounded shadow-sm p-3">
                <table class="table table-bordered align-middle text-center mb-0">
                    <thead class="table-light">
                        <tr>
                            <th style="width: 200px;" class="align-middle">Características</th>
                            <?php foreach ($productos as $p): 
                                $img = !empty($p['imagen_principal']) ? UPLOADS_URL.'/products/'.$p['imagen_principal'] : ASSETS_URL.'/images/placeholder-product.svg';
                                $precioFinal = precio_final($p);
                            ?>
                            <th style="min-width: 240px;">
                                <div class="p-2">
                                    <img src="<?= $img ?>" alt="<?= e($p['nombre']) ?>" style="height: 120px; object-fit: contain;" class="mb-2">
                                    <h6 class="fw-bold text-dark mb-1"><?= e($p['nombre']) ?></h6>
                                    <div class="fs-5 fw-bold text-primary mb-2"><?= format_precio($precioFinal) ?></div>
                                    <button class="btn btn-sm btn-primary add-to-cart-btn w-100 mb-2" data-producto-id="<?= $p['id'] ?>">
                                        <i class="bi bi-cart-plus me-1"></i>Agregar
                                    </button>
                                    <button class="btn btn-sm btn-outline-danger btn-compare w-100" data-producto-id="<?= $p['id'] ?>">
                                        <i class="bi bi-x-circle me-1"></i>Quitar
                                    </button>
                                </div>
                            </th>
                            <?php endforeach; ?>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td class="fw-bold bg-light text-start">Categoría</td>
                            <?php foreach ($productos as $p): ?>
                                <td><span class="badge bg-light text-dark border"><?= e($p['categoria_nombre']) ?></span></td>
                            <?php endforeach; ?>
                        </tr>
                        <tr>
                            <td class="fw-bold bg-light text-start">Marca</td>
                            <?php foreach ($productos as $p): ?>
                                <td><span class="badge bg-secondary"><?= e($p['marca_nombre']) ?></span></td>
                            <?php endforeach; ?>
                        </tr>
                        <tr>
                            <td class="fw-bold bg-light text-start">Stock Disponible</td>
                            <?php foreach ($productos as $p): ?>
                                <td>
                                    <?= $p['stock'] > 0 
                                        ? '<span class="text-success fw-bold"><i class="bi bi-check-circle-fill me-1"></i>' . $p['stock'] . ' unidades</span>' 
                                        : '<span class="text-danger fw-bold"><i class="bi bi-x-circle-fill me-1"></i>Agotado</span>' ?>
                                </td>
                            <?php endforeach; ?>
                        </tr>
                        <tr>
                            <td class="fw-bold bg-light text-start">Calificación</td>
                            <?php foreach ($productos as $p): ?>
                                <td><?= render_estrellas((float)$p['calificacion']) ?> (<?= (int)$p['num_calificaciones'] ?>)</td>
                            <?php endforeach; ?>
                        </tr>

                        <?php foreach ($especificaciones_map as $clave => $valMap): ?>
                        <tr>
                            <td class="fw-bold bg-light text-start"><?= e($clave) ?></td>
                            <?php foreach ($productos as $p): ?>
                                <td><?= e($valMap[$p['id']] ?? 'N/A') ?></td>
                            <?php endforeach; ?>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        <?php endif; ?>
    </div>
</section>

<?php require_once __DIR__ . '/../includes/footer.php'; ?>
