Add Vuex functions to load / save user preferences

This commit is contained in:
D. Berge
2021-09-04 19:09:06 +02:00
parent a280a910f5
commit 1e5bdcc068

View File

@@ -47,4 +47,23 @@ function setCredentials ({state, commit, getters, dispatch}, force = false) {
}
}
export default { login, logout, setCredentials };
function saveUserPreference ({state}, [key, value]) {
const k = `${state.user?.name}.${state.user?.role}.${key}`;
if (value !== undefined) {
localStorage.setItem(k, JSON.stringify(value));
} else {
localStorage.removeItem(k);
}
}
async function loadUserPreference ({state}, [key, defaultValue]) {
const k = `${state.user?.name}.${state.user?.role}.${key}`;
const v = await localStorage.getItem(k);
console.log(k, v);
return v === undefined
? defaultValue
: JSON.parse(v);
}
export default { login, logout, setCredentials, saveUserPreference, loadUserPreference };