Compare commits
2 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9e5d73965f | |||
|
|
8b72121717 |
@@ -1,234 +1,38 @@
|
||||
import AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesComparison from '@/components/sections/features/FeaturesComparison';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
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 PortfolioSection from './HomePage/sections/Portfolio';
|
||||
import ServicesSection from './HomePage/sections/Services';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import MetricsSection from './HomePage/sections/Metrics';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
|
||||
{/* webild-stub @2026-06-13T21:20:07.114Z: Add a 'Trusted By' section with partner logos to build immediate institutional credibility and reinforce the agency's premium market position. */}
|
||||
|
||||
import TrustedBySection from './HomePage/sections/TrustedBy';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Radiant Digital Agency"
|
||||
title="We Build the Future of the Web"
|
||||
description="Premium web experiences for visionaries. Sophisticated, fast, and built to scale."
|
||||
primaryButton={{
|
||||
text: "Explore Our Work",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technological-background-concept_23-2148882657.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-floating-particles-black_1048-12513.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-modern-techno-background-with-particles-with-shallow-depth-field_1048-12266.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-background-with-digital-particle-design_1048-12790.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/abstract-background-with-patterned-glass-texture_53876-145164.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gray-concrete-pillars_181624-1500.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
<TrustedBySection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Crafting Digital Excellence"
|
||||
descriptions={[
|
||||
"At Radiant Digital, we believe the web should be an experience, not just a page. We combine cutting-edge technology with high-end aesthetics to build platforms that stand out.",
|
||||
"Our approach is simple: deep focus, seamless collaboration, and relentless commitment to quality. We don't just build websites; we build brands.",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="portfolio" data-section="portfolio">
|
||||
<SectionErrorBoundary name="portfolio">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Selected Work"
|
||||
title="Projects That Inspire"
|
||||
description="A curated collection of modern platforms built with precision."
|
||||
items={[
|
||||
{
|
||||
title: "Fintech Platform",
|
||||
description: "High-security banking dashboard.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/agent-with-laptop-conducts-investigation_482257-81049.jpg",
|
||||
},
|
||||
{
|
||||
title: "Creative Studio",
|
||||
description: "Interactive portfolio for top artists.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smartphone-rocks-arrangement_23-2149672674.jpg",
|
||||
},
|
||||
{
|
||||
title: "E-Commerce Luxe",
|
||||
description: "High-end retail experience.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-tourist-flying-with-airplane-using-laptop-browse-internet-website-sunset-flight-man-travelling-economy-class-arrive-holiday-destination-aerial-transport_482257-46702.jpg",
|
||||
},
|
||||
{
|
||||
title: "AI Analytics UI",
|
||||
description: "Real-time data visualization platform.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/corporate-employee-working-overhours-marketing-project_482257-77551.jpg",
|
||||
},
|
||||
{
|
||||
title: "Modern Healthcare",
|
||||
description: "Patient management made easy.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/bright-screen-smartphone-digital-device_53876-101152.jpg",
|
||||
},
|
||||
{
|
||||
title: "Crypto Gateway",
|
||||
description: "Web3 onboarding infrastructure.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/black-laptop-screen-dark-room-night_169016-59640.jpg",
|
||||
},
|
||||
{
|
||||
title: "Travel Experiences",
|
||||
description: "Immersive luxury travel booking.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/interior-designer-working-out-office_52683-112924.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PortfolioSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesComparison
|
||||
tag="Our Expertise"
|
||||
title="Why Partner With Radiant"
|
||||
description="We bridge the gap between complex engineering and beautiful design."
|
||||
negativeItems={[
|
||||
"Generic templates",
|
||||
"Unoptimized codebases",
|
||||
"Slow support cycles",
|
||||
]}
|
||||
positiveItems={[
|
||||
"Custom-built solutions",
|
||||
"High-performance architecture",
|
||||
"Direct creative collaboration",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Clients"
|
||||
title="Voices of Excellence"
|
||||
description="What partners say about the Radiant experience."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah Miller",
|
||||
role: "CEO",
|
||||
quote: "Radiant delivered a truly premium platform that redefined our digital presence.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-young-reporter-with-photo-camera-dark-photo-studio_613910-3843.jpg",
|
||||
},
|
||||
{
|
||||
name: "John Doe",
|
||||
role: "CTO",
|
||||
quote: "Technical expertise matched only by their incredible design eye.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-man-working-late-office_23-2148991380.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily Chen",
|
||||
role: "Founder",
|
||||
quote: "Exceptional partnership and stunning delivery, time and again.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stylish-bearded-hipster-male-dressed-suit-sunglasses-dark-grey-background_613910-12487.jpg",
|
||||
},
|
||||
{
|
||||
name: "Alex Smith",
|
||||
role: "Product Lead",
|
||||
quote: "The speed and quality of their development is unmatched.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-suit-talking-phone_23-2148317350.jpg",
|
||||
},
|
||||
{
|
||||
name: "David W.",
|
||||
role: "Creative Lead",
|
||||
quote: "Visionaries who actually understand how to execute on high-tech concepts.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-blond-business-woman-white-shirt-grey-background_613910-11739.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Impact"
|
||||
title="Proven Results"
|
||||
description="Performance metrics that define our standard of work."
|
||||
metrics={[
|
||||
{
|
||||
value: "99.9%",
|
||||
title: "Uptime",
|
||||
description: "Reliable architecture for all clients.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/light-streak-lines-background_23-2148133168.jpg",
|
||||
},
|
||||
{
|
||||
value: "2x",
|
||||
title: "Speed",
|
||||
description: "Optimized load times compared to competitors.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-flowing-particles-creating-anstract-landscape-modern-technology_1048-12001.jpg",
|
||||
},
|
||||
{
|
||||
value: "50+",
|
||||
title: "Projects",
|
||||
description: "Successful premium deployments worldwide.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-prism-light-concept_23-2148599266.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get In Touch"
|
||||
text="Ready to build something radiant? Let's discuss your vision."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Portfolio",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
/>
|
||||
</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 AboutTextSplit from '@/components/sections/about/AboutTextSplit';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function AboutSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutTextSplit
|
||||
title="Crafting Digital Excellence"
|
||||
descriptions={[
|
||||
"At Radiant Digital, we believe the web should be an experience, not just a page. We combine cutting-edge technology with high-end aesthetics to build platforms that stand out.",
|
||||
"Our approach is simple: deep focus, seamless collaboration, and relentless commitment to quality. We don't just build websites; we build brands.",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal 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="Get In Touch"
|
||||
text="Ready to build something radiant? Let's discuss your vision."
|
||||
primaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Portfolio",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
50
src/pages/HomePage/sections/Hero.tsx
Normal file
50
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,50 @@
|
||||
// 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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitVerticalMarquee
|
||||
tag="Radiant Digital Agency"
|
||||
title="We Build the Future of the Web"
|
||||
description="Premium web experiences for visionaries. Sophisticated, fast, and built to scale."
|
||||
primaryButton={{
|
||||
text: "Explore Our Work",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
}}
|
||||
leftItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/technological-background-concept_23-2148882657.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-floating-particles-black_1048-12513.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-modern-techno-background-with-particles-with-shallow-depth-field_1048-12266.jpg",
|
||||
},
|
||||
]}
|
||||
rightItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-background-with-digital-particle-design_1048-12790.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/abstract-background-with-patterned-glass-texture_53876-145164.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gray-concrete-pillars_181624-1500.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
40
src/pages/HomePage/sections/Metrics.tsx
Normal file
40
src/pages/HomePage/sections/Metrics.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 "metrics" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function MetricsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Impact"
|
||||
title="Proven Results"
|
||||
description="Performance metrics that define our standard of work."
|
||||
metrics={[
|
||||
{
|
||||
value: "99.9%",
|
||||
title: "Uptime",
|
||||
description: "Reliable architecture for all clients.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/light-streak-lines-background_23-2148133168.jpg",
|
||||
},
|
||||
{
|
||||
value: "2x",
|
||||
title: "Speed",
|
||||
description: "Optimized load times compared to competitors.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-flowing-particles-creating-anstract-landscape-modern-technology_1048-12001.jpg",
|
||||
},
|
||||
{
|
||||
value: "50+",
|
||||
title: "Projects",
|
||||
description: "Successful premium deployments worldwide.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-prism-light-concept_23-2148599266.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Portfolio.tsx
Normal file
64
src/pages/HomePage/sections/Portfolio.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 "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 (
|
||||
<div id="portfolio" data-section="portfolio">
|
||||
<SectionErrorBoundary name="portfolio">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Selected Work"
|
||||
title="Projects That Inspire"
|
||||
description="A curated collection of modern platforms built with precision."
|
||||
items={[
|
||||
{
|
||||
title: "Fintech Platform",
|
||||
description: "High-security banking dashboard.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/agent-with-laptop-conducts-investigation_482257-81049.jpg",
|
||||
},
|
||||
{
|
||||
title: "Creative Studio",
|
||||
description: "Interactive portfolio for top artists.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smartphone-rocks-arrangement_23-2149672674.jpg",
|
||||
},
|
||||
{
|
||||
title: "E-Commerce Luxe",
|
||||
description: "High-end retail experience.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-tourist-flying-with-airplane-using-laptop-browse-internet-website-sunset-flight-man-travelling-economy-class-arrive-holiday-destination-aerial-transport_482257-46702.jpg",
|
||||
},
|
||||
{
|
||||
title: "AI Analytics UI",
|
||||
description: "Real-time data visualization platform.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/corporate-employee-working-overhours-marketing-project_482257-77551.jpg",
|
||||
},
|
||||
{
|
||||
title: "Modern Healthcare",
|
||||
description: "Patient management made easy.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/bright-screen-smartphone-digital-device_53876-101152.jpg",
|
||||
},
|
||||
{
|
||||
title: "Crypto Gateway",
|
||||
description: "Web3 onboarding infrastructure.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/black-laptop-screen-dark-room-night_169016-59640.jpg",
|
||||
},
|
||||
{
|
||||
title: "Travel Experiences",
|
||||
description: "Immersive luxury travel booking.",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/interior-designer-working-out-office_52683-112924.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
30
src/pages/HomePage/sections/Services.tsx
Normal file
30
src/pages/HomePage/sections/Services.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
// 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 FeaturesComparison from '@/components/sections/features/FeaturesComparison';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesComparison
|
||||
tag="Our Expertise"
|
||||
title="Why Partner With Radiant"
|
||||
description="We bridge the gap between complex engineering and beautiful design."
|
||||
negativeItems={[
|
||||
"Generic templates",
|
||||
"Unoptimized codebases",
|
||||
"Slow support cycles",
|
||||
]}
|
||||
positiveItems={[
|
||||
"Custom-built solutions",
|
||||
"High-performance architecture",
|
||||
"Direct creative collaboration",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
57
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,57 @@
|
||||
// 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 TestimonialRatingCards from '@/components/sections/testimonial/TestimonialRatingCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialRatingCards
|
||||
tag="Clients"
|
||||
title="Voices of Excellence"
|
||||
description="What partners say about the Radiant experience."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah Miller",
|
||||
role: "CEO",
|
||||
quote: "Radiant delivered a truly premium platform that redefined our digital presence.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-bearded-young-reporter-with-photo-camera-dark-photo-studio_613910-3843.jpg",
|
||||
},
|
||||
{
|
||||
name: "John Doe",
|
||||
role: "CTO",
|
||||
quote: "Technical expertise matched only by their incredible design eye.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-man-working-late-office_23-2148991380.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily Chen",
|
||||
role: "Founder",
|
||||
quote: "Exceptional partnership and stunning delivery, time and again.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/stylish-bearded-hipster-male-dressed-suit-sunglasses-dark-grey-background_613910-12487.jpg",
|
||||
},
|
||||
{
|
||||
name: "Alex Smith",
|
||||
role: "Product Lead",
|
||||
quote: "The speed and quality of their development is unmatched.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-woman-suit-talking-phone_23-2148317350.jpg",
|
||||
},
|
||||
{
|
||||
name: "David W.",
|
||||
role: "Creative Lead",
|
||||
quote: "Visionaries who actually understand how to execute on high-tech concepts.",
|
||||
rating: 5,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/attractive-blond-business-woman-white-shirt-grey-background_613910-11739.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/TrustedBy.tsx
Normal file
42
src/pages/HomePage/sections/TrustedBy.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
import TextAnimation from '@/components/ui/TextAnimation';
|
||||
import ScrollReveal from '@/components/ui/ScrollReveal';
|
||||
import LoopCarousel from '@/components/ui/LoopCarousel';
|
||||
|
||||
export default function TrustedBy() {
|
||||
const partners = [
|
||||
"Acme Corp",
|
||||
"Global Tech",
|
||||
"Nexus Industries",
|
||||
"Quantum Dynamics",
|
||||
"Stark Enterprises",
|
||||
"Wayne Tech",
|
||||
"Cyberdyne Systems",
|
||||
"Umbrella Corp"
|
||||
];
|
||||
|
||||
return (
|
||||
<section data-webild-section="trusted-by" id="trusted-by" className="relative w-full py-20 bg-background overflow-hidden border-b border-white/5">
|
||||
<div className="w-content-width mx-auto px-6 mb-12 text-center">
|
||||
<ScrollReveal variant="fade">
|
||||
<p className="text-sm font-bold text-muted-foreground uppercase tracking-widest">
|
||||
Trusted by innovative companies worldwide
|
||||
</p>
|
||||
</ScrollReveal>
|
||||
</div>
|
||||
|
||||
<div className="w-full">
|
||||
<LoopCarousel>
|
||||
<div className="flex items-center gap-24 pr-24">
|
||||
{partners.map((partner, index) => (
|
||||
<div key={index} className="flex items-center justify-center whitespace-nowrap">
|
||||
<span className="text-3xl font-bold text-foreground/40 hover:text-foreground transition-colors duration-300 cursor-default">
|
||||
{partner}
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</LoopCarousel>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user