From 77fa7520657b7c49cbd8e14cb2ddd1d098fafa3c Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Wed, 10 Jun 2026 18:27:55 +0000 Subject: [PATCH] Bob AI: Added a team section to showcase the agency experts. --- src/pages/HomePage.tsx | 220 +++---------------- src/pages/HomePage/sections/About.tsx | 21 ++ src/pages/HomePage/sections/Contact.tsx | 23 ++ src/pages/HomePage/sections/Faq.tsx | 30 +++ src/pages/HomePage/sections/Hero.tsx | 32 +++ src/pages/HomePage/sections/Metrics.tsx | 34 +++ src/pages/HomePage/sections/Portfolio.tsx | 36 +++ src/pages/HomePage/sections/Services.tsx | 44 ++++ src/pages/HomePage/sections/SocialProof.tsx | 22 ++ src/pages/HomePage/sections/Team.tsx | 75 +++++++ src/pages/HomePage/sections/Testimonials.tsx | 32 +++ 11 files changed, 375 insertions(+), 194 deletions(-) create mode 100644 src/pages/HomePage/sections/About.tsx create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Faq.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Metrics.tsx create mode 100644 src/pages/HomePage/sections/Portfolio.tsx create mode 100644 src/pages/HomePage/sections/Services.tsx create mode 100644 src/pages/HomePage/sections/SocialProof.tsx create mode 100644 src/pages/HomePage/sections/Team.tsx create mode 100644 src/pages/HomePage/sections/Testimonials.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 9fa1659..97bfd10 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,200 +1,32 @@ -import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FaqSimple from '@/components/sections/faq/FaqSimple'; -import FeaturesBento from '@/components/sections/features/FeaturesBento'; -import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento'; -import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards'; -import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards'; -import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; -import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards'; -import { Cog, PenTool, User } from "lucide-react"; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in .//sections/.tsx. Edit the section +// files directly; this shell only fixes render order. -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 PortfolioSection from './HomePage/sections/Portfolio'; +import MetricsSection from './HomePage/sections/Metrics'; +import SocialProofSection from './HomePage/sections/SocialProof'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import FaqSection from './HomePage/sections/Faq'; +import ContactSection from './HomePage/sections/Contact'; + + +import TeamSection from './HomePage/sections/Team';export default function HomePage(): React.JSX.Element { return ( <> -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
- -
- - - -
+ + + + + + + + + + ); } diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..d82ace9 --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..73962a4 --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..d426d81 --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -0,0 +1,30 @@ +// 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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..a7ba040 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -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 HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Metrics.tsx b/src/pages/HomePage/sections/Metrics.tsx new file mode 100644 index 0000000..f31f865 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,34 @@ +// 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 MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function MetricsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Portfolio.tsx b/src/pages/HomePage/sections/Portfolio.tsx new file mode 100644 index 0000000..87936f1 --- /dev/null +++ b/src/pages/HomePage/sections/Portfolio.tsx @@ -0,0 +1,36 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "portfolio" section. + +import React from 'react'; +import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function PortfolioSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Services.tsx b/src/pages/HomePage/sections/Services.tsx new file mode 100644 index 0000000..3194eb8 --- /dev/null +++ b/src/pages/HomePage/sections/Services.tsx @@ -0,0 +1,44 @@ +// 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 FeaturesBento from '@/components/sections/features/FeaturesBento'; +import { Cog, PenTool, User } from "lucide-react"; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ServicesSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/SocialProof.tsx b/src/pages/HomePage/sections/SocialProof.tsx new file mode 100644 index 0000000..f66575b --- /dev/null +++ b/src/pages/HomePage/sections/SocialProof.tsx @@ -0,0 +1,22 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "social-proof" section. + +import React from 'react'; +import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function SocialProofSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Team.tsx b/src/pages/HomePage/sections/Team.tsx new file mode 100644 index 0000000..d41d707 --- /dev/null +++ b/src/pages/HomePage/sections/Team.tsx @@ -0,0 +1,75 @@ +import { motion } from "motion/react"; +import ScrollReveal from "@/components/ui/ScrollReveal"; +import TextAnimation from "@/components/ui/TextAnimation"; +import Tag from "@/components/ui/Tag"; +import Card from "@/components/ui/Card"; +import ImageOrVideo from "@/components/ui/ImageOrVideo"; +import Button from "@/components/ui/Button"; + +const teamMembers = [ + { + name: "Sarah Jenkins", + role: "Head of Strategy", + description: "Sarah leads our strategic initiatives, ensuring every campaign aligns with our clients' core objectives.", + imageSrc: "https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&q=80&w=800", + }, + { + name: "Michael Chen", + role: "Lead Designer", + description: "Michael brings brands to life with his exceptional eye for design and user experience.", + imageSrc: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?auto=format&fit=crop&q=80&w=800", + }, + { + name: "Emily Rodriguez", + role: "SEO Specialist", + description: "Emily is our data-driven SEO expert, helping clients achieve top rankings and organic growth.", + imageSrc: "https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?auto=format&fit=crop&q=80&w=800", + } +]; + +export default function TeamSection() { + return ( +
+
+
+ + + + + +

+ The creative minds and strategic thinkers driving your digital success. +

+
+
+ +
+ {teamMembers.map((member, index) => ( + + +
+ +
+
+

{member.name}

+

{member.role}

+

{member.description}

+
+
+
+ ))} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Testimonials.tsx b/src/pages/HomePage/sections/Testimonials.tsx new file mode 100644 index 0000000..3a88f91 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -0,0 +1,32 @@ +// 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 ( +
+ + + +
+ ); +} -- 2.49.1