@@ -7,47 +7,34 @@ const filterSelected = document.querySelector("#filter-list");
7
7
const clearAllTaskBtn = document . querySelector ( "#clearAllTaskBtn" ) ;
8
8
const taskCompletedIcon = "fa-solid fa-circle-check pendingSvg" ;
9
9
const taskUncompletedIcon = "fa-regular fa-circle pendingSvg" ;
10
+
11
+ // task counter for stating the number of pending tasks
10
12
let taskCount = 3 ;
13
+
14
+ // this is message is to shown when there's no tasks inside container
11
15
const noTasksMessage = `<div class="completed">
12
16
<p>Add a task to plan your day.</p>
13
17
</div>` ;
14
18
15
19
// if user clicked on uncheck or check icon, format the task accordingly
16
20
const completedTask = ( task ) => {
17
-
18
21
const uncheckIcon = task . querySelector ( "i.pendingSvg" ) ;
19
22
const editIcon = task . querySelector ( "i.editSvg" ) ;
20
23
const taskId = Number . parseInt ( task . getAttribute ( "taskid" ) ) ;
24
+ const isTaskCompleted = uncheckIcon . className === taskUncompletedIcon ;
21
25
22
- if ( uncheckIcon . className === taskUncompletedIcon )
23
- {
24
- // update icon, text and disable edit
25
- uncheckIcon . className = taskCompletedIcon ;
26
- editIcon . style . display = "none" ;
27
- task . classList . add ( "checked" ) ;
28
-
29
- // update task counts
30
- taskCount -- ;
31
- updateTaskCount ( ) ;
26
+ // Update icon, text, and edit display using a conditional operator
27
+ uncheckIcon . className = isTaskCompleted ? taskCompletedIcon : taskUncompletedIcon ;
28
+ editIcon . style . display = isTaskCompleted ? "none" : "block" ;
29
+ task . classList . toggle ( "checked" , isTaskCompleted ) ;
32
30
33
- // update the localStorage data
34
- updateTaskStatus ( true , taskId ) ;
35
- }
36
- else
37
- {
38
- // update icon, text and enable edit
39
- uncheckIcon . className = taskUncompletedIcon ;
40
- editIcon . style . display = "block" ;
41
- task . classList . remove ( "checked" ) ;
31
+ // Update the localStorage data
32
+ updateTaskStatus ( isTaskCompleted , taskId ) ;
42
33
43
- // update task counts
44
- taskCount ++ ;
45
- updateTaskCount ( ) ;
46
-
47
- // update the localStorage data
48
- updateTaskStatus ( false , taskId ) ;
49
- }
50
- }
34
+ // Update task count
35
+ taskCount += isTaskCompleted ? - 1 : 1 ;
36
+ updateTaskCount ( ) ;
37
+ } ;
51
38
52
39
// edit the task text when clicked on editIcon
53
40
const editTaskText = ( task ) => {
@@ -140,7 +127,7 @@ taskContainer.addEventListener("click", (e) => {
140
127
completedTask ( taskElement ) ;
141
128
break ;
142
129
case 'task' :
143
- // does nothing for now
130
+ // do nothing :)
144
131
break ;
145
132
case 'edit' :
146
133
editTaskText ( taskElement ) ;
@@ -175,7 +162,7 @@ const updateNoTaskMessage = () => {
175
162
176
163
// if there's nothing in task-container, show the message
177
164
if ( taskContainer . childElementCount === 0 )
178
- taskContainer . setHTML ( noTasksMessage ) ;
165
+ taskContainer . innerHTML = noTasksMessage ;
179
166
else if ( taskCount === 1 )
180
167
{
181
168
try {
@@ -184,7 +171,7 @@ const updateNoTaskMessage = () => {
184
171
removeMessage . remove ( ) ;
185
172
}
186
173
catch ( error ) {
187
- // do nothing :)
174
+ console . log ( ` ${ error } ` ) ;
188
175
}
189
176
}
190
177
}
0 commit comments