@@ -19,10 +19,12 @@ function setUpPage() {
1919
2020completeAllBtn . addEventListener ( 'click' , ( ) => {
2121 let savedTasks = JSON . parse ( localStorage . getItem ( 'tasks' ) ) ;
22+ let taskTitles = document . querySelectorAll ( '.todo' ) ;
2223
2324 for ( let i = 0 , len = savedTasks . length ; i < len ; i ++ ) {
2425 var check = document . getElementsByName ( "completed" ) [ i ] ;
2526 check . checked = "checked" ;
27+ updateTaskInStorage ( taskTitles [ i ] . innerHTML , true ) ;
2628 }
2729} ) ;
2830
@@ -68,14 +70,15 @@ function createTodo(newTodo) {
6870 const isChecked = newTodo . isChecked ? 'checked' : '' ;
6971 const taskTitle = newTodo . title || newTodo ;
7072 const demoTodo = document . createElement ( 'LI' ) ;
71- const createdElement = `<input type='checkbox' ${ isChecked } onchange='updateTaskInStorage("${ taskTitle } ")'> <p class='todo'>${ taskTitle } </p><i class='far fa-trash-alt delete'></i>` ;
73+ const createdElement = `<input type='checkbox' ${ isChecked } name='completed' onchange='updateTaskInStorage("${ taskTitle } ")'> <p class='todo'>${ taskTitle } </p><i class='far fa-trash-alt delete'></i>` ;
7274 demoTodo . innerHTML = createdElement ;
7375 todoContainer . appendChild ( demoTodo ) ;
7476} ;
7577
7678function saveTaskToStorage ( addedTask ) {
7779 let savedTasks = JSON . parse ( localStorage . getItem ( 'tasks' ) ) || [ ] ;
7880 const newTask = {
81+ id : Date . now ( ) ,
7982 title : addedTask ,
8083 isChecked : false
8184 } ;
@@ -84,18 +87,19 @@ function saveTaskToStorage(addedTask) {
8487}
8588
8689function deleteTaskFromStorage ( removedTask ) {
90+ console . log ( removedTask ) ;
8791 let savedTasks = JSON . parse ( localStorage . getItem ( 'tasks' ) ) ;
8892 const newTaskList = savedTasks . filter ( taskItem => {
8993 return taskItem . title !== removedTask ;
9094 } ) ;
9195 localStorage . setItem ( 'tasks' , JSON . stringify ( newTaskList ) ) ;
9296}
9397
94- function updateTaskInStorage ( completedTask ) {
98+ function updateTaskInStorage ( completedTask , isCompleted ) {
9599 let savedTasks = JSON . parse ( localStorage . getItem ( 'tasks' ) ) ;
96100 const taskIndex = savedTasks . findIndex ( taskItem => {
97101 return taskItem . title === completedTask ;
98102 } ) ;
99- savedTasks [ taskIndex ] . isChecked = ! savedTasks [ taskIndex ] . isChecked ;
103+ savedTasks [ taskIndex ] . isChecked = isCompleted || ! savedTasks [ taskIndex ] . isChecked ;
100104 localStorage . setItem ( 'tasks' , JSON . stringify ( savedTasks ) ) ;
101105}
0 commit comments