This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
const dropdownVisible = ref(false);
|
||||
|
||||
@@ -26,29 +25,24 @@ onUnmounted(() => {
|
||||
|
||||
|
||||
// i18n
|
||||
const { locale } = useI18n()
|
||||
const { locales, setLocale, locale } = useI18n()
|
||||
|
||||
const setLocale = (lang) => {
|
||||
locale.value = lang
|
||||
const changeLocale = (lang) => {
|
||||
setLocale(lang.code);
|
||||
dropdownVisible.value = false
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="menu-container" ref="menuContainer">
|
||||
<button class="menu-button" @click="toggleDropdown">Language </button>
|
||||
<button class="menu-button" @click="toggleDropdown">{{ $t("site_options.language_selector.dropdown") }} </button>
|
||||
|
||||
<div class="dropdown" v-show="dropdownVisible">
|
||||
<div class="section">
|
||||
<div class="menu-item" @click="setLocale('en')">
|
||||
🇬🇧 English
|
||||
</div>
|
||||
<div class="menu-item" @click="setLocale('es')">
|
||||
🇪🇸 Spanish
|
||||
</div>
|
||||
<div class="menu-item" @click="setLocale('ca')">
|
||||
🇦🇩 Catalan
|
||||
</div>
|
||||
<div :class="{'menu-item': true, 'active': locale === loc.code}"
|
||||
v-for="loc in locales" @click="changeLocale(loc)">
|
||||
{{ $t('locales.' + loc.code) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,6 +58,10 @@ const setLocale = (lang) => {
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
margin-right: 15px;
|
||||
|
||||
&.active {
|
||||
background-color: #30363d;
|
||||
}
|
||||
}
|
||||
.dropdown {
|
||||
z-index: 10;
|
||||
|
||||
Reference in New Issue
Block a user