2022-03-02 17:51:30 +03:00

59 lines
1.0 KiB
JavaScript

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'home',
component: () => import('../views/HomeView'),
meta: {
requiresAuth: true,
},
},
{
path: '/login',
name: 'login',
component: () => import('../views/LoginView.vue'),
meta: {
guest: true,
},
},
{
path: '/settings',
name: 'settings',
component: () => import('../views/SettingsView.vue'),
meta: {
requiresAuth: true,
},
},
]
const router = new VueRouter({
routes,
})
router.beforeEach((to, from, next) => {
if (to.matched.some((record) => record.meta.requiresAuth)) {
if (localStorage.getItem('jwt') == null) {
next({
name: 'login',
query: { nextUrl: to.fullPath },
})
} else {
next()
}
} else if (to.matched.some((record) => record.meta.guest)) {
if (localStorage.getItem('jwt') == null) {
next()
} else {
next({ name: 'home' })
}
} else {
next()
}
})
export default router