import Vue from 'vue' import VueRouter from 'vue-router' import store from '@/store'; import DefaultLayout from '@/layouts/default' Vue.use(VueRouter) // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded when the route is visited. const routes = [ { path: '/', name: 'DefaultLayout', component: DefaultLayout, children: [ { path: '/content/list', name: 'ContentList', component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentList.vue') }, { path: '/content/category/list', name: 'ContentCategoryList', component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentCategoryList.vue') }, { path: '/content/series/list', name: 'ContentSeriesList', component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentSeriesList.vue') }, { path: '/calculate/live', name: 'CalculateLive', component: () => import(/* webpackChunkName: "calculate" */ '../views/Calculate/CalculateLive.vue') }, { path: '/calculate/content-by-date', name: 'CalculateContent', component: () => import(/* webpackChunkName: "calculate" */ '../views/Calculate/CalculateContent.vue') }, { path: '/calculate/content-accumulation', name: 'CalculateAccumulation', component: () => import(/* webpackChunkName: "calculate" */ '../views/Calculate/CalculateAccumulation.vue') }, { path: '/calculate/content-donation-by-date', name: 'CalculateContentDonation', component: () => import(/* webpackChunkName: "calculate" */ '../views/Calculate/CalculateContentDonation.vue') }, { path: '/signature', name: 'SignatureManagement', component: () => import(/* webpackChunkName: "signature" */ '../views/Signature/SignatureManagement.vue') } ] }, { path: '/login', name: 'Login', component: () => import(/* webpackChunkName: "login" */ '../views/Login/Login.vue') }, ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) router.beforeEach((to, from, next) => { if (to.path !== '/login') { const isAuthenticated = store.getters['accountStore/isAuthenticated'] if (isAuthenticated) { next(); } else { next('/login?redirect=' + to.fullPath) } } else { next() } }) export default router