diff --git a/package.json b/package.json index 9b7689c383b7e0ce9bdf6d60e3f6e44419ffb103..5eb04bf36f0df733b9bb208fed000609f19bd642 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "axios-cache-adapter": "^2.7.3", "core-js": "~3.6.5", "debounce": "^1.2.1", - "inflection-table": "https://git.app.uib.no/api/v4/projects/16442/jobs/artifacts/0.2.25/raw/module.tar.gz?job=publish", + "inflection-table": "https://git.app.uib.no/api/v4/projects/16442/jobs/artifacts/0.2.31/raw/module.tar.gz?job=publish", "vue": "^2.6.12", "vue-material-design-icons": "^4.11.0", "vue-plausible": "^1.1.4", diff --git a/src/App.vue b/src/App.vue index b90afa25c7494eedbd6fa228f1ce909b7b10b4e6..5f4b5d32ab4df4c17cd22d96c5d344adaad937a5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -66,9 +66,6 @@ body { } -a { - text-decoration: none; -} h1 { font-family: Inria Serif; @@ -83,6 +80,7 @@ h1 > a.xs, h1 > a.sm { header > h1 > a { color: var(--v-primary-base) !important; + text-decoration: none; font-size: 48px; margin: 0px; } @@ -111,7 +109,7 @@ header > p { text-decoration: none; border-bottom: solid var(--v-primary-base) 2px; font-size: 12px; - color: var(--v-primary-base); + color: var(--v-primary-base) !important; } header { @@ -131,6 +129,10 @@ footer a { color: #ffffff !important; } +a { + text-decoration: none; +} + header { padding-top: 20px; background-color: var(--v-tertiary-base); @@ -140,6 +142,11 @@ header { font-size: 18px; margin: 0px; margin-bottom: 0px !important; + +} + +.sub-title a { + color: var(--v-primary-base) !important; } footer { @@ -177,5 +184,24 @@ footer > div.sm > div { height: 60px; } +/* +Hyperlink style in about page and article content +*/ +@media (hover: none) { + article a:not(.choose):not(.return_to_results a), .about a { + text-decoration: underline; + } +} + +@media (hover: hover) { + article a, .about a { + text-decoration: none; + } + article a:hover:not(.choose):not(.return_to_results a), .about a:hover { + text-decoration: underline; + } + +} + </style> diff --git a/src/components/About.vue b/src/components/About.vue index ee2208afb20f428b9ae5ee5e121f4e6bc3a2a435..32ea75cb29d67250b9e1a5a1474c3af9073b8cac 100644 --- a/src/components/About.vue +++ b/src/components/About.vue @@ -44,7 +44,7 @@ <li>Sturla Berg-Olsen, seniorrådgiver</li> <li>Knut E. Karlsen, seniorrådgiver</li> <li>Dagfinn Rødningen, seniorrådgiver</li> - <li>Ellen Hellebostad Toft, seniorrådgiver</li> + <li>Ålov Runde, seniorrådgiver</li> </ul> <h3>Opphavsrett</h3> diff --git a/src/components/Article.vue b/src/components/Article.vue index 0bd81f0afc2c88487f507686d1e0ec345061ae2e..aff82cab2c0442dffb4c741346f8f87dcee4348b 100644 --- a/src/components/Article.vue +++ b/src/components/Article.vue @@ -27,8 +27,8 @@ </ul> </section> <div class="fade"> - <router-link :to="link_to_self.ref" @click.native="details_click(link_to_self)"> - Velg <img class="nav_arrow" src="../assets/arrow_right.svg"> + <router-link class="choose" :to="link_to_self.ref" @click.native="details_click(link_to_self)"> + Velg <v-icon large class="nav_arrow">arrow_right</v-icon> </router-link> </div> </div> @@ -216,4 +216,10 @@ ul li.definition { vertical-align: sub; } + +.choose { + color: var(--v-primary-base) !important; +} + + </style> diff --git a/src/components/ArticleFooter.vue b/src/components/ArticleFooter.vue index 5bf7540408b52a83629930066851fafee3a421ee..6d5beb55343fef6b90086d946a7a62882c1ad5e2 100644 --- a/src/components/ArticleFooter.vue +++ b/src/components/ArticleFooter.vue @@ -82,6 +82,7 @@ export default { font-size: 14px; } + .article_footer { color: var(--v-primary-base); padding-top: 24px; diff --git a/src/components/Autocomplete.vue b/src/components/Autocomplete.vue index 1ac5facb424a4edd257f7424d93ff927d0fdef82..02edc9c2cf310d0747ca1d4d9135d6fe4b588df1 100644 --- a/src/components/Autocomplete.vue +++ b/src/components/Autocomplete.vue @@ -31,6 +31,9 @@ </span> ({{data.item.lang? data.item.lang[1] ? "bm, nn" : {"bob": "bm", "nob": "nn"}[data.item.lang[0]] : 'fritekstsøk'}}) </template> + <template slot="no-data"> + <div></div> + </template> </v-combobox> </div> </template> @@ -103,7 +106,7 @@ let match = item[0] let hit = {q: q, match: match, label: match, time: time} - hit.article_promise = self.api.get('articles?', {params: {lord: match, dict: self.$parent.lang}}) + hit.article_promise = self.api.get('articles?', {params: {lord: match}}) hit.lang = item[1] hits.push(hit) diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index 03783034781e6c99da4744206df613d6308d025d..916799ec06da8b99f29dcccb03eb48ee06a9b2d1 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -44,7 +44,7 @@ <div id="single_article_container" v-if="article"> <div class="return_to_results" v-if="search_results && search_results.length"> <router-link :to="article.source" @click.native="return_to_results()"> - <img class="nav_arrow" src="../assets/arrow_left.svg">Tilbake til {{article.dictionary == 'bob' ? 'søkeresultater' : 'søkjeresultat'}} + <v-icon class="nav_arrow">arrow_left</v-icon>Tilbake til {{article.dictionary == 'bob' ? 'søkeresultater' : 'søkjeresultat'}} </router-link> </div> <Article :key="article_key" :article="article" @article-click="article_link_click" /> @@ -219,10 +219,13 @@ export default { this.$router.push(source) let unwrapped = [] for (const d in event.article_ids) { - event.article_ids[d].forEach(i => unwrapped.push({ - dictionary: d, - id: i - })) + if (d == this.lang || this.lang == "bob,nob") { + event.article_ids[d].forEach(i => unwrapped.push({ + dictionary: d, + id: i + })) + } + } let self = this @@ -265,9 +268,6 @@ export default { error: self.error }, '') }) - - - } else { this.waiting_for_articles = true this.article = null @@ -282,11 +282,10 @@ export default { } }, update_lang_form: function (event) { - if (this.event) { + this.lang = event + if (this.event && !this.article) { this.event.articles = null this.select_result(this.event) - } else { - navigate_to_search(this, this.$router.history.current.params.word || this.$router.history.current.params.query) } }, article_link_click: function(item) { @@ -457,8 +456,17 @@ li.suggestion { display: table-cell; } +.return_to_results a { + color: var(--v-primary-base) !important; +} + .nav_arrow { - vertical-align: middle; + vertical-align: top !important; + color: var(--v-primary-base) !important; +} + +.choose > .nav_arrow { + vertical-align: -30% !important; } </style> diff --git a/src/components/Header.vue b/src/components/Header.vue index e7ad3eafed21819242a35a53c8d099a736f9f404..f120204d4b00534757b1573b1a106719d495a8f8 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -9,9 +9,8 @@ <span v-if="split_inf" tabindex="0"> (kløyvd infinitiv: <i>-a</i> <v-menu rounded="0" v-model="menu" offset-x max-width="200px"> <template v-slot:activator="{ on, attrs }"> - <v-btn v-bind="attrs" v-on="on" depressed min-width="14px" max-width="14px" class="help-button" x-small - color="primary"> - <v-icon middle x-small>$vuetify.icons.value.info</v-icon> + <v-btn aria-label="Mer informasjon om kløyvd infinitiv" x-small icon v-on="on" v-bind="attrs" class="info-button"> + <v-icon color="primary" size="14px">$vuetify.icons.value.info</v-icon> </v-btn> </template> <v-card rounded="0" class="info-card"> @@ -136,11 +135,11 @@ article h2.secondary_header { padding-bottom: 4px; } -.help-button { +.info-button { margin-left: 6px; - margin-right: 2px; - margin-bottom: 4px; - color: var(--v-primary-base); + margin-right: -2px; + height: 10px; + width: 10px; } .info-card { diff --git a/src/plugins/vuetify.js b/src/plugins/vuetify.js index 9a38c46979e3250f23aa3bc170b6d584b91769ce..405b5cc7e8e672ea6f8ce55d86d01c134ec804c3 100644 --- a/src/plugins/vuetify.js +++ b/src/plugins/vuetify.js @@ -2,10 +2,10 @@ import Vue from 'vue'; import 'material-design-icons-iconfont/dist/material-design-icons.css'; import Vuetify from 'vuetify/lib/framework'; import { library } from '@fortawesome/fontawesome-svg-core' -import { faShareAltSquare, faInfo} from '@fortawesome/free-solid-svg-icons' +import { faShareAltSquare, faInfoCircle} from '@fortawesome/free-solid-svg-icons' import { faFacebookSquare, faTwitterSquare} from '@fortawesome/free-brands-svg-icons' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' -library.add(faFacebookSquare, faTwitterSquare, faShareAltSquare, faInfo) +library.add(faFacebookSquare, faTwitterSquare, faShareAltSquare, faInfoCircle) Vue.component('font-awesome-icon', FontAwesomeIcon); Vue.use(Vuetify); @@ -32,7 +32,7 @@ const FONTAWESOME_ICONS = { info: { component: FontAwesomeIcon, props: { - icon: ["fa", "info"] + icon: ["fa", "info-circle"] } } } @@ -56,7 +56,7 @@ export default new Vuetify({ primary: '#560027', secondary: '#BC477B', tertiary: '#FDF4F5', - anchor: '#560027', + anchor: '#880E4F', error: '#FDF4F5', border: '#9E9E9E', text: '#2c3e50'