From 4b17d52b116552730a3ea32b6a177cdbdf6078b1 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Sun, 26 Jul 2026 16:56:17 +0000 Subject: [PATCH] Deploy --- .../sections/VendaLodgeEnquirySection.tsx | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 src/components/sections/VendaLodgeEnquirySection.tsx diff --git a/src/components/sections/VendaLodgeEnquirySection.tsx b/src/components/sections/VendaLodgeEnquirySection.tsx new file mode 100644 index 0000000..09c58e7 --- /dev/null +++ b/src/components/sections/VendaLodgeEnquirySection.tsx @@ -0,0 +1,164 @@ +'use client' + +import { useState } from "react" +import { useEmDashContent } from "@/hooks/useEmDashContent" +import { Card, CardContent } from "@/components/ui/Card" +import Button from "@/components/ui/Button" +import Input from "@/components/ui/Input" +import { Badge, Clock, Mail, MapPin, MessageCircle, Moon, Phone, Sun } from 'lucide-react' +import Image from "next/image" + +export default function VendaLodgeEnquirySection() { + const { items, loading } = useEmDashContent("business_hours") + const [formData, setFormData] = useState({ name: "", email: "", message: "" }) + const [submitted, setSubmitted] = useState(false) + + if (loading) + return ( +
+
+
+ ) + + if (items.length === 0) return null + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault() + setSubmitted(true) + setFormData({ name: "", email: "", message: "" }) + } + + const getIcon = (day: string) => { + const d = day.toLowerCase() + if (d.includes("saturday") || d.includes("sunday")) return + return + } + + return ( +
+
+
+ {/* Left Column: Contact Info + Hours */} +
+

+ We already know the stars by name, and we'll be waiting to show them to you. +

+

+ Reach out – we're family-run, warm, and ready. +

+ +
+
+ + Nzhelele Valley, Limpopo, South Africa +
+
+ + +27 12 345 6789 +
+
+ + info@vavendalodge.co.za +
+
+ + WhatsApp: +27 82 123 4567 +
+
+ +
+

Reception & Check-in 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 ( +
  • + {getIcon(d.day_of_week || "")} + {d.day_of_week} + {d.is_closed ? ( + Closed + ) : ( + + {d.open_time} – {d.close_time} + + )} + {d.note && {d.note}} +
  • + ) + })} +
+

Public holidays may vary – please enquire.

+
+
+ + {/* Right Column: Enquiry Form + Map */} +
+ + + {submitted ? ( +
+
+

Thank You!

+

We'll respond within 24 hours – straight from the lodge.

+
+ ) : ( +
+

Send us an enquiry

+ setFormData({ ...formData, name: e.target.value })} + required + /> + setFormData({ ...formData, email: e.target.value })} + required + /> +