Skip to content

Comments

Profile page updation#130

Merged
aviralsaxena16 merged 3 commits intoOpenLake:mainfrom
aviralsaxena16:Profile_page_updation
Dec 12, 2025
Merged

Profile page updation#130
aviralsaxena16 merged 3 commits intoOpenLake:mainfrom
aviralsaxena16:Profile_page_updation

Conversation

@aviralsaxena16
Copy link
Member

@aviralsaxena16 aviralsaxena16 commented Dec 12, 2025

Summary by CodeRabbit

  • New Features

    • Added rank progression tracking with dynamic progress bars and color-coded visualization.
    • Introduced streak tracking system with calendar view and danger indicators.
  • Bug Fixes & Improvements

    • Replaced emoji icons with professional icon components for better visual consistency.
    • Simplified image upload flow for improved stability.
    • Enhanced user data persistence and consistency across profile loading.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Dec 12, 2025

@aviralsaxena16 is attempting to deploy a commit to the aviralsaxena16's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link

🎉 Thanks for Your Contribution to CanonForces! ☺️

We'll review it as soon as possible. In the meantime, please:

  • ✅ Double-check the file changes.
  • ✅ Ensure that all commits are clean and meaningful.
  • ✅ Link the PR to its related issue (e.g., Closes #123).
  • ✅ Resolve any unaddressed review comments promptly.

💬 Need help or want faster feedback?
Join our Discord 👉 CanonForces Discord

Thanks again for contributing 🙌 – @aviralsaxena16!
cc: @aviralsaxena16

@coderabbitai
Copy link

coderabbitai bot commented Dec 12, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR enhances the Profile component with Codeforces-style ranking progress visualization, streak tracking with calendar display, and improved icon consistency using HeroIcon components. The Cloudinary image upload endpoint is simplified to use unsigned uploads, returning only configuration values instead of computing signatures. TypeScript JSX handling is updated to use the automatic runtime.

Changes

Cohort / File(s) Summary
Profile component enhancements
src/common/components/Profile/Profile.tsx
Adds HeroIcon components for profile stats display; introduces rank thresholds map and getProgressToNextRank() utility for Codeforces ranking; preserves Firestore docId during user data loading; simplifies Cloudinary upload flow with response parsing; implements dynamic rank progress bar with color-coded gradients; adds streak tracking and calendar display with danger-state indicators; updates stats labels and title formatting.
Cloudinary API simplification
src/pages/api/sign-cloudinary-upload.ts
Removes Cloudinary SDK and signature generation; implements unsigned upload configuration endpoint returning only cloud_name and upload_preset; adds validation for required NEXT_PUBLIC_ environment variables with error handling.
TypeScript configuration
tsconfig.json
Updates JSX compiler option from "preserve" to "react-jsx" for automatic runtime handling.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Cloudinary unsigned upload flow: Verify security implications and proper env var handling for the shift from signed to unsigned uploads
  • Rank threshold logic: Confirm getProgressToNextRank() computation and rankThresholds map are accurate for Codeforces-style progression
  • Streak calculation and rendering: Review streak detection, calendar generation, and danger-state logic for correctness
  • Profile data loading (docId preservation): Ensure user object mutations and data flow maintain consistency across user/current-user loading paths
  • Icon component integration: Verify icon imports and prop configurations render correctly across different profile stats

Possibly related PRs

  • feat: profile page redesign #119 #125: Overlaps with this PR in modifying the Profile component to add Codeforces rank/color helpers, streak/calendar logic, CF progress rendering, and Cloudinary image upload flows, suggesting parallel or dependent changes to shared functions and UI elements.

Suggested reviewers

  • Jagath-P

Poem

🐰 Hop through the ranks with pride so bright,
Icons gleaming, progress in sight,
Cloudinary clouds now simple and free,
Streaks of achievement for all to see,
React's quick JSX, automatic delight!

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dfa9823 and a1bce38.

📒 Files selected for processing (3)
  • src/common/components/Profile/Profile.tsx (9 hunks)
  • src/pages/api/sign-cloudinary-upload.ts (1 hunks)
  • tsconfig.json (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@aviralsaxena16 aviralsaxena16 merged commit e7357c7 into OpenLake:main Dec 12, 2025
1 of 3 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Jan 23, 2026
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.

1 participant