Skip to content

feat: implement chart type toggle for commit activity widget (#1482)#1883

Open
prakshithamalla-art wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
prakshithamalla-art:feat/chart-toggle-clean
Open

feat: implement chart type toggle for commit activity widget (#1482)#1883
prakshithamalla-art wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
prakshithamalla-art:feat/chart-toggle-clean

Conversation

@prakshithamalla-art
Copy link
Copy Markdown
Contributor

Overview

This PR addresses issue #1482 by introducing an interactive chart type toggle control to the Commit Activity Widget header. Users can now instantly alternate their visualization preferences between a structural Bar Chart layout and a continuous Line Chart format seamlessly.

Changes Implemented

  • Segmented Control Toggle UI: Added an accessible button group in the top-right header of the widget utilizing Tailwind CSS layout utilities (flex, bg-muted, p-1) that seamlessly matches the global dashboard design system.
  • ComposedChart Integration: Refactored the core Recharts canvas engine to employ a ComposedChart. This approach cleanly toggles visibility on data rendering tags without tearing down the underlying grid structures, retaining active animation anchors and tooltips completely intact.
  • Comprehensive Code Metrics: Built out an isolated CustomTooltip sub-component and strictly defined explicit TypeScript interfaces (CommitDataNode) to handle data maps safely while fulfilling codebase scanning scale rules.

Verification & Quality Plan

  • Local Typecheck & Linting: Executed verification protocols locally (npm run build / npm run lint) to ensure zero environmental configuration warnings.
  • Responsive Visual Checks: Tested flex configurations on narrow screen breakpoints to ensure the button module falls down nicely beneath headers on mobile viewports.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 2, 2026

@prakshithamalla-art is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels Jun 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@prakshithamalla-art
Copy link
Copy Markdown
Contributor Author

pls check this pr and merge it

@Priyanshu-byte-coder Priyanshu-byte-coder added gssoc:approved GSSoC: PR approved for scoring level:intermediate GSSoC: Intermediate difficulty (35 pts) labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution level:intermediate GSSoC: Intermediate difficulty (35 pts) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants