150 lines
6.4 KiB
PHP
150 lines
6.4 KiB
PHP
<!doctype html>
|
|
<html lang="id">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>@yield('title', 'Admin Panel')</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css">
|
|
<style>
|
|
body {
|
|
background-color: #f1f5f9;
|
|
font-family: 'Poppins', sans-serif;
|
|
}
|
|
|
|
/* Sidebar */
|
|
.sidebar {
|
|
width: 250px;
|
|
height: 100vh;
|
|
background: #fff;
|
|
box-shadow: 2px 0 8px rgba(0, 0, 0, 0.05);
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.submenu {
|
|
display: none;
|
|
}
|
|
|
|
.submenu.show {
|
|
display: block;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body class="flex">
|
|
<!-- Sidebar -->
|
|
<div class="sidebar flex flex-col">
|
|
<!-- LOGO -->
|
|
<div class="text-center py-4 border-b">
|
|
<img src="{{ asset('images/logo.png') }}" alt="Logo" class="mx-auto mb-2" style="max-height: 80px;">
|
|
</div>
|
|
|
|
<!-- MENU -->
|
|
<div class="flex-1 overflow-y-auto">
|
|
<p class="text-gray-500 uppercase text-xs font-semibold px-3 mt-4 mb-2">Menu Utama</p>
|
|
<ul class="px-2 space-y-1">
|
|
<li>
|
|
<a href="{{ route('admin.dashboard') }}"
|
|
class="flex items-center py-2 px-3 rounded hover:bg-blue-50 {{ request()->is('admin/dashboard') ? 'bg-blue-100 text-blue-600' : 'text-gray-700' }}">
|
|
<i class="bi bi-house-door me-2"></i> Dasbor
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.kategori.index') }}"
|
|
class="flex items-center py-2 px-3 rounded hover:bg-blue-50 {{ request()->is('admin/kategori*') ? 'bg-blue-100 text-blue-600' : 'text-gray-700' }}">
|
|
<i class="bi bi-diagram-3 me-2"></i> Kategori
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.fitur.index') }}"
|
|
class="flex items-center py-2 px-3 rounded hover:bg-blue-50 {{ request()->is('admin/fitur*') ? 'bg-blue-100 text-blue-600' : 'text-gray-700' }}">
|
|
<i class="bi bi-grid me-2"></i> Fitur
|
|
</a>
|
|
</li>
|
|
<!-- Dropdown Templat -->
|
|
<li>
|
|
@php
|
|
$isTemplatePage = request()->is('templates*'); // cek apakah sedang di halaman template
|
|
@endphp
|
|
<button
|
|
class="w-full flex items-center justify-between py-2 px-3 text-gray-700 rounded hover:bg-blue-50 {{ $isTemplatePage ? 'bg-blue-100 text-blue-600' : '' }}"
|
|
id="templatBtn">
|
|
<span><i class="bi bi-card-list me-2"></i> Templat</span>
|
|
<i class="bi bi-chevron-down transition-transform {{ $isTemplatePage ? 'rotate-180' : '' }}"
|
|
id="templatIcon"></i>
|
|
</button>
|
|
<ul class="submenu pl-6 space-y-1 {{ $isTemplatePage ? 'show' : '' }}" id="templatSubmenu">
|
|
<li>
|
|
<a href="{{ route('templates.index') }}"
|
|
class="block py-2 px-2 rounded {{ request()->is('templates') ? 'bg-blue-100 text-blue-600' : 'text-gray-500 hover:text-blue-600 hover:bg-blue-50' }}">
|
|
Semua Template
|
|
</a>
|
|
</li>
|
|
@foreach (\App\Models\Kategori::all() as $kategori)
|
|
<li>
|
|
<a href="{{ route('templates.byKategori', $kategori->id) }}"
|
|
class="block py-2 px-2 rounded {{ request()->is('templates/kategori/' . $kategori->id) ? 'bg-blue-100 text-blue-600' : 'text-gray-500 hover:text-blue-600 hover:bg-blue-50' }}">
|
|
{{ $kategori->nama }}
|
|
</a>
|
|
</li>
|
|
@endforeach
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="{{ route('admin.pelanggan.index') }}"
|
|
class="flex items-center py-2 px-3 rounded hover:bg-blue-50 text-gray-700">
|
|
<i class="bi bi-people me-2"></i> Pelanggan
|
|
</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="{{ route('admin.reviews.index') }}"
|
|
class="flex items-center py-2 px-3 rounded hover:bg-blue-50 {{ request()->is('admin/ulasan') ? 'bg-blue-100 text-blue-600' : 'text-gray-700' }}">
|
|
<i class="bi bi-chat-dots me-2"></i> Ulasan
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<p class="text-gray-500 uppercase text-xs font-semibold px-3 mt-4 mb-2">Akun</p>
|
|
<ul class="px-2 space-y-1">
|
|
<li>
|
|
<a href="{{ route('admin.logout') }}"
|
|
onclick="event.preventDefault(); document.getElementById('logout-form').submit();"
|
|
class="flex items-center py-2 px-3 text-red-600 font-semibold hover:bg-red-50 rounded">
|
|
<i class="bi bi-box-arrow-right me-2"></i> Keluar
|
|
</a>
|
|
<form id="logout-form" action="{{ route('admin.logout') }}" method="POST" class="hidden">
|
|
@csrf
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- MAIN CONTENT -->
|
|
<div class="flex-1 ml-[250px] p-6">
|
|
@yield('content')
|
|
</div>
|
|
|
|
<script>
|
|
// Dropdown Templat
|
|
const templatBtn = document.getElementById('templatBtn');
|
|
const templatSubmenu = document.getElementById('templatSubmenu');
|
|
const templatIcon = document.getElementById('templatIcon');
|
|
|
|
templatBtn.addEventListener('click', () => {
|
|
templatSubmenu.classList.toggle('show');
|
|
templatIcon.classList.toggle('rotate-180');
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|