/todo-app-react

Frontend Mentor Challenge

Primary LanguageTypeScript

Frontend Mentor - Todo app solution

This is a solution to the Todo app challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • View the optimal layout for the app depending on their device's screen size
  • See hover states for all interactive elements on the page
  • Add new todos to the list
  • Mark todos as complete
  • Delete todos from the list
  • Filter by all/active/complete todos
  • Clear all completed todos
  • Toggle light and dark mode
  • Bonus: Drag and drop to reorder items on the list

Screenshot

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • CSS Grid
  • Mobile-first workflow
  • Vanilla JS
  • React - JS library

What I used

  • SortableJS is a really great JS to simplify the use of the drag&drop, sortable elements.
  • I made a function object useLocalStorage (kinda inspired by the custom hook in React)
  • I wrote 3 version of my JS. I write it straight and then made in as a "plugin" and I decided, finally, to use the V2.

Continued development

Use this section to outline areas that you want to continue focusing on in future projects. These could be concepts you're still not completely comfortable with or techniques you found useful that you want to refine and perfect.

Useful resources

  • Sortable - This helped me for the drap and drop reorder.

Author