This repository has been archived on 2020-11-22. You can view files and clone it, but cannot push or open issues/pull-requests.
mangareader/frontend/src/router.js

50 lines
1.1 KiB
JavaScript
Raw Normal View History

2019-12-07 20:43:15 +01:00
import API from '@/api-client.js'
import Reader from './views/Reader.vue'
2019-07-04 18:06:44 +02:00
import Router from 'vue-router'
import SeriesList from './views/SeriesList.vue'
import VolumeList from './views/VolumeList.vue'
2019-12-07 20:43:15 +01:00
import Vue from 'vue'
2019-07-04 18:06:44 +02:00
Vue.use(Router)
2019-12-07 20:43:15 +01:00
const router = new Router({
2019-07-04 18:06:44 +02:00
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
name: 'series-list',
2019-12-07 20:43:15 +01:00
component: SeriesList,
meta: {
title: (to, callback) => callback('Home')
}
2019-07-04 18:06:44 +02:00
},
{
path: '/series/:id',
name: 'volume-list',
2019-12-07 20:43:15 +01:00
component: VolumeList,
meta: {
title: (to, callback) => API.getSeriesInfo(to.params.id, info => callback(info.title))
}
2019-07-04 18:06:44 +02:00
},
{
path: '/volume/:id',
name: 'reader',
2019-12-07 20:43:15 +01:00
component: Reader,
meta: {
title: (to, callback) => API.getVolumeInfo(to.params.id, info => callback(info.title))
}
2019-07-04 18:06:44 +02:00
}
]
})
2019-12-07 20:43:15 +01:00
// https://github.com/vuejs/vue-router/issues/914#issuecomment-261461921
router.beforeEach((to, from, next) => {
to.meta.title(to, (title) => {
document.title = `${title} Manga Reader`
})
next()
})
export default router