feat: initial commit — site + admin panel + Postgres content pipeline
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
}
|
||||
},
|
||||
);
|
||||
Reference in New Issue
Block a user