import { createApp, h } from 'vue' import type { DefineComponent } from 'vue' import { createInertiaApp } from '@inertiajs/vue3' import DefaultLayout from '../layouts/MainLayout.vue' import { createI18n } from 'vue-i18n' import fr from '../locales/fr.json' import en from '../locales/en.json' import 'boosted/dist/css/boosted.min.css' import './app.css' const i18n = createI18n({ legacy: false, locale: 'fr', fallbackLocale: 'en', messages: { fr, en }, }) createInertiaApp({ title: (title) => `${title} - ADAM ACS`, resolve: (name) => { const pages = import.meta.glob('../pages/**/*.vue', { eager: true }) as Record const page = pages[`../pages/${name}.vue`] if (!page) { throw new Error(`Page not found: ${name}`) } page.default.layout = page.default.layout || DefaultLayout return page }, setup({ el, App, props, plugin }) { createApp({ render: () => h(App, props) }) .use(plugin) .use(i18n) .mount(el) }, })