import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; import "../node_modules/bootstrap/dist/js/bootstrap.js"; import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'; import { useMainStore } from '@/store'; import baseMixin from "@/mixins/base-mixin.js"; import { createPinia } from 'pinia'; import Maska from "maska"; import LoadScript from "vue-plugin-load-script"; import analyticsMixin from "@/mixins/analytics-mixin.js"; import experimentMixin from "@/mixins/experiment-mixin.js"; // Vue App Setup const vueApp = createApp(App); /** * Needed to make injections reactively linked to the provider. * This is not needed once Vue.js is in version 3.3 * https://vuejs.org/guide/components/provide-inject.html#working-with-reactivity */ vueApp.config.unwrapInjectedRef = true; // Pinia const pinia = createPinia(); vueApp.use(pinia); pinia.use(piniaPluginPersistedstate); useMainStore().populateInitialState(); // Additional Vue items to setup vueApp.use(router); vueApp.use(Maska); vueApp.use(LoadScript); vueApp.mixin(baseMixin); vueApp.mixin(analyticsMixin); vueApp.mixin(experimentMixin); vueApp.mount("#app");