diff --git a/src/router.js b/src/router.js index db6eebd..9341889 100644 --- a/src/router.js +++ b/src/router.js @@ -1,9 +1,19 @@ import Vue from 'vue'; import Router from 'vue-router'; +import Store from '@/store'; +import NotFound from '@/views/Errors/NotFound'; import Home from '@/views/Home'; Vue.use(Router); +function AuthMiddleware(from, to, next) { + if (Store.getters.isUserAuthentificated) { + next(); + } else { + next('/sign_in'); + } +} + export default new Router({ routes: [ { @@ -25,6 +35,7 @@ export default new Router({ path: '/profile', name: 'profile', component: () => import(/* webpackChunkName: "words" */ '@/views/Profile.vue'), + beforeEnter: AuthMiddleware, }, { path: '/sign_in', @@ -36,6 +47,10 @@ export default new Router({ name: 'signUp', component: () => import(/* webpackChunkName: "sign_up" */ '@/views/SignUp.vue'), }, + { + path: '*', + component: NotFound, + } ], mode: 'history', }); diff --git a/src/views/Errors/NotFound.vue b/src/views/Errors/NotFound.vue new file mode 100644 index 0000000..d26272c --- /dev/null +++ b/src/views/Errors/NotFound.vue @@ -0,0 +1,22 @@ + + + +