Skip to content

feat(dashboard): add Twitter/LinkedIn share buttons with live stats (#2265) - #3494

Open
yachikadev wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
yachikadev:feat-2265-share-stats
Open

feat(dashboard): add Twitter/LinkedIn share buttons with live stats (#2265)#3494
yachikadev wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
yachikadev:feat-2265-share-stats

Conversation

@yachikadev

Copy link
Copy Markdown
Contributor

Summary

Adds Phase 2 of the shareable stats feature requested in #2265 — Twitter/X and LinkedIn share buttons alongside the existing "Share Profile" (copy link) button.

Changes

  • DashboardHeader.tsx: fetches user's streak, PR merge rate, and weekly goal progress, and passes them to ShareProfileButton as a stats prop.
  • ShareProfileButton.tsx: adds a Twitter/X button that opens a pre-filled tweet with the user's stats and profile link, and a LinkedIn button that opens the LinkedIn share dialog with the profile URL. Copy-link (Phase 1) behavior is unchanged.

Testing

  • Verified copy link still works and shows "Copied" confirmation.
  • Verified Twitter/X button opens intent URL with correct pre-filled text including live stats.
  • Verified LinkedIn button opens share dialog with correct profile URL.
  • Checked both desktop and mobile dropdown render paths.

Notes

  • Stat field names (current_streak, merge_rate, progress_percent) are assumed based on existing API routes — happy to adjust if actual response shapes differ.
  • Phase 3 (downloadable PNG stats card) is a stretch goal from the issue and is not included in this PR; can be tackled separately if desired.

Closes #2265

@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 Aug 10, 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

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.

[FEAT] : Add shareable stats card with Twitter/X and LinkedIn share buttons

1 participant