import Vue from 'vue' import axios from './axios' import App from './components/core/app' import UserAuth from './services/user-auth' import BootstrapVue from 'bootstrap-vue' import ModalConfirm from './components/core/modal-confirm' import ModalAlert from './components/core/modal-alert' import router from './router.js' import store from './store/index.js' import Vuelidate from 'vuelidate' import AppForm from './components/core/app-form' import VueAnalytics from 'vue-analytics' import configLoader from './config' import 'font-awesome/css/font-awesome.css' import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap-vue/dist/bootstrap-vue.css' if (process.env.NODE_ENV == 'production') { Vue.use(VueAnalytics, { id: 'UA-74932754-3', router, }) } Vue.config.productionTip = false const userAuth = new UserAuth(axios, store) Vue.use(BootstrapVue) Vue.use(Vuelidate) Vue.component('modal-confirm', ModalConfirm) Vue.component('modal-alert', ModalAlert) Vue.component('app-form', AppForm) configLoader.then( config => { userAuth.renew().then( () => { //global event bus var bus = new Vue() //register axios Vue.prototype.$http = axios new Vue({ el: '#app', router, store, render: h => h(App), template: '<app></app>', provide() { return { EventBus: bus, UserAuth: userAuth, config, } }, }) }, () => { //TODO } ) }, () => { //TODO } )