<?php
require_once __DIR__ . '/config.php';
$pageTitle = '讨论区';
$pdo = getDB();

// Pagination
$page     = max(1, intval($_GET['page'] ?? 1));
$per_page = 20;
$offset   = ($page - 1) * $per_page;
$search   = trim($_GET['q'] ?? '');

$where  = $search ? "WHERE p.title LIKE ? OR p.content LIKE ?" : "";
$params = $search ? ["%$search%", "%$search%"] : [];

$total = $pdo->prepare("SELECT COUNT(*) FROM forum_posts p $where");
$total->execute($params);
$total_count = (int)$total->fetchColumn();
$total_pages = max(1, ceil($total_count / $per_page));

$stmt = $pdo->prepare("
    SELECT p.*, u.email as user_email, u.nickname as user_nickname,
           LEFT(p.content, 200) as excerpt
    FROM forum_posts p
    JOIN users u ON u.id = p.user_id
    $where
    ORDER BY p.is_pinned DESC, p.updated_at DESC
    LIMIT $per_page OFFSET $offset
");
$stmt->execute($params);
$posts = $stmt->fetchAll();

require_once __DIR__ . '/includes/header.php';
?>

<style>
.forum-hero { background: linear-gradient(135deg, #1a0533 0%, #4a1080 60%, #7b2ff7 100%); border-radius: 16px; padding: 28px 24px; color: #fff; margin-bottom: 20px; }
.forum-hero h2 { font-weight: 800; font-size: 1.5rem; margin-bottom: 4px; }
.forum-hero p { opacity: .8; margin: 0; font-size: .88rem; }
.post-card { background: #fff; border-radius: 14px; border: 1px solid #f0e8ff; padding: 16px 20px; margin-bottom: 10px; transition: .2s; text-decoration: none; display: block; color: inherit; }
.post-card:hover { box-shadow: 0 6px 24px rgba(123,47,247,.12); border-color: #c084fc; transform: translateY(-1px); }
.post-title { font-weight: 700; font-size: .95rem; color: #1a0533; margin-bottom: 5px; }
.post-excerpt { font-size: .82rem; color: #888; line-height: 1.5; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-meta { font-size: .74rem; color: #aaa; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.post-meta i { color: #c084fc; }
.badge-pinned { background: linear-gradient(135deg, #f59e0b, #fbbf24); color: #fff; border-radius: 6px; padding: 2px 8px; font-size: .7rem; font-weight: 700; }
.btn-new-post { background: linear-gradient(135deg, #7b2ff7, #a855f7); color: #fff; border: none; border-radius: 10px; padding: 8px 20px; font-weight: 600; font-size: .85rem; }
.btn-new-post:hover { background: linear-gradient(135deg, #6d28d9, #9333ea); color: #fff; }
.search-box { background: #fff; border: 2px solid #f0e8ff; border-radius: 10px; padding: 7px 14px; display: flex; align-items: center; gap: 8px; }
.search-box input { border: none; outline: none; flex: 1; font-size: .88rem; }
.pagination .page-link { border-radius: 8px; margin: 0 2px; color: #7b2ff7; border-color: #f0e8ff; }
.pagination .page-item.active .page-link { background: #7b2ff7; border-color: #7b2ff7; }
/* Forum sidebar guest state */
.forum-guest { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,.06); text-align: center; }
.forum-guest .guest-icon { width: 52px; height: 52px; border-radius: 50%; background: #e8f0fe; display: flex; align-items: center; justify-content: center; margin: 0 auto 10px; font-size: 1.3rem; color: #0d6efd; }
</style>

<div class="container py-4">
    <div class="row">
        <!-- Sidebar -->
        <div class="col-md-3 col-lg-2 mb-4">
            <?php if (isLoggedIn()): ?>
            <div class="user-sidebar mb-4">
                <div class="text-center mb-3">
                    <div class="bg-primary text-white rounded-circle d-inline-flex align-items-center justify-content-center mb-2" style="width:60px;height:60px;font-size:1.5rem;">
                        <i class="fas fa-user"></i>
                    </div>
                    <?php
                        $__fName = !empty($_SESSION['user_nickname']) ? $_SESSION['user_nickname'] : explode('@', $_SESSION['user_email'] ?? 'U')[0];
                    ?>
                    <div class="fw-bold small"><?php echo htmlspecialchars($__fName); ?></div>
                    <?php if (!empty($_SESSION['user_nickname'])): ?>
                    <div class="text-muted" style="font-size:.72rem;"><?php echo htmlspecialchars($_SESSION['user_email'] ?? ''); ?></div>
                    <?php endif; ?>
                </div>
                <nav class="nav flex-column">
                    <a class="nav-link" href="/user/profile.php"><i class="fas fa-id-card me-2"></i>个人资料</a>
                    <a class="nav-link" href="/user/password.php"><i class="fas fa-lock me-2"></i>修改密码</a>
                    <a class="nav-link" href="/user/cards.php"><i class="fas fa-credit-card me-2"></i>卡管中心</a>
                    <a class="nav-link" href="/user/esim-orders.php"><i class="fas fa-mobile-alt me-2"></i>我的eSIM订单</a>
                    <a class="nav-link" href="/user/phone-orders.php"><i class="fas fa-phone me-2"></i>我的电话套餐</a>
                    <a class="nav-link" href="/user/logistics.php"><i class="fas fa-truck me-2"></i>我的物流订单</a>
                    <hr>
                    <a class="nav-link" href="/user/tickets.php"><i class="fas fa-headset me-2"></i>我的工单</a>
                    <hr>
                    <a class="nav-link active" href="/forum.php"><i class="fas fa-comments me-2"></i>讨论区</a>
                    <a class="nav-link" href="/user/my-posts.php"><i class="fas fa-pen me-2"></i>我的发帖</a>
                    <a class="nav-link" href="/user/my-replies.php"><i class="fas fa-reply me-2"></i>我的回复</a>
                    <hr>
                    <a class="nav-link text-danger" href="/logout.php"><i class="fas fa-sign-out-alt me-2"></i>退出登录</a>
                </nav>
            </div>
            <?php else: ?>
            <div class="forum-guest">
                <div class="guest-icon"><i class="fas fa-user"></i></div>
                <p class="text-muted small mb-3">登录后可发帖、回复并管理个人中心</p>
                <a href="/login.php" class="btn btn-primary btn-sm w-100 mb-2">登录</a>
                <a href="/register.php" class="btn btn-outline-primary btn-sm w-100">注册</a>
            </div>
            <?php endif; ?>
        </div>

        <!-- Main -->
        <div class="col-md-9 col-lg-10">
            <!-- Hero -->
            <div class="forum-hero">
                <div class="d-flex justify-content-between align-items-center flex-wrap gap-3">
                    <div>
                        <h2><i class="fas fa-comments me-2"></i>讨论区</h2>
                        <p>分享经验，交流心得，共同探讨eSIM使用技巧</p>
                    </div>
                    <?php if (isLoggedIn()): ?>
                    <a href="/forum-new.php" class="btn btn-new-post">
                        <i class="fas fa-pen me-2"></i>发布新帖
                    </a>
                    <?php else: ?>
                    <a href="/login.php?redirect=/forum-new.php" class="btn btn-new-post">
                        <i class="fas fa-sign-in-alt me-2"></i>登录后发帖
                    </a>
                    <?php endif; ?>
                </div>
            </div>

            <!-- Search & Stats -->
            <div class="d-flex justify-content-between align-items-center mb-3 flex-wrap gap-3">
                <form class="search-box flex-grow-1" style="max-width:340px;" method="GET">
                    <i class="fas fa-search text-muted"></i>
                    <input type="text" name="q" value="<?php echo e($search); ?>" placeholder="搜索帖子标题或内容...">
                    <button type="submit" class="btn btn-sm btn-primary" style="border-radius:7px;padding:4px 12px;">搜索</button>
                </form>
                <div class="text-muted small">共 <strong><?php echo $total_count; ?></strong> 个帖子</div>
            </div>

            <!-- Post List -->
            <?php if (empty($posts)): ?>
            <div class="text-center py-5 text-muted">
                <i class="fas fa-comment-slash fa-3x mb-3 d-block" style="color:#e0d0ff;"></i>
                <?php echo $search ? '未找到相关帖子' : '暂无帖子，来发第一帖吧！'; ?>
            </div>
            <?php else: ?>
            <?php foreach ($posts as $post): ?>
            <a href="/forum-post.php?id=<?php echo $post['id']; ?>" class="post-card">
                <div class="d-flex align-items-start gap-3">
                    <div class="flex-shrink-0">
                        <div style="width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#7b2ff7,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.88rem;">
                            <?php echo mb_strtoupper(mb_substr($post['user_nickname'] ?: $post['user_email'], 0, 1)); ?>
                        </div>
                    </div>
                    <div class="flex-grow-1 min-w-0">
                        <div class="post-title">
                            <?php if ($post['is_pinned']): ?><span class="badge-pinned me-2">置顶</span><?php endif; ?>
                            <?php echo e($post['title']); ?>
                        </div>
                        <div class="post-excerpt"><?php echo e(strip_tags($post['excerpt'])); ?></div>
                        <div class="post-meta">
                            <span><i class="fas fa-user"></i> <?php echo e($post['user_nickname'] ?: explode('@', $post['user_email'])[0]); ?></span>
                            <span><i class="fas fa-clock"></i> <?php echo date('Y-m-d H:i', strtotime($post['created_at'])); ?></span>
                            <span><i class="fas fa-eye"></i> <?php echo $post['views']; ?> 浏览</span>
                            <span><i class="fas fa-reply"></i> <?php echo $post['reply_count']; ?> 回复</span>
                        </div>
                    </div>
                </div>
            </a>
            <?php endforeach; ?>
            <?php endif; ?>

            <!-- Pagination -->
            <?php if ($total_pages > 1): ?>
            <nav class="mt-4">
                <ul class="pagination justify-content-center">
                    <?php for ($i = 1; $i <= $total_pages; $i++): ?>
                    <li class="page-item <?php echo $i == $page ? 'active' : ''; ?>">
                        <a class="page-link" href="?page=<?php echo $i; ?><?php echo $search ? '&q=' . urlencode($search) : ''; ?>"><?php echo $i; ?></a>
                    </li>
                    <?php endfor; ?>
                </ul>
            </nav>
            <?php endif; ?>
        </div><!-- .col -->
    </div><!-- .row -->
</div><!-- .container -->

<?php require_once __DIR__ . '/includes/footer.php'; ?>
