안녕하세요:) 개발자 우디입니다! 아래 내용 관련하여 작업 중이신 분들께 도움이되길 바라며 글을 공유하니 참고 부탁드립니다😊
(이번에 벨로그로 이사오면서 예전 글을 옮겨적었습니다. 이 점 양해 부탁드립니다!)
if (recentTaskListFromLocalStorage) {
const thisProjectIdxInLocalStorage = recentTaskListFromLocalStorage.findIndex(
project => project.path === filePath,
);
if (thisProjectIdxInLocalStorage !== -1) {
recentTaskListFromLocalStorage[thisProjectIdxInLocalStorage].modifiedAt = new Date();
} else {
recentTaskListFromLocalStorage.sort((a, b) => {
return new Date(b.modifiedAt) - new Date(a.modifiedAt); // 최근 수정된 프로젝트 제일 앞으로
});
if (recentTaskListFromLocalStorage.length >= 10) recentTaskListFromLocalStorage.pop();
recentTaskListFromLocalStorage.unshift(thisProject);
}
localStorage.setItem('recentTaskList', JSON.stringify(recentTaskListFromLocalStorage));
} else {
localStorage.setItem('recentTaskList', JSON.stringify([thisProject]));
}
getRecentTaskList = () => {
const thisRecentTaskList = JSON.parse(localStorage.getItem('recentTaskList'));
if (thisRecentTaskList) {
thisRecentTaskList.sort((a, b) => {
return new Date(b.modifiedAt) - new Date(a.modifiedAt); // 최근 수정된 프로젝트 제일 앞으로
});
thisRecentTaskList.map((e, idx) => {
fs.access(e.path, fs.constants.F_OK, err => {
// fs.constants.F_OK 는 파일 존재 여부 확인을 위한 mode 값
if (err) {
thisRecentTaskList.splice(idx, 1);
localStorage.setItem('recentTaskList', JSON.stringify(thisRecentTaskList));
}
});
});
this.recentTaskList = thisRecentTaskList;
}
};