diff --git a/src/pages/Edition.vue b/src/pages/Edition.vue index c28ca51..f33cac1 100644 --- a/src/pages/Edition.vue +++ b/src/pages/Edition.vue @@ -160,7 +160,7 @@ export default { console.log('texts/toc REST: data', data) this.meta = data.meta this.author = data.meta.author - if (data.content) { + if (data.content && data.content !== 'vide') { if (Array.isArray(data.content)) { this.toc = data.content } else { @@ -171,10 +171,16 @@ export default { // console.log('toc', this.toc) this.textid = this.toc[0].children[1].uuid } + } else { + console.warn('Bad edition uuid', this.$route.params.id, this.$route) + this.$router.replace({ + name: 'notfound', + query: { fullpath: this.$route.path } + }) } }) .catch((error) => { - console.warn('Issue with locorum', error) + console.warn('Issue with text toc', error) Promise.reject(error) }) }, @@ -240,7 +246,12 @@ export default { }) .catch((error) => { console.warn('Issue with getTextContent', error) + console.warn('Bad edition uuid', this.$route.params.id, this.$route) Promise.reject(error) + this.$router.replace({ + name: 'notfound', + query: { fullpath: this.$route.path } + }) }) }, onCenterScrolled (e) { diff --git a/src/pages/Locorum.vue b/src/pages/Locorum.vue index c569c31..053e03c 100644 --- a/src/pages/Locorum.vue +++ b/src/pages/Locorum.vue @@ -51,6 +51,10 @@ export default { .catch((error) => { console.warn('Issue with locorum', error) Promise.reject(error) + this.$router.replace({ + name: 'notfound', + query: { fullpath: this.$route.path } + }) }) } } diff --git a/src/pages/Nominum.vue b/src/pages/Nominum.vue index 357b50f..cbddb9d 100644 --- a/src/pages/Nominum.vue +++ b/src/pages/Nominum.vue @@ -55,6 +55,10 @@ export default { .catch((error) => { console.warn('Issue with nominum', error) Promise.reject(error) + this.$router.replace({ + name: 'notfound', + query: { fullpath: this.$route.path } + }) }) } } diff --git a/src/pages/NotFound.vue b/src/pages/NotFound.vue new file mode 100644 index 0000000..a0bb591 --- /dev/null +++ b/src/pages/NotFound.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/pages/Operum.vue b/src/pages/Operum.vue index 091dddf..f4c8077 100644 --- a/src/pages/Operum.vue +++ b/src/pages/Operum.vue @@ -46,6 +46,10 @@ export default { .catch((error) => { console.warn('Issue with operum', error) Promise.reject(error) + this.$router.replace({ + name: 'notfound', + query: { fullpath: this.$route.path } + }) }) } } diff --git a/src/router/index.js b/src/router/index.js index 5e75eb5..da3b7c8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -13,6 +13,7 @@ import Nominum from 'pages/Nominum' import Locorum from 'pages/Locorum' import Operum from 'pages/Operum' import Bibliographie from 'pages/Bibliographie' +import NotFound from 'pages/NotFound' Vue.use(Router) @@ -82,6 +83,12 @@ const routes = [ name: 'bibliographie', path: '/bibliographie', component: Bibliographie + }, + { + name: 'notfound', + path: '/404', + alias: '*', + component: NotFound } ]