Skip to content

Add last updated timestamp tracking to dashboard widgets - #2803

Open
tayyibah07 wants to merge 3 commits into
Priyanshu-byte-coder:mainfrom
tayyibah07:feature-heatmap-enhancements
Open

tayyibah07 wants to merge 3 commits into
Priyanshu-byte-coder:mainfrom
tayyibah07:feature-heatmap-enhancements

Conversation

@tayyibah07

@tayyibah07 tayyibah07 commented Jun 25, 2026

Copy link
Copy Markdown

Summary

This PR enhances dashboard contribution analytics by introducing consistent last-updated timestamp tracking across key metrics components and improving contribution insight visibility for users.

Closes #2670


Type of Change

  • ✨ New feature
  • ♻️ Refactor / code cleanup

What Changed

  • Added last updated timestamp tracking support to dashboard analytics components.
  • Integrated timestamp refresh handling after successful data fetches.
  • Updated ContributionHeatmap, GoalTracker, PRMetrics, StreakTracker, and TopRepos to use a unified timestamp management approach.
  • Improved contribution analytics visibility and data freshness indicators across the dashboard.
  • Refactored component logic for better consistency and maintainability.

How to Test

  1. Run the application locally using npm run dev.
  2. Open the dashboard and navigate to the contribution analytics sections.
  3. Verify that contribution data loads correctly.
  4. Confirm that the "Last Updated" timestamp appears and refreshes whenever data is fetched.
  5. Check Heatmap, Goal Tracker, PR Metrics, Streak Tracker, and Top Repositories components for proper rendering.

Expected result:

All dashboard analytics components display correctly, contribution data loads successfully, and last updated timestamps refresh accurately after data updates.


Screenshots / Recordings

Screenshot 2026-06-25 230123

Checklist

  • Self-reviewed my own diff
  • No unnecessary console.log, debug code, or commented-out blocks
  • npm run lint passes locally (existing repository warnings remain unrelated to this PR)
  • 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
  • ARIA labels / roles added where needed
  • Tested on responsive layouts

Additional Context

This PR focuses on improving the user experience by providing clearer visibility into when dashboard metrics were last refreshed. The changes are limited to analytics-related components and do not introduce any breaking changes.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels Jun 25, 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

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) labels Jun 25, 2026
@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

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.

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

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.

@tayyibah07

Copy link
Copy Markdown
Author

Thank you for the update! I'll keep the PR open and am happy to make any requested changes once feature reviews resume. Looking forward to your feedback.

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

This imports @/hooks/useLastUpdated and @/components/LastUpdatedTimestamp, but neither file exists on main nor is added by this PR — the build fails. Looks like the new files were never committed. Please push them and re-request review; the shared-hook refactor itself is a good direction.

@tayyibah07

Copy link
Copy Markdown
Author

Thanks for catching that! I had accidentally missed committing the shared useLastUpdated hook and LastUpdatedTimestamp component. I've now added the missing files and pushed the changes. The project should build successfully now. Kindly re-review when you have time. Thank you!

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 Last Updated Timestamps to Dashboard Widgets

2 participants