pyronear / pyronear/pyro-annotator
Localize queue: add filters (backend params + FilterPopover)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 2
Description
Context
While restyling the localize tables (#241), we agreed the /localize queue should get a Filters button like /classify and /localize/done. Postponed to its own PR because it needs backend work — GET /api/v1/sequences/localization-queue currently accepts only pagination params.
Scope
Backend — filter parameters on the localization-queue endpoint. Rows are alert-grouped ((source_api, platform_alert_id)), so filters apply to alert-level attributes:
- camera, organisation, source_api
- recorded_at date range
Frontend — reuse the FilterPopover UI on /localize (DetectionAnnotatePage), persisted via usePersistedFilters like the other list pages. Hide the sections that don't apply to a pre-annotation queue (model accuracy, FP types).
Decision record: chosen over client-side-only filtering (misleading with pagination) during the #241 design discussion.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with GET /api/v1/sequences/localization-queue, then inspect DetectionAnnotatePage, the shared FilterPopover, and usePersistedFilters as used by /classify and /localize/done. Done means alert-level camera, organisation, source_api, and recorded_at range filters work with pagination, persist on /localize, and omit model-accuracy and FP-type sections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100