mobilizon/js/src/main.ts

57 lines
1.7 KiB
TypeScript

if (import.meta.env.MODE !== "development") {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import("vite/modulepreload-polyfill");
}
import { createApp, h, provide } from "vue";
import VueScrollTo from "vue-scrollto";
import { createMetaManager, defaultConfig, deepestResolver } from "vue-meta";
import VTooltipPlugin from "v-tooltip";
import VueAnnouncer from "@vue-a11y/announcer";
import VueSkipTo from "@vue-a11y/skip-to";
import App from "./App.vue";
import router from "./router";
import { NotifierPlugin } from "./plugins/notifier";
// import filters from "./filters";
import { dateFnsfileForLanguage, i18n } from "./utils/i18n";
import { apolloClient } from "./vue-apollo";
import Oruga from "@oruga-ui/oruga-next";
import "./registerServiceWorker";
import { bulmaConfig } from "@oruga-ui/theme-bulma";
import { DefaultApolloClient } from "@vue/apollo-composable";
import { useI18n } from "vue-i18n";
import { DateFnsPlugin } from "./plugins/dateFns";
import "./index.css";
// Vue.use(filters);
const app = createApp({
setup() {
const { t } = useI18n({ useScope: "global" });
provide(DefaultApolloClient, apolloClient);
return { t };
},
render() {
return h(App);
},
});
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
router.app = app;
app
.use(router)
.use(Oruga, bulmaConfig)
.use(i18n)
.use(NotifierPlugin)
.use(VueAnnouncer)
.use(VueSkipTo)
.use(VTooltipPlugin)
.use(VueScrollTo)
.use(createMetaManager(false, defaultConfig, deepestResolver))
.use(DateFnsPlugin, {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
locale: dateFnsfileForLanguage(i18n.global.locale.value),
})
.mount("#app");