<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/bootstrap.php';
require_once __DIR__ . '/includes/db.php';

$slug = isset($_GET['slug']) ? trim((string)$_GET['slug']) : '';
$post = null;
$posts = [];

try {
    if ($slug !== '') {
        $stmt = db()->prepare('SELECT title, slug, content, created_at FROM posts WHERE slug = :slug AND status = :status LIMIT 1');
        $stmt->execute(['slug' => $slug, 'status' => 'published']);
        $row = $stmt->fetch();
        $post = is_array($row) ? $row : null;
        if ($post !== null) {
            $pageTitle = (!empty($post['title']) ? ($post['title'] . ' — ') : '') . SITE_NAME . ' · Блог';
        } else {
            $pageTitle = 'Не знайдено — ' . SITE_NAME . ' · Блог';
        }
    } else {
        $stmt = db()->prepare('SELECT title, slug, content, created_at FROM posts WHERE status = :status ORDER BY created_at DESC');
        $stmt->execute(['status' => 'published']);
        $posts = $stmt->fetchAll();
        $pageTitle = 'Блог — ' . SITE_NAME;
    }
} catch (Throwable $e) {
    $posts = [];
    $post = null;
    $pageTitle = 'Блог — ' . SITE_NAME;
}

require_once __DIR__ . '/header.php';

echo '<main id="main-content" class="page-fade">';
echo '<section class="section">';
echo '<div class="wrap">';

if ($slug !== '') {
    if (!empty($post)) {
        echo '<a class="btn btn--ghost" href="' . e(nestor_url('blog.php')) . '" style="margin-bottom:1.5rem">← До блогу</a>';
        echo '<h1>' . e($post['title']) . '</h1>';
        echo '<p class="prose-muted" style="margin-bottom:1.5rem">Опубліковано: ' . e(date('d.m.Y', strtotime((string)$post['created_at']))) . '</p>';
        echo '<article class="article-body">' . sanitize_post_html((string)$post['content']) . '</article>';
    } else {
        echo '<h1>Публікацію не знайдено</h1>';
        echo '<p class="prose-muted"><a href="' . e(nestor_url('blog.php')) . '">Повернутись до блогу</a></p>';
    }
} else {
    echo '<div class="page-hero" style="border:0;padding-bottom:2rem">';
    echo '<span class="label-caps">Матеріали</span>';
    echo '<h1>Блог</h1>';
    echo '<p class="prose-muted">Корисні нотатки про сайти, подачу бренду та конверсію.</p>';
    echo '</div>';
    if ($posts === []) {
        echo '<p class="prose-muted">Публікації з’являться незабаром. Підключіть базу даних і додайте записи в адмінці.</p>';
    } else {
        echo '<div class="blog-list">';
        foreach ($posts as $item) {
            echo '<article class="blog-card reveal">';
            echo '<p style="font-size:.82rem;color:var(--muted);margin:0 0 .5rem">' . e(date('d.m.Y', strtotime($item['created_at']))) . '</p>';
            echo '<h2 style="font-size:1.45rem;margin-bottom:.5rem">' . e($item['title']) . '</h2>';
            echo '<p class="prose-muted">' . e(excerpt((string)$item['content'])) . '</p>';
            echo '<a class="btn btn--ghost" href="' . e(nestor_url('blog.php?slug=' . urlencode((string)$item['slug']))) . '" style="margin-top:1rem">Читати</a>';
            echo '</article>';
        }
        echo '</div>';
    }
}

echo '</div>';
echo '</section>';
echo '</main>';

require_once __DIR__ . '/footer.php';
