Skip to content

refactor: optimize universities page layout and card design#16

Merged
imuniqueshiv merged 3 commits into
mainfrom
feature/layout-transition
Jun 27, 2026
Merged

refactor: optimize universities page layout and card design#16
imuniqueshiv merged 3 commits into
mainfrom
feature/layout-transition

Conversation

@nitinmohan18

@nitinmohan18 nitinmohan18 commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

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

  • Feature
  • Bug Fix
  • Documentation
  • Refactor
  • Performance Improvement
  • CI / Build
  • Other

What Changed?

  • Optimized the Universities page layout for laptop viewports.
  • Reduced unnecessary vertical spacing to minimize scrolling.
  • Improved the hero section hierarchy, typography, and spacing.
  • Refined the search section and statistics layout.
  • Enhanced university cards with improved content structure and alignment.
  • Improved card responsiveness and consistency across screen sizes.
  • Added smoother UI interactions and animations while preserving the existing design language.
  • Kept the dark theme, colors, and overall visual identity unchanged.

Screenshots (UI Changes Only)

Updated the Universities page layout, hero section, search area, statistics, and university cards.


Testing

  • Tested locally in development.
  • Verified layout on standard laptop viewports.
  • Tested responsive behavior on desktop and smaller screen sizes.
  • Confirmed university navigation works correctly.
  • Verified no existing functionality was broken.

Checklist

  • My branch is up to date with the latest main.
  • My code follows the project's coding standards.
  • I have formatted the modified files.
  • npm run format:check passes.
  • npm run lint passes.
  • npm run typecheck passes.
  • npm run build passes.
  • I have updated documentation if required.
  • I have tested my changes locally.
  • This Pull Request focuses on a single feature or fix.

Additional Notes

This PR focuses on improving the Universities page layout and user experience without changing the application's existing functionality or design language.

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hyper-learning-tech Ready Ready Preview, Comment Jun 27, 2026 10:35am

@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@imuniqueshiv, we couldn't start this review because you've reached your PR review rate limit.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4fa6ebed-fab1-484b-987e-f1f6ab49e5d2

📥 Commits

Reviewing files that changed from the base of the PR and between 425c2e1 and cdf5f65.

📒 Files selected for processing (2)
  • app/(public)/page.tsx
  • features/landing/universities.tsx
📝 Walkthrough

Walkthrough

About 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.

Changes

Public landing pages and universities UI

Layer / File(s) Summary
About and home shell changes
app/(public)/about/page.tsx, app/(public)/page.tsx
About renders Stats, Features, AIDemo, Testimonials, and FAQ in separate Suspense boundaries; Home removes those sections and keeps only Hero plus Universities.
Universities layout, search, and navigation
features/landing/universities.tsx
The universities section updates its icons, branch lists for AKTU and RTU, section/header layout, search bar markup, card styling, and available-university click handling.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • imuniqueshiv

Poem

A bunny hops by, ears held high 🐰
With Suspense nests beneath the sky
Home trims the trail, About blooms bright
Universities sparkle in a new light
Hop hop, the landing pages dance tonight

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main universities page layout and card redesign, which matches the largest UI-focused change set.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/layout-transition

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

📥 Commits

Reviewing files that changed from the base of the PR and between 0b2c147 and 425c2e1.

📒 Files selected for processing (3)
  • app/(public)/about/page.tsx
  • app/(public)/page.tsx
  • features/landing/universities.tsx

aria-label="Search universities"
value={searchQuery}
onChange={(e) => setSearchQuery(e.target.value)}
placeholder="Search universities by name, branch, or location..."

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 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.

Comment on lines +130 to +133
onClick={() => {
if (university.status === "Available") {
window.location.href = university.href;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 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 || true

Repository: imuniqueshiv/HyperLearningTech

Length of output: 6264


🏁 Script executed:

#!/bin/bash
set -euo pipefail

sed -n '1,110p' features/landing/universities.tsx

Repository: 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.

@imuniqueshiv imuniqueshiv merged commit fcb4f0f into main Jun 27, 2026
4 checks passed
@github-actions

Copy link
Copy Markdown

🎉 Congratulations @nitinmohan18!

Thank you for contributing to HyperLearningTech.

Your pull request has been successfully merged into main.

📦 Merge Summary

🚀 Keep Contributing

  • Follow the CONTRIBUTING.md guidelines.
  • Keep each Pull Request focused on a single feature or fix.
  • Run formatting, linting, type checking, and a production build before opening a PR.

Thank you for helping make HyperLearningTech better.

Happy Coding! 🚀

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.

2 participants