Mercurial > gemma
view src/router.js @ 6:7c1bde663c8e vue-cli
current frontend
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Thu, 14 Jun 2018 13:33:26 +0200 |
parents | 1597506a2241 |
children |
line wrap: on
line source
import Vue from "vue"; import Router from "vue-router"; import Login from "./views/Login.vue"; import Main from "./views/Main.vue"; import store from "./store"; Vue.use(Router); const router = new Router({ routes: [ { path: "/login", name: "login", component: Login }, { path: "/", name: "main", component: Main, meta: { requiresAuth: true } }, { path: "*", component: Login } ] }); router.beforeEach((to, from, next) => { const requiresAuth = to.matched.some(record => record.meta.requiresAuth); const currentUser = store.getters["user/authenticated"]; if (requiresAuth && !currentUser) { next("/login"); } else if (requiresAuth && currentUser) { next(); } else { next(); } }); export default router;