<?php
// index.php
require_once __DIR__ . '/config/config.php';

// Параметры пагинации
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
if ($page < 1) $page = 1;
$limit = 20;
$offset = ($page - 1) * $limit;

$db = getDB();

// Запрос на получение товаров
$sql = "SELECT 
            p.*,
            COALESCE(SUM(i.quantity_on_hand - i.reserved_quantity - i.backordered_quantity), 0) AS available
        FROM products p
        LEFT JOIN inventory i ON p.id = i.product_id
        WHERE p.is_active = true
          AND (p.parent_product_id IS NULL OR p.is_group_parent = true OR p.is_visible_individually = true)
        GROUP BY p.id
        ORDER BY p.id DESC
        LIMIT :limit OFFSET :offset";

$stmt = $db->prepare($sql);
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
$products = $stmt->fetchAll();

// Проверяем, есть ли ещё товары (для кнопки "Загрузить ещё")
$countSql = "SELECT COUNT(*) FROM products p 
             WHERE p.is_active = true 
               AND (p.parent_product_id IS NULL OR p.is_group_parent = true)";
$totalCount = (int)$db->query($countSql)->fetchColumn();
$hasMore = ($offset + $limit) < $totalCount;

seo_set('title', getSetting('store_default_name'));
require __DIR__ . '/app/header.php';
?>

<h1 class="page-title">Новинки</h1>

<div class="products-grid">
    <?php foreach ($products as $product): ?>
        <?php include __DIR__ . '/app/product_card.php'; ?>
    <?php endforeach; ?>
</div>

<?php if ($hasMore): ?>
<div class="load-more">
    <a href="?page=<?= $page + 1 ?>" class="btn-load">Загрузить ещё</a>
</div>
<?php endif; ?>

<?php require_once __DIR__ . '/app/footer.php'; ?>