Merge version_2 into main

Merge version_2 into main
This commit was merged in pull request #1.
This commit is contained in:
2026-05-10 06:39:57 +00:00
5 changed files with 217 additions and 331 deletions

View File

@@ -0,0 +1,32 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function LiveClassPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
navItems={[{ name: "Home", id: "/" }, { name: "Live Class", id: "/live-class" }, { name: "Teachers", id: "/teachers" }]}
brandName="EduPortal"
/>
<div className="pt-32 pb-20 px-6 max-w-7xl mx-auto min-h-screen">
<h1 className="text-4xl font-bold mb-8">Live Classroom</h1>
<div className="grid lg:grid-cols-3 gap-8">
<div className="lg:col-span-2 aspect-video bg-neutral-900 rounded-xl flex items-center justify-center border-2 border-white/10">
<p className="text-white opacity-50">Streaming Interface (Teacher Only)</p>
</div>
<div className="bg-neutral-900/50 p-6 rounded-xl border border-white/10">
<h3 className="font-bold mb-4">Live Chat</h3>
<div className="h-[400px] overflow-y-auto mb-4 border-b border-white/10"></div>
<input type="text" placeholder="Type a message..." className="w-full p-2 rounded bg-neutral-800 text-white" />
</div>
</div>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -11,8 +11,14 @@ import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatin
import PricingCardTwo from '@/components/sections/pricing/PricingCardTwo';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TeamCardFive from '@/components/sections/team/TeamCardFive';
import { useState } from 'react';
export default function LandingPage() {
const [language, setLanguage] = useState<'EN' | 'HI'>('EN');
const profileTitle = language === 'EN' ? "Student Profile" : "छात्र प्रोफ़ाइल";
const profileDesc = language === 'EN' ? "Manage your settings, language preferences, and social links." : "अपनी सेटिंग्स, भाषा प्राथमिकताएं और सोशल लिंक प्रबंधित करें।";
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
@@ -30,22 +36,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{
name: "Home",
id: "hero",
},
{
name: "Classes",
id: "classes",
},
{
name: "Live",
id: "live",
},
{
name: "Profile",
id: "profile",
},
{ name: "Home", id: "hero" },
{ name: "Classes", id: "classes" },
{ name: "Live", id: "live" },
{ name: "Profile", id: "profile" },
]}
brandName="EduPortal"
/>
@@ -53,73 +47,18 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroSplitKpi
background={{
variant: "plain",
}}
background={{ variant: "plain" }}
title="Learn Anytime, Anywhere"
description="Unlock your potential with expert-led courses across all grades. Join our vibrant community of learners today."
kpis={[
{
value: "100+",
label: "Expert Teachers",
},
{
value: "5k+",
label: "Active Students",
},
{
value: "24/7",
label: "Live Support",
},
{ value: "100+", label: "Expert Teachers" },
{ value: "5k+", label: "Active Students" },
{ value: "24/7", label: "Live Support" },
]}
enableKpiAnimation={true}
imageSrc="http://img.b2bpic.net/free-photo/learning-concept-close-up-student-using-laptop-alibrary_1150-16609.jpg"
mediaAnimation="slide-up"
avatars={[
{
src: "http://img.b2bpic.net/free-photo/photo-dark-skinned-woman-sits-front-opened-laptop_273609-28630.jpg",
alt: "Portrait of student 1",
},
{
src: "http://img.b2bpic.net/free-photo/team-work-concept-black-clever-female-teacher-her-pupil-watch-training-video-together-focused-into-laptop-computer-connected-internet-sit-desktop-with-notepad-making-records_273609-29245.jpg",
alt: "Portrait of student 2",
},
{
src: "http://img.b2bpic.net/free-photo/work-net_1098-16441.jpg",
alt: "Portrait of student 3",
},
{
src: "http://img.b2bpic.net/free-photo/row-serious-focused-coworkers-sitting-table-typing-laptops_74855-10363.jpg",
alt: "Portrait of student 4",
},
{
src: "http://img.b2bpic.net/free-photo/teen-girl-glasses-blurred-background-closeup_169016-39385.jpg",
alt: "Portrait of student 5",
},
]}
avatarText="Join 5k+ students"
marqueeItems={[
{
type: "text",
text: "Mathematics",
},
{
type: "text",
text: "Science & Biology",
},
{
type: "text",
text: "Physics",
},
{
type: "text",
text: "English Literature",
},
{
type: "text",
text: "History & Archaeology",
},
]}
/>
</div>
@@ -127,38 +66,10 @@ export default function LandingPage() {
<FeatureCardTwelve
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
features={[
{
id: "c6",
label: "Grade 6",
title: "Primary Level",
items: [
"Maths",
"Science",
"English",
],
},
{
id: "c9",
label: "Grade 9",
title: "Secondary Level",
items: [
"Physics",
"History",
"Algebra",
],
},
{
id: "c12",
label: "Grade 12",
title: "Advanced Level",
items: [
"Calculus",
"Chemistry",
"Economics",
],
},
{ id: "c6", label: "Grade 6", title: "Primary Level", items: ["Maths", "Science", "English"] },
{ id: "c9", label: "Grade 9", title: "Secondary Level", items: ["Physics", "History", "Algebra"] },
{ id: "c12", label: "Grade 12", title: "Advanced Level", items: ["Calculus", "Chemistry", "Economics"] },
]}
title="Select Your Class"
description="Explore curated subjects for your grade level."
@@ -171,62 +82,6 @@ export default function LandingPage() {
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={true}
products={[
{
id: "v1",
brand: "Maths",
name: "Algebra Basics",
price: "Lesson 1",
rating: 5,
reviewCount: "1.2k reviews",
imageSrc: "http://img.b2bpic.net/free-photo/annoyed-young-caucasian-geometry-teacher-wearing-glasses-sitting-desk-with-school-supplies-classroom-holding-pointer-stick-looking-front-showing-empty-hand_141793-119582.jpg",
},
{
id: "v2",
brand: "Science",
name: "Biology 101",
price: "Lesson 2",
rating: 5,
reviewCount: "890 reviews",
imageSrc: "http://img.b2bpic.net/free-photo/boy-looking-flasks-with-liquid-teacher_259150-60278.jpg",
},
{
id: "v3",
brand: "Physics",
name: "Kinematics",
price: "Lesson 3",
rating: 5,
reviewCount: "750 reviews",
imageSrc: "http://img.b2bpic.net/free-photo/kids-learning-more-about-chemistry-class_23-2149068341.jpg",
},
{
id: "v4",
brand: "English",
name: "Grammar",
price: "Lesson 4",
rating: 5,
reviewCount: "620 reviews",
imageSrc: "http://img.b2bpic.net/free-photo/horizontal-shot-dark-skinned-man-has-intention-keeps-hands-together-feels-pleased-wears-spectacles_273609-24714.jpg",
},
{
id: "v5",
brand: "History",
name: "Ancient Rome",
price: "Lesson 5",
rating: 5,
reviewCount: "510 reviews",
imageSrc: "http://img.b2bpic.net/free-photo/digital-art-old-map-with-terrain-locations_23-2151445176.jpg",
},
{
id: "v6",
brand: "Chemistry",
name: "Molecule Bonding",
price: "Lesson 6",
rating: 5,
reviewCount: "980 reviews",
imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-female-chemist-sitting-white-suit-with-different-solutions-holding-white-sign-yellow-space-chemistry-science-process_140725-28973.jpg",
},
]}
title="Chapter Videos"
description="Master your subjects with high-quality teacher uploads."
/>
@@ -236,41 +91,8 @@ export default function LandingPage() {
<BlogCardTwo
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
title="Short Learning Reels"
description="Engage with bite-sized educational content from teachers."
blogs={[
{
id: "r1",
category: "Maths",
title: "Cool Algebra Trick",
excerpt: "30 sec lifehack",
imageSrc: "http://img.b2bpic.net/free-photo/numerology-concept-with-book_23-2150354497.jpg",
authorName: "Sir John",
authorAvatar: "http://img.b2bpic.net/free-photo/close-up-young-business-person-doing-internship_23-2149305396.jpg",
date: "10m ago",
},
{
id: "r2",
category: "Physics",
title: "Gravity Demo",
excerpt: "Physics in action",
imageSrc: "http://img.b2bpic.net/free-photo/vocabulary-lessons-happy-female-teacher-using-flashcards-teach-letters-alphabet-preschool-little-kids-virtual-class_662251-2459.jpg",
authorName: "Teacher Sarah",
authorAvatar: "http://img.b2bpic.net/free-photo/young-students-classroom_329181-13030.jpg",
date: "15m ago",
},
{
id: "r3",
category: "Science",
title: "Chemical Reaction",
excerpt: "Don't try this at home",
imageSrc: "http://img.b2bpic.net/free-photo/teacher-doing-english-lesson-online-his-students_23-2148963009.jpg",
authorName: "Prof Mike",
authorAvatar: "http://img.b2bpic.net/free-photo/elegant-man-portrait_23-2148831154.jpg",
date: "1h ago",
},
]}
/>
</div>
@@ -279,53 +101,6 @@ export default function LandingPage() {
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={true}
plans={[
{
id: "p1",
badge: "Live",
price: "Maths",
subtitle: "Starts at 5:00 PM",
buttons: [
{
text: "Join Chat",
},
],
features: [
"Interactive session",
"Live Q&A",
],
},
{
id: "p2",
badge: "Live",
price: "Physics",
subtitle: "Starts at 6:00 PM",
buttons: [
{
text: "Join Chat",
},
],
features: [
"Theory recap",
"Practice sets",
],
},
{
id: "p3",
badge: "Live",
price: "Biology",
subtitle: "Starts at 7:00 PM",
buttons: [
{
text: "Join Chat",
},
],
features: [
"Visual diagrams",
"Notes provided",
],
},
]}
title="Live Classes"
description="Join live sessions with your favorite teachers."
/>
@@ -335,61 +110,30 @@ export default function LandingPage() {
<TeamCardFive
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
team={[
{
id: "t1",
name: "Sir John",
role: "Maths Expert",
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-black-man-posing-public-library_74855-1508.jpg",
},
{
id: "t2",
name: "Teacher Sarah",
role: "Science Head",
imageSrc: "http://img.b2bpic.net/free-photo/young-student-girl-glasses-with-pigtails-white-shirt-looking-front-smiling-confident-standing-pink-wall_141793-48066.jpg",
},
{
id: "t3",
name: "Prof Mike",
role: "History Specialist",
imageSrc: "http://img.b2bpic.net/free-photo/young-students-classroom_329181-13026.jpg",
},
{
id: "t4",
name: "Dr. Emily",
role: "Chemistry Pro",
imageSrc: "http://img.b2bpic.net/free-photo/attentive-aged-math-teacher-glasses_23-2148201022.jpg",
},
]}
title="Our Teachers"
description="Connect and follow our expert educators."
/>
</div>
<div id="profile" data-section="profile">
<ContactSplitForm
useInvertedBackground={true}
title="Student Profile"
description="Manage your settings, language preferences, and social links."
inputs={[
{
name: "name",
type: "text",
placeholder: "Your Name",
},
{
name: "email",
type: "email",
placeholder: "Email/Google",
},
]}
textarea={{
name: "bio",
placeholder: "Enter bio...",
}}
imageSrc="http://img.b2bpic.net/free-photo/close-up-portrait-young-beautiful-attractive-tender-ginger-redhair-girl-happy-smiling-digital-table-with-wining-something-blue-pastel-background-copy-space_1258-128506.jpg"
/>
<div className="bg-card p-8 rounded-3xl shadow-xl border border-accent/20">
<div className="flex justify-between items-center mb-8">
<h2 className="text-4xl font-bold">{profileTitle}</h2>
<div className="flex gap-2">
<button onClick={() => setLanguage('EN')} className={`px-4 py-2 rounded-full ${language === 'EN' ? 'bg-primary text-white' : 'bg-secondary'}`}>EN</button>
<button onClick={() => setLanguage('HI')} className={`px-4 py-2 rounded-full ${language === 'HI' ? 'bg-primary text-white' : 'bg-secondary'}`}>HI</button>
</div>
</div>
<p className="text-lg mb-8 opacity-80">{profileDesc}</p>
<div className="grid grid-cols-1 md:grid-cols-2 gap-8 items-center">
<img src="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png" className="rounded-2xl w-full shadow-2xl" alt="Profile" />
<div className="space-y-4">
<a href="#" className="block p-4 border border-accent rounded-xl hover:bg-accent/10">Twitter / X</a>
<a href="#" className="block p-4 border border-accent rounded-xl hover:bg-accent/10">LinkedIn</a>
<a href="#" className="block p-4 border border-accent rounded-xl hover:bg-accent/10">GitHub</a>
</div>
</div>
</div>
</div>
<div id="footer" data-section="footer">
@@ -397,49 +141,13 @@ export default function LandingPage() {
imageSrc="http://img.b2bpic.net/free-photo/laptop-notepad-paper-reminder-yellow-background-top-view_169016-39042.jpg"
logoText="EduPortal"
columns={[
{
title: "Navigation",
items: [
{
label: "Home",
href: "#hero",
},
{
label: "Classes",
href: "#classes",
},
],
},
{
title: "Socials",
items: [
{
label: "Instagram",
href: "#",
},
{
label: "Facebook",
href: "#",
},
],
},
{
title: "Legal",
items: [
{
label: "Privacy",
href: "#",
},
{
label: "Terms",
href: "#",
},
],
},
{ title: "Navigation", items: [{ label: "Home", href: "#hero" }, { label: "Classes", href: "#classes" }] },
{ title: "Socials", items: [{ label: "Instagram", href: "#" }, { label: "Facebook", href: "#" }] },
{ title: "Legal", items: [{ label: "Privacy", href: "#" }, { label: "Terms", href: "#" }] },
]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

56
src/app/reels/page.tsx Normal file
View File

@@ -0,0 +1,56 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import BlogCardThree from '@/components/sections/blog/BlogCardThree';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function ReelsPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumLarge"
sizing="mediumLarge"
background="grid"
cardStyle="subtle-shadow"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
headingFontWeight="medium"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Videos", id: "/videos" },
{ name: "Reels", id: "/reels" },
]}
brandName="EduPortal"
/>
</div>
<div id="reels-content" data-section="reels-content">
<BlogCardThree
title="Educational Reels"
description="Short, smooth animations for quick learning."
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
blogs={[
{ id: "1", category: "Physics", title: "Gravity Hack", excerpt: "Quick physics demo", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png", authorName: "Admin", authorAvatar: "", date: "2m ago" }
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/laptop-notepad-paper-reminder-yellow-background-top-view_169016-39042.jpg"
logoText="EduPortal"
columns={[]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

32
src/app/teachers/page.tsx Normal file
View File

@@ -0,0 +1,32 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import TeamCardOne from '@/components/sections/team/TeamCardOne';
export default function TeachersDirectoryPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
navItems={[{ name: "Home", id: "/" }, { name: "Live Class", id: "/live-class" }, { name: "Teachers", id: "/teachers" }]}
brandName="EduPortal"
/>
<div className="pt-32 pb-20">
<TeamCardOne
title="Teacher Directory"
description="Discover our glowing stars in education."
animationType="blur-reveal"
gridVariant="bento-grid"
members={[
{ id: "t1", name: "Sir John", role: "Maths Expert", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png" },
{ id: "t2", name: "Sarah Teacher", role: "Science Head", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png" }
]}
className="glow-effect"
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

58
src/app/videos/page.tsx Normal file
View File

@@ -0,0 +1,58 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ProductCardFour from '@/components/sections/product/ProductCardFour';
import FooterMedia from '@/components/sections/footer/FooterMedia';
export default function VideoPage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
contentWidth="mediumLarge"
sizing="mediumLarge"
background="grid"
cardStyle="subtle-shadow"
primaryButtonStyle="shadow"
secondaryButtonStyle="layered"
headingFontWeight="medium"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Videos", id: "/videos" },
{ name: "Reels", id: "/reels" },
]}
brandName="EduPortal"
/>
</div>
<div id="video-content" data-section="video-content">
<ProductCardFour
title="Chapter-wise Videos"
description="Browse learning material filtered by your preferred subject."
gridVariant="bento-grid"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
products={[
{ id: "1", name: "Mathematics", variant: "Calculus Basics", price: "Lesson 1", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png" },
{ id: "2", name: "Physics", variant: "Kinematics", price: "Lesson 2", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3DWOyL1bzOiv10ehHhaFjaIeseb/uploaded-1778395176655-kaqs298t.png" },
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/laptop-notepad-paper-reminder-yellow-background-top-view_169016-39042.jpg"
logoText="EduPortal"
columns={[]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}