Spaces:
Sleeping
Sleeping
| 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 ( | |
| <TooltipProvider delayDuration={0}> | |
| {app} | |
| <Toaster /> | |
| </TooltipProvider> | |
| ); | |
| }, | |
| progress: { | |
| color: '#4B5563', | |
| }, | |
| }); | |
| // This will set light / dark mode on load... | |
| initializeTheme(); | |