Compare commits
8 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 852301cac8 | |||
| 8ad6c356b0 | |||
| 44264c9862 | |||
| a2a13bdfea | |||
| bd053fc349 | |||
| 0114ca8274 | |||
| 0b900a75ba | |||
|
|
955e79deee |
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #030128;
|
||||
--card: #241f48;
|
||||
--foreground: #ffffff;
|
||||
--primary-cta: #ffffff;
|
||||
--primary-cta-text: #030128;
|
||||
--secondary-cta: #131136;
|
||||
--secondary-cta-text: #d5d4f6;
|
||||
--accent: #44358a;
|
||||
--background-accent: #b597fe;
|
||||
--background: #f7f6f7;
|
||||
--card: #ffffff;
|
||||
--foreground: #250c0d;
|
||||
--primary-cta: #b82b40;
|
||||
--primary-cta-text: #f7f6f7;
|
||||
--secondary-cta: #ffffff;
|
||||
--secondary-cta-text: #250c0d;
|
||||
--accent: #b90941;
|
||||
--background-accent: #e8a8b6;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1.5rem;
|
||||
|
||||
@@ -1,241 +1,36 @@
|
||||
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboard from '@/components/sections/hero/HeroBillboard';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import { FileText, Globe, Mic } from "lucide-react";
|
||||
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 AboutSection from './HomePage/sections/About';
|
||||
import FeaturesSection from './HomePage/sections/Features';
|
||||
import ProductBentoSection from './HomePage/sections/ProductBento';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboard
|
||||
tag="Stress-free Student Visa Journeys"
|
||||
title="Your visa roadmap. Step by step. Stress-free."
|
||||
description="Upload documents, practice interviews, and get real-time feedback—all in one place. Know exactly what to do next, every step of the way."
|
||||
primaryButton={{
|
||||
text: "Start Free Today",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Learn How It Works",
|
||||
href: "#about",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/abstract-space_181624-16616.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutMediaOverlay
|
||||
tag="How We Help"
|
||||
title="Visa Chaos, Solved."
|
||||
description="We take the guesswork out of your university journey. From your first document upload to your final interview, our AI-powered roadmap ensures you never miss a deadline."
|
||||
imageSrc="http://img.b2bpic.net/free-photo/side-view-kid-relaxing-with-tablet_23-2150639951.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBorderGlow
|
||||
tag="Key Capabilities"
|
||||
title="Everything You Need to Succeed"
|
||||
description="Our platform provides the necessary tools for international students to navigate complex visa systems with confidence."
|
||||
features={[
|
||||
{
|
||||
icon: FileText,
|
||||
title: "AI Document Review",
|
||||
description: "Ensure your documents meet strict requirements before you submit.",
|
||||
},
|
||||
{
|
||||
icon: Mic,
|
||||
title: "Mock Interview Practice",
|
||||
description: "Get real-time feedback on your answers and body language.",
|
||||
},
|
||||
{
|
||||
icon: Globe,
|
||||
title: "Real-time Tracking",
|
||||
description: "Keep family in the loop with live progress updates.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
|
||||
<div id="product-bento" data-section="product-bento">
|
||||
<SectionErrorBoundary name="product-bento">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Destinations"
|
||||
title="Top 5 Study Destinations"
|
||||
description="Expertly guided routes for students seeking admission globally."
|
||||
items={[
|
||||
{
|
||||
title: "USA",
|
||||
description: "Navigating complex F1 visa processes.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/clipboard-icon-front-side_187299-39412.jpg",
|
||||
},
|
||||
{
|
||||
title: "UK",
|
||||
description: "Ensuring CAS and maintenance proof.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/criminal-background-check-insurance-form-concept_53876-125118.jpg",
|
||||
},
|
||||
{
|
||||
title: "Canada",
|
||||
description: "Streamlined SDS pathways explained.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ceo-leading-meeting-online-teleconference-call-boardroom_482257-112640.jpg",
|
||||
},
|
||||
{
|
||||
title: "Australia",
|
||||
description: "Compliance with GTE requirements.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/online-flat-learning-elements-background_23-2147592156.jpg",
|
||||
},
|
||||
{
|
||||
title: "Germany",
|
||||
description: "Visa appointment scheduling mastery.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/company-analyst-studying-business-activity-progress-achieving-strategic-goals_482257-91239.jpg",
|
||||
},
|
||||
{
|
||||
title: "Global Support",
|
||||
description: "Anywhere you choose.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-green-card-application_23-2149601363.jpg",
|
||||
},
|
||||
{
|
||||
title: "Family Access",
|
||||
description: "Peace of mind for parents.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/travel-onboarding-app-screens_23-2148412571.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductBentoSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Our Impact"
|
||||
title="Students Trust Us"
|
||||
description="Join thousands of successful applicants who secured their future with GetStamped."
|
||||
metrics={[
|
||||
{
|
||||
value: "98%",
|
||||
title: "Visa Approval Rate",
|
||||
description: "Our AI-driven verification is remarkably accurate.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/market-trends-concept-with-laptop_23-2150372444.jpg",
|
||||
},
|
||||
{
|
||||
value: "10k+",
|
||||
title: "Students Guided",
|
||||
description: "Successfully placed in top global universities.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/informative-signs-escalators_23-2149142288.jpg",
|
||||
},
|
||||
{
|
||||
value: "20min",
|
||||
title: "Average Setup Time",
|
||||
description: "Get started quickly with our intuitive process.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/visa-application-form-laptop_23-2149117761.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Success Stories"
|
||||
title="Hear From Our Students"
|
||||
description="Empowering students worldwide to reach their dreams."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "F1 Student",
|
||||
quote: "GetStamped gave me the confidence I needed to ace my interview.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/calm-serious-woman-with-long-pony-tail-wears-transparent-glasses-green-jumper-looks-attentively-camera-poses-pink-studio_273609-38843.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael C.",
|
||||
role: "Engineering Student",
|
||||
quote: "The AI feedback caught errors I would have definitely missed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-thoughtful-curly-female-student-holds-digital-tablet-notebook-goes-university-wears-knitted-yellow-sweater-skirt-focused-away-stands-outdoors-against-urban-background_273609-60487.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily R.",
|
||||
role: "MBA Candidate",
|
||||
quote: "Stress-free process. My parents loved being able to track my progress.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-slavic-student-girl-with-headphones-wearing-backpack-looks-camera_141793-99742.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
role: "Undergrad",
|
||||
quote: "I felt prepared for every single question they asked.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-tourist-holds-textbook-planner-spends-vacations-visiting-unknown-city_273609-55598.jpg",
|
||||
},
|
||||
{
|
||||
name: "Anna P.",
|
||||
role: "PhD Candidate",
|
||||
quote: "The step-by-step roadmap was an absolute lifesaver.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/positive-traveler-brunette-female-eyeglasses-dressed-denim-shirt_613910-8490.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Common Questions"
|
||||
description="Get clear answers to the most common visa application concerns."
|
||||
items={[
|
||||
{
|
||||
question: "Is the document review service human-verified?",
|
||||
answer: "Our AI covers 99% of cases, and we provide human review for premium tiers.",
|
||||
},
|
||||
{
|
||||
question: "Can I use it for multiple countries?",
|
||||
answer: "Yes, our roadmap adapts to your chosen destination requirements.",
|
||||
},
|
||||
{
|
||||
question: "How do parents track my progress?",
|
||||
answer: "They receive invitation links to view milestones in real-time.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/army-officer-examines-reconnaissance-system-world-map_482257-90133.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get Started"
|
||||
text="Your visa roadmap is one click away. Ready to begin?"
|
||||
primaryButton={{
|
||||
text: "Start Free Today",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
21
src/pages/HomePage/sections/About.tsx
Normal file
21
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "about" section.
|
||||
|
||||
import React from 'react';
|
||||
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutMediaOverlay
|
||||
tag="How We Help"
|
||||
title="Visa Chaos, Solved."
|
||||
description="We take the guesswork out of your university journey. From your first document upload to your final interview, our AI-powered roadmap ensures you never miss a deadline."
|
||||
imageSrc="http://img.b2bpic.net/free-photo/side-view-kid-relaxing-with-tablet_23-2150639951.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.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 "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="Get Started"
|
||||
text="Your visa roadmap is one click away. Ready to begin?"
|
||||
primaryButton={{
|
||||
text: "Start Free Today",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
35
src/pages/HomePage/sections/Faq.tsx
Normal file
35
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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 FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Common Questions"
|
||||
description="Get clear answers to the most common visa application concerns."
|
||||
items={[
|
||||
{
|
||||
question: "Is the document review service human-verified?",
|
||||
answer: "Our AI covers 99% of cases, and we provide human review for premium tiers.",
|
||||
},
|
||||
{
|
||||
question: "Can I use it for multiple countries?",
|
||||
answer: "Yes, our roadmap adapts to your chosen destination requirements.",
|
||||
},
|
||||
{
|
||||
question: "How do parents track my progress?",
|
||||
answer: "They receive invitation links to view milestones in real-time.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/army-officer-examines-reconnaissance-system-world-map_482257-90133.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Features.tsx
Normal file
38
src/pages/HomePage/sections/Features.tsx
Normal file
@@ -0,0 +1,38 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesBorderGlow from '@/components/sections/features/FeaturesBorderGlow';
|
||||
import { FileText, Globe, Mic } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesBorderGlow
|
||||
tag="Key Capabilities"
|
||||
title="Everything You Need to Succeed"
|
||||
description="Our platform provides the necessary tools for international students to navigate complex visa systems with confidence."
|
||||
features={[
|
||||
{
|
||||
icon: FileText,
|
||||
title: "AI Document Review",
|
||||
description: "Ensure your documents meet strict requirements before you submit.",
|
||||
},
|
||||
{
|
||||
icon: Mic,
|
||||
title: "Mock Interview Practice",
|
||||
description: "Get real-time feedback on your answers and body language.",
|
||||
},
|
||||
{
|
||||
icon: Globe,
|
||||
title: "Real-time Tracking",
|
||||
description: "Keep family in the loop with live progress updates.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
19
src/pages/HomePage/sections/Hero.tsx
Normal file
19
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
// Created by add_section_from_catalog (HeroBillboardTiltedCarousel).
|
||||
|
||||
import React from 'react';
|
||||
import HeroBillboardTiltedCarousel from '@/components/sections/hero/HeroBillboardTiltedCarousel';
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div data-webild-section="hero" id="hero">
|
||||
<HeroBillboardTiltedCarousel
|
||||
secondaryButton={{"href":"#about","text":"Learn How It Works"}}
|
||||
tag="Stress-free Student Visa Journeys"
|
||||
title="Your visa roadmap. Step by step. Stress-free."
|
||||
items={[{"imageSrc":"https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&q=80"},{"imageSrc":"https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&q=80"},{"imageSrc":"https://images.unsplash.com/photo-1543269865-cbf427effbad?auto=format&fit=crop&q=80"},{"imageSrc":"https://images.unsplash.com/photo-1522202176988-66273c2fd55f?auto=format&fit=crop&q=80"},{"imageSrc":"https://images.unsplash.com/photo-1531482615713-2afd69097998?auto=format&fit=crop&q=80"}]}
|
||||
description="Upload documents, practice interviews, and get real-time feedback—all in one place. Know exactly what to do next, every step of the way."
|
||||
primaryButton={{"text":"Start Free Today","href":"#contact"}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
40
src/pages/HomePage/sections/Metrics.tsx
Normal file
40
src/pages/HomePage/sections/Metrics.tsx
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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 MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Our Impact"
|
||||
title="Students Trust Us"
|
||||
description="Join thousands of successful applicants who secured their future with GetStamped."
|
||||
metrics={[
|
||||
{
|
||||
value: "98%",
|
||||
title: "Visa Approval Rate",
|
||||
description: "Our AI-driven verification is remarkably accurate.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/market-trends-concept-with-laptop_23-2150372444.jpg",
|
||||
},
|
||||
{
|
||||
value: "10k+",
|
||||
title: "Students Guided",
|
||||
description: "Successfully placed in top global universities.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/informative-signs-escalators_23-2149142288.jpg",
|
||||
},
|
||||
{
|
||||
value: "20min",
|
||||
title: "Average Setup Time",
|
||||
description: "Get started quickly with our intuitive process.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/visa-application-form-laptop_23-2149117761.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/ProductBento.tsx
Normal file
64
src/pages/HomePage/sections/ProductBento.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "product-bento" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductBentoSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="product-bento" data-section="product-bento">
|
||||
<SectionErrorBoundary name="product-bento">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Destinations"
|
||||
title="Top 5 Study Destinations"
|
||||
description="Expertly guided routes for students seeking admission globally."
|
||||
items={[
|
||||
{
|
||||
title: "USA",
|
||||
description: "Navigating complex F1 visa processes.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/clipboard-icon-front-side_187299-39412.jpg",
|
||||
},
|
||||
{
|
||||
title: "UK",
|
||||
description: "Ensuring CAS and maintenance proof.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/criminal-background-check-insurance-form-concept_53876-125118.jpg",
|
||||
},
|
||||
{
|
||||
title: "Canada",
|
||||
description: "Streamlined SDS pathways explained.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/ceo-leading-meeting-online-teleconference-call-boardroom_482257-112640.jpg",
|
||||
},
|
||||
{
|
||||
title: "Australia",
|
||||
description: "Compliance with GTE requirements.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/online-flat-learning-elements-background_23-2147592156.jpg",
|
||||
},
|
||||
{
|
||||
title: "Germany",
|
||||
description: "Visa appointment scheduling mastery.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/company-analyst-studying-business-activity-progress-achieving-strategic-goals_482257-91239.jpg",
|
||||
},
|
||||
{
|
||||
title: "Global Support",
|
||||
description: "Anywhere you choose.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-green-card-application_23-2149601363.jpg",
|
||||
},
|
||||
{
|
||||
title: "Family Access",
|
||||
description: "Peace of mind for parents.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/travel-onboarding-app-screens_23-2148412571.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
// 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 TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Success Stories"
|
||||
title="Hear From Our Students"
|
||||
description="Empowering students worldwide to reach their dreams."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah J.",
|
||||
role: "F1 Student",
|
||||
quote: "GetStamped gave me the confidence I needed to ace my interview.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/calm-serious-woman-with-long-pony-tail-wears-transparent-glasses-green-jumper-looks-attentively-camera-poses-pink-studio_273609-38843.jpg",
|
||||
},
|
||||
{
|
||||
name: "Michael C.",
|
||||
role: "Engineering Student",
|
||||
quote: "The AI feedback caught errors I would have definitely missed.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-thoughtful-curly-female-student-holds-digital-tablet-notebook-goes-university-wears-knitted-yellow-sweater-skirt-focused-away-stands-outdoors-against-urban-background_273609-60487.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily R.",
|
||||
role: "MBA Candidate",
|
||||
quote: "Stress-free process. My parents loved being able to track my progress.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-slavic-student-girl-with-headphones-wearing-backpack-looks-camera_141793-99742.jpg",
|
||||
},
|
||||
{
|
||||
name: "David K.",
|
||||
role: "Undergrad",
|
||||
quote: "I felt prepared for every single question they asked.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-tourist-holds-textbook-planner-spends-vacations-visiting-unknown-city_273609-55598.jpg",
|
||||
},
|
||||
{
|
||||
name: "Anna P.",
|
||||
role: "PhD Candidate",
|
||||
quote: "The step-by-step roadmap was an absolute lifesaver.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/positive-traveler-brunette-female-eyeglasses-dressed-denim-shirt_613910-8490.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user