diff --git a/src/components/sections/SpecialsSection.tsx b/src/components/sections/SpecialsSection.tsx new file mode 100644 index 0000000..c162763 --- /dev/null +++ b/src/components/sections/SpecialsSection.tsx @@ -0,0 +1,76 @@ +'use client' + +import Image from 'next/image' +import Link from 'next/link' +import Button from '@/components/ui/Button' +import Badge from '@/components/ui/Badge' +import { Card, CardContent, CardFooter, CardHeader, CardTitle, CardDescription } from '@/components/ui/Card' +import { useEmDashContent } from '@/hooks/useEmDashContent' + +export default function SpecialsSection() { + const { items, loading } = useEmDashContent('campaigns') + + if (loading) return ( +
+
+
+ ) + + if (items.length === 0) return null + + return ( +
+
+

Seasonal Offers

+

Limited-time stays that celebrate the richness of Venda culture and nature.

+
+ {items.map((item) => { + const d = item.data as { title?: string; headline?: string; body?: string; cta_text?: string; image?: string } + return ( + +
+ {d.image && ( + {d.headline + )} +
+ Limited + Seasonal +
+
+ + + {d.headline || d.title} + + + {d.body?.substring(0, 120)}{d.body && d.body.length > 120 ? '...' : ''} + + + + {d.cta_text ? ( + + + + ) : ( + + + + )} + +
+ ) + })} +
+
+
+ ) +}