All files / js ssr.ts

0% Statements 0/8
0% Branches 0/4
0% Functions 0/6
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40                                                                               
import 'vue-sonner/style.css';
import { createInertiaApp } from '@inertiajs/vue3';
import createServer from '@inertiajs/vue3/server';
import FlashToasts from '@/components/FlashToasts.vue';
import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers';
import { Toaster } from 'vue-sonner';
import { createSSRApp, DefineComponent, Fragment, h } from 'vue';
import { renderToString } from 'vue/server-renderer';
 
const appName = import.meta.env.VITE_APP_NAME || 'JobCardOnline';
 
createServer(
    (page) =>
        createInertiaApp({
            page,
            render: renderToString,
            title: (title) => (title ? `${title} - ${appName}` : appName),
            resolve: (name) =>
                resolvePageComponent(
                    `./pages/${name}.vue`,
                    import.meta.glob<DefineComponent>('./pages/**/*.vue'),
                ),
            setup: ({ App, props, plugin }) =>
                createSSRApp({
                    render: () =>
                        h(Fragment, [
                            h(App, props),
                            h(Toaster, {
                                closeButton: true,
                                position: 'top-right',
                                richColors: true,
                                theme: 'system',
                            }),
                            h(FlashToasts),
                        ]),
                }).use(plugin),
        }),
    { cluster: true },
);