23 lines
No EOL
583 B
JavaScript
23 lines
No EOL
583 B
JavaScript
import { map } from 'nanostores';
|
|
|
|
export const languages = map({
|
|
languages: [],
|
|
currentLocale: null
|
|
});
|
|
|
|
export function setLanguages(languagesList) {
|
|
languages.setKey('languages', languagesList);
|
|
|
|
if (!languages.get().currentLocale && languagesList.length > 0) {
|
|
languages.setKey('currentLocale', languagesList[0]);
|
|
}
|
|
}
|
|
|
|
export function setCurrentLocale(locale) {
|
|
const allLanguages = languages.get().languages;
|
|
const selectedLocale = allLanguages.find(l => l.code === locale);
|
|
|
|
if (selectedLocale) {
|
|
languages.setKey('currentLocale', selectedLocale);
|
|
}
|
|
} |