Avoid mixed-content form submissions behind Coolify by rendering internal links and form actions as relative paths.
98 lines
5.9 KiB
PHP
98 lines
5.9 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 Mahasiswa</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'] }}" 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['nim'] }} · {{ $user['nmprodi'] }}</div>
|
|
<form method="POST" action="{{ route('legacy.logout', [], false) }}">
|
|
@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'] }}" 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
|
|
|
|
@if ($errors->any())
|
|
<div class="rounded-xl border border-rose-200 bg-rose-50 px-4 py-3 text-sm text-rose-800">
|
|
<p class="font-semibold">Form belum bisa disimpan.</p>
|
|
<ul class="mt-2 list-disc space-y-1 pl-5">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
@endif
|
|
|
|
{{ $slot }}
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</x-layouts.app>
|