Files
cssd-back/resources/js/vue/main.js
T
2020-07-04 13:48:53 +04:30

57 lines
1.3 KiB
JavaScript
Vendored

import 'font-awesome/css/font-awesome.min.css'
import Vue from 'vue'
// Components
import './components'
// Plugins
import './plugins'
// Material FontIcon
import 'material-design-icons-iconfont/dist/material-design-icons.css'
// Fortawesome
import '@fortawesome/fontawesome-free/css/all.css'
// Sync router with store
import { sync } from 'vuex-router-sync'
// Application imports
import App from './App.vue'
import i18n from '@/i18n'
import router from '@/router'
import store from '@/store'
import VueLazyLoad from 'vue-lazyload';
Vue.use(VueLazyLoad)
import { ApiService, TokenService } from '@/services'
// Sync store with router
sync(store, router)
Vue.config.productionTip = false
ApiService.setHeader();
// Set the base URL of the API
ApiService.init(process.env.MIX_APP_ROOT_API)
require('./services/global/errorHandler.service');
// If token exists set Authorizion header
if (TokenService.getToken()) {
ApiService.setAuthHeader();
// If info exists set info in Store
if(TokenService.getInfo()) {
let info = TokenService.getInfo();
store.commit('setInfo', info);
} else {
store.dispatch('info');
}
}
import hasRole from '@/services/mixin/hasRole'
Vue.mixin(hasRole)
/* eslint-disable no-new */
new Vue({
i18n,
router,
store,
render: h => h(App),
iconfont: 'fa4'
}).$mount('#app');