Skip to content

Commit

Permalink
save task state to local storage
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeecart committed Aug 1, 2022
1 parent b283cbd commit 133136c
Showing 1 changed file with 19 additions and 3 deletions.
22 changes: 19 additions & 3 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,37 @@ function hidePage() {
};

function createTodo(newTodo) {
const isChecked = newTodo.isChecked ? 'checked' : '';
const taskTitle = newTodo.title || newTodo;
const demoTodo = document.createElement('LI');
demoTodo.innerHTML = "<input type='checkbox'> <p class='todo'>" + newTodo + "</p><i class='far fa-trash-alt delete'></i>";
const createdElement = `<input type='checkbox' ${isChecked} onchange='updateTaskInStorage("${taskTitle}")'> <p class='todo'>${taskTitle}</p><i class='far fa-trash-alt delete'></i>`;
demoTodo.innerHTML = createdElement;
todoContainer.appendChild(demoTodo);
};

function saveTaskToStorage(addedTask) {
let savedTasks = JSON.parse(localStorage.getItem('tasks')) || [];
savedTasks.push(addedTask);
const newTask = {
title: addedTask,
isChecked: false
};
savedTasks.push(newTask);
localStorage.setItem('tasks', JSON.stringify(savedTasks));
}

function deleteTaskFromStorage(removedTask) {
let savedTasks = JSON.parse(localStorage.getItem('tasks'));
const newTaskList = savedTasks.filter(taskItem => {
return taskItem !== removedTask;
return taskItem.title !== removedTask;
});
localStorage.setItem('tasks', JSON.stringify(newTaskList));
}

function updateTaskInStorage(completedTask) {
let savedTasks = JSON.parse(localStorage.getItem('tasks'));
const taskIndex = savedTasks.findIndex(taskItem => {
return taskItem.title === completedTask;
});
savedTasks[taskIndex].isChecked = !savedTasks[taskIndex].isChecked;
localStorage.setItem('tasks', JSON.stringify(savedTasks));
}

0 comments on commit 133136c

Please sign in to comment.