From 4fdc10c47a5cb275808b4d8bd2a5d72cc864edf2 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Fri, 31 Jul 2026 14:12:31 +0000 Subject: [PATCH] Deploy --- .../sections/KhulumaNathiSection.tsx | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 src/components/sections/KhulumaNathiSection.tsx diff --git a/src/components/sections/KhulumaNathiSection.tsx b/src/components/sections/KhulumaNathiSection.tsx new file mode 100644 index 0000000..e16bb86 --- /dev/null +++ b/src/components/sections/KhulumaNathiSection.tsx @@ -0,0 +1,88 @@ +'use client' + +import { useState, type FormEvent } from 'react' +import { Clock, Mail, MessageCircle, Send } from 'lucide-react' + +import Button from '@/components/ui/Button' +import Input from '@/components/ui/Input' +import { useVulaContent } from '@/hooks/useVulaContent' + +const WHATSAPP_NUMBER = '27825550147' +const EMAIL = 'hello@ikhayahome.co.za' + +export default function KhulumaNathiSection() { + const { items, loading } = useVulaContent('business_hours') + const [name, setName] = useState('') + const [email, setEmail] = useState('') + const [message, setMessage] = useState('') + const [sent, setSent] = useState(false) + + const handleSubmit = (e: FormEvent) => { + e.preventDefault() + setSent(true) + } + + if (loading) { + return ( +
+
+
+ ) + } + + if (items.length === 0) return null + + return ( +
+
+
+

Khuluma nathi

+

Tell us about your space — we’re listening.

+

Need help choosing cushion colours or ceramic finishes? Our Durban studio replies within one working day.

+ +
+

Trading hours

+
    + {items.map((item) => { + const d = item.data as { day_of_week?: string; open_time?: string; close_time?: string; is_closed?: boolean; note?: string } + return ( +
  • + {d.day_of_week ?? '—'} + {d.is_closed ? 'Closed' : `${d.open_time ?? '—'} – ${d.close_time ?? '—'}`} +
  • + ) + })} +
+

Open on public holidays — call ahead to confirm.

+
+
+
+

Send us a note

+

No question is too small.

+
+ setName(e.target.value)} placeholder="Your name" required /> + setEmail(e.target.value)} placeholder="Email address" required /> +