diff --git a/src/components/sections/CampaignLookbookSection.tsx b/src/components/sections/CampaignLookbookSection.tsx new file mode 100644 index 0000000..8b4be70 --- /dev/null +++ b/src/components/sections/CampaignLookbookSection.tsx @@ -0,0 +1,56 @@ +'use client' + +import Image from 'next/image' +import { useVulaContent } from '@/hooks/useVulaContent' +import { ArrowRight } from 'lucide-react' + +interface CampaignItemData { + title?: string + headline?: string + body?: string + cta_text?: string + image?: string +} + +export default function CampaignLookbookSection() { + const { items, loading } = useVulaContent('campaigns') + + if (loading) { + return
+ } + + if (items.length === 0) return null + + return ( +
+
+
+

Lookbook / Durban

+

Shoots that hit different.

+
+
+ {items.slice(0, 4).map((item) => { + const d = (item.data ?? {}) as CampaignItemData + return ( +
+
+ {d.image ? ( + {d.title + ) : ( +
KD
+ )} +
+
+ {d.headline ?

{d.headline}

: null} + {d.title ?

{d.title}

: null} + {d.body ?

{d.body}

: null} + {d.cta_text ? {d.cta_text} : null} +
+
+ ) + })} +
+
+
+ ) +} \ No newline at end of file