Files
cssd-front/src/main.js
T

71 lines
1.5 KiB
JavaScript

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');