110 lines
3.3 KiB
PHP
110 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* Docs Main Close Partial
|
|
* app/Views/docs/partials/docs_main_close.php
|
|
*
|
|
* Closes the main content area, renders prev/next nav,
|
|
* and renders the right-side TOC. Always pair with docs_main_open.php.
|
|
*
|
|
* Variables:
|
|
* $prev_label (string) — label for previous page link
|
|
* $prev_url (string) — URL segment e.g. 'docs/introduction'
|
|
* $next_label (string) — label for next page link
|
|
* $next_url (string) — URL segment
|
|
* $toc (array) — same array passed to docs_main_open.php
|
|
* ['label', 'href', 'level'(optional h3)]
|
|
*/
|
|
|
|
$prev_label = $prev_label ?? '';
|
|
$prev_url = $prev_url ?? '';
|
|
$next_label = $next_label ?? '';
|
|
$next_url = $next_url ?? '';
|
|
$toc = $toc ?? [];
|
|
?>
|
|
|
|
<!-- ── PAGE CONTENT ENDS ABOVE THIS LINE ── -->
|
|
|
|
<!-- Prev / Next navigation -->
|
|
<div class="docs-page-nav">
|
|
<div>
|
|
<?php if ($prev_label && $prev_url): ?>
|
|
<a href="<?= base_url($prev_url) ?>" class="docs-page-nav__link">
|
|
<span class="docs-page-nav__dir">← Previous</span>
|
|
<span class="docs-page-nav__title"><?= esc($prev_label) ?></span>
|
|
</a>
|
|
<?php endif; ?>
|
|
</div>
|
|
<div>
|
|
<?php if ($next_label && $next_url): ?>
|
|
<a href="<?= base_url($next_url) ?>" class="docs-page-nav__link docs-page-nav__link--right">
|
|
<span class="docs-page-nav__dir">Next →</span>
|
|
<span class="docs-page-nav__title"><?= esc($next_label) ?></span>
|
|
</a>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
</main><!-- /.docs-main -->
|
|
|
|
<!-- ═══════════════════════════════════════════
|
|
RIGHT TOC
|
|
════════════════════════════════════════════ -->
|
|
<?php if (!empty($toc)): ?>
|
|
<nav class="docs-toc" aria-label="On this page">
|
|
<div class="docs-toc__title">On this page</div>
|
|
<?php foreach ($toc as $item): ?>
|
|
<a
|
|
href="<?= esc($item['href']) ?>"
|
|
class="<?= (!empty($item['level']) && $item['level'] === 'h3') ? 'is-sub' : '' ?>"
|
|
>
|
|
<?= esc($item['label']) ?>
|
|
</a>
|
|
<?php endforeach; ?>
|
|
</nav>
|
|
<?php endif; ?>
|
|
|
|
</div><!-- /.docs-layout -->
|
|
|
|
<style>
|
|
/* ─── PREV / NEXT NAV ────────────────────── */
|
|
.docs-page-nav {
|
|
display : flex;
|
|
justify-content: space-between;
|
|
gap : 16px;
|
|
margin-top : 56px;
|
|
padding-top : 24px;
|
|
border-top : 1px solid var(--border);
|
|
}
|
|
|
|
.docs-page-nav__link {
|
|
display : flex;
|
|
flex-direction : column;
|
|
gap : 4px;
|
|
text-decoration: none;
|
|
color : var(--text);
|
|
padding : 12px 16px;
|
|
border : 1px solid var(--border);
|
|
border-radius : 8px;
|
|
transition : border-color 0.15s, background 0.15s;
|
|
min-width : 160px;
|
|
}
|
|
|
|
.docs-page-nav__link:hover {
|
|
border-color: var(--accent);
|
|
background : var(--accent-bg);
|
|
}
|
|
|
|
.docs-page-nav__link--right { text-align: right; }
|
|
|
|
.docs-page-nav__dir {
|
|
font-size : 12px;
|
|
color : var(--muted);
|
|
}
|
|
|
|
.docs-page-nav__title {
|
|
font-size : 14px;
|
|
font-weight: 500;
|
|
color : var(--accent);
|
|
}
|
|
</style>
|