nimuli/resources/views/layouts/nimuli-app.blade.php

55 lines
2.1 KiB
PHP

<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}" data-theme="{{ auth()->user()?->theme ?? 'dark' }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ ($title ?? '') ? $title . ' — Nimuli' : 'Nimuli' }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
@vite(['resources/js/app.js'])
@livewireStyles
</head>
<body class="bg-bg text-t1 font-sans antialiased" x-data>
<div class="flex h-screen overflow-hidden">
<!-- Mobile Sidebar Overlay -->
<div
class="fixed inset-0 z-20 bg-black/60 md:hidden"
x-show="$store.sidebar?.open"
x-transition:enter="transition ease-out duration-200"
x-transition:enter-start="opacity-0"
x-transition:enter-end="opacity-100"
x-transition:leave="transition ease-in duration-150"
x-transition:leave-start="opacity-100"
x-transition:leave-end="opacity-0"
@click="$store.sidebar.open = false"
aria-hidden="true"
></div>
<!-- Sidebar: always visible on md+, drawer on mobile -->
<div
class="fixed inset-y-0 left-0 z-30 md:relative md:z-auto md:flex md:flex-shrink-0 transition-transform duration-200 ease-in-out"
:class="$store.sidebar?.open ? 'translate-x-0' : '-translate-x-full md:translate-x-0'"
>
<x-sidebar />
</div>
<!-- Main Area -->
<div class="flex-1 flex flex-col overflow-hidden min-w-0">
<x-topbar :title="$title ?? ''" />
<main class="flex-1 overflow-y-auto p-6">
{{ $slot }}
</main>
</div>
</div>
<x-modal-container />
@livewireScripts
</body>
</html>