<?php

declare(strict_types=1);

require dirname(__DIR__) . '/src/bootstrap.php';

$category = isset($_GET['category']) ? (string) $_GET['category'] : null;
$posts = post_repository()->published($category ?: null);
$categories = post_repository()->categories();
$flash = consume_flash();
?>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= e(config('site.title')) ?></title>
    <meta name="description" content="<?= e((string) config('site.intro')) ?>">
    <link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<div class="page-shell">
    <header class="site-header">
        <div>
            <p class="eyebrow">Astrodave</p>
            <h1><?= e((string) config('site.title')) ?></h1>
            <p class="lead"><?= e((string) config('site.intro')) ?></p>
        </div>
        <nav class="site-nav">
            <a href="/">Start</a>
            <a href="/impressum.php">Impressum</a>
            <a href="/login.php">Admin</a>
        </nav>
    </header>

    <?php if ($flash): ?>
        <div class="flash flash-<?= e($flash['type']) ?>"><?= e($flash['message']) ?></div>
    <?php endif; ?>

    <section class="hero-card">
        <div>
            <p class="eyebrow">Zwischen Sternenstaub und Alltag</p>
            <h2>Nüchternes Tagebuch für Himmelsbilder, Fundstücke und kleine Fehlstarts.</h2>
        </div>
        <div class="hero-meta">
            <span><?= count($posts) ?> sichtbare Einträge</span>
            <span>Lokale Uploads</span>
            <span>Eigener Adminbereich</span>
        </div>
    </section>

    <section class="filters">
        <a class="chip <?= $category ? '' : 'is-active' ?>" href="/">Alles</a>
        <?php foreach ($categories as $key => $label): ?>
            <a class="chip <?= $category === $key ? 'is-active' : '' ?>" href="/?category=<?= e($key) ?>"><?= e($label) ?></a>
        <?php endforeach; ?>
    </section>

    <main class="post-grid">
        <?php if (!$posts): ?>
            <article class="empty-state">
                <h3>Noch nichts veröffentlicht</h3>
                <p>Lege im Adminbereich den ersten Eintrag an. Bilder, Videos und Geschichten landen danach automatisch hier.</p>
            </article>
        <?php endif; ?>

        <?php foreach ($posts as $post): ?>
            <article class="post-card">
                <?php if (!empty($post['cover_path'])): ?>
                    <a href="/post.php?slug=<?= e($post['slug']) ?>" class="media-link">
                        <img src="<?= e((string) upload_public_path($post['cover_path'])) ?>" alt="<?= e($post['title']) ?>">
                    </a>
                <?php endif; ?>
                <div class="card-body">
                    <div class="card-meta">
                        <span><?= e($categories[$post['category']] ?? $post['category']) ?></span>
                        <span><?= e(format_datetime($post['created_at'])) ?></span>
                    </div>
                    <h3><a href="/post.php?slug=<?= e($post['slug']) ?>"><?= e($post['title']) ?></a></h3>
                    <p><?= e($post['excerpt'] ?: excerpt((string) $post['body'])) ?></p>
                </div>
            </article>
        <?php endforeach; ?>
    </main>

    <footer class="site-footer">
        <p>Hi, ich bin Dave. Ich befasse mich in meiner Freizeit mit Astrofotografie, Technik und führe nebenbei noch einen Softairverein. Auf dieser Seite gibt's Bilder, Texte und Zufallsfundstücke. Alles gebündelt in einer Experimentierplattform in Eigenregie. Viel Spaß und macht hinter euch das Licht aus.</p>
        <nav class="footer-nav">
            <a href="/">Start</a>
            <a href="/impressum.php">Impressum</a>
            <a href="/login.php">Admin</a>
        </nav>
    </footer>
</div>
</body>
</html>
