import { createInertiaApp } from '@inertiajs/react'; import type { ReactNode } from 'react'; import { Toaster } from '@/components/ui/sonner'; import { SgcShell } from '@/components/sgc-shell'; 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 = 'SGC'; void createInertiaApp({ title: (title) => (title ? `${title} - ${appName}` : appName), layout: (name) => { switch (true) { case name === 'welcome': case name === 'home': return null; case name.startsWith('preview/'): return (page: ReactNode) => {page}; 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();