added 404 notfound behavior

This commit is contained in:
2020-07-21 11:42:23 +02:00
parent 9744b4695d
commit aebc2c28da
6 changed files with 76 additions and 2 deletions
+13 -2
View File
@@ -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) {
+4
View File
@@ -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 }
})
})
}
}
+4
View File
@@ -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 }
})
})
}
}
+44
View File
@@ -0,0 +1,44 @@
<template>
<MainContentLayout id="not-found" class="">
<template v-slot:header>
<h1>404 - Contenu non trouvé</h1>
<code v-if="path">{{ path }}</code>
</template>
</MainContentLayout>
</template>
<script>
import MainContentLayout from '../components/Layouts/MainContentLayout'
export default {
name: 'NotFound',
components: {
MainContentLayout
},
// data: () => ({
// }),
computed: {
path () {
if (this.$route.query.fullpath) {
return this.$route.query.fullpath
} else if (this.$route.params.pathMatch) {
return this.$route.params.pathMatch
} else {
return null
}
}
},
created () {
console.log('NotFound created', this.$route)
},
metaInfo () {
return {
title: `Not Found`
}
}
}
</script>
<style lang="scss" scoped>
</style>
+4
View File
@@ -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 }
})
})
}
}
+7
View File
@@ -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
}
]