eventflow / resources /views /components /panel-layout.blade.php
Ezekiel999's picture
Deploy EventFlow to HF Spaces with Docker
10dc6f2 verified
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title ?? 'Panel' }} — Eventify</title>
@vite(['resources/css/app.css', 'resources/js/app.js'])
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>* { font-family: 'Inter', sans-serif; }</style>
</head>
<body class="bg-gray-50 min-h-screen flex">
{{-- Sidebar --}}
<aside class="w-64 bg-white border-r border-gray-200 min-h-screen fixed left-0 top-0 flex flex-col z-40">
<div class="p-5 border-b border-gray-100">
<a href="{{ route('home') }}" class="flex items-center gap-2 text-lg font-bold text-gray-800">
<span class="w-8 h-8 rounded-lg bg-purple-600 flex items-center justify-center"><i data-lucide="ticket" class="w-4 h-4 text-white"></i></span>
Eventify
</a>
<p class="text-xs text-purple-600 font-medium mt-1 uppercase tracking-wide">{{ $panelName ?? 'Panel' }}</p>
</div>
<nav class="flex-1 p-4 space-y-1">
{{ $sidebar }}
</nav>
<div class="p-4 border-t border-gray-100">
<div class="flex items-center gap-3">
<div class="w-8 h-8 rounded-full bg-purple-100 flex items-center justify-center text-purple-600 font-bold text-sm">{{ substr(auth()->user()->name, 0, 1) }}</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-800 truncate">{{ auth()->user()->name }}</p>
<p class="text-xs text-gray-500 capitalize">{{ auth()->user()->role }}</p>
</div>
</div>
</div>
</aside>
{{-- Main --}}
<div class="ml-64 flex-1 min-h-screen">
{{-- Topbar --}}
<header class="h-14 border-b border-gray-200 bg-white flex items-center justify-between px-6 sticky top-0 z-30">
<h1 class="text-lg font-semibold text-gray-800">{{ $header ?? '' }}</h1>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button class="text-sm text-gray-500 hover:text-gray-800 flex items-center gap-1"><i data-lucide="log-out" class="w-4 h-4"></i> Keluar</button>
</form>
</header>
{{-- Flash --}}
<div class="px-6 pt-4">
@if(session('success'))
<div class="bg-emerald-50 border border-emerald-200 text-emerald-700 px-4 py-3 rounded-xl text-sm mb-4">{{ session('success') }}</div>
@endif
@if(session('error'))
<div class="bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-xl text-sm mb-4">{{ session('error') }}</div>
@endif
</div>
{{-- Content --}}
<main class="p-6">
{{ $slot }}
</main>
</div>
<script>lucide.createIcons();</script>
</body>
</html>