93 lines
3.6 KiB
PHP
93 lines
3.6 KiB
PHP
<?php
|
|
global $c;
|
|
$varNavbarLinks = $c->query("SELECT * from links where position like 'navbar' order by sort");
|
|
$varSidebarLinks = $c->query("SELECT * from links where position like 'sidebar' order by sort");
|
|
$varFirstNavbarLink = array_shift($varNavbarLinks);
|
|
?>
|
|
|
|
<style>
|
|
/* https://github.com/twbs/bootstrap/issues/37184 */
|
|
.dropdown-menu {
|
|
z-index: 1040 !important;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
// Make the page's theme dark:
|
|
$("body").first().attr("data-bs-theme", "dark");
|
|
</script>
|
|
|
|
<div class="offcanvas offcanvas-start" id="sidebar">
|
|
<div class="offcanvas-body">
|
|
<?php foreach ($varSidebarLinks as $varLink): ?>
|
|
<a class="btn btn-outline-secondary d-block w-100 mb-2" href="<?= $varLink["url"]; ?>"><i class="fa fa-fw fa-<?= $varLink["icon"]; ?> pe-2"></i> <?= $varLink["label"]; ?></a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="navbar navbar-expand bg-secondary d-flex px-3">
|
|
|
|
<div class="container justify-content-between">
|
|
<div class="navbar-nav d-inline-flex align-items-center">
|
|
|
|
<div class="navbar-nav d-inline-flex">
|
|
<a class="btn btn-secondary me-2" data-bs-toggle="offcanvas" data-bs-target="#sidebar"> <i class="fa fa-fw fa-bars"></i> </a>
|
|
</div>
|
|
|
|
|
|
<a class="navbar-brand" href="<?= $varFirstNavbarLink["url"]; ?>"><?= $varFirstNavbarLink["label"]; ?></a>
|
|
|
|
|
|
<div class="dropdown d-lg-none">
|
|
<a class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown">...</a>
|
|
|
|
<div class="dropdown-menu">
|
|
<?php foreach ($varNavbarLinks as $varLink): ?>
|
|
<a class="dropdown-item" href="<?= $varLink["url"]; ?>"><i class="fa fa-fw fa-<?= $varLink["icon"]; ?> pe-2"></i> <?= $varLink["label"]; ?></a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<?php foreach ($varNavbarLinks as $varLink): ?>
|
|
<a class="nav-link d-none d-lg-inline" href="<?= $varLink["url"]; ?>"><?= $varLink["label"]; ?></a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
|
|
<div class="navbar-nav d-inline-flex align-items-center">
|
|
<div class="dropdown">
|
|
<?php
|
|
$varUser = UserAuth::getUser();
|
|
$strUserText = "User";
|
|
|
|
if ($varUser !== null)
|
|
$strUserText = $varUser["user_name"] ?? $varUser["email"] ?? "User";
|
|
?>
|
|
|
|
<a class="btn btn-secondary dropdown-toggle h-100" data-bs-toggle="dropdown"><i class="fa fa-fw fa-user"></i> </a>
|
|
|
|
<div class="dropdown-menu dropdown-menu-end">
|
|
|
|
<?php if ($varUser !== null): ?>
|
|
|
|
<a class="dropdown-item" href="/user/info"><i class="fa fa-fw fa-user pe-2"></i> <?= $strUserText; ?></a>
|
|
|
|
<a class="dropdown-item" href="/user/signout"><i class="fa fa-fw fa-right-from-bracket pe-2"></i> Sign Out</a>
|
|
|
|
<!--
|
|
<a class="nav-link" href="/user/signin">Account</a>
|
|
-->
|
|
|
|
|
|
|
|
<?php else: ?>
|
|
|
|
<a class="dropdown-item" href="/user/signin"><i class="fa fa-fw fa-right-to-bracket pe-2"></i> Sign In</a>
|
|
<a class="dropdown-item" href="/user/register"><i class="fa fa-fw fa-user-plus pe-2"></i> Register</a>
|
|
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|