hoangsonww / hoangsonww/Task-Manager-ReactNative

Feature: Add unified task search, advanced filters, and saved views

Open
#8 0 comments 0 reactions 1 assignee Claimed by @hoangsonww View on GitHub
accessibility bug documentation enhancement good first issue help wanted question
Dominant language
TypeScript
Stars
32
Forks
8
PR merge metrics
No merged PRs in 30d

Description

## Summary

Add a cross-platform discovery workflow that lets users search tasks, combine structured filters, choose a sort order, and save reusable views.

## Problem / Opportunity

The current home experience presents the task collection as one ordered list. As the collection grows, finding tasks by text, status, due window, or color requires manual scanning. TaskNexus needs a scalable retrieval model that remains usable on mobile and web without weakening realtime synchronization.

## Proposed Feature

Introduce a unified search and filter surface backed by a reusable query model. Support text search, completion state, due-date ranges (including overdue and no-date states if supported), color, and sort order. Users can save named views to their account and reopen them across devices. Provide a compact quick-access affordance on mobile and keyboard-first access on web.

## Scope

- Extend task state/query selectors without duplicating filtering logic across screens.
- Persist user-owned saved-view definitions in Supabase with appropriate row-level security.
- Add search, filter chips, sort controls, active-filter summaries, clear-all behavior, loading states, and useful empty results.
- Keep results current when realtime inserts, updates, and deletes arrive.
- Document query semantics and add unit/integration coverage for combined filters.

## Acceptance Criteria

- [ ] Users can search task text with case-insensitive, trimmed input.
- [ ] Users can combine status, due-date, and color filters and select an explicit sort order.
- [ ] The UI clearly distinguishes “no tasks” from “no matching tasks.”
- [ ] An authenticated user can create, rename, update, open, and delete saved views.
- [ ] Saved views are isolated by user and synchronize across signed-in devices.
- [ ] Web users can focus search and navigate results using the keyboard; mobile controls expose accessible roles and labels.
- [ ] Realtime task changes update the visible result set without requiring a manual refresh.
- [ ] Tests cover filter combinations, saved-view persistence, auth isolation, and empty/error states.
- [ ] README or user documentation explains search syntax, filters, and saved views.

## Non-Goals

- Natural-language task creation or AI-generated queries.
- Full-text search across attachments or comments.
- Sharing saved views between accounts.

## Dependencies / Risks

- Saved views require a schema migration and RLS policies.
- Date filters must define timezone boundaries consistently on iOS, Android, and web.
- Client-side filtering may need a future server-query path for very large task sets.

## Open Questions

- Should a saved view optionally become the default home view?
- Which sort should be the default when multiple tasks share the same due date?
- Should filters be encoded in deep links on web?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.