feat(dashboard): implement accessible map with marker clustering#37
Conversation
Implements a full visual and accessibility overhaul of the forensic dashboard: - Replaces circle markers with accessible SVG 'Data Pills' showing job counts. - Implements Airbnb-style marker clustering for zoom-based aggregation. - Applies representative color palette (Saffron/Ambedkar Blue). - Fixes all outstanding accessibility issues (focus, ARIA, headings). - Hardens the Vitest suite with a centralized mock environment.
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…tion or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8ebadfbc80
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| markers.forEach(m => { | ||
| totalJobs += (m._currentTotalCount || 0); | ||
| instsInCluster.add(m._instId); | ||
| }); |
There was a problem hiding this comment.
Exclude zero-match markers from cluster institution totals
The cluster badge currently counts every child marker as an institution (instsInCluster.add(m._instId)) even when that marker has 0 ads under the active filters, so at low zoom levels users can see clusters reporting many institutions while the map summary shows few or none matching. This creates inconsistent, misleading filter feedback whenever most institutions are inactive; only markers with a positive _currentTotalCount should contribute to the displayed institution total (or inactive markers should be removed from clustering).
Useful? React with 👍 / 👎.
Implements a full visual and accessibility overhaul of the forensic dashboard: