Skip to content

feat: add informational tooltips for streak stats cards#3216

Open
shakshi127 wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
shakshi127:feature/dashboard-tooltips
Open

feat: add informational tooltips for streak stats cards#3216
shakshi127 wants to merge 4 commits into
Priyanshu-byte-coder:mainfrom
shakshi127:feature/dashboard-tooltips

Conversation

@shakshi127

Copy link
Copy Markdown
Contributor

Summary

Adds hover/tap tooltips to the dashboard's streak stats cards (Current Streak, Longest Streak, Active Days, Last Commit) so users understand what each metric means.

Closes #2329


Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that changes existing behavior)
  • 📝 Documentation update
  • ♻️ Refactor / code cleanup (no functional change)
  • ⚡ Performance improvement
  • 🔒 Security fix
  • 🧪 Tests only

What Changed

  • Replaced the non-functional info button in StreakTracker.tsx with a working hover/tap tooltip, using the same pattern already implemented in the Streak Freeze section.
  • Fixed a duplicate import bug in src/app/page.tsx where Syne, DM_Sans, and JetBrains_Mono were imported twice from next/font/google, which was causing a build error.

How to Test

  1. Run the app locally and sign in.
  2. Go to the Dashboard and find the "Commit Streaks" card.
  3. Hover over the "?" icon under any of the four stats (Current Streak, Longest Streak, Active Days, Last Commit).

Expected result: A tooltip appears showing a short explanation of that metric. On mobile/tap devices, tapping the icon should also show the tooltip.


Screenshots / Recordings

(Add a screenshot here if you have one — optional)


Checklist

  • Linked the related issue above
  • Self-reviewed my own diff
  • No unnecessary console.log, debug code, or commented-out blocks
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Added or updated tests where applicable
  • Updated documentation / comments if behavior changed

Accessibility (UI changes only)

  • Keyboard navigation works correctly
  • Color contrast meets WCAG AA standard
  • ARIA labels / roles added where needed
  • Tested on mobile / responsive layout

Additional Context

This PR addresses only the four "Commit Streaks" stat cards from the acceptance criteria in #2329. I'm happy to extend the same tooltip pattern to the PR Analytics metrics (Merge Rate, Avg Review Time, etc.) in a follow-up commit if needed.

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jul 18, 2026
@github-actions

Copy link
Copy Markdown

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

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

CI is red — Type check fails with duplicate identifiers in src/app/page.tsx:

page.tsx(2,10): error TS2300: Duplicate identifier 'Syne'.
page.tsx(2,16): error TS2300: Duplicate identifier 'DM_Sans'.
page.tsx(2,25): error TS2300: Duplicate identifier 'JetBrains_Mono'.

Looks like the font import line got duplicated (likely a bad merge). Remove the duplicate next/font/google import so it compiles, then I'll review the tooltips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Informational Tooltips for Dashboard Analytics Metrics

2 participants