refactor: optimize universities page layout and card design#16
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
More reviews will be available in 8 minutes and 19 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAbout now renders several landing sections with separate loading fallbacks, Home shows only Hero and Universities, and the universities landing page changes its layout, search UI, branch data, and available-university navigation. ChangesPublic landing pages and universities UI
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@features/landing/universities.tsx`:
- Line 111: The search placeholder in the universities landing component is
misleading because the current filter logic only matches university text and
branches, not location. Update the search behavior in the universities
filter/predicate to also handle location if that is intended, using the relevant
search handler in universities.tsx, or change the placeholder text to match the
actual fields being searched so the UI and logic stay aligned.
- Around line 130-133: The clickable university card in the landing universities
component is using window.location.href on a motion.div and the “Explore
University” CTA is still a div, so restore semantic navigation by switching the
card/CTA to a real Link or button in universities.tsx. Update the available-card
interaction in the render logic around university.status and the Explore
University CTA so keyboard users can tab to and activate it, and use router.push
or Link for the internal /rgpv route instead of direct window.location.href.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0a810492-ef0e-4114-aa3e-b97123094cd3
📒 Files selected for processing (3)
app/(public)/about/page.tsxapp/(public)/page.tsxfeatures/landing/universities.tsx
| aria-label="Search universities" | ||
| value={searchQuery} | ||
| onChange={(e) => setSearchQuery(e.target.value)} | ||
| placeholder="Search universities by name, branch, or location..." |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Align the placeholder with the actual filter.
The UI promises location search here, but this component only filters by university text and branches. Either add a location field to the predicate or drop “location” from the placeholder.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@features/landing/universities.tsx` at line 111, The search placeholder in the
universities landing component is misleading because the current filter logic
only matches university text and branches, not location. Update the search
behavior in the universities filter/predicate to also handle location if that is
intended, using the relevant search handler in universities.tsx, or change the
placeholder text to match the actual fields being searched so the UI and logic
stay aligned.
| onClick={() => { | ||
| if (university.status === "Available") { | ||
| window.location.href = university.href; | ||
| } |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
printf '\n== File outline ==\n'
ast-grep outline features/landing/universities.tsx --view expanded || true
printf '\n== Targeted excerpt (120-220) ==\n'
sed -n '120,220p' features/landing/universities.tsx
printf '\n== Navigation-related search in file ==\n'
rg -n --hidden --no-ignore-vcs 'window\.location\.href|router\.push|<Link\b|role="link"|tabIndex|onKeyDown|onKeyUp|onKeyPress|button' features/landing/universities.tsx || trueRepository: imuniqueshiv/HyperLearningTech
Length of output: 6264
🏁 Script executed:
#!/bin/bash
set -euo pipefail
sed -n '1,110p' features/landing/universities.tsxRepository: imuniqueshiv/HyperLearningTech
Length of output: 5265
Restore semantic navigation for the available cards.
The card is a clickable motion.div using window.location.href, and the visible “Explore University” CTA is also a div, so keyboard users can’t focus or activate it. Use a real Link/button (or add full keyboard semantics plus router.push()), especially for the internal /rgpv route.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@features/landing/universities.tsx` around lines 130 - 133, The clickable
university card in the landing universities component is using
window.location.href on a motion.div and the “Explore University” CTA is still a
div, so restore semantic navigation by switching the card/CTA to a real Link or
button in universities.tsx. Update the available-card interaction in the render
logic around university.status and the Explore University CTA so keyboard users
can tab to and activate it, and use router.push or Link for the internal /rgpv
route instead of direct window.location.href.
🎉 Congratulations @nitinmohan18!Thank you for contributing to HyperLearningTech. Your pull request has been successfully merged into main. 📦 Merge Summary
🚀 Keep Contributing
Thank you for helping make HyperLearningTech better. Happy Coding! 🚀 |
Pull Request
Summary
Optimized the Universities page layout to fit standard laptop screens without unnecessary scrolling while preserving the existing design system.
Improved the hero section, spacing, university cards, responsiveness, and overall user experience for a cleaner and more polished interface.
Related Issue
N/A
Type of Change
What Changed?
Screenshots (UI Changes Only)
Updated the Universities page layout, hero section, search area, statistics, and university cards.
Testing
Checklist
npm run format:checkpasses.npm run lintpasses.npm run typecheckpasses.npm run buildpasses.Additional Notes
This PR focuses on improving the Universities page layout and user experience without changing the application's existing functionality or design language.