fix: menu and routing

This commit is contained in:
2026-03-30 16:39:14 +02:00
parent 68f4850445
commit 91c5de1f67
18 changed files with 728 additions and 228 deletions

View File

@@ -1,16 +1,16 @@
<template>
{{ locale }}
<USelectMenu v-model="locale" :items="langs" class="w-40 bg-(--main-light) dark:bg-(--black) rounded-md shadow-sm hover:none!"
valueKey="iso_code" :searchInput="false">
<USelectMenu v-model="locale" :items="langs"
class="w-40 bg-(--main-light) dark:bg-(--black) rounded-md shadow-sm hover:none!" valueKey="iso_code"
:searchInput="false">
<template #default="{ modelValue }">
<div class="flex items-center gap-1">
<span class="text-md dark:text-white text-black">{{langs.find(x => x.iso_code == modelValue)?.flag}}</span>
<!-- <span class="text-md dark:text-white text-black">{{langs.find(x => x.iso_code == modelValue)?.flag}}</span> -->
<span class="font-medium dark:text-white text-black">{{langs.find(x => x.iso_code == modelValue)?.name}}</span>
</div>
</template>
<template #item-leading="{ item }">
<div class="flex items-center rounded-md cursor-pointer transition-colors">
<span class="text-md ">{{ item.flag }}</span>
<!-- <span class="text-md ">{{ item.flag }}</span> -->
<span class="ml-2 dark:text-white text-black font-medium">{{ item.name }}</span>
</div>
</template>
@@ -23,6 +23,7 @@ import { useRouter, useRoute } from 'vue-router'
import { useCookie } from '@/composable/useCookie'
import { computed, watch } from 'vue'
import { i18n } from '@/plugins/02_i18n'
import { useFetchJson } from '@/composable/useFetchJson'
const router = useRouter()
const route = useRoute()
@@ -50,9 +51,30 @@ const locale = computed({
router.replace({ path: '/' + value + currentPath, query: route.query })
}
}
changeLang()
},
})
async function changeLang() {
try {
const { items } = await useFetchJson('/api/v1/public/auth/update-choice', {
method: 'POST'
})
if (items?.token) {
cookie.setCookie('Aurrie', items.token, {
days: 60,
secure: true,
sameSite: 'Lax'
})
}
} catch (error) {
console.log(error)
}
}
watch(
() => route.params.locale,
(newLocale) => {