Skip to content

Conversation

@Hell1213
Copy link
Contributor

@Hell1213 Hell1213 commented Jan 10, 2026

Replaced manual tag input with a dropdown selector to fix typos and inconsistent tagging.

Changes:
Added new TagMultiSelect component with dropdown for tag selection
Replaced manual tag input in Add Task dialog with TagMultiSelect
Replaced manual tag input in Edit Task dialog with TagMultiSelect
Save/cancel buttons now appear inline with selected tags

Fixes: #210

Checklist

  • Ran npx prettier --write . (for formatting)
  • Ran gofmt -w . (for Go backend) - Not applicable, frontend only
  • Ran npm test (for JS/TS testing)
  • Added unit tests, if applicable
  • Verified all tests pass (581/581 passing)
  • Updated documentation, if needed - Not needed

Additional Notes
The new component makes tag management easier:

Click dropdown to see all existing tags
Search or create new tags by typing
Press Enter or create tag to add a tag
Click X on tag badges to remove them
Save/cancel buttons show up next to the tags

Demo

Screencast.from.2026-01-10.14-38-35.mp4

@github-actions
Copy link

Thank you for opening this PR!

Before a maintainer takes a look, it would be really helpful if you could walk through your changes using GitHub's review tools.

Please take a moment to:

  • Check the "Files changed" tab
  • Leave comments on any lines for functions, comments, etc. that are important, non-obvious, or may need attention
  • Clarify decisions you made or areas you might be unsure about and/or any future updates being considered.
  • Finally, submit all the comments!

More information on how to conduct a self review:
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request

This helps make the review process smoother and gives us a clearer understanding of your thought process.

Once you've added your self-review, we'll continue from our side. Thank you!

Copy link
Contributor Author

@Hell1213 Hell1213 left a comment

Choose a reason for hiding this comment

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

Done with self review , PR adds a reusable tag component that makes tag management easier for users. Instead of typing tags manually , users can now select from existing tags or create new ones through a dropdown. The component is used in both Add Task and Edit Task dialogs, removing code duplication.

@Hell1213 Hell1213 changed the title feat: add reusable TagMultiSelect component for task tag management feat: add reusable tag selector for Add/Edit Task dialogs Jan 10, 2026
Copy link
Collaborator

@its-me-abhishek its-me-abhishek left a comment

Choose a reason for hiding this comment

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

Overall looks good, do checkout the suggestions

setTasksPerPage(parseInt(storedTasksPerPage, 10));
}
}, [props.email]);
useEffect(() => {
Copy link
Collaborator

@its-me-abhishek its-me-abhishek Jan 12, 2026

Choose a reason for hiding this comment

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

this useEffect could be removed, completely

@@ -0,0 +1,203 @@
import { useState, useRef, useEffect } from 'react';
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we move to a more generic name for this? considering it will be used for both Tags, and Annotations

handleNewTagCreate();
}
}
// Do nothing if search is empty
Copy link
Collaborator

Choose a reason for hiding this comment

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

do remove the comment

}
};

const handleKeyDown = (e: React.KeyboardEvent) => {
Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe extract this and other functions to the utils file


expect(screen.queryByText('tag2')).not.toBeInTheDocument();
await waitFor(() => {
// Check that tag1 is not in the selected tags badges area
Copy link
Collaborator

Choose a reason for hiding this comment

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

kindly remove the comment

Copy link
Collaborator

Choose a reason for hiding this comment

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

and other such comments

@@ -0,0 +1,556 @@
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
Copy link
Collaborator

Choose a reason for hiding this comment

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

tests would need to be updated, upon changing the file name

@Hell1213
Copy link
Contributor Author

sure @its-me-abhishek , i have implemented all changes as requested will push soon .

@Hell1213 Hell1213 force-pushed the fix/issue-210-reusable-tags branch from cd58387 to 4937543 Compare January 12, 2026 17:50
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.

Reusable tags for Editing or Adding a task

2 participants