skillbox/client/src/router/index.js

96 lines
3.0 KiB
JavaScript

import Vue from 'vue'
// import index from '@/pages/index'
import topic from '@/pages/topic'
import book from '@/pages/book'
import moduleBase from '@/pages/module-base'
import module from '@/pages/module'
import rooms from '@/pages/rooms'
import room from '@/pages/room'
import newRoom from '@/pages/newRoom'
import editRoom from '@/pages/editRoom'
import article from '@/pages/article'
import basicknowledge from '@/pages/basicknowledge'
import basicknowledgeOverview from '@/pages/basicknowledge-overview'
import submissions from '@/pages/submissions'
import p404 from '@/pages/p404'
import start from '@/pages/start'
import submission from '@/pages/studentSubmission'
import portfolio from '@/pages/portfolio'
import project from '@/pages/project'
import profilePage from '@/pages/profile'
import passwordChange from '@/pages/passwordChange'
import myClasses from '@/pages/myClasses'
import activity from '@/pages/activity'
import Router from 'vue-router'
const routes = [
{path: '/', component: start, meta: {layout: 'blank'}},
{
path: '/module/:slug',
component: moduleBase,
children: [
{
path: '',
name: 'module',
component: module,
meta: {filter: true}
},
{
path: 'submissions/:id',
name: 'submissions',
component: submissions,
meta: {filter: true}
},
]
},
{path: '/rooms', name: 'rooms', component: rooms, meta: {filter: true}},
{path: '/new-room/', name: 'new-room', component: newRoom},
{path: '/edit-room/:id', name: 'edit-room', component: editRoom, props: true},
{path: '/room/:slug', name: 'room', component: room, props: true},
{path: '/article/:slug', name: 'article', component: article, meta: {layout: 'simple'}},
{path: '/basic-knowledge/', name: 'basic-knowledge-overview', component: basicknowledgeOverview, meta: {subnavigation: true}},
{path: '/basic-knowledge/:slug', name: 'basic-knowledge', component: basicknowledge, meta: {layout: 'simple'}},
{path: '/submission/:id', name: 'submission', component: submission, meta: {layout: 'simple'}},
{path: '/portfolio', name: 'portfolio', component: portfolio},
{path: '/portfolio/:slug', name: 'project', component: project},
{
path: '/book',
name: 'book',
component: book,
meta: {
subnavigation: true
},
children: [
{path: 'topic/:topicSlug', component: topic, meta: {subnavigation: true}}
]
},
{
path: '/me',
name: 'profile',
component: profilePage,
meta: {
isProfile: true
},
children: [
{path: 'password-change', name: 'pw-change', component: passwordChange, meta: {isProfile: true}},
{path: 'myclasses', name: 'my-classes', component: myClasses, meta: {isProfile: true}},
{path: 'activity', name: 'activity', component: activity, meta: {isProfile: true}},
]
},
{path: '*', component: p404}
];
Vue.use(Router);
export default new Router({
routes,
mode: 'history',
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition
}
return {x: 0, y: 0}
}
})