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
|