<?php
/**
 * ICYLAB OS - Módulo de Categorías
 */
require_once '../../core/config.php';
require_once '../../core/session.php';
require_once '../../core/database.php';
require_once '../../core/format.php';

require_login();
$pdo = db();

// Obtener categorías con el conteo de productos asociados
$sql = "
    SELECT c.*, COUNT(p.id) as total_products 
    FROM product_categories c 
    LEFT JOIN products p ON c.id = p.category_id 
    GROUP BY c.id 
    ORDER BY c.name ASC
";
$categories = $pdo->query($sql)->fetchAll();

$page_title = 'Categorías de Productos';

require_once '../../layouts/header.php';
require_once '../../layouts/sidebar.php';
?>

<main class="app-main" id="categories-main">
    <?php require_once '../../layouts/topbar.php'; ?>

    <section class="content">
        <div class="page-header">
            <div class="page-header-content">
                <span class="label">Catálogo Maestro</span>
                <h1>Categorías</h1>
                <p class="text-secondary">Administra las agrupaciones de tus productos y servicios.</p>
            </div>

            <div class="cluster actions-cluster">
                <a class="btn btn-outline" href="/modules/products/index.php">
                    <i data-lucide="package"></i>
                    <span>Ver Productos</span>
                </a>
                <a class="btn btn-primary" href="/modules/categories/category_create.php">
                    <i data-lucide="plus"></i>
                    <span>Nueva Categoría</span>
                </a>
            </div>
        </div>

        <section class="card">
            <div class="table-wrap">
                <table class="table">
                    <thead>
                        <tr>
                            <th style="width: 40%;">Nombre de Categoría</th>
                            <th style="width: 20%; text-align: center;">Productos Asociados</th>
                            <th style="width: 20%;">ID FACTO</th>
                            <th class="text-right" style="width: 20%;">Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($categories as $cat): ?>
                            <tr>
                                <td>
                                    <strong><?php echo safe_text($cat['name']); ?></strong>
                                </td>
                                <td style="text-align: center;">
                                    <?php 
                                        $total = (int)$cat['total_products'];
                                        $color = $total > 0 ? 'var(--color-primary)' : 'var(--text-muted)';
                                    ?>
                                    <strong style="color: <?php echo $color; ?>;"><?php echo $total; ?></strong>
                                </td>
                                <td>
                                    <?php if ($cat['facto_id']): ?>
                                        <span class="mono text-sm text-secondary"><?php echo safe_text($cat['facto_id']); ?></span>
                                    <?php else: ?>
                                        <span class="badge">Local</span>
                                    <?php endif; ?>
                                </td>
                                <td class="text-right">
                                    <div class="cluster" style="justify-content: flex-end;">
                                        <a class="btn btn-sm btn-outline" href="/modules/categories/category_edit.php?id=<?php echo $cat['id']; ?>">
                                            <i data-lucide="pencil"></i>
                                            <span>Editar</span>
                                        </a>
                                        <form action="/modules/categories/category_delete.php" method="POST" onsubmit="return confirm('¿Eliminar esta categoría? Los productos asociados quedarán sin categoría.');" style="margin: 0;">
                                            <input type="hidden" name="id" value="<?php echo $cat['id']; ?>">
                                            <button type="submit" class="btn btn-sm btn-outline" style="color: var(--color-error); border-color: var(--color-error);">
                                                <i data-lucide="trash-2"></i>
                                            </button>
                                        </form>
                                    </div>
                                </td>
                            </tr>
                        <?php endforeach; ?>

                        <?php if (empty($categories)): ?>
                            <tr>
                                <td colspan="4" class="text-center text-secondary py-8">
                                    <p class="mt-4">No hay categorías registradas.</p>
                                </td>
                            </tr>
                        <?php endif; ?>
                    </tbody>
                </table>
            </div>
        </section>
    </section>
</main>

<?php require_once '../../layouts/footer.php'; ?>