import "./style.css"; import App from "./App.vue"; import { ViteSSG } from "vite-ssg"; import { routes } from "@/router/index"; // NOTE: routes array export is required import i18n from "@/i18n"; import gsapPlugin from "@/plugins/gsap"; import "locomotive-scroll/dist/locomotive-scroll.css"; import type { ViteSSGContext } from "vite-ssg"; // Type-safe global property for Locomotive Scroll (loaded only on client) type LocomotiveScrollCtor = typeof import("locomotive-scroll").default; declare module "@vue/runtime-core" { interface ComponentCustomProperties { $LocomotiveScroll: LocomotiveScrollCtor; } } export const createApp = ViteSSG( App, { routes }, async ({ app, isClient }: ViteSSGContext) => { app.use(i18n); app.use(gsapPlugin); if (isClient) { const { default: LocomotiveScroll } = await import("locomotive-scroll"); // Expose constructor on client only to avoid SSR import errors app.config.globalProperties.$LocomotiveScroll = LocomotiveScroll as LocomotiveScrollCtor; } }, );