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.
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
- Drag and drop to reorder items on the list
- Solution URL: Solution page on Frontend Mentor
- Live Site URL: GitHub Pages
- Vue.js
- Vite
- Tailwind CSS
- Prettier (including plugin for Tailwind)
- ESLint
- How to implement dark mode with Tailwind CSS
- How to manipulate element's position depending on screen size
- How to implement drag events
- How to use state management in Vue
- Vite documentation on deploying to GitHub Pages - much simpler way to deploy Vite projects on GitHub Pages instead of manually rebuilding and reuploading
dist
folder - MDN documentation on drag and drop events - very helpful resource for understanding how to implement drag events
- Stack Overflow question on dragleave activating when hovering over parent's children - answers were helpful in identifying and fixing the issue in the title
- Frontend Mentor - @danaYatsuta