Merge version_2_1781438187244 into main
Merge version_2_1781438187244 into main
This commit was merged in pull request #1.
This commit is contained in:
@@ -1,279 +1,33 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
|
||||
import TeamStackedCards from '@/components/sections/team/TeamStackedCards';
|
||||
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
|
||||
import { CheckCircle, Clock, GraduationCap } 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 ServicesSection from './HomePage/sections/Services';
|
||||
import ExpertsSection from './HomePage/sections/Experts';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import PricingSection from './HomePage/sections/Pricing';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/cheerful-young-man-holding-folder-outdoor_74855-2121.jpg",
|
||||
"http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12692.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-person-football-game_23-2149015525.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiley-modern-male_23-2148514900.jpg",
|
||||
]}
|
||||
avatarText="Trusted by 5000+ UK students"
|
||||
title="Academic Success, Simplified for UK Students"
|
||||
description="Expertly crafted essays, dissertations, and reports tailored to UK university standards. Guaranteed plagiarism-free, on-time delivery."
|
||||
primaryButton={{
|
||||
text: "Order Now",
|
||||
href: "#pricing",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "See Our Work",
|
||||
href: "#services",
|
||||
}}
|
||||
names={[
|
||||
"Excellent support",
|
||||
"Top-tier quality",
|
||||
"On-time delivery",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-tablet-papers-with-data-charts-desk-used-by-workmates-business-development-corporate-colleagues-working-project-presentation-management-marketing-strategy_482257-32053.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Why Us"
|
||||
title="The UK Academic Advantage"
|
||||
description="We bridge the gap between academic pressure and success with personalized support from qualified subject-matter experts across all UK disciplines."
|
||||
items={[
|
||||
{
|
||||
icon: GraduationCap,
|
||||
title: "UK Qualified Experts",
|
||||
description: "Masters and PhD level writers.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "100% Originality",
|
||||
description: "Guaranteed plagiarism-free content.",
|
||||
},
|
||||
{
|
||||
icon: Clock,
|
||||
title: "Deadline Guarantee",
|
||||
description: "Strict adherence to your timelines.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/neat-tidy-workspace-with-laptop_23-2148592307.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Services"
|
||||
title="Comprehensive Support"
|
||||
description="Covering all academic requirements from simple essays to complex thesis projects."
|
||||
items={[
|
||||
{
|
||||
title: "Essay Writing",
|
||||
description: "High-scoring academic essays.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/history-icon-front-side-white-background_187299-40163.jpg",
|
||||
},
|
||||
{
|
||||
title: "Dissertations",
|
||||
description: "End-to-end guidance.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/book-pen-icon_632498-3971.jpg",
|
||||
},
|
||||
{
|
||||
title: "Reports",
|
||||
description: "Business & STEM reports.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/ipad-online-learning-icons-background_23-2147591991.jpg",
|
||||
},
|
||||
{
|
||||
title: "Proofreading",
|
||||
description: "Flawless academic polish.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/books-colorful-bookmarks-still-life-high-angle_23-2149871510.jpg",
|
||||
},
|
||||
{
|
||||
title: "Case Studies",
|
||||
description: "Analytical research help.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/people-create-new-project_1157-45634.jpg",
|
||||
},
|
||||
{
|
||||
title: "Presentations",
|
||||
description: "Visually engaging slides.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/strategy-business-planning-analysis_53876-94831.jpg",
|
||||
},
|
||||
{
|
||||
title: "Data Analysis",
|
||||
description: "SPSS and statistical work.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/uniform-office-backgrounds-smartphone-female_1134-1190.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="experts" data-section="experts">
|
||||
<SectionErrorBoundary name="experts">
|
||||
<TeamStackedCards
|
||||
tag="Meet The Experts"
|
||||
title="Your Academic Partners"
|
||||
description="Connect with accomplished scholars dedicated to your academic growth."
|
||||
members={[
|
||||
{
|
||||
name: "Dr. Sarah Jenkins",
|
||||
role: "PhD in Literature",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-posing_23-2148680245.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mark Thornton",
|
||||
role: "Senior Economics Analyst",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-male-manager-suit-writing-clipboard-taking-notes-office-meeting-standing-white-b_1258-173624.jpg",
|
||||
},
|
||||
{
|
||||
name: "Dr. Elena Rossi",
|
||||
role: "STEM Research Fellow",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-female-dentist-dentistry-concept-dental-treatment_169016-67156.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ExpertsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialQuoteCards
|
||||
tag="Success Stories"
|
||||
title="What Students Say"
|
||||
description="Trusted by thousands across the UK's leading universities."
|
||||
testimonials={[
|
||||
{
|
||||
name: "James R.",
|
||||
role: "History Student",
|
||||
quote: "Exceptional work, finished ahead of schedule.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/teenage-student-smiling-with-book-head_23-2148208755.jpg",
|
||||
},
|
||||
{
|
||||
name: "Chloe P.",
|
||||
role: "Business Major",
|
||||
quote: "Truly improved my grade drastically.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-school-girl-with-books-park_23-2148199228.jpg",
|
||||
},
|
||||
{
|
||||
name: "Tom B.",
|
||||
role: "Engineering Student",
|
||||
quote: "Professional, detailed, and reliable.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-handsome-black-man-white_285396-403.jpg",
|
||||
},
|
||||
{
|
||||
name: "Sophie A.",
|
||||
role: "Law Student",
|
||||
quote: "The best academic assistance I have used.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-caucasian-woman-posing-public-library_74855-1623.jpg",
|
||||
},
|
||||
{
|
||||
name: "Liam D.",
|
||||
role: "Psychology Major",
|
||||
quote: "Saved my semester during final exams.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/non-binary-person-with-glasses-smiling_23-2148760540.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingHighlightedCards
|
||||
tag="Pricing"
|
||||
title="Flexible Packages"
|
||||
description="Transparent pricing to suit your study needs."
|
||||
plans={[
|
||||
{
|
||||
tag: "Standard",
|
||||
price: "£49",
|
||||
description: "Essentials for shorter essays.",
|
||||
features: [
|
||||
"Research assistance",
|
||||
"Plagiarism report",
|
||||
"24/7 support",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Advanced",
|
||||
price: "£129",
|
||||
description: "Comprehensive help for major assignments.",
|
||||
features: [
|
||||
"PhD expert access",
|
||||
"Unlimited revisions",
|
||||
"Full citations",
|
||||
],
|
||||
highlight: "Best Value",
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Dissertation",
|
||||
price: "£299",
|
||||
description: "Complete guidance for finals.",
|
||||
features: [
|
||||
"Dedicated tutor",
|
||||
"Drafting assistance",
|
||||
"Strict formatting",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PricingSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Help Centre"
|
||||
title="Frequently Asked Questions"
|
||||
description="Clear answers to your common questions."
|
||||
items={[
|
||||
{
|
||||
question: "Is this service legal?",
|
||||
answer: "Yes, we provide study aids and reference material for academic learning.",
|
||||
},
|
||||
{
|
||||
question: "How fast can you work?",
|
||||
answer: "We offer expedited options from 24 hours to 7 days.",
|
||||
},
|
||||
{
|
||||
question: "Are your writers native?",
|
||||
answer: "All our primary writers are native English speakers.",
|
||||
},
|
||||
{
|
||||
question: "Can I request revisions?",
|
||||
answer: "Yes, unlimited revisions until you are satisfied.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
39
src/pages/HomePage/sections/About.tsx
Normal file
39
src/pages/HomePage/sections/About.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
// 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 AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import { CheckCircle, Clock, GraduationCap } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Why Us"
|
||||
title="The UK Academic Advantage"
|
||||
description="We bridge the gap between academic pressure and success with personalized support from qualified subject-matter experts across all UK disciplines."
|
||||
items={[
|
||||
{
|
||||
icon: GraduationCap,
|
||||
title: "UK Qualified Experts",
|
||||
description: "Masters and PhD level writers.",
|
||||
},
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "100% Originality",
|
||||
description: "Guaranteed plagiarism-free content.",
|
||||
},
|
||||
{
|
||||
icon: Clock,
|
||||
title: "Deadline Guarantee",
|
||||
description: "Strict adherence to your timelines.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/neat-tidy-workspace-with-laptop_23-2148592307.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Experts.tsx
Normal file
37
src/pages/HomePage/sections/Experts.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 "experts" section.
|
||||
|
||||
import React from 'react';
|
||||
import TeamStackedCards from '@/components/sections/team/TeamStackedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ExpertsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="experts" data-section="experts">
|
||||
<SectionErrorBoundary name="experts">
|
||||
<TeamStackedCards
|
||||
tag="Meet The Experts"
|
||||
title="Your Academic Partners"
|
||||
description="Connect with accomplished scholars dedicated to your academic growth."
|
||||
members={[
|
||||
{
|
||||
name: "Dr. Sarah Jenkins",
|
||||
role: "PhD in Literature",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-woman-posing_23-2148680245.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mark Thornton",
|
||||
role: "Senior Economics Analyst",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-male-manager-suit-writing-clipboard-taking-notes-office-meeting-standing-white-b_1258-173624.jpg",
|
||||
},
|
||||
{
|
||||
name: "Dr. Elena Rossi",
|
||||
role: "STEM Research Fellow",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-female-dentist-dentistry-concept-dental-treatment_169016-67156.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Faq.tsx
Normal file
38
src/pages/HomePage/sections/Faq.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 "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqTwoColumn
|
||||
tag="Help Centre"
|
||||
title="Frequently Asked Questions"
|
||||
description="Clear answers to your common questions."
|
||||
items={[
|
||||
{
|
||||
question: "Is this service legal?",
|
||||
answer: "Yes, we provide study aids and reference material for academic learning.",
|
||||
},
|
||||
{
|
||||
question: "How fast can you work?",
|
||||
answer: "We offer expedited options from 24 hours to 7 days.",
|
||||
},
|
||||
{
|
||||
question: "Are your writers native?",
|
||||
answer: "All our primary writers are native English speakers.",
|
||||
},
|
||||
{
|
||||
question: "Can I request revisions?",
|
||||
answer: "Yes, unlimited revisions until you are satisfied.",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
40
src/pages/HomePage/sections/Hero.tsx
Normal file
40
src/pages/HomePage/sections/Hero.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 "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroCenteredLogos from '@/components/sections/hero/HeroCenteredLogos';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroCenteredLogos
|
||||
avatarsSrc={[
|
||||
"http://img.b2bpic.net/free-photo/cheerful-young-man-holding-folder-outdoor_74855-2121.jpg",
|
||||
"http://img.b2bpic.net/free-photo/beautiful-woman-cafe_273609-12692.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-person-football-game_23-2149015525.jpg",
|
||||
"http://img.b2bpic.net/free-photo/portrait-smiley-modern-male_23-2148514900.jpg",
|
||||
]}
|
||||
avatarText="Trusted by 5000+ UK students"
|
||||
title="Academic Success, Simplified for UK Students"
|
||||
description="Expertly crafted essays, dissertations, and reports tailored to UK university standards. Guaranteed plagiarism-free, on-time delivery."
|
||||
primaryButton={{
|
||||
text: "Order Now",
|
||||
href: "#pricing",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "See Our Work",
|
||||
href: "#services",
|
||||
}}
|
||||
names={[
|
||||
"Excellent support",
|
||||
"Top-tier quality",
|
||||
"On-time delivery",
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-tablet-papers-with-data-charts-desk-used-by-workmates-business-development-corporate-colleagues-working-project-presentation-management-marketing-strategy_482257-32053.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
65
src/pages/HomePage/sections/Pricing.tsx
Normal file
65
src/pages/HomePage/sections/Pricing.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "pricing" section.
|
||||
|
||||
import React from 'react';
|
||||
import PricingHighlightedCards from '@/components/sections/pricing/PricingHighlightedCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function PricingSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="pricing" data-section="pricing">
|
||||
<SectionErrorBoundary name="pricing">
|
||||
<PricingHighlightedCards
|
||||
tag="Pricing"
|
||||
title="Flexible Packages"
|
||||
description="Transparent pricing to suit your study needs."
|
||||
plans={[
|
||||
{
|
||||
tag: "Standard",
|
||||
price: "£49",
|
||||
description: "Essentials for shorter essays.",
|
||||
features: [
|
||||
"Research assistance",
|
||||
"Plagiarism report",
|
||||
"24/7 support",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Advanced",
|
||||
price: "£129",
|
||||
description: "Comprehensive help for major assignments.",
|
||||
features: [
|
||||
"PhD expert access",
|
||||
"Unlimited revisions",
|
||||
"Full citations",
|
||||
],
|
||||
highlight: "Best Value",
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
{
|
||||
tag: "Dissertation",
|
||||
price: "£299",
|
||||
description: "Complete guidance for finals.",
|
||||
features: [
|
||||
"Dedicated tutor",
|
||||
"Drafting assistance",
|
||||
"Strict formatting",
|
||||
],
|
||||
primaryButton: {
|
||||
text: "Select",
|
||||
href: "#",
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
21
src/pages/HomePage/sections/Services.tsx
Normal file
21
src/pages/HomePage/sections/Services.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 "services" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Services"
|
||||
title="Comprehensive Support"
|
||||
description="Covering all academic requirements from simple essays to complex thesis projects."
|
||||
items={[{"title":"Assignment assistance","href":"#","imageSrc":"http://img.b2bpic.net/free-photo/history-icon-front-side-white-background_187299-40163.jpg","description":"High-scoring academic essays and assignments."},{"href":"#","imageSrc":"http://img.b2bpic.net/free-vector/book-pen-icon_632498-3971.jpg","title":"dissertation writing","description":"End-to-end guidance for your dissertation."},{"href":"#","imageSrc":"http://img.b2bpic.net/free-vector/ipad-online-learning-icons-background_23-2147591991.jpg","title":"Reports","description":"Business & STEM reports with detailed graphics and images."},{"href":"#","imageSrc":"http://img.b2bpic.net/free-photo/strategy-business-planning-analysis_53876-94831.jpg","title":"Presentation help","description":"Visually engaging slides and speaker notes."},{"title":"data analysis","href":"#","imageSrc":"http://img.b2bpic.net/free-photo/uniform-office-backgrounds-smartphone-female_1134-1190.jpg","description":"SPSS and statistical work for your research."}]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
98
src/pages/HomePage/sections/Testimonials.tsx
Normal file
98
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
|
||||
import Button from "@/components/ui/Button";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import ImageOrVideo from "@/components/ui/ImageOrVideo";
|
||||
import GridOrCarousel from "@/components/ui/GridOrCarousel";
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
|
||||
const testimonials = [
|
||||
{
|
||||
name: "Wei Chen",
|
||||
role: "International Student, MSc Finance",
|
||||
quote: "UKSCHOLARPRO is one of the best platforms. I secured the best positions and that was thanks to them.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/teenage-student-smiling-with-book-head_23-2148208755.jpg"
|
||||
},
|
||||
{
|
||||
name: "Aisha Patel",
|
||||
role: "International Student, Law",
|
||||
quote: "UKSCHOLARPRO is one of the best platforms. I secured the best positions and that was thanks to them.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-school-girl-with-books-park_23-2148199228.jpg"
|
||||
},
|
||||
{
|
||||
name: "Mateo Garcia",
|
||||
role: "International Student, Engineering",
|
||||
quote: "UKSCHOLARPRO is one of the best platforms. I secured the best positions and that was thanks to them.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-handsome-black-man-white_285396-403.jpg"
|
||||
}
|
||||
];
|
||||
|
||||
type Testimonial = {
|
||||
name: string;
|
||||
role: string;
|
||||
quote: string;
|
||||
} & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never });
|
||||
|
||||
import RatingStars from "@/components/ui/RatingStars";
|
||||
|
||||
const TestimonialsInline = () => (
|
||||
<section aria-label="Testimonials section" className="py-20">
|
||||
<div className="flex flex-col gap-8 md:gap-10">
|
||||
<div className="flex flex-col items-center gap-2 w-content-width mx-auto">
|
||||
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
|
||||
<p>{"Success Stories"}</p>
|
||||
</div>
|
||||
|
||||
<TextAnimation
|
||||
text={"What Students Say"}
|
||||
variant="slide-up"
|
||||
gradientText={true}
|
||||
tag="h2"
|
||||
className="md:max-w-8/10 text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance"
|
||||
/>
|
||||
|
||||
<TextAnimation
|
||||
text={"Trusted by thousands across the UK's leading universities."}
|
||||
variant="slide-up"
|
||||
gradientText={false}
|
||||
tag="p"
|
||||
className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance"
|
||||
/>
|
||||
|
||||
{(undefined || undefined) && (
|
||||
<div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
|
||||
{undefined && <Button text={undefined.text} href={undefined.href} variant="primary"/>}
|
||||
{undefined && <Button text={undefined.text} href={undefined.href} variant="secondary"animationDelay={0.1} />}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<ScrollReveal variant="fade-blur">
|
||||
<GridOrCarousel >
|
||||
{testimonials.map((testimonial) => (
|
||||
<div key={testimonial.name} className="flex flex-col gap-4 xl:gap-5 2xl:gap-6 p-6 xl:p-7 2xl:p-8 card rounded">
|
||||
<div className="relative size-22 xl:size-24 2xl:size-26 overflow-hidden rounded-full">
|
||||
<ImageOrVideo imageSrc={testimonial.imageSrc} videoSrc={testimonial.videoSrc} />
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col">
|
||||
<span className="text-2xl font-semibold leading-snug truncate">{testimonial.name}</span>
|
||||
<span className="text-base leading-snug opacity-75 truncate">{testimonial.role}</span>
|
||||
</div>
|
||||
|
||||
<p className="text-lg leading-snug">{testimonial.quote}</p>
|
||||
</div>
|
||||
))}
|
||||
</GridOrCarousel>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
export default function TestimonialsSection() {
|
||||
return (
|
||||
<div data-webild-section="testimonials" id="testimonials">
|
||||
<TestimonialsInline />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user