Skip to content

Commit 06561a6

Browse files
authored
Merge pull request #1 from absar22/add-completion-message
Add message when all todos are completed
2 parents 345e08b + c8c893b commit 06561a6

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

package-lock.json

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/js/main.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ const deleteBtn = document.querySelectorAll('.del')
22
const todoItem = document.querySelectorAll('span.not')
33
const todoComplete = document.querySelectorAll('span.completed')
44
const editBtns = document.querySelectorAll('span.edit');
5+
const completedTasks = document.getElementById('completedTasks'); // Get the completed tasks element
56

6-
Array.from(deleteBtn).forEach((el)=>{
7+
Array.from(deleteBtn).forEach((el)=>{
78
el.addEventListener('click', deleteTodo)
89
})
910

@@ -111,4 +112,19 @@ async function editTodo() {
111112
input.addEventListener('keydown', (e) => {
112113
if (e.key === 'Enter') saveEdit();
113114
});
114-
}
115+
}
116+
117+
// Update message when all todos are completed
118+
function updateMessage(){
119+
const todos = document.querySelectorAll('span.not, span.completed');
120+
const completed = document.querySelectorAll('span.completed');
121+
const total = todos.length;
122+
const done = completed.length;
123+
124+
if(done === total && total > 0){
125+
completedTasks.style.display = 'block';
126+
} else {
127+
completedTasks.style.display = 'none';
128+
}
129+
}
130+
updateMessage();

views/todos.ejs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121

2222
<h2><%= user.userName %> has <%= left %> things left to do.</h2>
2323

24+
<!-- Show message when all todos are completed -->
25+
<h3 id='completedTasks' style='display:none;'>🎉Congratulations <%= user.userName %>! You have completed your tasks today!</h3>
26+
2427
<form action="/todos/createTodo" method='POST'>
2528
<input type="text" placeholder="Enter Todo Item" name='todoItem'>
2629
<input type="submit">

0 commit comments

Comments
 (0)