<?php
/**
 * 王一一 · 日记列表页
 */
require_once __DIR__ . '/config.php';

// ===== 分页 =====
$page = isset($_GET['page']) ? max(1, (int)$_GET['page']) : 1;
$perPage = ARTICLES_PER_PAGE;
$offset = ($page - 1) * $perPage;

try {
    // 总数
    $countStmt = db()->query('SELECT COUNT(*) FROM articles');
    $total = (int)$countStmt->fetchColumn();

    // 当前页数据
    $stmt = db()->prepare(
        'SELECT id, title, mood, content, created_at FROM articles ORDER BY created_at DESC LIMIT :limit OFFSET :offset'
    );
    $stmt->bindValue(':limit', $perPage, PDO::PARAM_INT);
    $stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
    $stmt->execute();
    $articles = $stmt->fetchAll();

    $totalPages = (int)ceil($total / $perPage);
} catch (PDOException $e) {
    $articles = [];
    $totalPages = 0;
    $total = 0;
    $dbError = $e->getMessage();
}

$pageTitle = '📝 日记 — ' . SITE_NAME;
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= h($pageTitle) ?></title>
    <link rel="stylesheet" href="style.css">
    <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=Fredoka:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&family=ZCOOL+KuaiLe&display=swap" rel="stylesheet">
</head>
<body>

<!-- 导航栏 -->
<nav class="navbar scrolled">
    <div class="container nav-container">
        <a href="index.html" class="nav-logo"><?= SITE_NAME ?></a>
        <ul class="nav-menu">
            <li><a href="index.html" class="nav-link">首页</a></li>
            <li><a href="index.html#about" class="nav-link">关于我</a></li>
            <li><a href="index.html#works" class="nav-link">作品集</a></li>
            <li><a href="diary.php" class="nav-link active">📝 日记</a></li>
            <li><a href="index.html#contact" class="nav-link">联系我</a></li>
        </ul>
        <button class="nav-toggle" aria-label="切换菜单">
            <span></span><span></span><span></span>
        </button>
    </div>
</nav>

<!-- 日记列表 -->
<section class="diary-list section">
    <div class="container">
        <div class="section-header">
            <h2 class="section-title">📝 我的日记</h2>
            <p class="section-subtitle">记录每一天的成长与快乐</p>
            <p style="margin-top:0.5rem;">
                <?php if (is_logged_in()): ?>
                    <a href="admin/write.php" class="btn btn-primary" style="font-size:0.85rem;padding:0.5rem 1.2rem;">✏️ 写日记</a>
                    <a href="admin/logout.php" class="btn btn-outline" style="font-size:0.8rem;padding:0.4rem 1rem;color:var(--muted);box-shadow:inset 0 0 0 2px var(--faint);margin-left:0.5rem;">退出</a>
                <?php else: ?>
                    <a href="admin/login.php" class="btn btn-outline" style="font-size:0.85rem;padding:0.5rem 1.2rem;color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary-p);">🔐 登录写日记</a>
                <?php endif; ?>
            </p>
        </div>

        <?php if (isset($dbError)): ?>
            <div class="diary-empty">
                <div class="diary-empty-icon">🔌</div>
                <h3>数据库未连接</h3>
                <p>请先运行 <a href="init_db.php">init_db.php</a> 初始化数据库，并检查 <code>config.php</code> 配置。</p>
            </div>
        <?php elseif (empty($articles)): ?>
            <div class="diary-empty">
                <div class="diary-empty-icon">📖</div>
                <h3>还没有日记</h3>
                <p>日记本空空的，快来写第一篇吧～</p>
                <?php if (!is_logged_in()): ?>
                <p style="font-size:0.85rem;color:var(--faint);margin-top:0.5rem;">提示：<a href="admin/login.php">点此登录</a>后开始写日记</p>
                <?php endif; ?>
            </div>
        <?php else: ?>
            <div class="diary-grid">
                <?php foreach ($articles as $article): ?>
                <article class="diary-card">
                    <a href="diary-detail.php?id=<?= (int)$article['id'] ?>" class="diary-card-link">
                        <div class="diary-card-date">
                            <span class="diary-card-day"><?= date('d', strtotime($article['created_at'])) ?></span>
                            <span class="diary-card-ym"><?= date('Y.m', strtotime($article['created_at'])) ?></span>
                        </div>
                        <div class="diary-card-body">
                            <h3 class="diary-card-title"><?= h($article['title']) ?></h3>
                            <?php if ($article['mood']): ?>
                            <span class="diary-card-mood"><?= h($article['mood']) ?></span>
                            <?php endif; ?>
                            <p class="diary-card-excerpt"><?= h(excerpt($article['content'])) ?></p>
                        </div>
                    </a>
                </article>
                <?php endforeach; ?>
            </div>

            <!-- 分页 -->
            <?php if ($totalPages > 1): ?>
            <nav class="diary-pagination">
                <?php if ($page > 1): ?>
                    <a href="?page=<?= $page - 1 ?>" class="diary-page-btn">← 上一页</a>
                <?php else: ?>
                    <span class="diary-page-btn disabled">← 上一页</span>
                <?php endif; ?>

                <span class="diary-page-info">第 <?= $page ?> / <?= $totalPages ?> 页</span>

                <?php if ($page < $totalPages): ?>
                    <a href="?page=<?= $page + 1 ?>" class="diary-page-btn">下一页 →</a>
                <?php else: ?>
                    <span class="diary-page-btn disabled">下一页 →</span>
                <?php endif; ?>
            </nav>
            <?php endif; ?>
        <?php endif; ?>
    </div>
</section>

<!-- 页脚 -->
<footer class="footer">
    <div class="container">
        <p>&copy; <?= date('Y') ?> <?= SITE_NAME ?></p>
        <p class="footer-tagline">用 ❤️ 和代码构建</p>
    </div>
</footer>

<script src="script.js"></script>
</body>
</html>
