Merge version_2_1780496569911 into main

Merge version_2_1780496569911 into main
This commit was merged in pull request #1.
This commit is contained in:
2026-06-03 14:23:46 +00:00
9 changed files with 337 additions and 204 deletions

View File

@@ -1,210 +1,28 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import FeaturesMediaGrid from '@/components/sections/features/FeaturesMediaGrid';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
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; 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 ClientsSection from './HomePage/sections/Clients';
import TeamSection from './HomePage/sections/Team';
import TestimonialsSection from './HomePage/sections/Testimonials';
import ContactSection from './HomePage/sections/Contact';
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBillboardBrand
brand="Innovate Marketing"
description="Your Vision, Amplified. We craft data-driven strategies and compelling narratives to elevate your brand and drive measurable results. Let's grow together."
primaryButton={{
text: "Our Services",
href: "#services",
}}
secondaryButton={{
text: "Contact Us",
href: "#contact",
}}
imageSrc="http://img.b2bpic.net/free-photo/group-friends-planning-trip-cafe_23-2148952344.jpg"
/>
</SectionErrorBoundary>
</div>
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="About Us"
quote="Our mission is to empower businesses with innovative marketing solutions that connect, engage, and convert. We believe in transparent partnerships and sustainable growth."
author="Jane Doe"
role="Founder & CEO, Innovate Marketing"
imageSrc="http://img.b2bpic.net/free-photo/joyful-business-woman-with-coffee-cup_23-2148095746.jpg"
/>
</SectionErrorBoundary>
</div>
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesMediaGrid
tag="Our Services"
title="Comprehensive Digital Marketing Solutions"
description="From strategy to execution, we cover all aspects of digital marketing to ensure your brand stands out and achieves its goals."
items={[
{
title: "SEO & SEM",
description: "Boost your visibility and drive organic traffic with our expert search engine optimization and marketing strategies.",
imageSrc: "http://img.b2bpic.net/free-photo/business-chart-visual-graphics-report-concept_53876-125580.jpg",
},
{
title: "Content Marketing",
description: "Engage your audience with compelling stories and valuable content that converts leads into loyal customers.",
imageSrc: "http://img.b2bpic.net/free-photo/from-notebook-glasses-near-laptop_23-2147768820.jpg",
},
{
title: "Social Media Management",
description: "Build a strong online presence and foster community with tailored social media strategies and engaging campaigns.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-hands-scanning-qr-code_23-2149357862.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesImageBento
tag="Our Work"
title="Successful Campaigns, Tangible Results"
description="Explore a selection of our recent projects that delivered significant impact and measurable success for our diverse range of clients."
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/business-achievement-improvement-success-result_53876-123860.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/business-team-discussing-their-ideas-office-working-collaborate-together-analysis-chart_1421-632.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/male-graphic-designer-holding-spiral-notepad-with-text_1170-1098.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/laboratory-test-tube-with-coronavirus-vaccine_637285-4809.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-hispanic-business-man_23-2151020337.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-friends-reading-menu-restaurant_23-2150384822.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-personal-care-products-fondant-pink_23-2151053850.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="clients" data-section="clients">
<SectionErrorBoundary name="clients">
<SocialProofMarquee
tag="Our Clients"
title="Trusted by Industry Leaders"
description="We partner with ambitious brands across various sectors, helping them achieve their marketing objectives and grow their market share."
names={[
"GlobalCorp Solutions",
"Apex Innovations",
"Digital Dynamics",
"EcoVibe Brands",
"SynergyTech Group",
"Quantum Leap Ventures",
"FutureForward Co.",
]}
/>
</SectionErrorBoundary>
</div>
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamOverlayCards
tag="Meet the Team"
title="Dedicated Experts Driving Your Success"
description="Our diverse team of marketing professionals brings a wealth of experience, creativity, and passion to every project, ensuring exceptional results."
members={[
{
name: "Alex Johnson",
role: "Marketing Director",
imageSrc: "http://img.b2bpic.net/free-photo/business-composition-with-modern-style_23-2147900149.jpg",
},
{
name: "Sarah Lee",
role: "Content Strategist",
imageSrc: "http://img.b2bpic.net/free-photo/pretty-young-woman-sitting-restaurant-looking-mobile-phone_23-2148101654.jpg",
},
{
name: "David Kim",
role: "SEO Specialist",
imageSrc: "http://img.b2bpic.net/free-photo/young-man-with-disabilities-invalid-disabled-paralized-handicapped-immobilized-looking-camera-upset-tired-sitting-wheelchair-business-office-room-working-financial-project-with-team_482257-28442.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Testimonials"
title="What Our Clients Say"
description="Don't just take our word for it. Hear directly from the businesses we've helped succeed and grow their brand."
testimonials={[
{
name: "Emily Watson",
role: "CEO, Tech Solutions",
quote: "Innovate Marketing completely transformed our online presence. Their strategic approach and execution led to a significant increase in lead generation and brand engagement. Highly recommend!",
imageSrc: "http://img.b2bpic.net/free-photo/successful-senior-businessman-standing-window_1262-3120.jpg",
},
{
name: "Mark Davis",
role: "Founder, Urban Bites",
quote: "Working with Innovate Marketing was a game-changer for our restaurant. Their creative campaigns and social media expertise brought in new customers and boosted our visibility immensely.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-hispanic-business-person_23-2151098593.jpg",
},
{
name: "Jessica Chen",
role: "Marketing Manager, HealthCo",
quote: "The team at Innovate Marketing is incredibly professional and results-driven. They understood our niche perfectly and delivered a campaign that exceeded all our expectations.",
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-businesswoman-with-laptop-coffee-go-city-street_574295-836.jpg",
},
{
name: "Michael Brown",
role: "Owner, CraftWorks",
quote: "From website redesign to targeted ads, Innovate Marketing handled everything with precision. Our sales have never been better, thanks to their dedicated efforts.",
imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-smiling-looking-confident-happy-standing-suit-street-leans-her_1258-193996.jpg",
},
{
name: "Sophia Rodriguez",
role: "E-commerce Lead, StyleHub",
quote: "Innovate Marketing provided exceptional support for our e-commerce platform. Their data-driven insights and innovative strategies significantly improved our conversion rates.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-woman-working-night-using-computer-laptop-doing-money-gesture-with-hands-asking-salary-payment-millionaire-business_839833-14045.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Ready to Grow?"
text="Let's build a powerful marketing strategy tailored to your unique business goals. Get in touch today and start your journey to success."
primaryButton={{
text: "Start a Project",
href: "mailto:contact@innovatemarketing.com",
}}
secondaryButton={{
text: "Call Us",
href: "tel:+1234567890",
}}
/>
</SectionErrorBoundary>
</div>
<HeroSection />
<AboutSection />
<ServicesSection />
<PortfolioSection />
<ClientsSection />
<TeamSection />
<TestimonialsSection />
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,22 @@
// 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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="About Us"
quote="Our mission is to empower businesses with innovative marketing solutions that connect, engage, and convert. We believe in transparent partnerships and sustainable growth."
author="Jane Doe"
role="Founder & CEO, Innovate Marketing"
imageSrc="http://img.b2bpic.net/free-photo/joyful-business-woman-with-coffee-cup_23-2148095746.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "clients" section.
import React from 'react';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ClientsSection(): React.JSX.Element {
return (
<div id="clients" data-section="clients">
<SectionErrorBoundary name="clients">
<SocialProofMarquee
tag="Our Clients"
title="Trusted by Industry Leaders"
description="We partner with ambitious brands across various sectors, helping them achieve their marketing objectives and grow their market share."
names={[
"GlobalCorp Solutions",
"Apex Innovations",
"Digital Dynamics",
"EcoVibe Brands",
"SynergyTech Group",
"Quantum Leap Ventures",
"FutureForward Co.",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View 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="Ready to Grow?"
text="Let's build a powerful marketing strategy tailored to your unique business goals. Get in touch today and start your journey to success."
primaryButton={{
text: "Start a Project",
href: "mailto:contact@innovatemarketing.com",
}}
secondaryButton={{
text: "Call Us",
href: "tel:+1234567890",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,68 @@
"use client";
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React, { useState, useEffect } from 'react';
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
const IMAGES = [
"http://img.b2bpic.net/free-photo/group-friends-planning-trip-cafe_23-2148952344.jpg",
"https://images.unsplash.com/photo-1522071820075-bc879564763a?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"https://images.unsplash.com/photo-1552664730-d307ca8849d1?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"https://images.unsplash.com/photo-1517245381810-b23468734b09?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
];
export default function HeroSection(): React.JSX.Element {
const [currentImageIndex, setCurrentImageIndex] = useState(0);
const [isLoading, setIsLoading] = useState(true);
const [currentImage, setCurrentImage] = useState(IMAGES[0]);
useEffect(() => {
const interval = setInterval(() => {
setIsLoading(true);
setCurrentImageIndex((prevIndex) => (prevIndex + 1) % IMAGES.length);
}, 5000); // Change image every 5 seconds
return () => clearInterval(interval);
}, []);
useEffect(() => {
const image = new Image();
image.src = IMAGES[currentImageIndex];
image.onload = () => {
setCurrentImage(IMAGES[currentImageIndex]);
setIsLoading(false);
};
image.onerror = () => {
console.error("Failed to load image:", IMAGES[currentImageIndex]);
setIsLoading(false);
};
}, [currentImageIndex]);
return (
<div id="hero" data-section="hero" className="relative">
{isLoading && (
<div className="absolute inset-0 flex items-center justify-center bg-background/80 z-10">
<div className="animate-spin rounded-full h-12 w-12 border-t-2 border-b-2 border-foreground"></div>
</div>
)}
<SectionErrorBoundary name="hero">
<HeroBillboardBrand
brand="Innovate Marketing"
description="Your Vision, Amplified. We craft data-driven strategies and compelling narratives to elevate your brand and drive measurable results. Let's grow together."
primaryButton={{
text: "Our Services",
href: "#services",
}}
secondaryButton={{
text: "Contact Us",
href: "#contact",
}}
imageSrc={currentImage}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,43 @@
// 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 FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PortfolioSection(): React.JSX.Element {
return (
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesImageBento
tag="Our Work"
title="Successful Campaigns, Tangible Results"
description="Explore a selection of our recent projects that delivered significant impact and measurable success for our diverse range of clients."
items={[
{
imageSrc: "http://img.b2bpic.net/free-photo/business-achievement-improvement-success-result_53876-123860.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/business-team-discussing-their-ideas-office-working-collaborate-together-analysis-chart_1421-632.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/male-graphic-designer-holding-spiral-notepad-with-text_1170-1098.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/laboratory-test-tube-with-coronavirus-vaccine_637285-4809.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-hispanic-business-man_23-2151020337.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-friends-reading-menu-restaurant_23-2150384822.jpg",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/3d-rendering-personal-care-products-fondant-pink_23-2151053850.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 "services" section.
import React from 'react';
import FeaturesMediaGrid from '@/components/sections/features/FeaturesMediaGrid';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ServicesSection(): React.JSX.Element {
return (
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesMediaGrid
tag="Our Services"
title="Comprehensive Digital Marketing Solutions"
description="From strategy to execution, we cover all aspects of digital marketing to ensure your brand stands out and achieves its goals."
items={[
{
title: "SEO & SEM",
description: "Boost your visibility and drive organic traffic with our expert search engine optimization and marketing strategies.",
imageSrc: "http://img.b2bpic.net/free-photo/business-chart-visual-graphics-report-concept_53876-125580.jpg",
},
{
title: "Content Marketing",
description: "Engage your audience with compelling stories and valuable content that converts leads into loyal customers.",
imageSrc: "http://img.b2bpic.net/free-photo/from-notebook-glasses-near-laptop_23-2147768820.jpg",
},
{
title: "Social Media Management",
description: "Build a strong online presence and foster community with tailored social media strategies and engaging campaigns.",
imageSrc: "http://img.b2bpic.net/free-photo/top-view-hands-scanning-qr-code_23-2149357862.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 "team" section.
import React from 'react';
import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TeamSection(): React.JSX.Element {
return (
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamOverlayCards
tag="Meet the Team"
title="Dedicated Experts Driving Your Success"
description="Our diverse team of marketing professionals brings a wealth of experience, creativity, and passion to every project, ensuring exceptional results."
members={[
{
name: "Alex Johnson",
role: "Marketing Director",
imageSrc: "http://img.b2bpic.net/free-photo/business-composition-with-modern-style_23-2147900149.jpg",
},
{
name: "Sarah Lee",
role: "Content Strategist",
imageSrc: "http://img.b2bpic.net/free-photo/pretty-young-woman-sitting-restaurant-looking-mobile-phone_23-2148101654.jpg",
},
{
name: "David Kim",
role: "SEO Specialist",
imageSrc: "http://img.b2bpic.net/free-photo/young-man-with-disabilities-invalid-disabled-paralized-handicapped-immobilized-looking-camera-upset-tired-sitting-wheelchair-business-office-room-working-financial-project-with-team_482257-28442.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View 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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Testimonials"
title="What Our Clients Say"
description="Don't just take our word for it. Hear directly from the businesses we've helped succeed and grow their brand."
testimonials={[
{
name: "Emily Watson",
role: "CEO, Tech Solutions",
quote: "Innovate Marketing completely transformed our online presence. Their strategic approach and execution led to a significant increase in lead generation and brand engagement. Highly recommend!",
imageSrc: "http://img.b2bpic.net/free-photo/successful-senior-businessman-standing-window_1262-3120.jpg",
},
{
name: "Mark Davis",
role: "Founder, Urban Bites",
quote: "Working with Innovate Marketing was a game-changer for our restaurant. Their creative campaigns and social media expertise brought in new customers and boosted our visibility immensely.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-hispanic-business-person_23-2151098593.jpg",
},
{
name: "Jessica Chen",
role: "Marketing Manager, HealthCo",
quote: "The team at Innovate Marketing is incredibly professional and results-driven. They understood our niche perfectly and delivered a campaign that exceeded all our expectations.",
imageSrc: "http://img.b2bpic.net/free-photo/young-beautiful-businesswoman-with-laptop-coffee-go-city-street_574295-836.jpg",
},
{
name: "Michael Brown",
role: "Owner, CraftWorks",
quote: "From website redesign to targeted ads, Innovate Marketing handled everything with precision. Our sales have never been better, thanks to their dedicated efforts.",
imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-smiling-looking-confident-happy-standing-suit-street-leans-her_1258-193996.jpg",
},
{
name: "Sophia Rodriguez",
role: "E-commerce Lead, StyleHub",
quote: "Innovate Marketing provided exceptional support for our e-commerce platform. Their data-driven insights and innovative strategies significantly improved our conversion rates.",
imageSrc: "http://img.b2bpic.net/free-photo/middle-age-woman-working-night-using-computer-laptop-doing-money-gesture-with-hands-asking-salary-payment-millionaire-business_839833-14045.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}