141 lines
5.1 KiB
PHP
141 lines
5.1 KiB
PHP
@php
|
|
$user = auth()->user();
|
|
$roleName = $user?->getRoleNames()->first() ?? 'user';
|
|
$pendingTransferCount = $pendingTransferCount ?? 0;
|
|
|
|
$navItems = [
|
|
[
|
|
'label' => 'Peta Interaktif',
|
|
'short' => 'Peta',
|
|
'href' => url('/map'),
|
|
'icon' => 'fa-map',
|
|
'active' => request()->is('map'),
|
|
],
|
|
[
|
|
'label' => 'Data Tabular',
|
|
'short' => 'Data',
|
|
'href' => url('/data'),
|
|
'icon' => 'fa-table-list',
|
|
'active' => request()->is('data'),
|
|
],
|
|
[
|
|
'label' => 'Dashboard',
|
|
'short' => 'Dashboard',
|
|
'href' => url('/dashboard'),
|
|
'icon' => 'fa-chart-bar',
|
|
'active' => request()->is('dashboard'),
|
|
],
|
|
[
|
|
'label' => 'Transfer',
|
|
'short' => 'Transfer',
|
|
'href' => url('/permohonan'),
|
|
'icon' => 'fa-right-left',
|
|
'active' => request()->is('permohonan'),
|
|
'badge' => $pendingTransferCount,
|
|
],
|
|
];
|
|
|
|
$adminItems = [
|
|
[
|
|
'label' => 'Admin',
|
|
'href' => url('/admin/users'),
|
|
'icon' => 'fa-users-gear',
|
|
'active' => request()->is('admin/users'),
|
|
],
|
|
[
|
|
'label' => 'Log',
|
|
'href' => url('/admin/logs'),
|
|
'icon' => 'fa-clock-rotate-left',
|
|
'active' => request()->is('admin/logs'),
|
|
],
|
|
[
|
|
'label' => 'Pengaturan',
|
|
'href' => url('/admin/settings'),
|
|
'icon' => 'fa-sliders',
|
|
'active' => request()->is('admin/settings'),
|
|
],
|
|
];
|
|
@endphp
|
|
|
|
<input id="app-sidebar-toggle" type="checkbox" class="app-sidebar-toggle" autocomplete="off">
|
|
|
|
<header class="app-mobile-bar">
|
|
<label for="app-sidebar-toggle" class="btn btn-ghost btn-square app-sidebar-open" aria-label="Buka navigasi">
|
|
<i class="fa-solid fa-bars"></i>
|
|
</label>
|
|
<a href="{{ url('/') }}" class="app-mobile-brand">
|
|
<i class="fa-solid fa-house-chimney-crack"></i>
|
|
<span>WebGIS</span>
|
|
</a>
|
|
<div class="avatar placeholder">
|
|
<div class="bg-primary text-primary-content rounded-full w-8">
|
|
<span class="text-xs font-bold">{{ substr($user->name, 0, 1) }}</span>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<label for="app-sidebar-toggle" class="app-sidebar-backdrop" aria-label="Tutup navigasi"></label>
|
|
|
|
<aside class="app-sidebar" aria-label="Navigasi utama">
|
|
<div class="app-sidebar-header">
|
|
<a href="{{ url('/') }}" class="app-sidebar-brand">
|
|
<span class="app-brand-icon"><i class="fa-solid fa-house-chimney-crack"></i></span>
|
|
<span class="app-brand-copy">
|
|
<span class="app-brand-title">WebGIS</span>
|
|
<span class="app-brand-subtitle">Pemetaan Kemiskinan</span>
|
|
</span>
|
|
</a>
|
|
<label for="app-sidebar-toggle" class="btn btn-ghost btn-square app-sidebar-close" aria-label="Tutup navigasi">
|
|
<i class="fa-solid fa-xmark"></i>
|
|
</label>
|
|
</div>
|
|
|
|
<nav class="app-sidebar-nav">
|
|
<div class="app-nav-section">
|
|
<div class="app-nav-section-title">Menu</div>
|
|
@foreach($navItems as $item)
|
|
<a href="{{ $item['href'] }}" class="app-nav-link {{ $item['active'] ? 'is-active' : '' }}">
|
|
<i class="fa-solid {{ $item['icon'] }}"></i>
|
|
<span>{{ $item['label'] }}</span>
|
|
@if(($item['badge'] ?? 0) > 0)
|
|
<span class="badge badge-error badge-xs transfer-pending-badge app-nav-badge">{{ $item['badge'] }}</span>
|
|
@endif
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
|
|
@if($user->hasRole('administrator'))
|
|
<div class="app-nav-section">
|
|
<div class="app-nav-section-title">Administrasi</div>
|
|
@foreach($adminItems as $item)
|
|
<a href="{{ $item['href'] }}" class="app-nav-link {{ $item['active'] ? 'is-active' : '' }}">
|
|
<i class="fa-solid {{ $item['icon'] }}"></i>
|
|
<span>{{ $item['label'] }}</span>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
</nav>
|
|
|
|
<div class="app-sidebar-footer">
|
|
<div class="app-user-card">
|
|
<div class="avatar placeholder">
|
|
<div class="bg-primary text-primary-content rounded-full w-9">
|
|
<span class="text-xs font-bold">{{ substr($user->name, 0, 1) }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="app-user-copy">
|
|
<div class="app-user-name">{{ $user->name }}</div>
|
|
<div class="app-user-role">{{ str_replace('_', ' ', $roleName) }}</div>
|
|
</div>
|
|
</div>
|
|
<form method="POST" action="{{ route('logout') }}">
|
|
@csrf
|
|
<button type="submit" class="app-logout-button">
|
|
<i class="fa-solid fa-right-from-bracket"></i>
|
|
<span>Keluar</span>
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</aside>
|