Merge version_2_1781476635549 into main #1
@@ -1,246 +1,36 @@
|
||||
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import TeamProfileCards from '@/components/sections/team/TeamProfileCards';
|
||||
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
|
||||
import { Award, CheckCircle, Users } 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 ProductsSection from './HomePage/sections/Products';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
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="Bremer"
|
||||
description="Leading industrial solutions for the modern era. We deliver excellence in every project, driven by innovation and reliability."
|
||||
primaryButton={{
|
||||
text: "Get Started",
|
||||
href: "#contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Learn More",
|
||||
href: "#about",
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/people-work-greeting-each-other-with-elbow-bump-due-global-corona-virus-pandemic-danger-infection_342744-126.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTestimonial
|
||||
tag="About Us"
|
||||
quote="Bremer is committed to setting new standards in industrial development through sustainability and technology."
|
||||
author="John Bremer"
|
||||
role="CEO"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-teamwork-concept_23-2148911769.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCards
|
||||
tag="Our Expertise"
|
||||
title="Industrial Precision"
|
||||
description="We specialize in complex industrial solutions across multiple sectors."
|
||||
items={[
|
||||
{
|
||||
title: "Development",
|
||||
description: "Cutting edge industrial development.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hand-touching-digital-screen-with-data-visualization_23-2151964669.jpg",
|
||||
},
|
||||
{
|
||||
title: "Infrastructure",
|
||||
description: "Robust data and physical infrastructure.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/senescent-employee-optimizes-data-center_482257-89030.jpg",
|
||||
},
|
||||
{
|
||||
title: "Logistics",
|
||||
description: "Streamlined operational logistics.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/real-estate-team-using-3d-models-explore-construction-layout-options-working-residential_482257-136318.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Portfolio"
|
||||
title="Innovative Solutions"
|
||||
description="From hardware components to digital software, we deliver end-to-end industrial innovation."
|
||||
items={[
|
||||
{
|
||||
title: "Software UI",
|
||||
description: "Custom industrial dashboards.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/location-pins-flat-outline-multiple-colours_78370-9905.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hardware Tech",
|
||||
description: "Advanced mechanical components.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stainless-steel-details-equipments-machinery_114579-2840.jpg",
|
||||
},
|
||||
{
|
||||
title: "Design Mockups",
|
||||
description: "Prototype excellence.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-employee-walking-with-tablet-photovoltaics-factory_482257-120434.jpg",
|
||||
},
|
||||
{
|
||||
title: "Smart Factory",
|
||||
description: "Automated production systems.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/industry-40-engineer-upgrading-robotic-automation-systems_482257-126783.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cloud Services",
|
||||
description: "Secure data architecture.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-cyber-dots_1048-13984.jpg",
|
||||
},
|
||||
{
|
||||
title: "Control Systems",
|
||||
description: "Precision testing gear.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/head-laser-cutting-machine_1339-4598.jpg",
|
||||
},
|
||||
{
|
||||
title: "Industrial Sensors",
|
||||
description: "Advanced monitoring hardware.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-hand-interacting-with-digital-neural-network_23-2152029072.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ProductsSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="By the Numbers"
|
||||
title="Proven Impact"
|
||||
description="The results of our commitment to excellence."
|
||||
metrics={[
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Projects Completed",
|
||||
value: "150+",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
title: "Years of Experience",
|
||||
value: "20+",
|
||||
},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Clients Served",
|
||||
value: "500+",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamProfileCards
|
||||
tag="Our Team"
|
||||
title="Meet the Experts"
|
||||
description="A diverse team of professionals driving Bremer forward."
|
||||
items={[
|
||||
{
|
||||
title: "John Bremer",
|
||||
description: "Visionary leader with 20+ years of industrial experience.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/young-handsome-business-man-suit-office_1303-21048.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/thoughtful-entrepreneur-sitting-empty-desk_1262-5891.jpg",
|
||||
},
|
||||
{
|
||||
title: "Sarah Jenkins",
|
||||
description: "Expert in mechanical and software industrial engineering.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/happy-elegant-business-woman-office-hall_1262-3017.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blond-business-woman-standing-with-crossed-arms_23-2148095774.jpg",
|
||||
},
|
||||
{
|
||||
title: "Mike Ross",
|
||||
description: "Leader of our infrastructure and cloud operations.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/friendly-corporate-businesswoman_23-2147702112.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-smiling-senior-business-man-relaxing_1262-2369.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TeamSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialQuoteCards
|
||||
tag="Testimonials"
|
||||
title="Voices of Success"
|
||||
description="Trusted by industry leaders and long-term partners."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Alice Smith",
|
||||
role: "VP Operations",
|
||||
quote: "Bremer delivered excellence beyond our expectations.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-customer-feedback-stars-speech-bubble_107791-15947.jpg",
|
||||
},
|
||||
{
|
||||
name: "Bob Johnson",
|
||||
role: "CTO",
|
||||
quote: "Their industrial innovation transformed our capabilities.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/professional-broker_1098-14468.jpg",
|
||||
},
|
||||
{
|
||||
name: "Carol Williams",
|
||||
role: "CEO",
|
||||
quote: "True professional partners with technical expertise.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/successful-businessman-walking-rooftop-with-briefcase-documents-enjoying-city-view_23-2151962517.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Brown",
|
||||
role: "Managing Director",
|
||||
quote: "Outstanding results every single time we collaborated.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-holding-business-card_23-2149343383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Eve Davis",
|
||||
role: "Lead Architect",
|
||||
quote: "The team at Bremer is world-class.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-making-ok-sign_1368-9479.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get in Touch"
|
||||
text="Ready to transform your industrial processes? Contact Bremer today."
|
||||
primaryButton={{
|
||||
text: "Get a Proposal",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Support",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
22
src/pages/HomePage/sections/About.tsx
Normal file
22
src/pages/HomePage/sections/About.tsx
Normal 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="Bremer is committed to setting new standards in industrial development through sustainability and technology."
|
||||
author="John Bremer"
|
||||
role="CEO"
|
||||
imageSrc="http://img.b2bpic.net/free-photo/close-up-teamwork-concept_23-2148911769.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
53
src/pages/HomePage/sections/Contact.tsx
Normal file
53
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,53 @@
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
|
||||
import ScrollReveal from "@/components/ui/ScrollReveal";
|
||||
import TextAnimation from "@/components/ui/TextAnimation";
|
||||
import Button from "@/components/ui/Button";
|
||||
|
||||
const primaryButton = {
|
||||
text: "Call 19113",
|
||||
href: "tel:19113"
|
||||
};
|
||||
const secondaryButton = {
|
||||
href: "#",
|
||||
text: "Get Directions"
|
||||
};
|
||||
|
||||
const ContactInline = () => {
|
||||
return (
|
||||
<section aria-label="Contact section" className="py-20">
|
||||
<div className="w-content-width mx-auto">
|
||||
<ScrollReveal variant="slide-up">
|
||||
<div className="flex flex-col items-center gap-8 md:gap-10 py-20 px-8 rounded card">
|
||||
<div className="flex flex-col items-center gap-2">
|
||||
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
|
||||
<p>{"Visit Us"}</p>
|
||||
</div>
|
||||
|
||||
<TextAnimation
|
||||
text={"Due to high demand and waiting lists, please call 19113 to book your table in advance. We are located in Mansoura, Gehan Street, next to El-Tarshouby Pharmacy."}
|
||||
variant="fade-blur"
|
||||
gradientText={false}
|
||||
tag="h2"
|
||||
className="md:max-w-8/10 text-5xl 2xl:text-6xl leading-[1.15] font-semibold text-center text-balance"
|
||||
/>
|
||||
|
||||
<div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
|
||||
<Button text={primaryButton.text} href={primaryButton.href} variant="primary" />
|
||||
<Button text={secondaryButton.text} href={secondaryButton.href} variant="secondary" animationDelay={0.1} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
|
||||
export default function ContactSection() {
|
||||
return (
|
||||
<div data-webild-section="contact" id="contact">
|
||||
<ContactInline />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
22
src/pages/HomePage/sections/Hero.tsx
Normal file
22
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,22 @@
|
||||
// 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 HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroBillboardBrand
|
||||
brand="Bremer"
|
||||
description="A culinary journey through Italian, Indian, and Chinese cuisines. Don't miss our highly requested Tandoori dishes and freshly baked pizza."
|
||||
primaryButton={{"text":"Call 19113 to Book","href":"tel:19113"}}
|
||||
secondaryButton={{"text":"Our Location","href":"#contact"}}
|
||||
imageSrc="https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?q=80&w=2070&auto=format&fit=crop"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
38
src/pages/HomePage/sections/Metrics.tsx
Normal file
38
src/pages/HomePage/sections/Metrics.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 "metrics" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards';
|
||||
import { Award, CheckCircle, Users } from "lucide-react";
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsIconCards
|
||||
tag="By the Numbers"
|
||||
title="Proven Impact"
|
||||
description="The results of our commitment to excellence."
|
||||
metrics={[
|
||||
{
|
||||
icon: CheckCircle,
|
||||
title: "Projects Completed",
|
||||
value: "150+",
|
||||
},
|
||||
{
|
||||
icon: Award,
|
||||
title: "Years of Experience",
|
||||
value: "20+",
|
||||
},
|
||||
{
|
||||
icon: Users,
|
||||
title: "Clients Served",
|
||||
value: "500+",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Products.tsx
Normal file
64
src/pages/HomePage/sections/Products.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 "products" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ProductsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="products" data-section="products">
|
||||
<SectionErrorBoundary name="products">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Portfolio"
|
||||
title="Innovative Solutions"
|
||||
description="From hardware components to digital software, we deliver end-to-end industrial innovation."
|
||||
items={[
|
||||
{
|
||||
title: "Software UI",
|
||||
description: "Custom industrial dashboards.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/location-pins-flat-outline-multiple-colours_78370-9905.jpg",
|
||||
},
|
||||
{
|
||||
title: "Hardware Tech",
|
||||
description: "Advanced mechanical components.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stainless-steel-details-equipments-machinery_114579-2840.jpg",
|
||||
},
|
||||
{
|
||||
title: "Design Mockups",
|
||||
description: "Prototype excellence.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-employee-walking-with-tablet-photovoltaics-factory_482257-120434.jpg",
|
||||
},
|
||||
{
|
||||
title: "Smart Factory",
|
||||
description: "Automated production systems.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/industry-40-engineer-upgrading-robotic-automation-systems_482257-126783.jpg",
|
||||
},
|
||||
{
|
||||
title: "Cloud Services",
|
||||
description: "Secure data architecture.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-modern-background-with-flowing-cyber-dots_1048-13984.jpg",
|
||||
},
|
||||
{
|
||||
title: "Control Systems",
|
||||
description: "Precision testing gear.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/head-laser-cutting-machine_1339-4598.jpg",
|
||||
},
|
||||
{
|
||||
title: "Industrial Sensors",
|
||||
description: "Advanced monitoring hardware.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/futuristic-hand-interacting-with-digital-neural-network_23-2152029072.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Services.tsx
Normal file
37
src/pages/HomePage/sections/Services.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 "services" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCards
|
||||
tag="Our Expertise"
|
||||
title="Industrial Precision"
|
||||
description="We specialize in complex industrial solutions across multiple sectors."
|
||||
items={[
|
||||
{
|
||||
title: "Development",
|
||||
description: "Cutting edge industrial development.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/hand-touching-digital-screen-with-data-visualization_23-2151964669.jpg",
|
||||
},
|
||||
{
|
||||
title: "Infrastructure",
|
||||
description: "Robust data and physical infrastructure.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/senescent-employee-optimizes-data-center_482257-89030.jpg",
|
||||
},
|
||||
{
|
||||
title: "Logistics",
|
||||
description: "Streamlined operational logistics.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/real-estate-team-using-3d-models-explore-construction-layout-options-working-residential_482257-136318.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
43
src/pages/HomePage/sections/Team.tsx
Normal file
43
src/pages/HomePage/sections/Team.tsx
Normal file
@@ -0,0 +1,43 @@
|
||||
// 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 TeamProfileCards from '@/components/sections/team/TeamProfileCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TeamSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="team" data-section="team">
|
||||
<SectionErrorBoundary name="team">
|
||||
<TeamProfileCards
|
||||
tag="Our Team"
|
||||
title="Meet the Experts"
|
||||
description="A diverse team of professionals driving Bremer forward."
|
||||
items={[
|
||||
{
|
||||
title: "John Bremer",
|
||||
description: "Visionary leader with 20+ years of industrial experience.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/young-handsome-business-man-suit-office_1303-21048.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/thoughtful-entrepreneur-sitting-empty-desk_1262-5891.jpg",
|
||||
},
|
||||
{
|
||||
title: "Sarah Jenkins",
|
||||
description: "Expert in mechanical and software industrial engineering.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/happy-elegant-business-woman-office-hall_1262-3017.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/blond-business-woman-standing-with-crossed-arms_23-2148095774.jpg",
|
||||
},
|
||||
{
|
||||
title: "Mike Ross",
|
||||
description: "Leader of our infrastructure and cloud operations.",
|
||||
avatarSrc: "http://img.b2bpic.net/free-photo/friendly-corporate-businesswoman_23-2147702112.jpg",
|
||||
buttonText: "View Bio",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-smiling-senior-business-man-relaxing_1262-2369.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 TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialQuoteCards
|
||||
tag="Testimonials"
|
||||
title="Voices of Success"
|
||||
description="Trusted by industry leaders and long-term partners."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Alice Smith",
|
||||
role: "VP Operations",
|
||||
quote: "Bremer delivered excellence beyond our expectations.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-customer-feedback-stars-speech-bubble_107791-15947.jpg",
|
||||
},
|
||||
{
|
||||
name: "Bob Johnson",
|
||||
role: "CTO",
|
||||
quote: "Their industrial innovation transformed our capabilities.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/professional-broker_1098-14468.jpg",
|
||||
},
|
||||
{
|
||||
name: "Carol Williams",
|
||||
role: "CEO",
|
||||
quote: "True professional partners with technical expertise.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/successful-businessman-walking-rooftop-with-briefcase-documents-enjoying-city-view_23-2151962517.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Brown",
|
||||
role: "Managing Director",
|
||||
quote: "Outstanding results every single time we collaborated.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiley-woman-holding-business-card_23-2149343383.jpg",
|
||||
},
|
||||
{
|
||||
name: "Eve Davis",
|
||||
role: "Lead Architect",
|
||||
quote: "The team at Bremer is world-class.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/handsome-man-making-ok-sign_1368-9479.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user