Jeziki, WIP izbor jezika, store za stanje strani
parent
1b138f26d7
commit
9aadc46355
|
@ -0,0 +1,41 @@
|
|||
<script setup="setup">
|
||||
|
||||
const store = useNastavitveStore()
|
||||
|
||||
const izbraniJezik = computed(() => store.izbraniJezik)
|
||||
const kodeJezikov = computed(() => Object.keys(store.mozniJeziki))
|
||||
const kodeDrugihJezikov = computed(() => kodeJezikov.value.filter(
|
||||
(jezik) => jezik !== store.izbraniJezik
|
||||
))
|
||||
const slikaJezika = (jezik) => `/images/jezik_${jezik}.png`
|
||||
|
||||
console.log('izbrani jezik!', izbraniJezik.value)
|
||||
|
||||
const izbor = ref(false)
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="izbor">
|
||||
<div @click="izbor = !izbor">
|
||||
<img :src="slikaJezika(izbraniJezik)" /> {{ store.mozniJeziki[izbraniJezik] }}
|
||||
</div>
|
||||
|
||||
<div class="drugiJeziki" v-if="izbor">
|
||||
<div class="jezik" v-for="jezik in kodeDrugihJezikov" @click="() => { store.izberiJezik(jezik); izbor = false }">
|
||||
<img :src="slikaJezika(jezik)" /> {{ store.mozniJeziki[jezik] }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.izbor {
|
||||
width: 7rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
img {
|
||||
position: relative;
|
||||
top: 5px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"domov": "home",
|
||||
"jugofuturizem": "yugofuturism"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"domov": "home",
|
||||
"jugofuturizem": "yugofuturism"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"jugofuturizem": "jugofuturizem"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"jugofuturizem": "jugofuturizem"
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 460 B |
Binary file not shown.
After Width: | Height: | Size: 571 B |
Binary file not shown.
After Width: | Height: | Size: 514 B |
|
@ -0,0 +1,19 @@
|
|||
export const useNastavitveStore = defineStore('nastavitve', {
|
||||
state: () => ({
|
||||
izbraniJezik: 'hr',
|
||||
mozniJeziki: {
|
||||
si: 'Slovensko',
|
||||
hr: 'Hrvatski',
|
||||
en: 'English'
|
||||
}
|
||||
}),
|
||||
actions: {
|
||||
izberiJezik(jezik) {
|
||||
if (Object.keys(this.mozniJeziki).indexOf(jezik) >= 0) {
|
||||
this.izbraniJezik = jezik
|
||||
console.log(useNuxtApp().$i18n.availableLocales)
|
||||
//useNuxtApp().$i18n.setLocale(jezik)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
Loading…
Reference in New Issue