<?php
$page_title = '首页';
include_once 'header.php';

function fetch_all_assoc($conn, $sql) {
    $result = $conn->query($sql);
    if (!$result) {
        return [];
    }
    return $result->fetch_all(MYSQLI_ASSOC);
}

$banners = fetch_all_assoc($conn, "SELECT img_url, img_link FROM banner ORDER BY sid ASC, id ASC");
$types = fetch_all_assoc($conn, "SELECT id, type FROM app_type ORDER BY sid ASC, id ASC");
$cards = fetch_all_assoc($conn, "SELECT id, logo, app_title, app_txt, type, app_link FROM app_link ORDER BY sid ASC, id ASC");
$dynamic = fetch_all_assoc($conn, "SELECT id, logo, activities_title, activities_txt, activities_link FROM activities ORDER BY sid ASC, id ASC LIMIT 3");

$cardsByType = [];
foreach ($cards as $card) {
    $cardsByType[(string)$card['type']][] = $card;
}
$shareText = $yqxx ?: ('木木导航：' . $subtitle . ' ' . $url);
?>
<body>
<div id="app" class="mobile-shell">
    <main class="page home-page">
        <section class="top-card">
            <div class="brand-block">
                <img class="brand-logo" src="<?php echo e($logo); ?>" alt="木木导航">
                <div>
                    <h1>木木导航</h1>
                    <p><?php echo e($url ?: $subtitle); ?></p>
                </div>
            </div>
            <button class="share-btn" type="button" onclick="shareSite()">分享</button>
        </section>

        <section class="hero-slider">
            <?php if (!empty($banners)): ?>
                <div class="carousel" id="carousel">
                    <?php foreach ($banners as $index => $banner): ?>
                        <a class="slide <?php echo $index === 0 ? 'active' : ''; ?>" href="<?php echo e(safe_url($banner['img_link'])); ?>" target="_blank" rel="noopener nofollow">
                            <img src="<?php echo e($banner['img_url']); ?>" alt="木木导航轮播图">
                        </a>
                    <?php endforeach; ?>
                </div>
                <?php if (count($banners) > 1): ?>
                    <div class="dots" id="dots">
                        <?php foreach ($banners as $index => $banner): ?>
                            <span class="dot <?php echo $index === 0 ? 'active' : ''; ?>"></span>
                        <?php endforeach; ?>
                    </div>
                <?php endif; ?>
            <?php else: ?>
                <div class="banner-empty">
                    <strong>木木科技</strong>
                    <span>稳定平台 · 模拟器 · 深夜视频</span>
                </div>
            <?php endif; ?>
        </section>

        <section class="notice-card">
            <span class="notice-icon">公告</span>
            <div class="notice-text"><span><?php echo e($gdgg ?: '木木导航公告：稳定平台、模拟器、深夜视频入口已整理完成。'); ?></span></div>
        </section>

        <section class="section-block card-zone">
            <div class="category-tabs" id="categoryTabs">
                <?php foreach ($types as $idx => $type): ?>
                    <button type="button" class="tab-btn <?php echo $idx === 0 ? 'active' : ''; ?>" data-type="type-<?php echo e($type['id']); ?>"><?php echo e($type['type']); ?></button>
                <?php endforeach; ?>
            </div>

            <?php foreach ($types as $idx => $type): ?>
                <?php $typeCards = $cardsByType[(string)$type['id']] ?? []; ?>
                <div class="platform-grid tab-panel <?php echo $idx === 0 ? 'active' : ''; ?>" id="type-<?php echo e($type['id']); ?>">
                    <?php if (!empty($typeCards)): ?>
                        <?php foreach ($typeCards as $app): ?>
                            <a class="platform-card" href="<?php echo e(app_front_url($app)); ?>"<?php echo app_front_target($app); ?> rel="nofollow noopener">
                                <img src="<?php echo e($app['logo'] ?: $logo); ?>" alt="<?php echo e($app['app_title']); ?>">
                                <strong><?php echo e($app['app_title']); ?></strong>
                                <p><?php echo e($app['app_txt']); ?></p>
                                <span>立即进入</span>
                            </a>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <div class="empty-card">暂无内容</div>
                    <?php endif; ?>
                </div>
            <?php endforeach; ?>
        </section>

        <?php if (!empty($dynamic)): ?>
        <section class="section-block dynamic-preview">
            <div class="section-title dark-title">
                <span>公告动态</span>
                <a href="/fabuye.php">更多</a>
            </div>
            <div class="poster-preview-list">
                <?php foreach ($dynamic as $item): ?>
                    <a class="poster-mini-card" href="<?php echo e(activity_jump_url($item['id'], $item['activities_link'])); ?>" target="_blank" rel="noopener nofollow">
                        <img src="<?php echo e($item['logo'] ?: $logo); ?>" alt="<?php echo e($item['activities_title']); ?>">
                        <div>
                            <strong><?php echo e($item['activities_title']); ?></strong>
                            <p><?php echo e($item['activities_txt']); ?></p>
                        </div>
                    </a>
                <?php endforeach; ?>
            </div>
        </section>
        <?php endif; ?>
    </main>
    <?php include 'footer.php'; renderNavigation('home'); ?>
</div>

<script>
const shareText = <?php echo json_encode($shareText, JSON_UNESCAPED_UNICODE); ?>;
async function shareSite() {
    const shareData = { title: '木木导航', text: shareText, url: window.location.href };
    try {
        if (navigator.share) {
            await navigator.share(shareData);
            return;
        }
        await copyText(shareText + '\n' + window.location.href);
        alert('已复制分享内容');
    } catch (e) {
        alert('分享失败，请手动复制当前链接');
    }
}
async function copyText(text) {
    if (navigator.clipboard && navigator.clipboard.writeText) return navigator.clipboard.writeText(text);
    const textarea = document.createElement('textarea');
    textarea.value = text;
    document.body.appendChild(textarea);
    textarea.select();
    document.execCommand('copy');
    textarea.remove();
}

(function(){
    const buttons = document.querySelectorAll('.tab-btn');
    const panels = document.querySelectorAll('.tab-panel');
    buttons.forEach(btn => btn.addEventListener('click', () => {
        buttons.forEach(b => b.classList.remove('active'));
        panels.forEach(p => p.classList.remove('active'));
        btn.classList.add('active');
        const panel = document.getElementById(btn.dataset.type);
        if (panel) panel.classList.add('active');
    }));
})();

(function(){
    const slides = document.querySelectorAll('#carousel .slide');
    const dots = document.querySelectorAll('#dots .dot');
    if (slides.length <= 1) return;
    let index = 0;
    function show(next) {
        slides[index].classList.remove('active');
        if (dots[index]) dots[index].classList.remove('active');
        index = (next + slides.length) % slides.length;
        slides[index].classList.add('active');
        if (dots[index]) dots[index].classList.add('active');
    }
    setInterval(() => show(index + 1), 3200);
})();
</script>
</body>
</html>
