From 3c38c7bf18cb908819d48ae9f0ae7a08dfcf46a6 Mon Sep 17 00:00:00 2001 From: Henrik Askjer <henrik.askjer@uib.no> Date: Tue, 25 Jan 2022 08:59:25 +0100 Subject: [PATCH] error message in invalid articles --- src/components/Article.vue | 12 ++++++++---- src/components/Header.vue | 1 + src/locales/eng.json | 1 + src/locales/nno.json | 1 + src/locales/nob.json | 1 + 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/Article.vue b/src/components/Article.vue index dbf86d0c..53f8b7d3 100644 --- a/src/components/Article.vue +++ b/src/components/Article.vue @@ -1,9 +1,10 @@ <template> <article class='v-sheet v-card rounded-xl' v-bind:class="{'collapsable': collapsable, 'collapsed': collapsed}" v-if="article"> - <Header :title_id="title_id" :lemmas="article.lemmas" :dictionary="dictionary" :article_id="article.article_id" @toggle-collapse = "toggle_collapse"/> + <div v-if ="invalid"><v-icon left>warning</v-icon> {{$t('error.article', {no: article.article_id, dict: $t('dicts.'+this.dictionary)})}}</div> + <Header v-if="!invalid" :title_id="title_id" :lemmas="article.lemmas" :dictionary="dictionary" :article_id="article.article_id" @toggle-collapse = "toggle_collapse"/> <InflectionButton :lemmas="article.lemmas" :dictionary="dictionary" :article_id="article.article_id"/> - <div class="article_content" :class="$vuetify.breakpoint.name" v-if="!collapsed"> + <div class="article_content" :class="$vuetify.breakpoint.name" v-if="!collapsed && !invalid"> <section v-if="article.body.pronunciation && article.body.pronunciation.length" class="pronunciation"> <h3>{{$t('article.headings.pronunciation', content_locale)}}</h3> <ul> @@ -29,7 +30,7 @@ </ul> </section> </div> - <ArticleFooter v-if="!collapsed" :article="article"/> + <ArticleFooter v-if="!collapsed && !invalid" :article="article"/> </article> </template> @@ -81,7 +82,8 @@ export default { }, data: function() { return { - is_collapsed: true + is_collapsed: true, + invalid: false } }, metaInfo() { @@ -153,6 +155,7 @@ export default { } } catch(error) { console.error("link_to_self",this.article.article_id, this.dictionary, error.message) + this.invalid = true //console.error(error) return {ref: "", article: this.article} } @@ -237,6 +240,7 @@ export default { }) } catch(error) { console.error("parse_definitions",this.article.article_id, this.dictionary, error.message) + this.invalid = true //console.error(error) definitionTexts = [] } diff --git a/src/components/Header.vue b/src/components/Header.vue index 895ee4bd..c6ef8386 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -204,6 +204,7 @@ export default { } } catch(error) { console.error("lemma_groups",this.article_id, this.dictionary, error.message) + this.$parent.invalid = true //console.error(error) } return groups diff --git a/src/locales/eng.json b/src/locales/eng.json index 51c748fa..3af2b376 100644 --- a/src/locales/eng.json +++ b/src/locales/eng.json @@ -134,6 +134,7 @@ } }, "error": { + "article": "An error has occured in article {no} in {dict}", "404": { "title": "404: Not Found", "description": "The page may have been deleted or moved, or you may have used an invalid link." diff --git a/src/locales/nno.json b/src/locales/nno.json index 12a5a882..7d99aed9 100644 --- a/src/locales/nno.json +++ b/src/locales/nno.json @@ -134,6 +134,7 @@ } }, "error": { + "article": "Det har oppstått ein feil i artikkel {no} i {dict}", "404": { "title": "404: Ikkje funne", "description": "Sida kan ha blitt sletta eller flytta, eller du kan ha brukt ei ugyldig lenkje." diff --git a/src/locales/nob.json b/src/locales/nob.json index 1a21ad69..68cae7c1 100644 --- a/src/locales/nob.json +++ b/src/locales/nob.json @@ -146,6 +146,7 @@ } }, "error": { + "article": "Det har oppstått en feil i artikkel {no} i {dict}", "404": { "title": "404: Ikke funnet", "description": "Siden kan ha blitt slettet eller flyttet, eller du kan ha brukt en ugyldig lenke." -- GitLab