import { createInertiaApp } from '@inertiajs/vue3'; import createServer from '@inertiajs/vue3/server'; import { renderToString } from '@vue/server-renderer'; import { createSSRApp, h, type DefineComponent } from 'vue'; import AppLayout from '@/layouts/AppLayout.vue'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; createServer((page) => createInertiaApp({ page, render: renderToString, title: (title) => (title ? `${title} - ${appName}` : appName), resolve: (name) => { const pages = import.meta.glob( './pages/**/*.vue', { eager: true }, ); let page = pages[`./pages/${name}.vue`]; page.default.layout = page.default.layout || AppLayout; return page; }, setup({ App, props, plugin }) { return createSSRApp({ render: () => h(App, props) }).use(plugin); }, }), );