From 425c2e142784ae68ba5ad8900916315a4f15dec8 Mon Sep 17 00:00:00 2001 From: nitin mohan Date: Sat, 27 Jun 2026 15:40:04 +0530 Subject: [PATCH 1/2] refactor: optimize universities page layout and card design --- app/(public)/about/page.tsx | 27 ++++++- app/(public)/page.tsx | 21 +---- features/landing/universities.tsx | 125 +++++++++++++++++------------- 3 files changed, 100 insertions(+), 73 deletions(-) diff --git a/app/(public)/about/page.tsx b/app/(public)/about/page.tsx index 364d329..af06421 100644 --- a/app/(public)/about/page.tsx +++ b/app/(public)/about/page.tsx @@ -1,3 +1,28 @@ +import Stats from "@/features/landing/stats"; +import Features from "@/features/landing/features"; +import AIDemo from "@/features/landing/ai-demo"; +import Testimonials from "@/features/landing/testimonials"; +import FAQ from "@/features/landing/faq"; +import { Suspense } from "react"; + export default function AboutPage() { - return
About Page
; + return ( + <> + }> + + + }> + + + }> + + + }> + + + }> + + + + ); } diff --git a/app/(public)/page.tsx b/app/(public)/page.tsx index e5ec83b..38169e6 100644 --- a/app/(public)/page.tsx +++ b/app/(public)/page.tsx @@ -1,34 +1,15 @@ import Hero from "@/features/landing/hero"; -import Stats from "@/features/landing/stats"; -import Features from "@/features/landing/features"; -import AIDemo from "@/features/landing/ai-demo"; import Universities from "@/features/landing/universities"; -import Testimonials from "@/features/landing/testimonials"; -import FAQ from "@/features/landing/faq"; import { Suspense } from "react"; export default function HomePage() { return ( <> - }> - - - }> - - - }> - - }> - }> - - - }> - - + ); } diff --git a/features/landing/universities.tsx b/features/landing/universities.tsx index 61a5398..d4e8208 100644 --- a/features/landing/universities.tsx +++ b/features/landing/universities.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; -import { GraduationCap, ArrowRight, Sparkles, Search } from "lucide-react"; +import { GraduationCap, ArrowRight, Sparkles, Search, Building2, BookOpen, Clock } from "lucide-react"; const universities = [ { @@ -22,7 +22,7 @@ const universities = [ fullName: "Dr. A.P.J. Abdul Kalam Technical University", description: "Future expansion planned with syllabus mapping, PYQs, and AI-powered learning resources.", - branches: ["Coming Soon"], + branches: ["CSE", "IT", "ECE", "ME", "CE"], status: "Coming Soon", href: "#", }, @@ -32,7 +32,7 @@ const universities = [ fullName: "Rajasthan Technical University", description: "Planned support for engineering students with AI-assisted learning workflows.", - branches: ["Coming Soon"], + branches: ["CSE", "AI/ML", "IT", "EE", "ME"], status: "Coming Soon", href: "#", }, @@ -54,37 +54,40 @@ export default function Universities() { return (
- {/* Background Glows - No grid pattern */} + {/* Background Glows & Patterns */} +
-
-
+
+
-
+
{/* Header */} - - - University Support - +
+
+
+ + University Support +
+
-

+

Learn Across - + Universities

-

+

Hyper Learning is designed to evolve into a multi-university learning platform. Start with RGPV and expand to universities across India. @@ -97,53 +100,63 @@ export default function Universities() { whileInView={{ opacity: 1, y: 0 }} transition={{ duration: 0.5, delay: 0.1 }} viewport={{ once: true }} - className="mx-auto mb-16 max-w-2xl" + className="mx-auto mb-10 max-w-2xl" > -

-
- -
+
setSearchQuery(e.target.value)} placeholder="Search universities by name, branch, or location..." - className="w-full rounded-2xl border border-border bg-background/50 py-4 pl-12 pr-4 text-sm text-foreground shadow-sm backdrop-blur-md transition-all focus:border-[#1D4ED8] focus:outline-none focus:ring-1 focus:ring-[#1D4ED8]" + className="w-full bg-transparent px-6 py-3 text-base text-foreground placeholder:text-muted-foreground/50 focus:outline-none" /> +
+
+
+ +
{/* Cards */} -
+
{filteredUniversities.length > 0 ? ( filteredUniversities.map((university) => ( { + if (university.status === "Available") { + window.location.href = university.href; + } + }} initial={{ opacity: 0, scale: 0.9 }} animate={{ opacity: 1, scale: 1 }} exit={{ opacity: 0, scale: 0.9 }} transition={{ duration: 0.3 }} - className="group relative overflow-hidden rounded-3xl border border-border bg-background/80 p-8 shadow-lg backdrop-blur-sm transition-all duration-300 hover:-translate-y-1 hover:border-blue-200 hover:shadow-xl dark:hover:border-blue-500/30" + className={`group relative flex flex-col overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-b from-white/5 to-transparent p-5 shadow-2xl backdrop-blur-xl transition-all duration-500 hover:-translate-y-2 hover:border-blue-500/30 hover:shadow-blue-500/20 dark:from-white/5 dark:to-transparent ${ + university.status === "Available" ? "cursor-pointer" : "" + }`} > +
{/* Hover Glow */} -
-
+
+
{/* Badge */} -
-
+
+
{university.status} @@ -151,44 +164,52 @@ export default function Universities() {
{/* Content */} -
-

+
+

{university.name}

-

+

{university.fullName}

-

+

{university.description}

-
+
{university.branches.map((branch) => ( {branch} ))}
- {university.status === "Available" ? ( - - Explore University - - - ) : ( -
- - Planned Expansion -
- )} +
+ {university.status === "Available" ? ( +
+
+ + Explore University + + +
+ ) : ( +
+ + Planned Expansion +
+ )} +
)) From 1cadf9d46aa5e026276866dff9dd4baf9cf85d0f Mon Sep 17 00:00:00 2001 From: nitin mohan Date: Sat, 27 Jun 2026 15:47:56 +0530 Subject: [PATCH 2/2] style: apply Prettier formatting --- app/(public)/page.tsx | 1 - features/landing/universities.tsx | 27 ++++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/app/(public)/page.tsx b/app/(public)/page.tsx index 38169e6..9a59204 100644 --- a/app/(public)/page.tsx +++ b/app/(public)/page.tsx @@ -9,7 +9,6 @@ export default function HomePage() { }> - ); } diff --git a/features/landing/universities.tsx b/features/landing/universities.tsx index d4e8208..f0888bf 100644 --- a/features/landing/universities.tsx +++ b/features/landing/universities.tsx @@ -3,7 +3,15 @@ import Link from "next/link"; import { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; -import { GraduationCap, ArrowRight, Sparkles, Search, Building2, BookOpen, Clock } from "lucide-react"; +import { + GraduationCap, + ArrowRight, + Sparkles, + Search, + Building2, + BookOpen, + Clock, +} from "lucide-react"; const universities = [ { @@ -53,9 +61,7 @@ export default function Universities() { }); return ( -
+
{/* Background Glows & Patterns */}
@@ -63,7 +69,10 @@ export default function Universities() {
-
+
{/* Header */}
- University Support + + University Support +
@@ -194,9 +205,7 @@ export default function Universities() {
{university.status === "Available" ? ( -
+
Explore University