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.
Note: Delete this note and update the table of contents based on what sections you keep.
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 ❌
- Solution URL: [Add solution URL here](https://your-solution-url.com)
- Live Site URL: https://valleyman89.github.io/FrontEndMentor-Solution---to-do-app-
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- React - JS library
- react-gh-pages - for deployment onGitHub Pages
- This originally was completed with prop-drilling but thanks to @andrewg010 (see #Acknowledgments), it was converted to use context
- I was not able to implement the light/dark theme toggle - I think I'd need to utilise npm packages to complete this.
- Likewise for the drag-and-drop feature.
- Using localStorage with React Hooks - LogRocket - Ibadehin Mojeed's thorough explanation how to utilise localStorage with React Hooks was extremely helpful - along with their
useLocalStorage
custom hook which was used in this project.
- GitHub - @valleyman89
- Frontend Mentor - @valleyman89
- Twitter - @steven_rolph
- https://github.com/andrewg010 - andrewg010 for the code and explanation of context within react - see the context branch of the repo.