Point Docker and Coolify compose to the Laravel rebuild app so mahasiswa, dosen, and admin flows are served from the new Laravel public entrypoint.
87 lines
5.5 KiB
PHP
87 lines
5.5 KiB
PHP
<x-layouts.app :title="$title" :dashboard-layout="true">
|
|
<main class="min-h-screen bg-[#F9FAFB]">
|
|
<div class="dashboard-shell">
|
|
<aside class="dashboard-sidebar">
|
|
<div class="dashboard-sidebar-card">
|
|
<p class="text-xs font-semibold uppercase tracking-[0.18em] text-[#979797]">Menu Dosen</p>
|
|
<div class="mt-4 space-y-1">
|
|
@foreach ($sidebar['main'] as $menu)
|
|
<a href="{{ $menu['href'] }}" class="dashboard-sidebar-link {{ !empty($menu['active']) ? 'dashboard-sidebar-link-active' : '' }}">
|
|
<span class="dashboard-sidebar-icon">@include('dashboard.partials.icon', ['icon' => $menu['icon']])</span>
|
|
<span>{{ $menu['title'] }}</span>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
<div class="mt-6 space-y-5 border-t border-[#E5E7EB] pt-6">
|
|
@foreach ($sidebar['sections'] as $group)
|
|
<section class="dashboard-sidebar-group">
|
|
<div class="dashboard-sidebar-group-label">
|
|
<span class="dashboard-sidebar-icon">@include('dashboard.partials.icon', ['icon' => $group['icon']])</span>
|
|
<span>{{ $group['title'] }}</span>
|
|
</div>
|
|
<div class="dashboard-sidebar-submenu">
|
|
@foreach ($group['items'] as $item)
|
|
<a href="{{ $item['href'] }}" @if(!empty($item['external'])) target="_blank" rel="noreferrer" @endif class="dashboard-sidebar-link {{ !empty($item['active']) ? 'dashboard-sidebar-link-active' : '' }}">
|
|
<span class="dashboard-sidebar-icon">@include('dashboard.partials.icon', ['icon' => $item['icon']])</span>
|
|
<span>{{ $item['title'] }}</span>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
</section>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
|
|
<div class="dashboard-content space-y-5">
|
|
<div class="rounded-xl bg-white p-4 shadow-[0_8px_12px_rgba(13,10,44,0.04)] lg:p-6">
|
|
<div class="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
|
|
<div>
|
|
<ol class="flex flex-wrap items-center gap-2 text-sm text-[#6B7280]">
|
|
<li class="inline-flex items-center gap-2">
|
|
<span class="text-[#625DF5]">@include('dashboard.partials.icon', ['icon' => 'home'])</span>
|
|
<span>Home</span>
|
|
</li>
|
|
<li>/</li>
|
|
<li class="font-medium text-[#15171A]">{{ $pageTitle }}</li>
|
|
</ol>
|
|
<h1 class="mt-4 text-[26px] font-bold leading-[34px] text-[#15171A]">{{ $pageTitle }}</h1>
|
|
<p class="mt-2 max-w-[880px] text-sm leading-7 text-[#4B5563]">{{ $pageDescription }}</p>
|
|
</div>
|
|
<div class="flex flex-wrap items-center gap-3">
|
|
<div class="rounded-md border border-[#E5E7EB] bg-[#F9FAFB] px-4 py-3 text-sm text-[#15171A]">{{ $pageDate }}</div>
|
|
<div class="rounded-md border border-[#E5E7EB] bg-[#F9FAFB] px-4 py-3 text-sm text-[#15171A]">{{ $user['nip'] }} · {{ $user['nmprodi'] }}</div>
|
|
<form method="POST" action="{{ route('legacy.logout') }}">
|
|
@csrf
|
|
<button type="submit" class="rounded-md bg-[#15171A] px-5.5 py-2.5 text-sm font-medium text-white hover:opacity-90">Logout</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
@if (!empty($pageActions ?? []))
|
|
<div class="mt-5 flex flex-wrap gap-3 border-t border-[#E5E7EB] pt-5">
|
|
@foreach ($pageActions as $action)
|
|
<a href="{{ $action['href'] }}" @if(!empty($action['external'])) target="_blank" rel="noreferrer" @endif class="{{ ($action['variant'] ?? 'light') === 'dark' ? 'rounded-md bg-[#15171A] px-4 py-2.5 text-sm font-medium text-white hover:opacity-90' : 'rounded-md border border-[#D1D5DB] bg-white px-4 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F9FAFB]' }}">{{ $action['label'] }}</a>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
</div>
|
|
|
|
@if (session('success'))
|
|
<div class="rounded-xl border border-emerald-200 bg-emerald-50 px-4 py-3 text-sm text-emerald-800">
|
|
{{ session('success') }}
|
|
</div>
|
|
@endif
|
|
|
|
@if (session('error'))
|
|
<div class="rounded-xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-800">
|
|
{{ session('error') }}
|
|
</div>
|
|
@endif
|
|
|
|
{{ $slot }}
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</x-layouts.app>
|