40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
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");
|