From 4ff0ed792f1bbaebcf2458967016cc159b450616 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Mon, 27 Jul 2026 18:59:55 +0000 Subject: [PATCH] Deploy --- .../sections/ContactKhulumaSection.tsx | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 src/components/sections/ContactKhulumaSection.tsx diff --git a/src/components/sections/ContactKhulumaSection.tsx b/src/components/sections/ContactKhulumaSection.tsx new file mode 100644 index 0000000..c869acb --- /dev/null +++ b/src/components/sections/ContactKhulumaSection.tsx @@ -0,0 +1,149 @@ +'use client' + +import { useVulaContent } from '@/hooks/useVulaContent' +import Button from '@/components/ui/Button' +import Input from '@/components/ui/Input' +import { Camera, Globe, Mail, MapPin, MessageCircle, Phone, X } from 'lucide-react' + +import Image from 'next/image' +import Link from 'next/link' +import { useState } from 'react' + +export default function ContactKhulumaSection() { + const { items: hours, loading } = useVulaContent('business_hours') + const [form, setForm] = useState({ name: '', email: '', message: '' }) + const [submitted, setSubmitted] = useState(false) + + if (loading) return
+ if (hours.length === 0) return null + + const handleChange = (e: React.ChangeEvent) => { + setForm((prev) => ({ ...prev, [e.target.name]: e.target.value })) + } + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault() + if (form.name && form.email && form.message) setSubmitted(true) + } + + const socialLinks = [ + { icon: Camera, label: "Instagram", href: "https://instagram.com/joziwear" }, + { icon: Globe, label: "Facebook", href: "https://facebook.com/joziwear" }, + { icon: MessageCircle, label: "WhatsApp", href: "https://wa.me/27731234567" }, + { icon: X, label: "X", href: "https://x.com/joziwear" }, + ] + + return ( +
+
+
+

Khuluma Nawe

+

Reach out or come through to our Soweto spot.

+
+
+ + 123 Vilakazi Street, Orlando West, Soweto, 1804 +
+
+ + +27 73 123 4567 +
+
+ + info@joziwear.co.za +
+
+ {!submitted ? ( +
+ + +