36 lines
837 B
JavaScript
36 lines
837 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) {}
|
|
};
|
|
|
|
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 };
|