use localstorage

This commit is contained in:
2018-05-24 17:39:15 +03:00
parent 6430578d7b
commit 1ffe0dd8fd

View File

@@ -138,15 +138,27 @@ export function changeList(list) {
export function fetchLists() {
return async (dispatch) => {
dispatch(requestLists());
const listsJson = localStorage.getItem('lists');
let listsObj;
try {
listsObj = JSON.parse(listsJson);
} catch (e) {
localStorage.setItem('lists', JSON.stringify({}));
}
if (listsObj) {
dispatch(recieveLists(listsObj));
dispatch(changeList(listsObj[Object.keys(listsObj)[0]].id));
}
const response = await fetch(`${API_ROOT}/lists`);
const json = await response.json();
const lists = json.data;
const listsObj = lists.reduce((obj, list) => {
listsObj = lists.reduce((obj, list) => {
const newObj = { ...obj };
newObj[list.id] = list;
return newObj;
}, {});
dispatch(recieveLists(listsObj));
dispatch(changeList(listsObj[Object.keys(listsObj)[0]].id));
localStorage.setItem('lists', JSON.stringify(listsObj));
};
}