From aa97309d4b5173c5efe7f33f52b01135b23d5314 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Sat, 25 Jul 2026 11:17:58 +0000 Subject: [PATCH] Deploy --- .../sections/GuestReflectionsSection.tsx | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/components/sections/GuestReflectionsSection.tsx diff --git a/src/components/sections/GuestReflectionsSection.tsx b/src/components/sections/GuestReflectionsSection.tsx new file mode 100644 index 0000000..2eac575 --- /dev/null +++ b/src/components/sections/GuestReflectionsSection.tsx @@ -0,0 +1,95 @@ +'use client' + +import { useEmDashContent } from '@/hooks/useEmDashContent' +import Image from 'next/image' +import { Quote } from 'lucide-react' + +export default function GuestReflectionsSection() { + const { items, loading } = useEmDashContent('posts') + + if (loading) { + return ( +
+
+
+ ) + } + + // Filter for review-tagged posts + const reviews = items.filter((item) => { + const d = item.data as { category?: string } + return d.category?.toLowerCase().includes('review') + }) + + if (reviews.length === 0) return null + + return ( +
+
+
+ + Guest Voices + +

+ Guest Reflections +

+

+ Honest stories from travellers who stayed with us +

+
+ +
+ {reviews.slice(0, 6).map((item) => { + const d = item.data as { + title?: string + excerpt?: string + body?: string + author?: string + category?: string + image?: string + } + return ( +
+
+ +

+ “{d.excerpt || (d.body ? d.body.substring(0, 150) + '...' : '')}” +

+
+ {d.image && ( +
+ {d.author +
+ )} +
+

+ {d.author || 'Anonymous Guest'} +

+

+ {d.title} +

+
+
+
+
+ ) + })} +
+
+
+ ) +}