sidebar.php
2.48 KB
<?php
$route = app_request_path();
$isAdmin = isAdminRole();
$canManagement = ($isAdmin || hasPermission('management.access'));
$canCalendar = hasPermission('calendar.view') || $isAdmin;
$canTruTrakMap = hasPermission('trutrak.view');
$companyName = 'Company Name';
$logoAsset = function_exists('wp_logo_asset') ? wp_logo_asset() : null;
$logoSrc = $logoAsset['url'] ?? '';
$logoExists = ($logoSrc !== '');
try {
global $pdo;
$s = $pdo->query("SELECT value FROM system_info WHERE `key`='company_name'");
$r = $s->fetch();
if ($r && !empty($r['value'])) {
$companyName = $r['value'];
}
} catch (Throwable $e) {}
?>
<aside class="sidebar">
<div class="sidebar-header">
<a href="<?= e(app_url()) ?>" class="sidebar-logo-link" aria-label="Go to dashboard">
<?php if ($logoExists): ?>
<img src="<?= e($logoSrc) ?>" class="sidebar-logo-img" alt="<?= e($companyName) ?>">
<?php else: ?>
<div class="logo-icon">WP</div>
<?php endif; ?>
<span class="logo-text"><?= e($companyName) ?></span>
</a>
</div>
<nav class="sidebar-nav">
<?php if (isLoggedIn()): ?>
<a href="<?= e(app_url()) ?>" class="nav-item <?= ($route === '/' ? 'active' : '') ?>">
<span class="icon">π </span><span>Dashboard</span>
</a>
<?php endif; ?>
<?php if ($canCalendar): ?>
<a href="<?= e(app_url('calendar')) ?>" class="nav-item <?= (strpos($route, '/calendar') === 0 ? 'active' : '') ?>">
<span class="icon">π
</span><span>Calendar</span>
</a>
<?php endif; ?>
<?php if ($canTruTrakMap): ?>
<a href="<?= e(app_url('trutrak/map')) ?>" class="nav-item <?= (strpos($route, '/trutrak') === 0 ? 'active' : '') ?>">
<span class="icon">πΊοΈ</span><span>TruTrak Map</span>
</a>
<?php endif; ?>
<?php if ($canManagement): ?>
<a href="<?= e(app_url('management')) ?>" class="nav-item <?= (strpos($route, '/management') === 0 ? 'active' : '') ?>">
<span class="icon">π</span><span>Management</span>
</a>
<?php endif; ?>
<?php if ($isAdmin): ?>
<a href="<?= e(app_url('admin')) ?>" class="nav-item <?= (strpos($route, '/admin') === 0 ? 'active' : '') ?>">
<span class="icon">βοΈ</span><span>Administration</span>
</a>
<?php endif; ?>
</nav>
</aside>