Compare commits
7 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 802521ba4b | |||
| 54803be0f1 | |||
| 7265d8231c | |||
| 4fe0a41263 | |||
| 4549d09bb0 | |||
|
|
3044740e25 | ||
|
|
069558d5e5 |
@@ -5,15 +5,15 @@
|
||||
|
||||
:root {
|
||||
/* @colorThemes/lightTheme/grayNavyBlue */
|
||||
--background: #0a0a0a;
|
||||
--card: #1a1a1a;
|
||||
--foreground: #f0f8ffe6;
|
||||
--primary-cta: #cee7ff;
|
||||
--primary-cta-text: #0a0a0a;
|
||||
--secondary-cta: #1a1a1a;
|
||||
--secondary-cta-text: #f0f8ffe6;
|
||||
--accent: #737373;
|
||||
--background-accent: #737373;
|
||||
--background: #ffffff;
|
||||
--card: #f8fafc;
|
||||
--foreground: #0f172a;
|
||||
--primary-cta: #3b82f6;
|
||||
--primary-cta-text: #ffffff;
|
||||
--secondary-cta: #e2e8f0;
|
||||
--secondary-cta-text: #0f172a;
|
||||
--accent: #60a5fa;
|
||||
--background-accent: #bfdbfe;
|
||||
|
||||
/* @layout/border-radius/rounded */
|
||||
--radius: 1rem;
|
||||
|
||||
@@ -1,258 +1,38 @@
|
||||
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
|
||||
import MetricsMediaCards from '@/components/sections/metrics/MetricsMediaCards';
|
||||
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
|
||||
import TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import { Shield, Star, Zap } 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 FeaturesSection from './HomePage/sections/Features';
|
||||
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 ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
|
||||
import PricingSection from './HomePage/sections/Pricing';export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroTiltedCards
|
||||
tag="Creative Advertising Agency"
|
||||
title="We Build Brands That Resonate"
|
||||
description="Transforming your vision into high-impact digital experiences that drive real results. Join us in crafting the future of advertising."
|
||||
primaryButton={{
|
||||
text: "See Our Work",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/boardroom-office-space-with-desks-stationary-tools-used-everyday-executive-tasks-company-department-place-empty-startup-coworking-space-small-business-decorations_482257-70394.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/abstract-painting-background_23-2151894483.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/brand-copyright-name-draft-graphic-concept_53876-124103.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-measuring-tools-desk_23-2150440910.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/water-drop-body-water_417767-87.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="about" data-section="about">
|
||||
<SectionErrorBoundary name="about">
|
||||
<AboutFeaturesSplit
|
||||
tag="Our Philosophy"
|
||||
title="Strategy Meets Creativity"
|
||||
description="We blend data-driven strategy with bold creative concepts to ensure every campaign stands out. Our team of experts works tirelessly to deliver excellence for brands across industries."
|
||||
items={[
|
||||
{
|
||||
icon: Zap,
|
||||
title: "Rapid Growth",
|
||||
description: "Accelerating brand visibility through smart advertising tactics.",
|
||||
},
|
||||
{
|
||||
icon: Shield,
|
||||
title: "Data-First",
|
||||
description: "Decisions based on actionable insights, not assumptions.",
|
||||
},
|
||||
{
|
||||
icon: Star,
|
||||
title: "Creative Edge",
|
||||
description: "Innovative campaigns that leave a lasting impression.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/studio-arrangement-shooting_23-2148503652.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<AboutSection />
|
||||
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesRevealCards
|
||||
tag="Our Capabilities"
|
||||
title="High-Impact Solutions"
|
||||
description="Discover how we help businesses achieve market-leading results."
|
||||
items={[
|
||||
{
|
||||
title: "Social Strategy",
|
||||
description: "Connecting with audiences where they live online.",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology_23-2149123980.jpg",
|
||||
},
|
||||
{
|
||||
title: "Campaign Creative",
|
||||
description: "Visually stunning concepts that grab attention immediately.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-stands-house-design-sketch-ready-renovation_273609-37020.jpg",
|
||||
},
|
||||
{
|
||||
title: "Brand Development",
|
||||
description: "Crafting consistent identities that scale and grow.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-computer-laptop-screen-showing-ideas-wooden-table_53876-16088.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FeaturesSection />
|
||||
<PricingSection />
|
||||
|
||||
<div id="portfolio" data-section="portfolio">
|
||||
<SectionErrorBoundary name="portfolio">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Featured Work"
|
||||
title="Portfolio Highlights"
|
||||
description="Case studies of brands we’ve helped grow to global prominence."
|
||||
items={[
|
||||
{
|
||||
title: "Global Tech Launch",
|
||||
description: "Tech platform scale",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-bento-box-assortment_23-2148973281.jpg",
|
||||
},
|
||||
{
|
||||
title: "Luxury Fashion Campaign",
|
||||
description: "High-end brand refresh",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-team-working-office-worker-concept_53876-23476.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fintech App Identity",
|
||||
description: "Clean modern interface",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-texts-cellphone-startup-office_482257-119475.jpg",
|
||||
},
|
||||
{
|
||||
title: "E-Commerce Growth",
|
||||
description: "Scaling online stores",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/financial-software-ui-pc-screen-apartment-office-desk_482257-122945.jpg",
|
||||
},
|
||||
{
|
||||
title: "Sustainability Brand",
|
||||
description: "Eco-friendly positioning",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/multiethnic-group-colleagues-working-charts-analysis-with-digital-tablet-using-online-research-information-create-infographics-report-people-analyzing-diagrams-boardroom_482257-46896.jpg",
|
||||
},
|
||||
{
|
||||
title: "Retail Experience",
|
||||
description: "Immersive customer journeys",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/gradient-glassmorphism-mobile-app-template_23-2149450132.jpg",
|
||||
},
|
||||
{
|
||||
title: "Healthcare Media",
|
||||
description: "Trusted brand campaigns",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-modern-tech-design-with-low-poly-connecting-lines-dots_1048-14606.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<PortfolioSection />
|
||||
|
||||
<div id="metrics" data-section="metrics">
|
||||
<SectionErrorBoundary name="metrics">
|
||||
<MetricsMediaCards
|
||||
tag="Our Impact"
|
||||
title="Measurable Results"
|
||||
description="Data doesn't lie. Here is how we move the needle for our partners."
|
||||
metrics={[
|
||||
{
|
||||
value: "150+",
|
||||
title: "Successful Campaigns",
|
||||
description: "Delivering excellence across diverse marketing channels.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-tablet_23-2149105728.jpg",
|
||||
},
|
||||
{
|
||||
value: "200%",
|
||||
title: "Average ROAS",
|
||||
description: "Maximizing returns on every advertising dollar spent.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/customer-marketing-sales-dashboard-graphics-concept_53876-133831.jpg",
|
||||
},
|
||||
{
|
||||
value: "50M+",
|
||||
title: "Impressions Delivered",
|
||||
description: "Reaching target audiences at scale with precision.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/representation-user-experience-interface-design-smartphone_23-2150165971.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<MetricsSection />
|
||||
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Trusted By Industry Leaders"
|
||||
title="Global Partnerships"
|
||||
description="Building the future with brands that demand the best."
|
||||
names={[
|
||||
"InnovateTech",
|
||||
"CreativePulse",
|
||||
"GlobalScale",
|
||||
"NextGenMedia",
|
||||
"VisionaryCo",
|
||||
"ApexDigital",
|
||||
"FutureFocus",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<SocialProofSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialTrustCard
|
||||
quote="Adverto completely transformed our marketing strategy. Their creative approach and analytical focus are unmatched."
|
||||
rating={5}
|
||||
author="Sarah Jenkins, VP of Marketing"
|
||||
avatars={[
|
||||
{
|
||||
name: "Alex",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-businessman-eyeglasses-office_1262-3710.jpg",
|
||||
},
|
||||
{
|
||||
name: "Beth",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-young-female-with-colorful-make-up-painted-art-neck_613910-8318.jpg",
|
||||
},
|
||||
{
|
||||
name: "Chris",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-equipped-computer-lab_23-2149241196.jpg",
|
||||
},
|
||||
{
|
||||
name: "Diana",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/self-assured-business-leader-conference-room_1262-3068.jpg",
|
||||
},
|
||||
{
|
||||
name: "Ethan",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/she-is-unstoppable-business_329181-13382.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Let's Collaborate"
|
||||
text="Ready to launch your next big campaign? Our team is standing by to help you grow."
|
||||
primaryButton={{
|
||||
text: "Start a Project",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Schedule a Call",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
39
src/pages/HomePage/sections/About.tsx
Normal file
39
src/pages/HomePage/sections/About.tsx
Normal 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 { Shield, Star, Zap } 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="Our Philosophy"
|
||||
title="Strategy Meets Creativity"
|
||||
description="We blend data-driven strategy with bold creative concepts to ensure every campaign stands out. Our team of experts works tirelessly to deliver excellence for brands across industries."
|
||||
items={[
|
||||
{
|
||||
icon: Zap,
|
||||
title: "Rapid Growth",
|
||||
description: "Accelerating brand visibility through smart advertising tactics.",
|
||||
},
|
||||
{
|
||||
icon: Shield,
|
||||
title: "Data-First",
|
||||
description: "Decisions based on actionable insights, not assumptions.",
|
||||
},
|
||||
{
|
||||
icon: Star,
|
||||
title: "Creative Edge",
|
||||
description: "Innovative campaigns that leave a lasting impression.",
|
||||
},
|
||||
]}
|
||||
imageSrc="https://images.pexels.com/photos/5583972/pexels-photo-5583972.jpeg?auto=compress&cs=tinysrgb&h=650&w=940&id=5583972"
|
||||
/>
|
||||
</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="Let's Collaborate"
|
||||
text="Ready to launch your next big campaign? Our team is standing by to help you grow."
|
||||
primaryButton={{
|
||||
text: "Start a Project",
|
||||
href: "#",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Schedule a Call",
|
||||
href: "#",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Features.tsx
Normal file
37
src/pages/HomePage/sections/Features.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 "features" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCards from '@/components/sections/features/FeaturesRevealCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FeaturesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="features" data-section="features">
|
||||
<SectionErrorBoundary name="features">
|
||||
<FeaturesRevealCards
|
||||
tag="Our Capabilities"
|
||||
title="High-Impact Solutions"
|
||||
description="Discover how we help businesses achieve market-leading results."
|
||||
items={[
|
||||
{
|
||||
title: "Social Strategy",
|
||||
description: "Connecting with audiences where they live online.",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/flat-design-minimal-technology_23-2149123980.jpg",
|
||||
},
|
||||
{
|
||||
title: "Campaign Creative",
|
||||
description: "Visually stunning concepts that grab attention immediately.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-stands-house-design-sketch-ready-renovation_273609-37020.jpg",
|
||||
},
|
||||
{
|
||||
title: "Brand Development",
|
||||
description: "Crafting consistent identities that scale and grow.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-computer-laptop-screen-showing-ideas-wooden-table_53876-16088.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
45
src/pages/HomePage/sections/Hero.tsx
Normal file
45
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,45 @@
|
||||
// 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 (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroTiltedCards
|
||||
tag="Creative Advertising Agency"
|
||||
title="We Build Brands That Resonate"
|
||||
description="Transforming your vision into high-impact digital experiences that drive real results. Join us in crafting the future of advertising."
|
||||
primaryButton={{
|
||||
text: "See Our Work",
|
||||
href: "#portfolio",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us",
|
||||
href: "#contact",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/boardroom-office-space-with-desks-stationary-tools-used-everyday-executive-tasks-company-department-place-empty-startup-coworking-space-small-business-decorations_482257-70394.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/abstract-painting-background_23-2151894483.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/brand-copyright-name-draft-graphic-concept_53876-124103.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-measuring-tools-desk_23-2150440910.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/water-drop-body-water_417767-87.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="Our Impact"
|
||||
title="Measurable Results"
|
||||
description="Data doesn't lie. Here is how we move the needle for our partners."
|
||||
metrics={[
|
||||
{
|
||||
value: "150+",
|
||||
title: "Successful Campaigns",
|
||||
description: "Delivering excellence across diverse marketing channels.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hands-holding-tablet_23-2149105728.jpg",
|
||||
},
|
||||
{
|
||||
value: "200%",
|
||||
title: "Average ROAS",
|
||||
description: "Maximizing returns on every advertising dollar spent.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/customer-marketing-sales-dashboard-graphics-concept_53876-133831.jpg",
|
||||
},
|
||||
{
|
||||
value: "50M+",
|
||||
title: "Impressions Delivered",
|
||||
description: "Reaching target audiences at scale with precision.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/representation-user-experience-interface-design-smartphone_23-2150165971.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="Featured Work"
|
||||
title="Portfolio Highlights"
|
||||
description="Case studies of brands we’ve helped grow to global prominence."
|
||||
items={[
|
||||
{
|
||||
title: "Global Tech Launch",
|
||||
description: "Tech platform scale",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-bento-box-assortment_23-2148973281.jpg",
|
||||
},
|
||||
{
|
||||
title: "Luxury Fashion Campaign",
|
||||
description: "High-end brand refresh",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/business-team-working-office-worker-concept_53876-23476.jpg",
|
||||
},
|
||||
{
|
||||
title: "Fintech App Identity",
|
||||
description: "Clean modern interface",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-texts-cellphone-startup-office_482257-119475.jpg",
|
||||
},
|
||||
{
|
||||
title: "E-Commerce Growth",
|
||||
description: "Scaling online stores",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/financial-software-ui-pc-screen-apartment-office-desk_482257-122945.jpg",
|
||||
},
|
||||
{
|
||||
title: "Sustainability Brand",
|
||||
description: "Eco-friendly positioning",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/multiethnic-group-colleagues-working-charts-analysis-with-digital-tablet-using-online-research-information-create-infographics-report-people-analyzing-diagrams-boardroom_482257-46896.jpg",
|
||||
},
|
||||
{
|
||||
title: "Retail Experience",
|
||||
description: "Immersive customer journeys",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-vector/gradient-glassmorphism-mobile-app-template_23-2149450132.jpg",
|
||||
},
|
||||
{
|
||||
title: "Healthcare Media",
|
||||
description: "Trusted brand campaigns",
|
||||
href: "#",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/3d-render-abstract-modern-tech-design-with-low-poly-connecting-lines-dots_1048-14606.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
98
src/pages/HomePage/sections/Pricing.tsx
Normal file
98
src/pages/HomePage/sections/Pricing.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import { motion } from "motion/react"
|
||||
import Button from "@/components/ui/Button"
|
||||
import Card from "@/components/ui/Card"
|
||||
import Tag from "@/components/ui/Tag"
|
||||
import { Check } from "lucide-react"
|
||||
|
||||
export default function PricingSection() {
|
||||
return (
|
||||
<section data-webild-section="pricing" id="pricing" className="relative w-full py-24 bg-background">
|
||||
<div className="max-w-content-width mx-auto px-6">
|
||||
<div className="text-center mb-16">
|
||||
<Tag text="الأسعار" className="mb-4 mx-auto" />
|
||||
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">باقات تناسب جميع احتياجاتك</h2>
|
||||
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">اختر الباقة التي تناسب حجم أعمالك وأهدافك التسويقية.</p>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
{/* Basic Plan */}
|
||||
<Card className="p-8 flex flex-col h-full">
|
||||
<div className="mb-8">
|
||||
<h3 className="text-2xl font-bold text-foreground mb-2">الباقة الأساسية</h3>
|
||||
<p className="text-muted-foreground mb-4">مثالية للشركات الناشئة</p>
|
||||
<div className="flex items-baseline gap-2">
|
||||
<span className="text-4xl font-bold text-foreground">$499</span>
|
||||
<span className="text-muted-foreground">/ شهرياً</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul className="space-y-4 mb-8 flex-grow">
|
||||
{['إدارة حسابين تواصل اجتماعي', '4 منشورات أسبوعياً', 'تقرير شهري مبسط', 'دعم فني عبر البريد الإلكتروني'].map((feature, i) => (
|
||||
<li key={i} className="flex items-center gap-3 text-foreground">
|
||||
<div className="w-5 h-5 rounded-full bg-primary-cta/20 flex items-center justify-center shrink-0">
|
||||
<Check className="w-3 h-3 text-primary-cta" />
|
||||
</div>
|
||||
<span>{feature}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
<Button text="اشترك الآن" variant="secondary" className="w-full" />
|
||||
</Card>
|
||||
|
||||
{/* Pro Plan */}
|
||||
<Card className="p-8 flex flex-col h-full relative border-2 border-primary-cta">
|
||||
<div className="absolute -top-4 left-1/2 -translate-x-1/2">
|
||||
<Tag text="الأكثر طلباً" className="bg-primary-cta text-primary-cta-text" />
|
||||
</div>
|
||||
<div className="mb-8">
|
||||
<h3 className="text-2xl font-bold text-foreground mb-2">الباقة الاحترافية</h3>
|
||||
<p className="text-muted-foreground mb-4">للشركات المتوسطة والنمو السريع</p>
|
||||
<div className="flex items-baseline gap-2">
|
||||
<span className="text-4xl font-bold text-foreground">$999</span>
|
||||
<span className="text-muted-foreground">/ شهرياً</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul className="space-y-4 mb-8 flex-grow">
|
||||
{['إدارة 4 حسابات تواصل اجتماعي', 'نشر يومي', 'إدارة حملات إعلانية (ميزانية حتى $2000)', 'تصميم جرافيك (10 تصاميم)', 'تقرير أداء نصف شهري', 'دعم فني على مدار الساعة'].map((feature, i) => (
|
||||
<li key={i} className="flex items-center gap-3 text-foreground">
|
||||
<div className="w-5 h-5 rounded-full bg-primary-cta/20 flex items-center justify-center shrink-0">
|
||||
<Check className="w-3 h-3 text-primary-cta" />
|
||||
</div>
|
||||
<span>{feature}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
<Button text="اشترك الآن" variant="primary" className="w-full" />
|
||||
</Card>
|
||||
|
||||
{/* Enterprise Plan */}
|
||||
<Card className="p-8 flex flex-col h-full">
|
||||
<div className="mb-8">
|
||||
<h3 className="text-2xl font-bold text-foreground mb-2">باقة الشركات</h3>
|
||||
<p className="text-muted-foreground mb-4">حلول متكاملة للعلامات التجارية الكبرى</p>
|
||||
<div className="flex items-baseline gap-2">
|
||||
<span className="text-4xl font-bold text-foreground">مخصص</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul className="space-y-4 mb-8 flex-grow">
|
||||
{['استراتيجية تسويق شاملة', 'إدارة حسابات غير محدودة', 'إدارة حملات إعلانية بميزانيات مفتوحة', 'إنتاج فيديو شهري', 'مدير حساب مخصص', 'تقارير أداء أسبوعية مفصلة'].map((feature, i) => (
|
||||
<li key={i} className="flex items-center gap-3 text-foreground">
|
||||
<div className="w-5 h-5 rounded-full bg-primary-cta/20 flex items-center justify-center shrink-0">
|
||||
<Check className="w-3 h-3 text-primary-cta" />
|
||||
</div>
|
||||
<span>{feature}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
<Button text="تواصل معنا" variant="secondary" className="w-full" />
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/SocialProof.tsx
Normal file
29
src/pages/HomePage/sections/SocialProof.tsx
Normal file
@@ -0,0 +1,29 @@
|
||||
// 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 (
|
||||
<div id="social-proof" data-section="social-proof">
|
||||
<SectionErrorBoundary name="social-proof">
|
||||
<SocialProofMarquee
|
||||
tag="Trusted By Industry Leaders"
|
||||
title="Global Partnerships"
|
||||
description="Building the future with brands that demand the best."
|
||||
names={[
|
||||
"InnovateTech",
|
||||
"CreativePulse",
|
||||
"GlobalScale",
|
||||
"NextGenMedia",
|
||||
"VisionaryCo",
|
||||
"ApexDigital",
|
||||
"FutureFocus",
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
42
src/pages/HomePage/sections/Testimonials.tsx
Normal file
42
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
// 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 TestimonialTrustCard from '@/components/sections/testimonial/TestimonialTrustCard';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialTrustCard
|
||||
quote="Adverto completely transformed our marketing strategy. Their creative approach and analytical focus are unmatched."
|
||||
rating={5}
|
||||
author="Sarah Jenkins, VP of Marketing"
|
||||
avatars={[
|
||||
{
|
||||
name: "Alex",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/cheerful-businessman-eyeglasses-office_1262-3710.jpg",
|
||||
},
|
||||
{
|
||||
name: "Beth",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/studio-portrait-young-female-with-colorful-make-up-painted-art-neck_613910-8318.jpg",
|
||||
},
|
||||
{
|
||||
name: "Chris",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/modern-equipped-computer-lab_23-2149241196.jpg",
|
||||
},
|
||||
{
|
||||
name: "Diana",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/self-assured-business-leader-conference-room_1262-3068.jpg",
|
||||
},
|
||||
{
|
||||
name: "Ethan",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/she-is-unstoppable-business_329181-13382.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user