Skip to content

feat: implement project selector dropdown and inline new project creation#240

Merged
its-me-abhishek merged 3 commits intoCCExtractor:devfrom
Vasist10:main
Dec 4, 2025
Merged

feat: implement project selector dropdown and inline new project creation#240
its-me-abhishek merged 3 commits intoCCExtractor:devfrom
Vasist10:main

Conversation

@Vasist10
Copy link
Copy Markdown
Contributor

@Vasist10 Vasist10 commented Dec 3, 2025

Description

This PR implements a project selection dropdown with an inline “Create New Project” option within the tasks view.
It allows users to select an existing project or quickly create a new one without navigating away.

  • Updated the Project field in Add Task: replaced free-text input with a Select dropdown.
  • Added isCreatingNewProject UI state to allow switching between selecting an existing project and creating a new one inline.
  • Included “+ Create new project…” option in the dropdown, which reveals an input for entering a new project name.
  • Compute uniqueProjects from IndexedDB tasks (deduplicated & alphabetically sorted).
  • On manual sync, recompute project list from synced tasks so the dropdown reflects latest data.

Added two new tests in Tasks.test.tsx:

Checklist

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

Additional Notes

Screenshot 2025-12-03 133943

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 3, 2025

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!

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!

@its-me-abhishek
Copy link
Copy Markdown
Collaborator

Please add a self review and tests for this PR

@Vasist10
Copy link
Copy Markdown
Contributor Author

Vasist10 commented Dec 4, 2025

Please add a self review and tests for this PR

@its-me-abhishek
I’ve added the tests and updated the PR.
Let me know if anything else is needed.

<Select
value={
isCreatingNewProject
? '__create__'
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this can be improved i guess, __create__ seems to be an arbitrary value/variable

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

needs to be replaced with something similar to what we use in other constants, maybe an isCreate flag, or just an empty text, whatever works

@Vasist10
Copy link
Copy Markdown
Contributor Author

Vasist10 commented Dec 4, 2025

@its-me-abhishek I have replaced value constant with isCreatingNewProject flag.

@its-me-abhishek its-me-abhishek changed the base branch from main to dev December 4, 2025 19:55
@its-me-abhishek its-me-abhishek merged commit 434cade into CCExtractor:dev Dec 4, 2025
4 checks passed
@its-me-abhishek
Copy link
Copy Markdown
Collaborator

Merged! Thanks for the PR!

its-me-abhishek added a commit that referenced this pull request Dec 5, 2025
…lumes (#245)

* feat: implement project selector dropdown and inline new project creation (#240)

* feat: implement project selector dropdown and inline new project creation

* fix: add test for task components

* fix: use flag approach for project creation state

* fix: sync button on mobile
feat: add persistent volume for production setup

---------

Co-authored-by: Vasist10 <155972527+Vasist10@users.noreply.github.com>
ShivaGupta-14 pushed a commit to ShivaGupta-14/ccsync that referenced this pull request Dec 25, 2025
…lumes (CCExtractor#245)

* feat: implement project selector dropdown and inline new project creation (CCExtractor#240)

* feat: implement project selector dropdown and inline new project creation

* fix: add test for task components

* fix: use flag approach for project creation state

* fix: sync button on mobile
feat: add persistent volume for production setup

---------

Co-authored-by: Vasist10 <155972527+Vasist10@users.noreply.github.com>
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.

Add Project Dropdown With Inline “Create New Project” Option

2 participants