Skip to content

Commit 7cae674

Browse files
committed
fixing warning messages in SSR
1 parent 1243797 commit 7cae674

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

resources/js/ssr.tsx

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,42 @@
11
import { createInertiaApp } from '@inertiajs/vue3'
22
import createServer from '@inertiajs/vue3/server'
3+
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'
34
import { renderToString } from '@vue/server-renderer'
45
import { createSSRApp, h } from 'vue'
5-
import { type RouteName, route } from 'ziggy-js'
6+
import { route as ziggyRoute } from 'ziggy-js'
67

78
const appName = import.meta.env.VITE_APP_NAME || 'Laravel'
89

9-
createServer(page =>
10+
createServer((page) =>
1011
createInertiaApp({
1112
page,
1213
render: renderToString,
1314
title: (title) => `${title} - ${appName}`,
14-
resolve: name => {
15-
const pages = import.meta.glob('./Pages/**/*.vue', { eager: true })
16-
return pages[`./Pages/${name}.vue`]
17-
},
15+
resolve: (name) => resolvePageComponent(`./pages/${name}.vue`, import.meta.glob('./pages/**/*.vue')),
1816
setup({ App, props, plugin }) {
19-
// Set up global route function for SSR
20-
// @ts-expect-error - Ziggy types
21-
global.route = <T extends RouteName>(name: T, params?: any, absolute?: boolean) =>
22-
route(name, params, absolute, {
23-
// @ts-expect-error - Ziggy types
24-
...page.props.ziggy,
25-
// @ts-expect-error - Ziggy types
26-
location: new URL(page.props.ziggy.location),
27-
})
17+
// Configure Ziggy for SSR
18+
const ziggyConfig = {
19+
...page.props.ziggy,
20+
location: new URL(page.props.ziggy.location),
21+
}
22+
23+
// Create route function
24+
const route = (name: string, params?: any, absolute?: boolean) =>
25+
ziggyRoute(name, params, absolute, ziggyConfig)
26+
27+
// Make route function available globally for SSR
28+
if (typeof window === 'undefined') {
29+
global.route = route
30+
}
2831

32+
// Create the SSR app with route function in context
2933
const app = createSSRApp({
3034
render: () => h(App, props),
35+
setup() {
36+
return {
37+
route,
38+
}
39+
},
3140
})
3241

3342
app.use(plugin)

0 commit comments

Comments
 (0)