Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dmikaia/todo-app
https://github.com/dmikaia/todo-app
Last synced: 19 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dmikaia/todo-app
- Owner: DMikaia
- Created: 2024-03-02T11:51:22.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-02T12:04:33.000Z (10 months ago)
- Last Synced: 2024-11-03T07:42:45.250Z (2 months ago)
- Language: JavaScript
- Size: 399 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Frontend Mentor - Todo app solution
This is a solution to the [Todo app challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/todo-app-Su1_KokOW). Frontend Mentor challenges help you improve your coding skills by building realistic projects.
## Table of contents
- [Overview](#overview)
- [The challenge](#the-challenge)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [What I learned](#what-i-learned)
- [Useful resources](#useful-resources)
- [Author](#author)## 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### Links
- Live Site URL: [Demo](https://dm-todo-app.netlify.app/)
## My process
### Built with
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow### What I learned
I learned how to sort a list using drag and drop by searching the next sibling of the element we are dragging, to learn more about the concept you can watch the tutorial of CodingNepal on youtube:
```js
let nextSiblings = siblings.find((sibling) => {
return e.clientY <= sibling.offsetTop + sibling.offsetHeight / 2;
});
```### Useful resources
- [CodingNepal](https://www.youtube.com/@CodingNepal) - This youtube channel helped me understand the concept of drag and drop a sortable list.
## Author
- Frontend Mentor - [@DMikaia](https://www.frontendmentor.io/profile/DMikaia)