Compare commits
4 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c63564f26 | |||
|
|
6844094da7 | ||
| 54606d7d96 | |||
| 89481cc153 |
@@ -1,171 +1,40 @@
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import FeaturesComparison from '@/components/sections/features/FeaturesComparison';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import TeamListCards from '@/components/sections/team/TeamListCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import FeaturesComparisonSection from './HomePage/sections/FeaturesComparison';
|
||||
import FeaturesRevealSection from './HomePage/sections/FeaturesReveal';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TeamSection from './HomePage/sections/Team';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
import DashboardSection from './HomePage/sections/Dashboard';
|
||||
import EnrollmentSection from './HomePage/sections/Enrollment';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Homeschooling Education Hub"
|
||||
title="Empowering Future Generations"
|
||||
description="A comprehensive, university-inspired registration platform for our community hub. Track progress, schedule, and flourish together."
|
||||
primaryButton={{
|
||||
text: "Register Now", href: "#contact"}}
|
||||
secondaryButton={{
|
||||
text: "Our Vision", href: "#about"}}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/empty-old-fashioned-library-filled-with-vintage-decorations-wooden-desks_482257-120070.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/young-child-making-diy-project-from-upcycled-materials_23-2149391048.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/pencils-small-blackboard_23-2147654628.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/drawing-supplies-yellow-background_23-2147710369.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/stationery-school-time-pink_23-2147656003.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/young-woman-sitting-workbench-doing-painting-workshop_23-2147889882.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="features-comparison" data-section="features-comparison">
|
||||
<SectionErrorBoundary name="features-comparison">
|
||||
<FeaturesComparison
|
||||
tag="Platform Benefits"
|
||||
title="Why Join Our Hub?"
|
||||
description="We offer structured, supportive environments for students and insightful tracking for parents."
|
||||
primaryButton={{
|
||||
text: "Get Started", href: "#contact"}}
|
||||
negativeItems={[
|
||||
"Disorganized home scheduling", "Guesswork in student progress", "Isolated learning environments", "Lack of community resources", "Manual record-keeping burdens"]}
|
||||
positiveItems={[
|
||||
"Centralized week-long schedule", "Real-time struggle area tracking", "Interactive community support", "Automated enrollment workflows", "University-grade academic reporting"]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesComparisonSection />
|
||||
|
||||
<div id="features-reveal" data-section="features-reveal">
|
||||
<SectionErrorBoundary name="features-reveal">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="What We Offer"
|
||||
title="Comprehensive Features"
|
||||
description="Powerful tools for students and parents to stay organized, connected, and informed."
|
||||
items={[
|
||||
{ title: "Academic Progress", description: "Track achievements and mastery in real-time.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-man-looking-wall-clock-graduate-uniform-looking-happy_176474-58082.jpg" },
|
||||
{ title: "Weekly Schedule", description: "View organized classes, exams, and projects.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/still-life-colorful-overloaded-bullet-journal_23-2150168562.jpg" },
|
||||
{ title: "Exam Calendar", description: "Never miss a test with integrated dates.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402733.jpg" },
|
||||
{ title: "Hub Projects", description: "Get involved in ongoing community initiatives.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/workers-choosing-images-computer-screen_1170-57.jpg" },
|
||||
{ title: "Struggle Analysis", description: "Identify areas needing extra support.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-team-coworkers-working-project_273609-16267.jpg" },
|
||||
{ title: "Community Chat", description: "Connect seamlessly via our Telegram integration.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/youngsters-studying-with-laptop-library_23-2147664050.jpg" },
|
||||
{ title: "Rich Enrollment", description: "University-style comprehensive registration.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/registration-application-paper-form-concept_53876-120048.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesRevealSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Our Impact"
|
||||
title="Driven by Results"
|
||||
description="See how our community grows and succeeds together."
|
||||
metrics={[
|
||||
{ value: "200+", description: "Active Students" },
|
||||
{ value: "150+", description: "Parent Members" },
|
||||
{ value: "50+", description: "Ongoing Projects" },
|
||||
{ value: "12+", description: "Local Chapters" },
|
||||
{ value: "98%", description: "Retention Rate" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamListCards
|
||||
tag="Meet Our Leaders"
|
||||
title="Dedicated Mentors"
|
||||
description="Guided by experts committed to homeschooling success."
|
||||
groups={[
|
||||
{
|
||||
title: "Leadership Team", members: [
|
||||
{
|
||||
name: "Dr. Sarah Miller", role: "Head Mentor", detail: "15+ years experience in curriculum design.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-family-sitting-table_23-2150231635.jpg"},
|
||||
{
|
||||
name: "John Doe", role: "Program Director", detail: "Specialist in community engagement.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-young-business-person-doing-internship_23-2149305396.jpg"},
|
||||
]
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TeamSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Parent Stories"
|
||||
title="Voices of our Community"
|
||||
description="Hear how our platform transforms the learning journey."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.", role: "Parent", quote: "The registration process was so thorough, I knew immediately this was the right place for my family.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/busy-father-working-laptop-while-showing-something-smart-phone-his-daughter-home_637285-12545.jpg"},
|
||||
{
|
||||
name: "Mark R.", role: "Parent", quote: "My kids love the schedule visibility and I love the struggle-tracking insight.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mother-helping-son-with-homework_23-2148622804.jpg"},
|
||||
{
|
||||
name: "Elena K.", role: "Parent", quote: "The community chat integration makes us feel so connected even from home.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-baby-boy-mother_344912-1658.jpg"},
|
||||
{
|
||||
name: "David T.", role: "Parent", quote: "An unparalleled support system for homeschooling success.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-parents-kid_23-2149610835.jpg"},
|
||||
{
|
||||
name: "Maria C.", role: "Parent", quote: "Every project is easy to follow and the progress insights are gold.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-beautiful-woman-smiling_23-2148369437.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Common Questions"
|
||||
title="Need Information?"
|
||||
description="Find answers regarding registration, enrollment, and hub activities."
|
||||
items={[
|
||||
{
|
||||
question: "Who can enroll?", answer: "Students from Grade 4 to 12 are welcome to join our hub."},
|
||||
{
|
||||
question: "What does the registration include?", answer: "A holistic review of student goals, family dynamics, and household situations to ensure proper alignment."},
|
||||
{
|
||||
question: "How do I access student data?", answer: "Students use their email and ID; parents use their email or phone number for dedicated account access."},
|
||||
{
|
||||
question: "Is the support available 24/7?", answer: "Mentors respond to inquiries within 24 hours during the academic week."},
|
||||
{
|
||||
question: "Are there group projects?", answer: "Yes, our hub-based projects encourage collaboration between students."},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Enroll Today"
|
||||
text="Join our thriving community hub. Start your enrollment process now."
|
||||
primaryButton={{
|
||||
text: "Register Account", href: "#"}}
|
||||
secondaryButton={{
|
||||
text: "Request Info", href: "#"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
<DashboardSection />
|
||||
<EnrollmentSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
23
src/pages/HomePage/sections/Contact.tsx
Normal file
23
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Enroll Today"
|
||||
text="Join our thriving community hub. Start your enrollment process now."
|
||||
primaryButton={{
|
||||
text: "Register Account", href: "#"}}
|
||||
secondaryButton={{
|
||||
text: "Request Info", href: "#"}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
53
src/pages/HomePage/sections/Dashboard.tsx
Normal file
53
src/pages/HomePage/sections/Dashboard.tsx
Normal file
@@ -0,0 +1,53 @@
|
||||
import { motion } from "motion/react";
|
||||
import Card from "@/components/ui/Card";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import { Brain, Home, MessageCircle, Target, BookOpen, Zap, TrendingUp, Compass } from "lucide-react";
|
||||
|
||||
const dashboardItems = [
|
||||
{ icon: Brain, title: "Learning Profile", description: "A summary of the student's unique natural approach to challenges and environment." },
|
||||
{ icon: Home, title: "Family Ecosystem", description: "A reflection of the household values and communication dynamics shared." },
|
||||
{ icon: MessageCircle, title: "Communication Dynamics", description: "Insights into how the family resolves conflict and expresses feelings." },
|
||||
{ icon: Target, title: "Goals & Aspirations", description: "A collection of the specific qualities and future self-visions identified." },
|
||||
{ icon: BookOpen, title: "Study Habits", description: "An overview of self-assessed organizational, focus, and emotional regulation skills." },
|
||||
{ icon: Zap, title: "Strengths", description: "Highlighted areas where the student feels most confident and capable." },
|
||||
{ icon: TrendingUp, title: "Growth Opportunities", description: "Identified areas where the hub can provide additional support and mentorship." },
|
||||
{ icon: Compass, title: "Recommended L2R Accompaniment", description: "A curated approach to help the student navigate their specific journey." }
|
||||
];
|
||||
|
||||
export default function Dashboard() {
|
||||
return (
|
||||
<section data-webild-section="dashboard" className="relative w-full py-24 bg-background">
|
||||
<div className="w-content-width mx-auto">
|
||||
<div className="text-center mb-16">
|
||||
<TextAnimation
|
||||
text="Step 4: Dashboard Design"
|
||||
variant="fade-blur"
|
||||
tag="h2"
|
||||
className="text-4xl font-bold text-foreground mb-4"
|
||||
gradientText={false}
|
||||
/>
|
||||
<ScrollReveal variant="fade">
|
||||
<p className="text-lg text-accent max-w-2xl mx-auto">
|
||||
A comprehensive view of the student's and family's educational journey.
|
||||
</p>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||
{dashboardItems.map((item, index) => (
|
||||
<ScrollReveal variant="fade" key={index} delay={index * 0.1}>
|
||||
<Card className="h-full p-6 flex flex-col items-start bg-card border border-border/50 hover:border-primary-cta/30 transition-colors">
|
||||
<div className="w-12 h-12 rounded-full bg-primary-cta/10 flex items-center justify-center mb-4 text-primary-cta">
|
||||
<item.icon className="w-6 h-6" />
|
||||
</div>
|
||||
<h3 className="text-xl font-semibold text-foreground mb-2">{item.title}</h3>
|
||||
<p className="text-sm text-accent leading-relaxed">{item.description}</p>
|
||||
</Card>
|
||||
</ScrollReveal>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
74
src/pages/HomePage/sections/Enrollment.tsx
Normal file
74
src/pages/HomePage/sections/Enrollment.tsx
Normal file
@@ -0,0 +1,74 @@
|
||||
import { motion } from "motion/react";
|
||||
import Card from "@/components/ui/Card";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import Button from "@/components/ui/Button";
|
||||
import Input from "@/components/ui/Input";
|
||||
import Label from "@/components/ui/Label";
|
||||
import { Check } from "lucide-react";
|
||||
|
||||
const commitments = [
|
||||
"We commit to showing up consistently and communicating openly.",
|
||||
"We promise to respect each person's individuality while embracing growth over perfection.",
|
||||
"We dedicate ourselves to building discipline progressively and participating actively in this journey.",
|
||||
"We view education as a lifelong process and accept our role in this collaborative partnership."
|
||||
];
|
||||
|
||||
export default function Enrollment() {
|
||||
return (
|
||||
<section data-webild-section="enrollment" className="relative w-full py-24 bg-background">
|
||||
<div className="w-content-width mx-auto max-w-3xl">
|
||||
<div className="text-center mb-12">
|
||||
<TextAnimation
|
||||
text="Step 5: Final Enrollment Statement"
|
||||
variant="fade-blur"
|
||||
tag="h2"
|
||||
className="text-4xl font-bold text-foreground mb-4"
|
||||
gradientText={false}
|
||||
/>
|
||||
<ScrollReveal variant="fade">
|
||||
<p className="text-lg text-accent">
|
||||
The L2R Family Commitment
|
||||
</p>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
|
||||
<ScrollReveal variant="fade" delay={0.2}>
|
||||
<Card className="p-8 md:p-10 bg-card border border-border/50">
|
||||
<div className="space-y-6 mb-10">
|
||||
{commitments.map((text, index) => (
|
||||
<div key={index} className="flex items-start gap-4">
|
||||
<div className="w-6 h-6 rounded-full bg-primary-cta/10 flex items-center justify-center flex-shrink-0 mt-1">
|
||||
<Check className="w-4 h-4 text-primary-cta" />
|
||||
</div>
|
||||
<p className="text-foreground text-lg leading-relaxed">{text}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border/50">
|
||||
<p className="text-accent mb-6 italic">
|
||||
I/We have read the L2R Family Commitment and agree to these principles as we begin our journey together.
|
||||
</p>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="signature" className="text-sm font-medium text-foreground">Signature</Label>
|
||||
<Input id="signature" placeholder="Type your full name" className="w-full" />
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="date" className="text-sm font-medium text-foreground">Date</Label>
|
||||
<Input id="date" type="date" className="w-full" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-8 flex justify-end">
|
||||
<Button text="Complete Enrollment" variant="primary" />
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
32
src/pages/HomePage/sections/Faq.tsx
Normal file
32
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqSimple from '@/components/sections/faq/FaqSimple';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSimple
|
||||
tag="Common Questions"
|
||||
title="Need Information?"
|
||||
description="Find answers regarding registration, enrollment, and hub activities."
|
||||
items={[
|
||||
{
|
||||
question: "Who can enroll?", answer: "Students from Grade 4 to 12 are welcome to join our hub."},
|
||||
{
|
||||
question: "What does the registration include?", answer: "A holistic review of student goals, family dynamics, and household situations to ensure proper alignment."},
|
||||
{
|
||||
question: "How do I access student data?", answer: "Students use their email and ID; parents use their email or phone number for dedicated account access."},
|
||||
{
|
||||
question: "Is the support available 24/7?", answer: "Mentors respond to inquiries within 24 hours during the academic week."},
|
||||
{
|
||||
question: "Are there group projects?", answer: "Yes, our hub-based projects encourage collaboration between students."},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
26
src/pages/HomePage/sections/FeaturesComparison.tsx
Normal file
26
src/pages/HomePage/sections/FeaturesComparison.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features-comparison" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesComparison from '@/components/sections/features/FeaturesComparison';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesComparisonSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features-comparison" data-section="features-comparison">
|
||||
<SectionErrorBoundary name="features-comparison">
|
||||
<FeaturesComparison
|
||||
tag="Platform Benefits"
|
||||
title="Why Join Our Hub?"
|
||||
description="We offer structured, supportive environments for students and insightful tracking for parents."
|
||||
primaryButton={{
|
||||
text: "Get Started", href: "#contact"}}
|
||||
negativeItems={[
|
||||
"Disorganized home scheduling", "Guesswork in student progress", "Isolated learning environments", "Lack of community resources", "Manual record-keeping burdens"]}
|
||||
positiveItems={[
|
||||
"Centralized week-long schedule", "Real-time struggle area tracking", "Interactive community support", "Automated enrollment workflows", "University-grade academic reporting"]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/FeaturesReveal.tsx
Normal file
29
src/pages/HomePage/sections/FeaturesReveal.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features-reveal" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesRevealSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features-reveal" data-section="features-reveal">
|
||||
<SectionErrorBoundary name="features-reveal">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="What We Offer"
|
||||
title="Comprehensive Features"
|
||||
description="Powerful tools for students and parents to stay organized, connected, and informed."
|
||||
items={[
|
||||
{ title: "Academic Progress", description: "Track achievements and mastery in real-time.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-man-looking-wall-clock-graduate-uniform-looking-happy_176474-58082.jpg" },
|
||||
{ title: "Weekly Schedule", description: "View organized classes, exams, and projects.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/still-life-colorful-overloaded-bullet-journal_23-2150168562.jpg" },
|
||||
{ title: "Exam Calendar", description: "Never miss a test with integrated dates.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402733.jpg" },
|
||||
{ title: "Hub Projects", description: "Get involved in ongoing community initiatives.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/workers-choosing-images-computer-screen_1170-57.jpg" },
|
||||
{ title: "Struggle Analysis", description: "Identify areas needing extra support.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-team-coworkers-working-project_273609-16267.jpg" },
|
||||
{ title: "Community Chat", description: "Connect seamlessly via our Telegram integration.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/youngsters-studying-with-laptop-library_23-2147664050.jpg" },
|
||||
{ title: "Rich Enrollment", description: "University-style comprehensive registration.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/registration-application-paper-form-concept_53876-120048.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
32
src/pages/HomePage/sections/Hero.tsx
Normal file
32
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarousel';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardCarousel
|
||||
tag="Homeschooling Education Hub"
|
||||
title="Empowering Future Generations"
|
||||
description="A comprehensive, university-inspired registration platform for our community hub. Track progress, schedule, and flourish together."
|
||||
primaryButton={{
|
||||
text: "Register Now", href: "#contact"}}
|
||||
secondaryButton={{
|
||||
text: "Our Vision", href: "#about"}}
|
||||
items={[
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/empty-old-fashioned-library-filled-with-vintage-decorations-wooden-desks_482257-120070.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/young-child-making-diy-project-from-upcycled-materials_23-2149391048.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/pencils-small-blackboard_23-2147654628.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/drawing-supplies-yellow-background_23-2147710369.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/stationery-school-time-pink_23-2147656003.jpg" },
|
||||
{ imageSrc: "http://img.b2bpic.net/free-photo/young-woman-sitting-workbench-doing-painting-workshop_23-2147889882.jpg" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Metrics.tsx
Normal file
27
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "metrics" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsSimpleCards
|
||||
tag="Our Impact"
|
||||
title="Driven by Results"
|
||||
description="See how our community grows and succeeds together."
|
||||
metrics={[
|
||||
{ value: "200+", description: "Active Students" },
|
||||
{ value: "150+", description: "Parent Members" },
|
||||
{ value: "50+", description: "Ongoing Projects" },
|
||||
{ value: "12+", description: "Local Chapters" },
|
||||
{ value: "98%", description: "Retention Rate" },
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
30
src/pages/HomePage/sections/Team.tsx
Normal file
30
src/pages/HomePage/sections/Team.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "team" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamListCards from '@/components/sections/team/TeamListCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamListCards
|
||||
tag="Meet Our Leaders"
|
||||
title="Dedicated Mentors"
|
||||
description="Guided by experts committed to homeschooling success."
|
||||
groups={[
|
||||
{
|
||||
title: "Leadership Team", members: [
|
||||
{
|
||||
name: "Dr. Sarah Miller", role: "Head Mentor", detail: "15+ years experience in curriculum design.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-family-sitting-table_23-2150231635.jpg"},
|
||||
{
|
||||
name: "John Doe", role: "Program Director", detail: "Specialist in community engagement.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-young-business-person-doing-internship_23-2149305396.jpg"},
|
||||
]
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Testimonials.tsx
Normal file
37
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Parent Stories"
|
||||
title="Voices of our Community"
|
||||
description="Hear how our platform transforms the learning journey."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.", role: "Parent", quote: "The registration process was so thorough, I knew immediately this was the right place for my family.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/busy-father-working-laptop-while-showing-something-smart-phone-his-daughter-home_637285-12545.jpg"},
|
||||
{
|
||||
name: "Mark R.", role: "Parent", quote: "My kids love the schedule visibility and I love the struggle-tracking insight.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/mother-helping-son-with-homework_23-2148622804.jpg"},
|
||||
{
|
||||
name: "Elena K.", role: "Parent", quote: "The community chat integration makes us feel so connected even from home.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-baby-boy-mother_344912-1658.jpg"},
|
||||
{
|
||||
name: "David T.", role: "Parent", quote: "An unparalleled support system for homeschooling success.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-parents-kid_23-2149610835.jpg"},
|
||||
{
|
||||
name: "Maria C.", role: "Parent", quote: "Every project is easy to follow and the progress insights are gold.", rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-beautiful-woman-smiling_23-2148369437.jpg"},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user