Merge version_2_1782119509123 into main #3

Merged
bender merged 1 commits from version_2_1782119509123 into main 2026-06-22 09:14:18 +00:00
11 changed files with 391 additions and 159 deletions

View File

@@ -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 />
</>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}

View 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>
);
}