Merge version_1 into main #3

Merged
bender merged 2 commits from version_1 into main 2026-03-12 21:58:42 +00:00
2 changed files with 63 additions and 178 deletions

View File

@@ -8,7 +8,7 @@ import FeatureCardSix from "@/components/sections/feature/FeatureCardSix";
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
import FaqDouble from "@/components/sections/faq/FaqDouble";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import { Sparkles, Users, TrendingUp, Award, Zap, Heart } from "lucide-react";
import { Sparkles, Users, TrendingUp, Award, Zap, Heart, Lightbulb, CheckCircle } from "lucide-react";
export default function HomePage() {
return (
@@ -18,7 +18,7 @@ export default function HomePage() {
borderRadius="rounded"
contentWidth="mediumSmall"
sizing="medium"
background="grid"
background="circleGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="double-inset"
secondaryButtonStyle="layered"
@@ -46,53 +46,33 @@ export default function HomePage() {
tag="Student-Founded"
tagIcon={Sparkles}
tagAnimation="slide-up"
background={{ variant: "grid" }}
background={{ variant: "animated-grid" }}
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/students-learning-school-their-classroom_23-2149511030.jpg?_wi=1",
imageAlt: "high school students studying math together",
},
imageSrc: "http://img.b2bpic.net/free-photo/students-learning-school-their-classroom_23-2149511030.jpg", imageAlt: "high school students studying math together"},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-through-partitions_23-2149831294.jpg?_wi=1",
imageAlt: "diverse high school students team portrait",
},
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-through-partitions_23-2149831294.jpg", imageAlt: "diverse high school students team portrait"},
{
imageSrc: "http://img.b2bpic.net/free-photo/son-looking-laptop-mom_23-2148492912.jpg?_wi=1",
imageAlt: "tutor working with student one-on-one",
},
imageSrc: "http://img.b2bpic.net/free-photo/son-looking-laptop-mom_23-2148492912.jpg", imageAlt: "tutor working with student one-on-one"},
{
imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402694.jpg?_wi=1",
imageAlt: "group study session multiple students learning",
},
imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402694.jpg", imageAlt: "group study session multiple students learning"},
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-vector/international-school-template-design_23-2150619220.jpg?_wi=1",
imageAlt: "free trial introductory lesson tutoring",
},
imageSrc: "http://img.b2bpic.net/free-vector/international-school-template-design_23-2150619220.jpg", imageAlt: "free trial introductory lesson tutoring"},
{
imageSrc: "http://img.b2bpic.net/free-photo/people-working-call-center_23-2149288183.jpg?_wi=1",
imageAlt: "contact us desk professional workspace",
},
imageSrc: "http://img.b2bpic.net/free-photo/people-working-call-center_23-2149288183.jpg", imageAlt: "contact us desk professional workspace"},
{
imageSrc: "http://img.b2bpic.net/free-photo/girl-with-book-striped-shirt_1150-23.jpg?_wi=1",
imageAlt: "happy student smiling achievement success",
},
imageSrc: "http://img.b2bpic.net/free-photo/girl-with-book-striped-shirt_1150-23.jpg", imageAlt: "happy student smiling achievement success"},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-talking-phone_23-2149235740.jpg?_wi=1",
imageAlt: "diverse student portrait confident professional",
},
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-talking-phone_23-2149235740.jpg", imageAlt: "diverse student portrait confident professional"},
]}
carouselPosition="right"
buttons={[
{
text: "Book Your Free Trial",
href: "https://calendly.com/indigo-academics",
},
text: "Book Your Free Trial", href: "https://calendly.com/indigo-academics"},
{
text: "Learn More",
href: "/services",
},
text: "Learn More", href: "/services"},
]}
buttonAnimation="slide-up"
/>
@@ -106,24 +86,16 @@ export default function HomePage() {
metrics={[
{
icon: Users,
label: "Students Tutored",
value: "500+",
},
label: "Students Tutored", value: "500+"},
{
icon: TrendingUp,
label: "Grade Improvement",
value: "85%",
},
label: "Grade Improvement", value: "85%"},
{
icon: Award,
label: "Satisfaction Rate",
value: "98%",
},
label: "Satisfaction Rate", value: "98%"},
{
icon: Zap,
label: "Years Experience",
value: "3+",
},
label: "Years Experience", value: "3+"},
]}
/>
</div>
@@ -133,28 +105,16 @@ export default function HomePage() {
title="Why Near-Peer Tutoring Works"
description="Students learn best from someone who recently mastered the same material. Our tutors remember the common struggles, relate to current students, and teach with fresh perspective."
tag="Our Approach"
tagIcon="Lightbulb"
tagIcon={Lightbulb}
textboxLayout="default"
useInvertedBackground={false}
features={[
{
id: 1,
title: "Relatable Teaching",
description: "Your tutor was recently where you are. They remember the hard parts and explain concepts in ways that click.",
imageSrc: "http://img.b2bpic.net/free-photo/students-learning-school-their-classroom_23-2149511030.jpg?_wi=2",
},
id: "1", title: "Relatable Teaching", description: "Your tutor was recently where you are. They remember the hard parts and explain concepts in ways that click.", imageSrc: "http://img.b2bpic.net/free-photo/students-learning-school-their-classroom_23-2149511030.jpg"},
{
id: 2,
title: "Affordable & Accessible",
description: "High-quality instruction without premium price tags. We reinvest in our tutors and pass savings to families.",
imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402694.jpg?_wi=2",
},
id: "2", title: "Affordable & Accessible", description: "High-quality instruction without premium price tags. We reinvest in our tutors and pass savings to families.", imageSrc: "http://img.b2bpic.net/free-photo/kids-classroom-taking-english-class_23-2149402694.jpg"},
{
id: 3,
title: "Flexible Scheduling",
description: "Tutoring that fits your life. Choose one-on-one or group, schedule around school and activities, learn at your pace.",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-through-partitions_23-2149831294.jpg?_wi=2",
},
id: "3", title: "Flexible Scheduling", description: "Tutoring that fits your life. Choose one-on-one or group, schedule around school and activities, learn at your pace.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-looking-through-partitions_23-2149831294.jpg"},
]}
/>
</div>
@@ -168,35 +128,17 @@ export default function HomePage() {
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Alex Chen",
imageSrc: "http://img.b2bpic.net/free-photo/girl-with-book-striped-shirt_1150-23.jpg?_wi=2",
},
id: "1", name: "Alex Chen", imageSrc: "http://img.b2bpic.net/free-photo/girl-with-book-striped-shirt_1150-23.jpg"},
{
id: "2",
name: "Jordan Martinez",
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-talking-phone_23-2149235740.jpg?_wi=2",
},
id: "2", name: "Jordan Martinez", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-woman-talking-phone_23-2149235740.jpg"},
{
id: "3",
name: "Sam Williams",
imageSrc: "http://img.b2bpic.net/free-photo/photo-glad-african-american-woman-clenches-fists-awaits-something-nice_273609-45517.jpg?_wi=1",
},
id: "3", name: "Sam Williams", imageSrc: "http://img.b2bpic.net/free-photo/photo-glad-african-american-woman-clenches-fists-awaits-something-nice_273609-45517.jpg"},
{
id: "4",
name: "Casey Johnson",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-blonde-woman-with-curly-hair-showing-double-thumbs-up-checked-shirt-looking-pleased-front-view_176474-112761.jpg?_wi=1",
},
id: "4", name: "Casey Johnson", imageSrc: "http://img.b2bpic.net/free-photo/portrait-blonde-woman-with-curly-hair-showing-double-thumbs-up-checked-shirt-looking-pleased-front-view_176474-112761.jpg"},
{
id: "5",
name: "Morgan Davis",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-handsome-man-looking-pointing-camera-doing-call-me-gesture-isolated-white-background_141793-132031.jpg?_wi=1",
},
id: "5", name: "Morgan Davis", imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-handsome-man-looking-pointing-camera-doing-call-me-gesture-isolated-white-background_141793-132031.jpg"},
{
id: "6",
name: "Taylor Brown",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-holding-notebook_23-2147611495.jpg?_wi=1",
},
id: "6", name: "Taylor Brown", imageSrc: "http://img.b2bpic.net/free-photo/smiling-girl-holding-notebook_23-2147611495.jpg"},
]}
/>
</div>
@@ -212,35 +154,17 @@ export default function HomePage() {
animationType="smooth"
faqs={[
{
id: "1",
title: "Who are the tutors?",
content: "Our tutors are high-achieving high school students (Grades 10-12) who excel in mathematics. All tutors are carefully selected for their academic achievement, communication skills, and ability to relate to younger students.",
},
id: "1", title: "Who are the tutors?", content: "Our tutors are high-achieving high school students (Grades 10-12) who excel in mathematics. All tutors are carefully selected for their academic achievement, communication skills, and ability to relate to younger students."},
{
id: "2",
title: "What math levels do you cover?",
content: "We tutor Grades 310 in Pre-Algebra, Algebra 1, Algebra 2, and Geometry. Our tutors can also provide foundational math support for elementary students building core skills.",
},
id: "2", title: "What math levels do you cover?", content: "We tutor Grades 310 in Pre-Algebra, Algebra 1, Algebra 2, and Geometry. Our tutors can also provide foundational math support for elementary students building core skills."},
{
id: "3",
title: "How do I book a free trial?",
content: "Visit our Calendly scheduling link to reserve your 30-minute free trial session. No credit card required. You'll meet your tutor, discuss goals, and see if Indigo Academics is the right fit.",
},
id: "3", title: "How do I book a free trial?", content: "Visit our Calendly scheduling link to reserve your 30-minute free trial session. No credit card required. You'll meet your tutor, discuss goals, and see if Indigo Academics is the right fit."},
{
id: "4",
title: "What is the cancellation policy?",
content: "We understand life happens. Cancel or reschedule sessions with 24 hours' notice for a full credit. We want to support your schedule.",
},
id: "4", title: "What is the cancellation policy?", content: "We understand life happens. Cancel or reschedule sessions with 24 hours' notice for a full credit. We want to support your schedule."},
{
id: "5",
title: "Do you offer online tutoring?",
content: "Yes! All sessions are available online via Zoom or in-person, depending on location and preference. Choose what works best for you.",
},
id: "5", title: "Do you offer online tutoring?", content: "Yes! All sessions are available online via Zoom or in-person, depending on location and preference. Choose what works best for you."},
{
id: "6",
title: "How do I know my student is making progress?",
content: "We track progress through regular check-ins, grade improvements, and confidence milestones. Parents receive monthly summaries, and students get direct feedback after each session.",
},
id: "6", title: "How do I know my student is making progress?", content: "We track progress through regular check-ins, grade improvements, and confidence milestones. Parents receive monthly summaries, and students get direct feedback after each session."},
]}
/>
</div>
@@ -249,54 +173,33 @@ export default function HomePage() {
<FooterBaseReveal
columns={[
{
title: "Product",
items: [
title: "Product", items: [
{
label: "Services",
href: "/services",
},
label: "Services", href: "/services"},
{
label: "Pricing",
href: "/services",
},
label: "Pricing", href: "/services"},
{
label: "Book Trial",
href: "https://calendly.com/indigo-academics",
},
label: "Book Trial", href: "https://calendly.com/indigo-academics"},
],
},
{
title: "Company",
items: [
title: "Company", items: [
{
label: "About Us",
href: "#about",
},
label: "About Us", href: "#about"},
{
label: "Contact",
href: "#contact",
},
label: "Contact", href: "#contact"},
{
label: "FAQ",
href: "#faq",
},
label: "FAQ", href: "#faq"},
],
},
{
title: "Connect",
items: [
title: "Connect", items: [
{
label: "Instagram",
href: "https://instagram.com/indigoaacademics",
},
label: "Instagram", href: "https://instagram.com/indigoaacademics"},
{
label: "Email",
href: "mailto:hello@indigoaacademics.com",
},
label: "Email", href: "mailto:hello@indigoaacademics.com"},
{
label: "Privacy Policy",
href: "#",
},
label: "Privacy Policy", href: "#"},
],
},
]}

View File

@@ -1,51 +1,33 @@
"use client";
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
import React, { ReactNode } from "react";
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
children?: ReactNode;
className?: string;
textClassName?: string;
dominantBaseline?: "auto" | "text-bottom" | "alphabetic" | "ideographic" | "hanging" | "mathematical" | "central" | "middle";
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
children,
className = "", textClassName = "", dominantBaseline = "middle"}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
className={`${className}`}
viewBox="0 0 300 100"
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="xMidYMid meet"
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="50%"
y="50%"
dominantBaseline={dominantBaseline}
textAnchor="middle"
className={`text-3xl font-bold ${textClassName}`}
>
{logoText}
{children || "Logo"}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;