<?php
declare(strict_types=1);
require dirname(__DIR__, 2) . '/app/bootstrap.php';

use Rooms\Repo\ArticleRepo;

header('Content-Type: text/html; charset=utf-8');
$page = max(1, (int)($_GET['page'] ?? 1));
$per  = 12;
$articles = ArticleRepo::feed($per, ($page - 1) * $per);
$total = ArticleRepo::countPublished();
$pages = (int)ceil($total / $per);
$e = fn($s) => htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8');
?><!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Блог ROOMS Mebel — интерьер, который хочется повторить</title>
<meta name="description" content="Статьи о мебели, интерьере и уюте: как выбрать стол и стулья, ухаживать за мебелью, собрать гармоничную обеденную группу. Советы экспертов ROOMS Mebel.">
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/_design/design-tokens.css">
<link rel="stylesheet" href="/_design/chrome.css">
<script src="/_design/cart.js" defer></script>
<script src="/_design/auth.js" defer></script>
<script src="/_design/chrome.js" defer></script>
<style>
  .blogtop{padding:clamp(40px,6vw,72px) 0 clamp(20px,3vw,32px);background:var(--cream)}
  .blogtop h1{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.01em;margin:.3em 0 .3em;color:var(--ink)}
  .blogtop h1 em{font-style:italic;color:var(--flame)}
  .blogtop p{color:var(--text-muted);max-width:56ch;font-size:clamp(1rem,1.3vw,1.12rem)}
  .blogwrap{padding:clamp(28px,4vw,48px) 0 clamp(48px,7vw,90px)}
  .bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px)}
  @media(max-width:860px){.bgrid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.bgrid{grid-template-columns:1fr}}
  .bcard{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease-out,ease),box-shadow .3s;text-decoration:none;color:inherit}
  .bcard:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(22,17,13,.12)}
  .bcard__img{aspect-ratio:16/10;background:var(--cream) center/cover no-repeat;position:relative}
  .bcard__cat{position:absolute;top:12px;left:12px;background:var(--flame);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
  .bcard__b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
  .bcard__t{font-weight:800;font-size:1.08rem;line-height:1.25;margin:0 0 8px;color:var(--ink)}
  .bcard__e{color:var(--text-muted);font-size:.92rem;line-height:1.5;margin:0 0 14px;flex:1}
  .bcard__m{font-size:.8rem;color:var(--text-muted);display:flex;gap:8px;align-items:center}
  .bcard__go{margin-top:12px;font-weight:700;font-size:.9rem;color:var(--flame)}
  .bempty{text-align:center;color:var(--text-muted);padding:60px 0;background:var(--cream);border-radius:16px;line-height:1.6}
  .bpages{display:flex;gap:8px;justify-content:center;margin-top:38px}
  .bpages a,.bpages span{padding:9px 15px;border-radius:10px;border:1px solid var(--line);font-weight:600;font-size:.9rem;text-decoration:none;color:var(--ink)}
  .bpages .cur{background:var(--flame);color:#fff;border-color:var(--flame)}
</style>
</head>
<body data-page="">
<div id="site-header"></div>

<section class="blogtop"><div class="wrap">
  <span class="eyebrow">Блог ROOMS</span>
  <h1>Интерьер, <em>который хочется повторить</em></h1>
  <p>О мебели, интерьере и уюте: как выбрать стол и стулья, собрать гармоничную обеденную группу и ухаживать за мебелью.</p>
</div></section>

<main class="blogwrap"><div class="wrap">
<?php if (!$articles): ?>
  <div class="bempty">Здесь скоро появятся статьи. А пока загляните в <a href="/catalog.html" style="color:var(--flame);font-weight:600">каталог мебели</a>.</div>
<?php else: ?>
  <div class="bgrid">
  <?php foreach ($articles as $a): ?>
    <a class="bcard" href="/blog/<?= $e($a['slug']) ?>">
      <span class="bcard__img" style="background-image:url('<?= $e($a['cover']) ?>')"><?php if ($a['category']): ?><span class="bcard__cat"><?= $e($a['category']) ?></span><?php endif; ?></span>
      <span class="bcard__b">
        <span class="bcard__t"><?= $e($a['title']) ?></span>
        <span class="bcard__e"><?= $e($a['excerpt']) ?></span>
        <span class="bcard__m"><?= (int)$a['reading_min'] ?> мин чтения</span>
        <span class="bcard__go">Читать →</span>
      </span>
    </a>
  <?php endforeach; ?>
  </div>
  <?php if ($pages > 1): ?>
    <nav class="bpages">
      <?php for ($p = 1; $p <= $pages; $p++): ?>
        <?php if ($p === $page): ?><span class="cur"><?= $p ?></span><?php else: ?><a href="/blog/?page=<?= $p ?>"><?= $p ?></a><?php endif; ?>
      <?php endfor; ?>
    </nav>
  <?php endif; ?>
<?php endif; ?>
</div></main>

<div id="site-footer"></div>
</body>
</html>
