Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | Todo List#1059
Open
Richiealx wants to merge 5 commits intoCodeYourFuture:mainfrom
Open
Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | Todo List#1059Richiealx wants to merge 5 commits intoCodeYourFuture:mainfrom
Richiealx wants to merge 5 commits intoCodeYourFuture:mainfrom
Conversation
Luro91
reviewed
Apr 6, 2026
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
Sprint-3/todo-list/todos.mjs
Outdated
Comment on lines
+37
to
+41
| 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?
Sprint-3/todo-list/script.mjs
Outdated
| /** | ||
| * 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 "
Sprint-3/todo-list/script.mjs
Outdated
| if (todo.deadline) { | ||
| deadlineEl.textContent = `Deadline: ${todo.deadline}`; | ||
| } else { | ||
| deadlineEl.textContent = ""; |
Comment on lines
+22
to
+25
| <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
Author
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.