Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | Todo List#1059
Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | Todo List#1059Richiealx wants to merge 5 commits intoCodeYourFuture:mainfrom
Conversation
There was a problem hiding this comment.
Nice styling. I like how the todo list looks
| } | ||
|
|
||
| /* Mobile layout */ | ||
| @media (max-width: 700px) { |
There was a problem hiding this comment.
Nice that you added support for smaller layouts
| for (let index = todos.length - 1; index >= 0; index -= 1) { | ||
| if (todos[index].completed) { | ||
| todos.splice(index, 1); | ||
| } | ||
| } |
There was a problem hiding this comment.
This works but do you know an array method that is build in that can do this for you?
| /** | ||
| * Clears and rebuilds the todo list from the hardcoded/current todos array. | ||
| */ | ||
| function populateTodoList() { |
There was a problem hiding this comment.
Why did you rename this? The name is not fitting and the instructions say "
| if (todo.deadline) { | ||
| deadlineEl.textContent = `Deadline: ${todo.deadline}`; | ||
| } else { | ||
| deadlineEl.textContent = ""; |
| <input | ||
| type="date" | ||
| id="deadline-input" | ||
| aria-label="Set a deadline" |
There was a problem hiding this comment.
Nice implementation of the stretch 1 task
There was a problem hiding this comment.
Thank you for the feedback.
I have now updated the todo list based on your comments:
- I changed the completed task deletion logic to use a built-in array method instead of the manual loop.
- I renamed the function back to
render()so it matches the original starter structure and the task guidance. - I removed the unnecessary
elsebranch for the deadline text because the element is empty by default unless text is set.
I tested the app again and confirmed the functionality still works correctly.
|
Well done. The code works correctly now. A note on your comment. It was surprising to me that you added your comment which explains all changes to one of my comments. I would have expected that you either add single comments to my matching comments or that you do a general summary comment on the PR itself (not on one of my specific comments) |
|
Closing PR because the January ITP run has finished. Feel free to re-open if you're still working on it. |
Learners, PR Template
Self checklist
Changelist
This PR implements the Sprint 3 Todo List app.
The application populates a list of hardcoded todos on page load using the
populateTodoList()function. Each todo item includes a checkbox icon, a trash icon, and the todo text.Clicking the checkbox toggles the completed state of the task. This updates the icon from
☑to✅and applies or removes a strikethrough style on the todo text. Clicking the trash icon deletes the individual todo item.I added support for creating new todos using an input field and included a deadline input so a date can be set when a task is created. When a deadline is provided, it is displayed next to the task description.
A "Delete Completed" button has also been implemented to remove all completed tasks at once.
The todo module functions (
addTask,deleteTask,toggleCompletedOnTask) were preserved and extended without breaking the existing tests. I also added a helper function to delete completed tasks.The app was tested in the browser to confirm:
I also ran the provided tests for the todo module, and all tests passed successfully.
Questions
No questions at this time.