Files
seasoned/src/routes.js

97 lines
2.1 KiB
JavaScript

import Vue from 'vue'
import VueRouter from 'vue-router';
import store from '@/store'
Vue.use(VueRouter)
let routes = [
{
name: 'home',
path: '/',
component: (resolve) => require(['./components/Home.vue'], resolve)
},
{
name: 'activity',
path: '/activity',
component: (resolve) => require(['./components/ActivityPage.vue'], resolve)
},
{
name: 'profile',
path: '/profile',
component: (resolve) => require(['./components/Profile.vue'], resolve)
},
{
name: 'list',
path: '/list/:name',
component: (resolve) => require(['./components/ListPage.vue'], resolve)
},
{
name: 'request',
path: '/request/all',
components: {
'request-router-view': require('./components/ListPage.vue')
}
},
{
name: 'search',
path: '/search',
component: (resolve) => require(['./components/Search.vue'], resolve)
},
{
name: 'register',
path: '/register',
component: (resolve) => require(['./components/Register.vue'], resolve)
},
{
name: 'settings',
path: '/settings',
component: (resolve) => require(['./components/Settings.vue'], resolve)
},
{
name: 'signin',
path: '/signin',
component: (resolve) => require(['./components/Signin.vue'], resolve)
},
// {
// name: 'user-requests',
// path: '/profile/requests',
// components: {
// 'user-requests-router-view': require('./components/MoviesList.vue')
// }
// },
{
name: '404',
path: '/404',
component: (resolve) => require(['./components/404.vue'], resolve)
},
{
path: '*',
redirect: '/'
},
{
path: '/request',
redirect: '/'
}
];
const router = new VueRouter({
mode: 'hash',
base: '/',
routes,
linkActiveClass: 'is-active'
});
router.beforeEach((to, from, next) => {
store.dispatch('documentTitle/updateTitle', to.name)
// Toggle mobile nav
if(document.querySelector('.nav__hamburger--active')){
document.querySelector('.nav__hamburger').classList.remove('nav__hamburger--active');
document.querySelector('.nav__list').classList.remove('nav__list--active');
}
next();
});
export default router;