Skip to content

Conversation

@Shrutik-0101
Copy link
Contributor

Title: Enhance Profile Page: Avatar Upload, Heatmap Improvements, and Styling Updates

🔷 Description:

This PR introduces several enhancements to the profile page to improve UX and UI:

✅ Added avatar upload functionality and storage via localStorage.
✅ Displayed the Activity Heatmap title inside the heatmap card above month columns.
✅ Updated .achievement-card.earned styling with blue glow effect.
✅ Fixed layout to ensure months appear horizontally in the heatmap.
✅ Lightened background colors for better readability and visual appeal.

🔷 Issue Fixed:

Closes #88

🔷 Screenshots:

Streak Tracker via a monthly heatmap.

Screenshot (1233)

Progress Bar fixed

Screenshot (1234)

Recent Activity UI enhanced.

Screenshot (1235)

Achievements now have a glow effect.

Screenshot (1236)

Upon clicking the avatar button, we can now upload our own avatar file from local system.

Screenshot (1237)

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Greptile Summary

This PR enhances the CodeClip profile page with several user experience improvements, addressing Issue #88. The changes introduce avatar upload functionality that allows users to click their profile avatar to upload a custom image, which is then stored in localStorage for persistence across sessions. The implementation uses the FileReader API to convert uploaded images to base64 data URLs.

The PR adds a comprehensive activity heatmap displaying a 12-month grid layout with individual day cells, providing visual tracking of user coding activity. The heatmap is structured horizontally with month columns and includes proper labeling. Additionally, the styling has been updated with a cohesive light blue theme, including a blue glow effect for earned achievement cards and lightened background colors throughout the profile sections.

These changes integrate with CodeClip's existing client-side architecture, following the established pattern of using localStorage for data persistence (similar to how user progress and completed challenges are stored). The avatar functionality enhances user personalization, while the heatmap provides gamification elements to encourage consistent coding practice.

Confidence score: 2/5

  • This PR has significant implementation issues that could cause problems in production, particularly around code quality and maintainability.
  • The score reflects concerns about duplicate code in scripts/app.js, a massive hardcoded heatmap structure that doesn't represent real data, missing error handling for file operations, and potential localStorage quota issues.
  • Files needing attention: scripts/app.js (duplicate code cleanup, error handling), pages/profile.html (hardcoded heatmap implementation, CSS optimization)

3 files reviewed, 1 comment

Edit Code Review Bot Settings | Greptile

@adityai0
Copy link
Member

@Shrutik-0101 resolve merge conflicts

@adityai0 adityai0 merged commit a45c53d into opensource-society:main Jul 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Revamp Profile Page for Layout, Progress Bars & Avatar Upload

2 participants