import type {ILanguage} from "~/types"; import {useAppConfig} from "~/composables/config"; import {DEFAULT_LOCALE} from "~/config/constants"; export const useLanguageStore = defineStore('language', () => { const { COOKIES_LOCALE_KEY } = useAppConfig(); const cookieLocale = useCookie( COOKIES_LOCALE_KEY, { default: () => DEFAULT_LOCALE, path: '/' } ); const localeFromCookies = computed(() => cookieLocale.value); const languages = ref(null); const setLanguages = (payload: ILanguage[]) => { languages.value = payload }; const currentLocale = ref(null); const setCurrentLocale = (payload: ILanguage | null) => { currentLocale.value = payload }; watch( () => localeFromCookies.value, () => { setCurrentLocale(languages.value?.find(l => l.code === localeFromCookies.value) as ILanguage) } ) return { languages, setLanguages, currentLocale, setCurrentLocale } })