import { createInertiaApp } from '@inertiajs/react'; import { Toaster } from '@/components/ui/sonner'; import { TooltipProvider } from '@/components/ui/tooltip'; import { initializeTheme } from '@/hooks/use-appearance'; import AppLayout from '@/layouts/app-layout'; import AuthLayout from '@/layouts/auth-layout'; import SettingsLayout from '@/layouts/settings/layout'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; const fullScreenPages = new Set([ 'welcome', 'auth/admin-login', 'auth/login', 'auth/register-choice', 'auth/register-dosen', 'auth/register-mahasiswa', 'embed', ]); createInertiaApp({ title: (title) => (title ? `${title} - ${appName}` : appName), layout: (name) => { switch (true) { case fullScreenPages.has(name): return null; case name.startsWith('auth/'): return AuthLayout; case name.startsWith('settings/'): return [AppLayout, SettingsLayout]; default: return AppLayout; } }, strictMode: true, withApp(app) { return ( {app} ); }, progress: { color: '#4B5563', }, }); // This will set light / dark mode on load... initializeTheme();