<?php 
require_once __DIR__ . '/components/product_card.php';
require_once __DIR__ . '/theme-init.php';

$cat_id = isset($_GET['categoria_id']) ? intval($_GET['categoria_id']) : 0;
$sql_cat = "SELECT * FROM categorias WHERE id = $cat_id";
$result_cat = $conn->query($sql_cat);

$categoria = null;
if ($result_cat && $result_cat->num_rows > 0) {
    $categoria = $result_cat->fetch_assoc();
    $pageTitle = $categoria['nome'] . " - " . ($dadosLoja['nome'] ?? 'Catálogo 44');
    $pageDescription = !empty($categoria['descricao']) ? mb_substr(strip_tags($categoria['descricao']), 0, 155) . "..." : "Produtos da categoria " . $categoria['nome'] . ".";
    $pageKeywords = $categoria['nome'] . ", comprar, loja online";
    $ogType = "website";
} else {
    $pageTitle = "Departamento não encontrado - " . ($dadosLoja['nome'] ?? 'Catálogo 44');
}

include 'header.php';
?>


    <?php
    if ($categoria) {
    ?>

    <!-- Hero / Banner Title Start -->
    <div class="container-fluid bg-primary py-5 hero-header mb-5">
        <div class="row py-3">
            <div class="col-12 text-center">
                <h1 class="display-3 text-white animated zoomIn"><?= htmlspecialchars($categoria['nome']) ?></h1>
                <?php if (!empty($categoria['descricao'])): ?>
                    <div class="text-white mt-3 mx-auto" style="max-width: 600px;"><?= $categoria['descricao'] ?></div>
                <?php endif; ?>
                <a href="index.php" class="h4 text-white">Início</a>
                <i class="far fa-circle text-white px-2"></i>
                <a href="" class="h4 text-white">Categoria</a>
            </div>
        </div>
    </div>
    <!-- Hero / Banner Title End -->

    <!-- Team Start -->
    <div class="container-fluid py-5">
        <div class="container">
            <?php
            // ── Ordenação via GET (whitelist — sem risco de SQL injection) ──────
            $ordenacoes_permitidas = [
                'novos'         => 'p.id DESC',
                'menor_preco'   => 'COALESCE(NULLIF(p.preco_promocional,0), p.preco) ASC',
                'maior_preco'   => 'COALESCE(NULLIF(p.preco_promocional,0), p.preco) DESC',
                'az'            => 'p.nome ASC',
            ];
            $ordem_escolhida = $_GET['ordem'] ?? 'novos';
            if (!array_key_exists($ordem_escolhida, $ordenacoes_permitidas)) {
                $ordem_escolhida = 'novos';
            }
            $order_sql = $ordenacoes_permitidas[$ordem_escolhida];

            // URL base sem o parâmetro ordem (para montar os links)
            $params_base = $_GET;
            unset($params_base['ordem']);
            $url_base = '?' . http_build_query($params_base);
            $url_base = rtrim($url_base, '?');

            // ── Barra de ordenação ───────────────────────────────────────────────
            $opcoes_ordenacao = [
                'novos'       => ['icone' => 'fas fa-clock',       'label' => 'Mais Novos'],
                'menor_preco' => ['icone' => 'fas fa-arrow-up',    'label' => 'Menor Preço'],
                'maior_preco' => ['icone' => 'fas fa-arrow-down',  'label' => 'Maior Preço'],
                'az'          => ['icone' => 'fas fa-sort-alpha-down', 'label' => 'A–Z'],
            ];
            ?>

            <!-- Barra de Ordenação -->
            <div class="d-flex flex-wrap align-items-center gap-2 mb-4 wow fadeInUp" data-wow-delay="0.1s">
                <span class="text-muted small fw-semibold me-1">
                    <i class="fas fa-sort me-1"></i>Ordenar por:
                </span>
                <?php foreach ($opcoes_ordenacao as $chave => $op):
                    $ativo = ($chave === $ordem_escolhida);
                    $link  = $url_base . (strpos($url_base, '?') !== false ? '&' : '?') . 'ordem=' . $chave;
                ?>
                    <a href="<?= htmlspecialchars($link) ?>"
                       class="btn btn-sm <?= $ativo ? 'btn-primary' : 'btn-outline-secondary' ?> d-flex align-items-center gap-1">
                        <i class="<?= $op['icone'] ?> fa-sm"></i>
                        <?= $op['label'] ?>
                    </a>
                <?php endforeach; ?>
            </div>

            <div class="row g-5" id="prod-grid-dept">
                <div class="col-lg-4 wow slideInUp" data-wow-delay="0.1s">
                    <div class="section-title bg-light rounded h-100 p-5">
                        <h5 class="position-relative d-inline-block text-primary text-uppercase">Nossos Produtos</h5>
                        <h1 class="display-6 mb-4">Veja as opções da categoria <?= htmlspecialchars($categoria['nome']) ?></h1>
                        <a href="index.php" class="btn btn-primary py-3 px-5">Ver Todas Categorias</a> 
                    </div>
                </div>

                <?php
                // ── Busca produtos desta categoria com ordenação e paginação ──────────
                $sql_prod = "SELECT p.*, c.nome AS categoria_nome
                             FROM produtos p
                             LEFT JOIN categorias c ON p.categoria_id = c.id
                             WHERE p.categoria_id = $cat_id
                               AND p.status = 'Ativo'
                             ORDER BY $order_sql
                             LIMIT 19";

                $result_prod = $conn->query($sql_prod);

                if ($result_prod && $result_prod->num_rows > 0) {
                    $index   = 0;
                    $hasMore = false;
                    while ($row = $result_prod->fetch_assoc()) {
                        if ($index < 18) {
                            echo renderProductCard($row, false, $index);
                        } else {
                            $hasMore = true;
                        }
                        $index++;
                    }

                    if ($hasMore): ?>
                        <div class="col-12 text-center mt-4">
                            <button class="btn btn-glass-primary btn-load-more py-3 px-5 wow fadeInUp"
                                    data-cat-id="<?= $cat_id ?>"
                                    data-offset="18"
                                    data-container="prod-grid-dept"
                                    onclick="carregarMais(this)">
                                Ver Mais <i class="fas fa-plus ms-2"></i>
                            </button>
                        </div>
                    <?php endif;
                } else {
                    echo '
                    <div class="col-lg-8 wow slideInUp" data-wow-delay="0.3s">
                        <div class="bg-light rounded h-100 d-flex flex-column justify-content-center p-5 text-center">
                            <i class="fas fa-box-open fa-3x text-muted mb-4"></i>
                            <h4 class="mb-3">Nenhum produto encontrado</h4>
                            <p class="text-muted mb-0">Ainda não há produtos disponíveis para esta categoria.</p>
                        </div>
                    </div>';
                }
                ?>

            </div>
        </div>
    </div>
    <!-- Team End -->

    <?php
    } else {
        echo '
        <div class="container-fluid py-5">
            <div class="container py-5 text-center">
                <i class="fas fa-folder-open fa-4x text-muted mb-4"></i>
                <h2 class="display-6 text-dark mb-4">Categoria não encontrada</h2>
                <p class="text-muted mb-4">A categoria que você tentou acessar não existe ou foi removida.</p>
                <a href="index.php" class="btn btn-outline-primary rounded-pill py-3 px-5">Voltar para a Loja</a>
            </div>
        </div>';
    }
    ?>

<?php include 'footer.php'; ?>
