feat: custom halaman error 403 & 404 premium
- 403: icon shield, merah soft, pesan dinamis - 404: icon map, amber soft - Tombol Kembali + Dashboard - Dekorasi dots - Menggunakan layout app (navbar + sidebar tetap)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', 'Akses Ditolak')
|
||||
|
||||
@section('content')
|
||||
<div class="min-h-[70vh] flex items-center justify-center">
|
||||
<div class="text-center max-w-md mx-auto px-4">
|
||||
{{-- Icon --}}
|
||||
<div class="mx-auto w-20 h-20 rounded-2xl bg-gradient-to-br from-red-50 to-red-100 border border-red-200 flex items-center justify-center shadow-sm mb-6">
|
||||
<i class="fa-solid fa-shield-halved text-3xl text-red-400"></i>
|
||||
</div>
|
||||
|
||||
{{-- Code --}}
|
||||
<div class="text-7xl font-black text-red-200 tracking-tight mb-2">403</div>
|
||||
|
||||
{{-- Title --}}
|
||||
<h1 class="text-xl font-bold text-gray-900 mb-2">Akses Ditolak</h1>
|
||||
|
||||
{{-- Message --}}
|
||||
<p class="text-sm text-gray-500 leading-relaxed mb-8">
|
||||
@if($exception->getMessage() && $exception->getMessage() !== '')
|
||||
{{ $exception->getMessage() }}
|
||||
@else
|
||||
Anda tidak memiliki izin untuk mengakses halaman ini.
|
||||
@endif
|
||||
</p>
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="flex items-center justify-center gap-3">
|
||||
<a href="{{ url()->previous() !== url()->current() ? url()->previous() : route('dashboard') }}"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-semibold text-gray-700 bg-white border border-gray-200 rounded-xl hover:bg-gray-50 transition shadow-sm">
|
||||
<i class="fa-solid fa-arrow-left text-xs"></i>
|
||||
Kembali
|
||||
</a>
|
||||
<a href="{{ route('dashboard') }}"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-semibold text-white bg-blue-600 rounded-xl hover:bg-blue-700 transition shadow-sm">
|
||||
<i class="fa-solid fa-house text-xs"></i>
|
||||
Dashboard
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{{-- Decorative dots --}}
|
||||
<div class="mt-12 flex items-center justify-center gap-1.5">
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-red-200"></span>
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-red-300"></span>
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-red-400"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,36 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title', 'Halaman Tidak Ditemukan')
|
||||
|
||||
@section('content')
|
||||
<div class="min-h-[70vh] flex items-center justify-center">
|
||||
<div class="text-center max-w-md mx-auto px-4">
|
||||
<div class="mx-auto w-20 h-20 rounded-2xl bg-gradient-to-br from-amber-50 to-amber-100 border border-amber-200 flex items-center justify-center shadow-sm mb-6">
|
||||
<i class="fa-solid fa-map text-3xl text-amber-400"></i>
|
||||
</div>
|
||||
|
||||
<div class="text-7xl font-black text-amber-200 tracking-tight mb-2">404</div>
|
||||
<h1 class="text-xl font-bold text-gray-900 mb-2">Halaman Tidak Ditemukan</h1>
|
||||
<p class="text-sm text-gray-500 leading-relaxed mb-8">Halaman yang Anda cari mungkin telah dipindah atau tidak tersedia.</p>
|
||||
|
||||
<div class="flex items-center justify-center gap-3">
|
||||
<a href="{{ url()->previous() !== url()->current() ? url()->previous() : route('dashboard') }}"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-semibold text-gray-700 bg-white border border-gray-200 rounded-xl hover:bg-gray-50 transition shadow-sm">
|
||||
<i class="fa-solid fa-arrow-left text-xs"></i>
|
||||
Kembali
|
||||
</a>
|
||||
<a href="{{ route('dashboard') }}"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-semibold text-white bg-blue-600 rounded-xl hover:bg-blue-700 transition shadow-sm">
|
||||
<i class="fa-solid fa-house text-xs"></i>
|
||||
Dashboard
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-12 flex items-center justify-center gap-1.5">
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-amber-200"></span>
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-amber-300"></span>
|
||||
<span class="w-1.5 h-1.5 rounded-full bg-amber-400"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user