nhance/app/Views/docs/partials/docs_main_close.php
2026-05-18 12:28:19 +05:30

113 lines
3.4 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), 'tag'(optional)]
*/
$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' : '' ?>"
>
<span><?= esc($item['label']) ?></span>
<?php if (!empty($item['tag'])): ?>
<span class="docs-toc__tag"><?= esc($item['tag']) ?></span>
<?php endif; ?>
</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>