Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ToDo List - Joyce Kuo #46

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
a3c4cd6
Set up global CSS
JoyceKuode Nov 20, 2024
8590388
Set up Dark/Light mode switch
JoyceKuode Nov 20, 2024
1bb0a3a
Add TailwindCSS and responsive design for Header
JoyceKuode Nov 20, 2024
2a76ce5
Fix header padding
JoyceKuode Nov 20, 2024
e5b7033
Add useTaskStore and TaskForm
JoyceKuode Nov 21, 2024
9688574
Create TaskList with categories and Task with custom checkmark
JoyceKuode Nov 21, 2024
56895a4
Add sleeping sloth image when no tasks have been added
JoyceKuode Nov 21, 2024
5af7f1c
Fix vertical scrolling issue
JoyceKuode Nov 21, 2024
164e40b
Add different to categories and implement deleteTask
JoyceKuode Nov 22, 2024
b067a45
Edit colors and add labels for accessibility
JoyceKuode Nov 22, 2024
cbc22a5
Add functionality for button to mark all tasks complete and render image
JoyceKuode Nov 22, 2024
0f1b962
Fix spacing and implement local storage
JoyceKuode Nov 22, 2024
8e5a791
Add timestamp when task is created
JoyceKuode Nov 22, 2024
ff07196
Add language translation and due date feature
JoyceKuode Nov 24, 2024
3e9de00
Add a button to toggle visibility of dates
JoyceKuode Nov 25, 2024
ecbf79d
Fix spacing in header and form
JoyceKuode Nov 25, 2024
83b0e52
Add hide/show details button to task
JoyceKuode Nov 25, 2024
6ed2656
Add red border to overdue tasks
JoyceKuode Nov 25, 2024
f267a64
Fix dueDate bug
JoyceKuode Nov 25, 2024
ceed84e
Update README file
JoyceKuode Nov 25, 2024
4b86970
Add aria-label to flag button
JoyceKuode Nov 25, 2024
93e8bce
Change button colors for accessibility
JoyceKuode Nov 25, 2024
d3c0a8d
Fix image size
JoyceKuode Nov 25, 2024
8d4b50c
Add hover color to flag button and edit task colors
JoyceKuode Nov 25, 2024
a8fd7ea
Resize image
JoyceKuode Nov 25, 2024
9a738d6
Preload image
JoyceKuode Nov 25, 2024
08da5bc
Fix path for image in html
JoyceKuode Nov 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"githubPullRequests.ignoredPullRequestBranches": ["main"]
}
28 changes: 7 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,32 +6,18 @@

# Todo - useContext Project

Replace this readme with your own information about your project.
This project is a dynamic to-do list where users can add, manage, and organize tasks by categories. It features light/dark mode, task progress tracking, and local storage to persist tasks.

Start by briefly describing the assignment in a sentence or two. Keep it short and to the point.

## Getting Started with the Project

### Dependency Installation & Startup Development Server

Once cloned, navigate to the project's root directory and this project uses npm (Node Package Manager) to manage its dependencies.
### The Problem

The command below is a combination of installing dependencies, opening up the project on VS Code and it will run a development server on your terminal.
I began by exploring different To-Do apps to gather inspiration and reflect on what I personally look for in a task management tool. Using Figma, I sketched wireframes to ensure responsive layouts for mobile, tablet, and desktop views.

```bash
npm i && code . && npm run dev
```
My initial focus was on designing a light/dark mode toggle, which led me to create a custom Tailwind CSS configuration for the color scheme. To keep things simple, I started with a basic task list and form. As I added more features, the codebase especially the TaskList component, started becoming cluttered. To address this, I refactored some functionality into smaller, more manageable components. For example, I created a dedicated component to display a message and image when all tasks are completed and another for the button that triggers this feature.

### The Problem
I was also inspired by my in-laws, who sometimes struggle with English, as well as an example I came across earlier this week, to add a language toggle feature for improved accessibility.

Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
If I had more time, I would love to implement task editing functionality. Adding drag-and-drop reordering for tasks, including category changes, is another feature I’d prioritize. I’d also like to introduce project-based task grouping, as well as filtering and sorting options for better organization.

### View it live

Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.

## Instructions

<a href="instructions.md">
See instructions of this project
</a>
https://hello-productivity.netlify.app/
10 changes: 8 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Todos App Context API</title>
<meta
name="description"
content="Stay organized with Hello, Productivity! The fun to-do list app to help you manage tasks efficiently."
/>
<title>Hello, Productivity! To-Do List</title>
<link rel="icon" href="/to-do-list.png" type="image/x-icon" />
<link rel="preload" href="src/assets/sloth.webp" as="image" />
</head>
<body>
<div id="root"></div>
Expand Down
Loading