Skip to content

Mariana-VV/react_todo-app

This branch is 85 commits ahead of, 1 commit behind mate-academy/react_todo-app:develop.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dd75025 · Jan 19, 2025

History

88 Commits
Sep 10, 2024
Jan 18, 2025
Sep 9, 2020
Jul 18, 2024
Jan 19, 2025
Jul 4, 2019
Apr 6, 2022
Apr 6, 2022
Jul 18, 2024
Apr 7, 2022
Feb 13, 2024
Feb 13, 2024
Jul 4, 2019
Jul 4, 2019
Apr 6, 2022
Jan 18, 2025
Sep 9, 2020
Jan 18, 2025
Jul 18, 2024
Jan 18, 2025
Jan 18, 2025
Mar 18, 2024
Jul 18, 2024

Repository files navigation

React ToDo App

Implement a simple TODO app that functions as described below.

If you are unsure about how a feature should work, open the real TodoApp and observe its behavior.

todoapp

  1. Learn the markup in App.tsx.
  2. Show only a field to create a new todo if there are no todos yet.
  3. Use React Context to manage todos.
  4. Each todo should have an id (you can use +new Date()), a title, and a completed status (false by default).
  5. Save todos to localStorage using JSON.stringify after each change.
  6. Display the number of not completed todos in TodoApp.
  7. Implement filtering by status (All/Active/Completed).
  8. Add the ability to delete a todo using the x button.
  9. Implement the clearCompleted button (disabled if there are no completed todos).
  10. Implement individual todo status toggling.
  11. Implement the toggleAll checkbox (checked only when all todos are completed).
  12. Enable inline editing for the TodoItem:
    • Double-clicking on the todo title shows a text field instead of the title and deleteButton.
    • Form submission saves changes (press Enter to save).
    • Trim the saved text.
    • Delete the todo if the title is empty.
    • Save changes onBlur.
    • Pressing Escape cancels editing (use onKeyUp and check if event.key === 'Escape').

todoedit

Instructions

  • Install the Prettier Extension and use these VSCode settings to enable format on save.
  • Implement a solution following the React task guidelines.
  • Use the React TypeScript cheat sheet.
  • Open another terminal and run tests with npm test to ensure your solution is correct.
  • Replace <your_account> with your GitHub username in the DEMO LINK and add it to the PR description.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 67.0%
  • TypeScript 20.0%
  • CSS 6.3%
  • SCSS 5.4%
  • HTML 1.3%