2 Commits

Author SHA1 Message Date
94dd7d8e65 Merge version_2_1781438187244 into main
Merge version_2_1781438187244 into main
2026-06-14 11:59:51 +00:00
kudinDmitriyUp
662fd4d5ca Bob AI: Updated services and testimonials with requested content 2026-06-14 11:58:23 +00:00
8 changed files with 360 additions and 268 deletions

View File

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

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

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

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

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

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

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

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