import 'font-awesome/css/font-awesome.min.css' import Vue from 'vue'; // Components import './components' // Plugins import './plugins'; import './plugins/vuetify' // Config import { baseUrl } from './config'; // Material FontIcon import 'material-design-icons-iconfont/dist/material-design-icons.css' // Fortawesome import '@fortawesome/fontawesome-free/css/all.css' // Styles import '@/styles/css/Assets/Main.scss'; // 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 filter for string Vue.filter('text_20_letter', function(value) { if (!value) return ''; return value.slice(0, 20); }); Vue.config.productionTip = false ApiService.setHeader(); // Set the base URL of the API ApiService.init(baseUrl()) 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({ // vuetify, i18n, router, store, render: h => h(App), iconfont: 'fa4' }).$mount('#app');