import Vue, { createApp, provide } from "vue"; import VueScrollTo from "vue-scrollto"; import { createMetaManager, plugin as metaPlugin } 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 { i18n } from "./utils/i18n"; import apolloProvider, { 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 VueI18n from "vue-i18n"; Vue.use(filters); const metaManager = createMetaManager(); const app = createApp({ setup() { const { t } = VueI18n.useI18n(); provide(DefaultApolloClient, apolloClient); return { $t: t }; }, ...App, }); // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore router.app = app; app .use(router) .use(apolloProvider) .use(Oruga, bulmaConfig) .use(i18n) .use(NotifierPlugin) .use(VueAnnouncer) .use(VueSkipTo) .use(VTooltipPlugin) .use(VueScrollTo) .use(metaPlugin) .mount("#app");