From 4b2e9e1ec88bc23cd8b9e2f63b9ff00d0123e383 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Mon, 27 Jul 2026 18:06:16 +0000 Subject: [PATCH] Deploy --- .../sections/LimitedEditionDropsSection.tsx | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/components/sections/LimitedEditionDropsSection.tsx diff --git a/src/components/sections/LimitedEditionDropsSection.tsx b/src/components/sections/LimitedEditionDropsSection.tsx new file mode 100644 index 0000000..93b9345 --- /dev/null +++ b/src/components/sections/LimitedEditionDropsSection.tsx @@ -0,0 +1,73 @@ +'use client' + +import { useVulaContent } from '@/hooks/useVulaContent' +import Image from 'next/image' +import Link from 'next/link' +import Button from '@/components/ui/Button' +import Badge from '@/components/ui/Badge' + +export default function LimitedEditionDropsSection() { + const { items, loading } = useVulaContent('campaigns') + + if (loading) { + return ( +
+
+
+ ) + } + + if (items.length === 0) return null + + const first = items[0] + const d = first.data as { title?: string; headline?: string; body?: string; cta_text?: string; image?: string } + + return ( +
+
+
+ {/* Text side */} +
+ + Limited Drop + +

+ {d.headline || d.title} +

+

+ {d.body || ''} +

+ {d.cta_text && ( + + + + )} +
+ One-time drop — never restocked +
+
+ + {/* Image side */} + {d.image && ( +
+ {d.title +
+ )} +
+
+
+ ) +}