From 83d3a9f875ad062da3912e672e2ad52ceb49c92e Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Mon, 3 Aug 2026 11:42:11 +0000 Subject: [PATCH] Deploy --- .../sections/SalonInsightsSection.tsx | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/components/sections/SalonInsightsSection.tsx diff --git a/src/components/sections/SalonInsightsSection.tsx b/src/components/sections/SalonInsightsSection.tsx new file mode 100644 index 0000000..efa941c --- /dev/null +++ b/src/components/sections/SalonInsightsSection.tsx @@ -0,0 +1,67 @@ +'use client' + +import Image from 'next/image' +import Link from 'next/link' +import Badge from '@/components/ui/Badge' +import { Card, CardContent } from '@/components/ui/Card' +import { useVulaContent } from '@/hooks/useVulaContent' +import { ArrowRight } from 'lucide-react' + +interface PostData { + title?: string + excerpt?: string + author?: string + category?: string + image?: string | null +} + +export default function SalonInsightsSection() { + const { items, loading } = useVulaContent('posts') + + if (loading) return ( +
+
+
+ ) + + if (items.length === 0) return null + + return ( +
+
+
+

Hair care notes from our team

+

Advice for braids, colour and treated hair

+

Practical maintenance tips, seasonal trends and honest product guidance.

+
+
+ {items.slice(0, 3).map((item) => { + const d = item.data as PostData + return ( + +
+ {d.image ? ( + {d.title + ) : ( +
+ )} +
+ + {d.category && {d.category}} +

{d.title}

+

{d.excerpt}

+
+ {d.author && By {d.author}} + + Read more + +
+
+ + ) + })} +
+
+
+ ) +} \ No newline at end of file