File size: 4,210 Bytes
10dc6f2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>{{ $title ?? 'Eventify' }} — Eventify</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <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; }
        .gradient-text { background: linear-gradient(135deg, #a78bfa, #c084fc, #e879f9); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    </style>
</head>
<body class="bg-slate-950 text-white min-h-screen flex flex-col">

    {{-- Navbar --}}
    <nav class="sticky top-0 z-50 border-b border-white/10 bg-slate-950/80 backdrop-blur-xl">
        <div class="max-w-7xl mx-auto px-4 sm:px-6 flex items-center justify-between h-16">
            <a href="{{ route('home') }}" class="flex items-center gap-2 text-xl font-bold">
                <span class="w-9 h-9 rounded-xl bg-purple-600 flex items-center justify-center"><i data-lucide="ticket" class="w-5 h-5"></i></span>
                Eventify
            </a>

            <div class="hidden md:flex items-center gap-6 text-sm">
                <a href="{{ route('home') }}" class="hover:text-purple-400 transition {{ request()->routeIs('home') ? 'text-purple-400 font-semibold' : 'text-gray-300' }}">Beranda</a>
                <a href="{{ route('events.index') }}" class="hover:text-purple-400 transition {{ request()->routeIs('events.*') ? 'text-purple-400 font-semibold' : 'text-gray-300' }}">Jelajahi Event</a>
                @auth
                    <a href="{{ route('dashboard') }}" class="hover:text-purple-400 transition {{ request()->routeIs('dashboard') ? 'text-purple-400 font-semibold' : 'text-gray-300' }}">Dashboard</a>
                    @if(auth()->user()->hasAdminAccess())
                        <a href="{{ route('organizer.dashboard') }}" class="hover:text-purple-400 transition text-gray-300">Organizer</a>
                    @endif
                    @if(auth()->user()->isAdmin())
                        <a href="{{ route('admin.dashboard') }}" class="hover:text-purple-400 transition text-gray-300">Admin</a>
                    @endif
                @endauth
            </div>

            <div class="flex items-center gap-3">
                @guest
                    <a href="{{ route('login') }}" class="text-sm text-gray-300 hover:text-white">Masuk</a>
                    <a href="{{ route('register') }}" class="text-sm bg-purple-600 hover:bg-purple-700 px-4 py-2 rounded-lg font-medium transition">Daftar</a>
                @else
                    <span class="text-sm text-gray-400 hidden md:block">{{ auth()->user()->name }}</span>
                    <form method="POST" action="{{ route('logout') }}">
                        @csrf
                        <button class="text-sm text-gray-400 hover:text-white flex items-center gap-1"><i data-lucide="log-out" class="w-4 h-4"></i></button>
                    </form>
                @endguest
            </div>
        </div>
    </nav>

    {{-- Flash Messages --}}
    @if(session('success'))
        <div class="max-w-7xl mx-auto px-4 mt-4"><div class="bg-emerald-500/20 border border-emerald-500/30 text-emerald-300 px-4 py-3 rounded-xl text-sm">{{ session('success') }}</div></div>
    @endif
    @if(session('error'))
        <div class="max-w-7xl mx-auto px-4 mt-4"><div class="bg-red-500/20 border border-red-500/30 text-red-300 px-4 py-3 rounded-xl text-sm">{{ session('error') }}</div></div>
    @endif

    {{-- Content --}}
    <main class="flex-1">
        {{ $slot }}
    </main>

    {{-- Footer --}}
    <footer class="border-t border-white/10 mt-auto">
        <div class="max-w-7xl mx-auto px-4 py-8 text-center text-gray-500 text-sm">
            © {{ date('Y') }} Eventify. All rights reserved.
        </div>
    </footer>

    <script>lucide.createIcons();</script>
</body>
</html>