Files
Power BI Dev 030bb7c174 Use relative URLs for rebuild forms
Avoid mixed-content form submissions behind Coolify by rendering internal links and form actions as relative paths.
2026-05-03 22:06:46 +07:00

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>