37 lines
912 B
JavaScript
37 lines
912 B
JavaScript
import { isValidUser } from './validateUser';
|
|
import { AVAILABLE_LOCALES } from './constants';
|
|
|
|
const setUserToLS = (user) => {
|
|
if (user) {
|
|
localStorage.setItem('user', JSON.stringify(user));
|
|
} else {
|
|
localStorage.removeItem('user');
|
|
}
|
|
};
|
|
|
|
const getUserFromLS = () => {
|
|
let userFromLS;
|
|
try {
|
|
userFromLS = JSON.parse(localStorage.getItem('user'));
|
|
if (isValidUser(userFromLS)) {
|
|
return userFromLS;
|
|
}
|
|
} catch (e) {
|
|
console.error('User from local storage are not valid');
|
|
}
|
|
return undefined;
|
|
};
|
|
|
|
const getLocaleFromLS = () => {
|
|
const localeFromLS = localStorage.getItem('locale');
|
|
return localeFromLS && localeFromLS !== 'undefined' && AVAILABLE_LOCALES.includes(localeFromLS)
|
|
? localeFromLS
|
|
: 'en';
|
|
};
|
|
|
|
const setLocaleToLS = (locale) => {
|
|
localStorage.setItem('locale', locale);
|
|
};
|
|
|
|
export { setLocaleToLS, getLocaleFromLS, getUserFromLS, setUserToLS };
|