Merge branch '229-join-page-language-display' into 'dev'
Resolve "Join page language display, rtl & ltr fixes for safari browser" See merge request keanuapp/keanuapp-weblite!38
This commit is contained in:
commit
a5e8c51e86
4 changed files with 34 additions and 18 deletions
|
|
@ -154,7 +154,7 @@ export default {
|
||||||
document.documentElement.setAttribute("dir", "rtl");
|
document.documentElement.setAttribute("dir", "rtl");
|
||||||
} else {
|
} else {
|
||||||
this.$vuetify.rtl = false;
|
this.$vuetify.rtl = false;
|
||||||
document.documentElement.removeAttribute("dir");
|
document.documentElement.setAttribute("dir", "ltr");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
|
|
|
||||||
|
|
@ -60,16 +60,25 @@
|
||||||
color: $very-very-purple;
|
color: $very-very-purple;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inactive {
|
||||||
|
color: unset;
|
||||||
|
|
||||||
|
@media #{map-get($display-breakpoints, 'sm-and-up')} {
|
||||||
|
&:hover {
|
||||||
|
color: $very-very-purple;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.language-more {
|
.language-more {
|
||||||
box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.08);
|
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
border: 1px solid black;
|
border: 1px solid black;
|
||||||
padding: 0px 5px !important;
|
padding: 0px 5px;
|
||||||
box-shadow: 0px 4px 4px 0px #00000040;
|
background-color: #FFFFFF;
|
||||||
background-color: #FFFFFF !important;
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: black !important;
|
background-color: black;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,11 @@
|
||||||
<div class="join-lang">
|
<div class="join-lang">
|
||||||
<h3 class="mb-2">{{ $t("profile.select_language") }}</h3>
|
<h3 class="mb-2">{{ $t("profile.select_language") }}</h3>
|
||||||
<v-row class="align-center">
|
<v-row class="align-center">
|
||||||
<v-col v-for="(lang,key) in getSortedLangByActive.slice(0, 4)" :key="key">
|
<v-col v-for="lang in activeLanguage" :key="lang.value">
|
||||||
<span :class="$i18n.locale==lang.value?'active':''" > {{lang.text}} </span>
|
<span class="active">{{ lang.text }}</span>
|
||||||
|
</v-col>
|
||||||
|
<v-col v-for="(lang, key) in getDisplayLanguage.slice(0,3)" :key="key">
|
||||||
|
<button class="inactive" @click="updateLanguage(lang.value)">{{ lang.text }}</button>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col>
|
<v-col>
|
||||||
<v-btn
|
<v-btn
|
||||||
|
|
@ -202,16 +205,13 @@ export default {
|
||||||
this.$store.commit("setUseLocalStorage", rememberMe);
|
this.$store.commit("setUseLocalStorage", rememberMe);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
getDisplayLanguage() {
|
||||||
getSortedLangByActive() {
|
let displayLanguages = [...this.getLanguages()];
|
||||||
const context = this;
|
return displayLanguages.filter(lang => lang.display && lang.value !== this.$i18n.locale);
|
||||||
return this.getLanguages().sort(function(lang) {
|
},
|
||||||
if(lang.value == context.$i18n.locale) {
|
activeLanguage() {
|
||||||
return -1;
|
let activeLanguages = [...this.getLanguages()]
|
||||||
} else {
|
return activeLanguages.filter(lang => lang.value === this.$i18n.locale);
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,25 @@ export default {
|
||||||
return {
|
return {
|
||||||
languages: [],
|
languages: [],
|
||||||
activeLang:null,
|
activeLang:null,
|
||||||
|
displayLanguage: ['en','bo','zh_Hans','ug']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getLanguages() {
|
getLanguages() {
|
||||||
return this.languages;
|
return this.languages;
|
||||||
|
},
|
||||||
|
updateLanguage(lang) {
|
||||||
|
this.$i18n.locale = lang;
|
||||||
|
this.$store.commit('setLanguage', lang);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
const context = this
|
||||||
for (const locale of Object.keys(this.$i18n.messages)) {
|
for (const locale of Object.keys(this.$i18n.messages)) {
|
||||||
this.languages.push({
|
this.languages.push({
|
||||||
text: this.$i18n.messages[locale].language_display_name || locale,
|
text: this.$i18n.messages[locale].language_display_name || locale,
|
||||||
value: locale,
|
value: locale,
|
||||||
|
display: context.displayLanguage.includes(locale)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue