Skip to content

Conversation

@T-Thiry
Copy link

@T-Thiry T-Thiry commented May 29, 2025

Tavan Thiry and others added 29 commits May 28, 2025 13:37
Copy link
Contributor

@HIPPIEKICK HIPPIEKICK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@phenomenalCode
Copy link

Hey tavan sorry but I need a late code review hope you don't mind.

This is a really clean and well-organized project. You’ve built a simple but solid task app that uses React, Zustand, and styled-components in a clear and consistent way. Everything feels modular and easy to understand — each file has a clear purpose, and the logic is straightforward.

useTaskStore.js
You’ve done a great job setting up Zustand. The state is minimal and well-structured, and your functions (createTask, deleteTask, toggleComplete, clearTasks, and resetTasks) are short and do exactly what they should. I like that you use functional updates (set(state => ...)), which makes the code safe and predictable.

TaskForm.jsx
The form component is well thought out. It’s simple, controlled, and handles empty input nicely with .trim(). Accessibility is good too — the aria-label and placeholder make it clear what the field is for.

A few small tweaks could make it even better. You could disable the button when the input is empty or show a short validation message if someone tries to submit nothing. Adding focus styles to the button and maybe setting a maxLength on the textarea would also improve user experience.

Task.jsx
This component is really clean. You’ve done a good job keeping it readable and minimal. The icons make the UI intuitive, and the aria-labels show attention to accessibility. Styling is simple but looks professional.

One thing to consider is adding keyboard focus styles so users who navigate without a mouse can see where they are. You could also add a title attribute to the icon buttons for tooltips. Other than that, this is a great piece of UI — nothing overcomplicated, just clean React logic.

TaskList.jsx
I really like how you handle the empty state. Showing “No tasks yet. Add your first one!” gives it a nice, friendly tone. The summary line at the top is helpful too, showing the total and uncompleted tasks.

Styling and Structure
Your styling is very pleasing to the eye, you’ve kept a good balance between spacing and color. The design feels modern and clean.

Overall is a good and simple project that is well-coded, visually appealing , and logically sound. It’s obvious you’ve paid attention to structure and readability. The only improvements are small refinements like adding persistence, accessibility focus states, and a bit more UX feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants