feat: add visual export functionality for dashboard analytics (#2712) - #2739
Conversation
GSSoC Label Checklist 🏷️@Umbrella-io — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
|
Thanks for the contribution! We are currently in a code cleanup sprint and not accepting new features. Please see the discussion for details: #2651 This PR will be revisited once the sprint ends. In the meantime, contributions to testing, refactoring, bug fixes, or documentation are welcome. |
|
New UI/feature PRs are on hold during the code quality sprint — see discussion #2651. PRs for tests, refactoring, bug fixes, docs, and performance are welcome. |
|
On hold — new features are not being merged during the code quality sprint. See discussion #2651. |
|
New feature/UI PRs are on hold during the code-quality sprint — see discussion #2651. We'll revisit after the sprint; tests, refactors, and bug-fix PRs are the priority right now. |
Description
Resolves #2712
This PR introduces a comprehensive Export Functionality designed to generate clean, shareable layouts for contribution analytics and developer insights. It consolidates the raw data downloads (CSV/JSON/Text PDF) and the new Visual exports (PNG/JPEG/Visual PDF) into an intuitive, unified Export Modal.
Changes Made
ExportModal.tsx: A new hub for configuring and running both legacy exports and visual captures.html-to-imageandjspdfto convert DOM nodes into high-quality images and properly formatted PDF layouts.dashboard-content,streak-tracker,repo-analytics,pr-metrics,activity-ring,coding-insights) withdata-export-idattributes insrc/app/dashboard/page.tsxfor precise DOM targeting.ExportButton.tsx: Replaced the clustered inline buttons with a single "Export Analytics" trigger button that opens the unified modal.Acceptance Criteria