import type { ILanguage } from '@types'; export const useLanguageStore = defineStore('language', () => { const { $appHelpers } = useNuxtApp(); const cookieLocale = useCookie($appHelpers.COOKIES_LOCALE_KEY, { default: () => $appHelpers.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, }; });