Deduplication Queue Screen
Component Detail
Description
Coordinator-only screen that lists all activity records flagged as potential duplicates where the submitting peer mentor has not yet resolved the conflict. Each row links to a detail view with the comparison panel and coordinator-level resolution actions.
deduplication-queue-screen
Summaries
The Deduplication Queue Screen gives programme coordinators a dedicated, structured workspace to review and resolve activity records that have been flagged as potential duplicates but not yet addressed by the submitting peer mentor. Without this screen, coordinators would need to manually search through all activity records to find unresolved data quality issues — a time-consuming and error-prone process. By surfacing a prioritised, filterable queue of outstanding conflicts, the product empowers coordinators to maintain clean programme data at scale, which directly improves the accuracy of reporting to funders and leadership. The unresolved count indicator provides a real-time signal of data quality health, enabling coordinators to proactively address issues before they accumulate and distort programme metrics during reporting cycles.
The Deduplication Queue Screen is a medium-complexity coordinator-facing feature with two direct dependencies: the Deduplication Queue Service (backend data provider) and the Duplicate Comparison Panel (embedded in the detail view). Both dependencies must be complete before this screen can undergo end-to-end testing. The screen includes pagination, filtering, and sorting controls, each of which adds testing surface area — plan for dedicated QA cycles covering empty states, large datasets, and concurrent resolution scenarios where two coordinators resolve the same record. Role-based access control must be enforced: only coordinator-role users should be able to reach this screen, requiring integration with the authentication layer.
The getUnresolvedCount() interface should be wired to a badge or notification indicator in the navigation, which requires coordination with the nav component owner. User acceptance testing with actual coordinators is strongly recommended before release.
The Deduplication Queue Screen is a coordinator-only list view that fetches paginated, unresolved duplicate-flagged activities via loadQueue(coordinatorId) and surfaces them in a scrollable, filterable table. The applyFilter(filterParams) method should accept a typed params object covering date range, peer mentor ID, activity type, and resolution status to keep the interface extensible. refreshQueue() triggers a re-fetch and is called after a detail-view resolution completes, ensuring stale records are removed from the list without full navigation. navigateToDetail(activityId) pushes the coordinator to the individual resolution view, which embeds the Duplicate Comparison Panel.
The screen depends on the Deduplication Queue Service for all data access — no direct Supabase calls should originate from this layer. getUnresolvedCount() can be used to drive a badge in the sidebar navigation. Implement optimistic list removal when a coordinator resolves a record from the detail view to avoid jarring re-renders on return navigation. Pagination state should be preserved across detail-view pushes using a retained route strategy.
Responsibilities
- Display paginated list of unresolved duplicate-flagged activities
- Provide filter and sort controls for the queue
- Navigate to individual duplicate resolution detail view
- Show resolution status and submitting peer mentor identity
Interfaces
loadQueue(coordinatorId)
refreshQueue()
navigateToDetail(activityId)
applyFilter(filterParams)
getUnresolvedCount()
Relationships
Dependencies (2)
Components this component depends on