From 244581aba8169ee0f788ca36ac60543aec8b4293 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Tue, 23 Jun 2026 08:38:51 +0000 Subject: [PATCH] Deploy --- .../sections/DropCampaignsSection.tsx | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/components/sections/DropCampaignsSection.tsx diff --git a/src/components/sections/DropCampaignsSection.tsx b/src/components/sections/DropCampaignsSection.tsx new file mode 100644 index 0000000..eabf893 --- /dev/null +++ b/src/components/sections/DropCampaignsSection.tsx @@ -0,0 +1,95 @@ +'use client' + +import { useEmDashContent } from '@/hooks/useEmDashContent' +import Image from 'next/image' +import { Card, CardHeader, CardTitle, CardContent } from '@/components/ui/Card' +import Button from '@/components/ui/Button' +import { ArrowRight } from 'lucide-react' + +export default function DropCampaignsSection() { + const { items, loading } = useEmDashContent('campaigns') + + if (loading) { + return ( +
+
+
+ ) + } + + if (items.length === 0) return null + + return ( +
+
+

+ Drop Campaigns +

+

+ Limited drops, collabs, and special releases — grab before they vanish. +

+ +
+ {items.map((item) => { + const d = item.data as { + title?: string + headline?: string + body?: string + cta_text?: string + image?: string + } + + return ( + + {d.image && ( +
+ {d.title +
+ )} + + + {d.title} + + {d.headline && ( +

+ {d.headline} +

+ )} +
+ + {d.body && ( +

+ {d.body} +

+ )} + {d.cta_text && ( + + )} +
+
+ ) + })} +
+
+
+ ) +}