import Vue from 'vue' import Router from 'vue-router' import Startpage from '../views/Startpage' import Login from '../views/Login' import Dashboard from '../views/Dashboard' import store from '../store/store'; import OAuthPermission from '../views/OAuthPermission' import ListApps from '../views/ListApps' import AppDetails from '../views/AppDetails' import NewApp from '../views/NewApp' import Mail from '../views/Mail' import Invite from '../views/Invite' import Register from '../views/Register' import Access from '../views/Access' import Profile from '../views/Profile' Vue.use(Router) function guard(to, from, next){ if(store.state.loggedIn) { next(); // allow to enter route } else{ store.state.redirectIfLoggedIn = to; next('/login'); // go to '/login'; } } export default new Router({ routes: [ { path: '/', name: 'Startpage', component: Startpage }, { path: '/login', name: 'Login', component: Login }, { path: '/invited', name: 'Invite', component: Invite }, { path: '/register', name: 'Register', component: Register }, { path: '/oauth', name: 'oAuthPermission', component: OAuthPermission }, { beforeEnter: guard, path: '/dashboard', name: 'Dashboard', component: Dashboard }, { beforeEnter: guard, path: '/apps', name: 'Apps', component: ListApps }, { beforeEnter: guard, path: '/access', name: 'Access', component: Access }, { beforeEnter: guard, path: '/profile', name: 'Profile', component: Profile }, { beforeEnter: guard, path: '/apps/new', name: 'newApp', component: NewApp }, { beforeEnter: guard, path: '/apps/:id', name: 'appDetails', component: AppDetails }, { beforeEnter: guard, path: '/user/mails', name: 'userMails', component: Mail } ] })