@props(['title' => 'Ladill Meet', 'heading' => null])
<!DOCTYPE html>
<html lang="en" class="h-full app-shell">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>{{ $title }} · Ladill Meet</title>
    @include('partials.favicon')
    <link rel="preconnect" href="https://fonts.bunny.net">
    <link href="https://fonts.bunny.net/css?family=figtree:400,500,600,700&display=swap" rel="stylesheet" />
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="h-full font-sans antialiased bg-slate-100 text-slate-900" x-data="{ sidebarOpen: false }">
    @include('partials.boot-splash')
    <div class="min-h-screen max-lg:min-h-dvh">
        <div x-show="sidebarOpen" x-cloak class="fixed inset-0 z-30 bg-black/50 lg:hidden" @click="sidebarOpen = false"></div>
        <aside x-data="{ ready: false }" x-init="requestAnimationFrame(() => ready = true)"
               class="fixed inset-y-0 left-0 z-40 w-64 -translate-x-full transform lg:translate-x-0"
               :class="{ '!translate-x-0': sidebarOpen, 'transition-transform': ready }">
            @include('partials.sidebar')
        </aside>
        <div class="flex min-h-screen flex-col min-w-0 lg:pl-64">
            @include('partials.topbar', ['heading' => $heading ?? $title])
            <main class="flex-1 p-4 ladill-mobile-main sm:p-6 lg:pb-6">
                @include('partials.flash')
                {{ $slot }}
            </main>
        </div>
    </div>
    @auth
        @php
            $navUser = auth()->user();
            $navInitials = collect(explode(' ', trim((string) $navUser?->name)))
                ->filter()->take(2)
                ->map(fn ($part) => strtoupper(substr($part, 0, 1)))
                ->implode('');
            $navAvatarUrl = $navUser && method_exists($navUser, 'avatarUrl')
                ? $navUser->avatarUrl()
                : ($navUser?->avatar_url ?? null);
        @endphp
        @include('partials.mobile-bottom-nav', [
            'homeUrl' => route('meet.dashboard'),
            'homeActive' => request()->routeIs('meet.dashboard'),
            'searchUrl' => route('meet.rooms.index'),
            'searchActive' => request()->routeIs('meet.rooms.*'),
            'notificationsUrl' => route('notifications.index'),
            'notificationsActive' => request()->routeIs('notifications.*'),
            'unreadUrl' => route('notifications.unread'),
            'profileActive' => false,
            'profileName' => $navUser?->name ?? '',
            'profileSubtitle' => $navUser?->email ?? '',
            'profileMenuItems' => \App\Support\UserProfileMenu::items($navUser),
            'avatarUrl' => $navAvatarUrl,
            'initials' => $navInitials !== '' ? $navInitials : 'U',
        ])
    @endauth
    @include('partials.wallet-topup-modal', ['openOnLoad' => (bool) session('topup_required')])
    @include('partials.afia')
    @include('partials.sso-keepalive')
</body>
</html>
