Skip to content

feat: filter todos by name, subject, and objective - #464

Draft
kirbx01 wants to merge 10 commits into
bluelearn-org:mainfrom
kirbx01:feat/todo-filters
Draft

kirbx01 wants to merge 10 commits into
bluelearn-org:mainfrom
kirbx01:feat/todo-filters

Conversation

@kirbx01

@kirbx01 kirbx01 commented Sep 20, 2026 •

Copy link
Copy Markdown

Summary

Adds filtering to the Guides Waiting To Be Written todo list.

The new filter menu allows users to:

  • Search todos by name
  • Filter todos by subject
  • Filter todos by objective
  • Combine multiple filters
  • Keep filter state in the URL

Subject and objective filtering uses the metadata associated with the requesting guide. Filtering is applied before pagination so pagination reflects the filtered results.

Closes #444

Type of change

  • Bug fix
  • Feature
  • Refactor (no behavior change)
  • Documentation
  • Build / tooling / CI
  • Other: _________

Verification

  • pnpm -r typecheck passes
  • pnpm -r build passes
  • Manually verified in a browser (for UI / behavior changes)
  • Followed the app layout conventions
  • No new dependencies, or new dependencies are justified and AGPL-compatible
  • Change does not violate any non-negotiable principle
  • Documentation only, no changes to the codebase, so no tests required

@kirbx01
kirbx01 marked this pull request as draft September 20, 2026 13:46
@andyrodrigues30
andyrodrigues30 marked this pull request as ready for review September 21, 2026 20:40
@jpotter08 jpotter08 added area:frontend Tasks related to frontend (app) area:backend Tasks related to general backend functionality or api specific labels Sep 22, 2026
@kirbx01

kirbx01 commented Sep 23, 2026

Copy link
Copy Markdown
Author

I have added the filter button beside the todo heading with:

  • Name search
  • Subject filter
  • Objective filter
  • Combined filtering
  • URL-persisted filter state

Since todos don't currently carry subject/objective metadata directly, the filters use the requesting guide's associated subjects/objectives ; also added API/schema coverage and tests for the requesting guide metadata.

One implementation assumption: a todo matches a subject/objective when its requesting guide is associated with that filter.

Happy to adjust the matching behavior if you'd prefer a different interpretation. :3
@andyrodrigues30 please review this PR and revert!

@jpotter08 jpotter08 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm!

@kirbx01

kirbx01 commented Oct 5, 2026

Copy link
Copy Markdown
Author

@tonylam0 @andyrodrigues30 please tell if i need to make some modifications, happy to help :)

@andyrodrigues30

andyrodrigues30 commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

@kirbx01 - please check and fix the merge conflicts, then mark ready for review when done (I've moved it into draft)

@andyrodrigues30
andyrodrigues30 marked this pull request as draft October 15, 2026 16:32
Signed-off-by: raven <107796784+kirbx01@users.noreply.github.com>
@kirbx01
kirbx01 marked this pull request as ready for review October 20, 2026 13:51
@kirbx01

kirbx01 commented Oct 20, 2026

Copy link
Copy Markdown
Author

@kirbx01 - please check and fix the merge conflicts, then mark ready for review when done (I've moved it into draft)

hey ive done the required changes please review and revert! Sorry for late reply i got busy with my university exam in the middle of this ;/

@andyrodrigues30

andyrodrigues30 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

@kirbx01 - ci checks are still failing, please check this

@andyrodrigues30
andyrodrigues30 marked this pull request as draft October 24, 2026 11:28

This branch has not been deployed

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

Labels

area:backend Tasks related to general backend functionality or api specific area:frontend Tasks related to frontend (app)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Add filter to the todo prereqs page

3 participants