import '../css/app.css'; import { createInertiaApp } from '@inertiajs/vue3'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { createPinia } from 'pinia'; import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'; import type { DefineComponent } from 'vue'; import { createApp, h } from 'vue'; import { initializeTheme } from './composables/useAppearance'; import { setupAuthGuards } from './middleware/auth'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; const pinia = createPinia(); pinia.use(piniaPluginPersistedstate); createInertiaApp({ title: (title) => (title ? `${title} - ${appName}` : appName), resolve: (name) => resolvePageComponent(`./pages/${name}.vue`, import.meta.glob('./pages/**/*.vue')), setup({ el, App, props, plugin }) { const app = createApp({ render: () => h(App, props) }) .use(pinia) .use(plugin); // Initialize auth guards after pinia is set up setupAuthGuards(); app.mount(el); }, progress: { color: '#4B5563', }, }); // This will set light / dark mode on page load... initializeTheme();