<?php
/**
 * 文章目录（TOC）模块
 * 
 * 作为侧边栏列显示在文章页，与主边栏分列两侧
 * 目录位置自动与边栏相反
 */
if (!defined('__TYPECHO_ROOT_DIR__')) exit;

if (!$this->is('post')) return;

$options = $this->options;

$tocEnable = isset($options->tocEnable) && $options->tocEnable === '1';
if (!$tocEnable) return;

$asidePosition = isset($options->asidePosition) ? $options->asidePosition : 'right';
$tocSide = ($asidePosition === 'right') ? 'left' : 'right';
?>
<aside class="gt-toc-aside gt-toc-aside-<?php echo $tocSide; ?>" id="article-toc" aria-label="文章目录" data-min-headings="<?php echo intval($options->tocMinHeadings ?? 3); ?>">
    <div class="gt-toc-sticky">
        <div class="gt-toc-header">
            <i class="ri-list-unordered"></i>
            <span>文章目录</span>
            <button class="gt-toc-toggle" aria-label="折叠目录">
                <i class="ri-arrow-down-s-line"></i>
            </button>
        </div>
        <div class="gt-toc-body">
            <ul class="gt-toc-list" id="toc-list">
            </ul>
        </div>
        <div class="gt-toc-progress">
            <div class="gt-toc-progress-bar" id="toc-progress-bar"></div>
        </div>
    </div>
</aside>

<button class="gt-toc-mobile-fab" id="toc-mobile-fab" aria-label="打开文章目录">
    <i class="ri-list-unordered"></i>
</button>

<div class="gt-toc-mobile-overlay" id="toc-mobile-overlay"></div>

<div class="gt-toc-mobile-drawer" id="toc-mobile-drawer" role="dialog" aria-label="文章目录">
    <div class="gt-toc-mobile-drawer-header">
        <i class="ri-list-unordered"></i>
        <span>文章目录</span>
        <button class="gt-toc-mobile-close" aria-label="关闭目录">
            <i class="ri-close-line"></i>
        </button>
    </div>
    <div class="gt-toc-mobile-drawer-body">
        <ul class="gt-toc-list" id="toc-mobile-list">
        </ul>
    </div>
    <div class="gt-toc-progress">
        <div class="gt-toc-progress-bar" id="toc-mobile-progress-bar"></div>
    </div>
</div>