Use relative URLs for rebuild forms
Avoid mixed-content form submissions behind Coolify by rendering internal links and form actions as relative paths.
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
@endif
|
||||
|
||||
<div class="grid gap-5 lg:grid-cols-[minmax(0,1fr)_420px]">
|
||||
<form method="POST" action="{{ route('admin.data.mahasiswa.import.store') }}" enctype="multipart/form-data" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
<form method="POST" action="{{ route('admin.data.mahasiswa.import.store', [], false) }}" enctype="multipart/form-data" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
@csrf
|
||||
<div class="grid gap-5">
|
||||
<div>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form method="POST" action="{{ route('admin.pengumuman.store') }}" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
<form method="POST" action="{{ route('admin.pengumuman.store', [], false) }}" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
@csrf
|
||||
<div class="grid gap-5">
|
||||
<div>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<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['username'] }} · {{ $user['nmprodi'] }}</div>
|
||||
<form method="POST" action="{{ route('legacy.logout') }}">
|
||||
<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>
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
<div class="rounded-xl bg-white p-5 shadow-[0_8px_12px_rgba(13,10,44,0.04)] sm:p-7.5 xl:p-9">
|
||||
<div class="mb-6 grid grid-cols-2 rounded-[14px] bg-[#F9FAFB] p-1.5 text-sm font-medium text-[#15171A]">
|
||||
<a href="{{ route('legacy.login', 'mahasiswa') }}" class="rounded-[10px] px-4 py-3 text-center {{ $role === 'mahasiswa' ? 'bg-white shadow-[0_4px_10px_rgba(13,10,44,0.05)]' : 'text-[#5C6A78]' }}">Mahasiswa</a>
|
||||
<a href="{{ route('legacy.login', 'dosen') }}" class="rounded-[10px] px-4 py-3 text-center {{ $role === 'dosen' ? 'bg-white shadow-[0_4px_10px_rgba(13,10,44,0.05)]' : 'text-[#5C6A78]' }}">Dosen</a>
|
||||
<a href="{{ route('legacy.login', 'mahasiswa', false) }}" class="rounded-[10px] px-4 py-3 text-center {{ $role === 'mahasiswa' ? 'bg-white shadow-[0_4px_10px_rgba(13,10,44,0.05)]' : 'text-[#5C6A78]' }}">Mahasiswa</a>
|
||||
<a href="{{ route('legacy.login', 'dosen', false) }}" class="rounded-[10px] px-4 py-3 text-center {{ $role === 'dosen' ? 'bg-white shadow-[0_4px_10px_rgba(13,10,44,0.05)]' : 'text-[#5C6A78]' }}">Dosen</a>
|
||||
</div>
|
||||
|
||||
<div class="mb-6 inline-flex rounded-full border border-[#E5E7EB] bg-[#F9FAFB] px-3 py-1.5 text-sm font-medium text-[#15171A]">
|
||||
@@ -43,7 +43,7 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<form method="POST" action="{{ route('legacy.authenticate', $role) }}">
|
||||
<form method="POST" action="{{ route('legacy.authenticate', $role, false) }}">
|
||||
@csrf
|
||||
<div class="mb-4">
|
||||
<label for="identifier" class="mb-3 block text-[14px] font-medium leading-[22px] text-[#15171A]">{{ $meta['input'] }}</label>
|
||||
@@ -61,7 +61,7 @@
|
||||
</div>
|
||||
<div class="mb-7 flex items-center justify-between text-sm text-[#374151]">
|
||||
<span>{{ $role === 'mahasiswa' ? 'Gunakan akun mahasiswa aktif' : ($role === 'dosen' ? 'Gunakan akun dosen aktif' : 'Akses admin belum tersedia') }}</span>
|
||||
<a href="{{ route('role-login') }}" class="text-[#15171A]">Kembali</a>
|
||||
<a href="{{ route('role-login', [], false) }}" class="text-[#15171A]">Kembali</a>
|
||||
</div>
|
||||
<button type="submit" class="flex w-full justify-center rounded-md bg-[#15171A] px-5 py-3.5 font-medium text-white hover:opacity-90 {{ $role === 'admin' ? 'opacity-75' : '' }}">{{ $role === 'mahasiswa' ? 'Masuk ke Portal Mahasiswa' : ($role === 'dosen' ? 'Masuk ke Dashboard Dosen' : 'Coba Masuk') }}</button>
|
||||
</form>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<div class="mt-6 space-y-4">
|
||||
@foreach ($roles as $role)
|
||||
<a href="{{ route('legacy.login', $role['slug']) }}" class="block rounded-xl border border-[#E5E7EB] bg-[#F9FAFB] px-5 py-4 transition hover:border-[#15171A] hover:bg-white">
|
||||
<a href="{{ route('legacy.login', $role['slug'], false) }}" class="block rounded-xl border border-[#E5E7EB] bg-[#F9FAFB] px-5 py-4 transition hover:border-[#15171A] hover:bg-white">
|
||||
<p class="text-base font-semibold text-[#15171A]">{{ $role['name'] }}</p>
|
||||
<p class="mt-2 text-sm leading-7 text-[#5C6A78]">{{ $role['summary'] }}</p>
|
||||
</a>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<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') }}">
|
||||
<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>
|
||||
|
||||
@@ -25,10 +25,10 @@
|
||||
@php
|
||||
$legacyAuth = session('legacy_auth');
|
||||
$legacyRole = $legacyAuth['role'] ?? null;
|
||||
$spotaLogoUrl = route('assets.spota-logo');
|
||||
$spotaLogoUrl = route('assets.spota-logo', [], false);
|
||||
$dashboardRoute = match ($legacyRole) {
|
||||
'mahasiswa' => route('dashboard.mahasiswa'),
|
||||
'dosen' => route('dashboard.dosen'),
|
||||
'mahasiswa' => route('dashboard.mahasiswa', [], false),
|
||||
'dosen' => route('dashboard.dosen', [], false),
|
||||
default => null,
|
||||
};
|
||||
$isDashboardShell = isset($dashboardLayout) && $dashboardLayout === true;
|
||||
@@ -37,7 +37,7 @@
|
||||
<header class="fixed left-0 top-0 z-40 w-full border-b border-[#E5E7EB] bg-white">
|
||||
<div class="mx-auto flex max-w-[1400px] items-center justify-between px-4 py-4 sm:px-6 xl:px-8 lg:relative">
|
||||
<div class="flex w-full items-center justify-between lg:w-3/12">
|
||||
<a href="{{ route('home') }}" class="inline-flex items-center">
|
||||
<a href="{{ route('home', [], false) }}" class="inline-flex items-center">
|
||||
<img src="{{ $spotaLogoUrl }}" alt="SPOTA" class="h-11 w-auto max-w-[180px] object-contain">
|
||||
</a>
|
||||
</div>
|
||||
@@ -45,10 +45,10 @@
|
||||
@if (! $isDashboardShell)
|
||||
<nav>
|
||||
<ul class="flex items-center gap-10 text-sm text-[#374151]">
|
||||
<li><a href="{{ route('home') }}" class="hover:text-[#15171A]">Beranda</a></li>
|
||||
<li><a href="{{ route('role-login') }}" class="hover:text-[#15171A]">Pilih Akun</a></li>
|
||||
<li><a href="{{ route('legacy.login', 'mahasiswa') }}" class="hover:text-[#15171A]">Mahasiswa</a></li>
|
||||
<li><a href="{{ route('legacy.login', 'dosen') }}" class="hover:text-[#15171A]">Dosen</a></li>
|
||||
<li><a href="{{ route('home', [], false) }}" class="hover:text-[#15171A]">Beranda</a></li>
|
||||
<li><a href="{{ route('role-login', [], false) }}" class="hover:text-[#15171A]">Pilih Akun</a></li>
|
||||
<li><a href="{{ route('legacy.login', 'mahasiswa', false) }}" class="hover:text-[#15171A]">Mahasiswa</a></li>
|
||||
<li><a href="{{ route('legacy.login', 'dosen', false) }}" class="hover:text-[#15171A]">Dosen</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@else
|
||||
@@ -58,14 +58,14 @@
|
||||
@endif
|
||||
@if ($dashboardRoute && $isDashboardShell)
|
||||
<div class="flex items-center gap-3">
|
||||
<a href="{{ route('role-login') }}" class="rounded-md border border-[#E5E7EB] bg-white px-5.5 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F3F4F6]">Portal</a>
|
||||
<form method="POST" action="{{ route('legacy.logout') }}">
|
||||
<a href="{{ route('role-login', [], false) }}" class="rounded-md border border-[#E5E7EB] bg-white px-5.5 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F3F4F6]">Portal</a>
|
||||
<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>
|
||||
@else
|
||||
<a href="{{ route('legacy.login', 'mahasiswa') }}" class="rounded-md bg-[#15171A] px-5.5 py-2.5 text-sm font-medium text-white hover:opacity-90">Masuk</a>
|
||||
<a href="{{ route('legacy.login', 'mahasiswa', false) }}" class="rounded-md bg-[#15171A] px-5.5 py-2.5 text-sm font-medium text-white hover:opacity-90">Masuk</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<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') }}">
|
||||
<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>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<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['username'] }} · {{ $user['nmprodi'] }}</div>
|
||||
<form method="POST" action="{{ route('legacy.logout') }}">
|
||||
<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>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
</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]">{{ $user['nim'] }} · {{ $user['nmprodi'] }}</div>
|
||||
<form method="POST" action="{{ route('legacy.logout') }}">
|
||||
<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>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
<div class="flex flex-wrap gap-3">
|
||||
<button type="submit" class="template-button-dark">{{ $formMode === 'create' ? 'Simpan Data' : 'Simpan Perubahan' }}</button>
|
||||
<a href="{{ route('dosen.penawaran.index') }}" class="rounded-md border border-[#D1D5DB] bg-white px-4 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F9FAFB]">Kembali</a>
|
||||
<a href="{{ route('dosen.penawaran.index', [], false) }}" class="rounded-md border border-[#D1D5DB] bg-white px-4 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F9FAFB]">Kembali</a>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<p class="mt-2 text-sm text-[#6B7280]">Diposting {{ \Carbon\Carbon::parse($pengumumanItem->tgl)->locale('id')->translatedFormat('j F Y, H:i') }}</p>
|
||||
<div class="prose mt-6 max-w-none text-[#374151]">{!! $pengumumanItem->isi !!}</div>
|
||||
<div class="mt-6">
|
||||
<a href="{{ route('dosen.pengumuman.index') }}" class="inline-flex items-center rounded-md border border-[#D1D5DB] bg-white px-4 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F9FAFB]">Kembali</a>
|
||||
<a href="{{ route('dosen.pengumuman.index', [], false) }}" class="inline-flex items-center rounded-md border border-[#D1D5DB] bg-white px-4 py-2.5 text-sm font-medium text-[#15171A] hover:bg-[#F9FAFB]">Kembali</a>
|
||||
</div>
|
||||
</section>
|
||||
</x-dosen.partials.page-shell>
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
SPOTA membantu mahasiswa mengajukan outline tugas akhir, memantau status persetujuan, melihat jadwal seminar atau sidang, serta menerima pengumuman akademik. Dosen dan admin dapat meninjau usulan, mengelola penawaran judul, dan memantau proses tugas akhir dalam satu sistem.
|
||||
</p>
|
||||
<div class="mt-8 flex flex-col gap-3 sm:flex-row">
|
||||
<a href="{{ route('legacy.login', 'mahasiswa') }}" class="inline-flex items-center justify-center rounded-2xl bg-slate-950 px-6 py-3.5 text-sm font-bold text-white shadow-lg shadow-slate-950/15 transition hover:-translate-y-0.5 hover:bg-slate-800">
|
||||
<a href="{{ route('legacy.login', 'mahasiswa', false) }}" class="inline-flex items-center justify-center rounded-2xl bg-slate-950 px-6 py-3.5 text-sm font-bold text-white shadow-lg shadow-slate-950/15 transition hover:-translate-y-0.5 hover:bg-slate-800">
|
||||
Masuk Mahasiswa
|
||||
</a>
|
||||
<a href="{{ route('legacy.login', 'dosen') }}" class="inline-flex items-center justify-center rounded-2xl border border-slate-200 bg-white px-6 py-3.5 text-sm font-bold text-slate-950 transition hover:-translate-y-0.5 hover:border-emerald-300 hover:text-emerald-800">
|
||||
<a href="{{ route('legacy.login', 'dosen', false) }}" class="inline-flex items-center justify-center rounded-2xl border border-slate-200 bg-white px-6 py-3.5 text-sm font-bold text-slate-950 transition hover:-translate-y-0.5 hover:border-emerald-300 hover:text-emerald-800">
|
||||
Masuk Dosen
|
||||
</a>
|
||||
<a href="{{ route('legacy.login', 'admin') }}" class="inline-flex items-center justify-center rounded-2xl border border-slate-200 bg-slate-50 px-6 py-3.5 text-sm font-bold text-slate-700 transition hover:-translate-y-0.5 hover:bg-white hover:text-slate-950">
|
||||
<a href="{{ route('legacy.login', 'admin', false) }}" class="inline-flex items-center justify-center rounded-2xl border border-slate-200 bg-slate-50 px-6 py-3.5 text-sm font-bold text-slate-700 transition hover:-translate-y-0.5 hover:bg-white hover:text-slate-950">
|
||||
Admin Prodi
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<span>{{ $penawaran->waktuInput ? \Carbon\Carbon::parse($penawaran->waktuInput)->locale('id')->translatedFormat('j F Y, H:i') : '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<form method="POST" action="{{ route('mahasiswa.penawaran.book', ['id' => $penawaran->idPenawaran]) }}" class="shrink-0">
|
||||
<form method="POST" action="{{ route('mahasiswa.penawaran.book', ['id' => $penawaran->idPenawaran], false) }}" class="shrink-0">
|
||||
@csrf
|
||||
<button type="submit" class="rounded-md bg-[#15171A] px-5 py-2.5 text-sm font-medium text-white hover:opacity-90">Booking Judul Ini</button>
|
||||
</form>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<x-mahasiswa.partials.page-shell :title="$title" :sidebar="$sidebar" :page-title="$pageTitle" :page-description="$pageDescription" :page-date="$pageDate" :user="$user">
|
||||
<section class="space-y-5">
|
||||
<form method="GET" action="{{ route('mahasiswa.penawaran.index') }}" class="rounded-xl border border-[#E5E7EB] bg-white p-5 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
<form method="GET" action="{{ route('mahasiswa.penawaran.index', [], false) }}" class="rounded-xl border border-[#E5E7EB] bg-white p-5 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
<div class="grid gap-4 lg:grid-cols-[220px_minmax(0,1fr)_auto] lg:items-end">
|
||||
<div>
|
||||
<label class="text-sm font-semibold text-[#15171A]">Status Judul</label>
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="flex justify-end gap-2 whitespace-nowrap">
|
||||
<a href="{{ route('mahasiswa.penawaran.show', ['id' => $item->idPenawaran], false) }}" class="rounded-md border border-[#D1D5DB] px-3 py-2 text-xs font-medium text-[#15171A] hover:bg-[#F9FAFB]">Lihat</a>
|
||||
@if ($available)
|
||||
<form method="POST" action="{{ route('mahasiswa.penawaran.book', ['id' => $item->idPenawaran]) }}">
|
||||
<form method="POST" action="{{ route('mahasiswa.penawaran.book', ['id' => $item->idPenawaran], false) }}">
|
||||
@csrf
|
||||
<button type="submit" class="rounded-md bg-[#15171A] px-3 py-2 text-xs font-medium text-white hover:opacity-90">Booking</button>
|
||||
</form>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<p class="mt-2">Pastikan file yang diupload berupa PDF dan draft sudah diperiksa. Jika terdapat kesalahan upload, hubungi administrator prodi.</p>
|
||||
</div>
|
||||
|
||||
<form method="POST" action="{{ route('mahasiswa.praoutline.store') }}" enctype="multipart/form-data" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
<form method="POST" action="{{ route('mahasiswa.praoutline.store', [], false) }}" enctype="multipart/form-data" class="rounded-xl border border-[#E5E7EB] bg-white p-6 shadow-[0_8px_12px_rgba(13,10,44,0.04)]">
|
||||
@csrf
|
||||
<div class="grid gap-5">
|
||||
<div>
|
||||
|
||||
@@ -20,9 +20,9 @@ Route::get('/', function () {
|
||||
['label' => 'Admin', 'value' => 'Data master dan pengaturan prodi'],
|
||||
],
|
||||
'highlights' => [
|
||||
['number' => '01', 'label' => 'Mahasiswa', 'href' => route('legacy.login', 'mahasiswa'), 'description' => 'Pantau status usulan, baca pengumuman, upload praoutline, dan booking penawaran judul.'],
|
||||
['number' => '02', 'label' => 'Dosen', 'href' => route('legacy.login', 'dosen'), 'description' => 'Kelola penawaran judul, review praoutline, lihat bimbingan, dan monitoring mahasiswa.'],
|
||||
['number' => '03', 'label' => 'Admin', 'href' => route('legacy.login', 'admin'), 'description' => 'Kelola data mahasiswa, dosen, kelompok keahlian, pengumuman, jadwal, dan pengaturan prodi.'],
|
||||
['number' => '01', 'label' => 'Mahasiswa', 'href' => route('legacy.login', 'mahasiswa', false), 'description' => 'Pantau status usulan, baca pengumuman, upload praoutline, dan booking penawaran judul.'],
|
||||
['number' => '02', 'label' => 'Dosen', 'href' => route('legacy.login', 'dosen', false), 'description' => 'Kelola penawaran judul, review praoutline, lihat bimbingan, dan monitoring mahasiswa.'],
|
||||
['number' => '03', 'label' => 'Admin', 'href' => route('legacy.login', 'admin', false), 'description' => 'Kelola data mahasiswa, dosen, kelompok keahlian, pengumuman, jadwal, dan pengaturan prodi.'],
|
||||
],
|
||||
]);
|
||||
})->name('home');
|
||||
|
||||
Reference in New Issue
Block a user