Files
vula-d50e2f7f/src/components/sections/ContactEnquirySection.tsx
T
Vula Builder f43b85317a Deploy
2026-07-25 19:05:19 +00:00

113 lines
4.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { useState } from "react"
import Button from "@/components/ui/Button"
import Input from "@/components/ui/Input"
import { Mail, Phone, Send } from 'lucide-react'
export default function ContactEnquirySection() {
const [name, setName] = useState("")
const [email, setEmail] = useState("")
const [phone, setPhone] = useState("")
const [message, setMessage] = useState("")
const [submitted, setSubmitted] = useState(false)
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault()
setSubmitted(true)
}
return (
<section data-vula-section="contactenquiry" id="enquire" className="py-28 bg-[#17120f]">
<div className="container mx-auto px-4 max-w-7xl">
<div className="text-center mb-14">
<div className="flex items-center justify-center gap-4 mb-5">
<span className="h-px w-14 bg-[#d4af37]" />
<span className="text-xs uppercase tracking-[0.2em] text-[#d4af37]">Get in touch</span>
<span className="h-px w-14 bg-[#d4af37]" />
</div>
<h2 className="text-4xl md:text-5xl font-light text-[#eeeae7] mb-4">
Let us craft your{" "}
<span className="italic text-[#d4af37] font-serif">stay</span>
</h2>
<p className="text-[#c4b8ae] max-w-lg mx-auto">
Bespoke arrangements, group stays, or any special request we are here to listen.
</p>
</div>
<div className="grid md:grid-cols-2 gap-12 items-start max-w-4xl mx-auto">
{/* Form */}
<form onSubmit={handleSubmit} className="space-y-5">
<Input
placeholder="Your name"
value={name}
onChange={(e) => setName(e.target.value)}
required
className="bg-[#1a1511] border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm"
/>
<Input
type="email"
placeholder="Email address"
value={email}
onChange={(e) => setEmail(e.target.value)}
required
className="bg-[#1a1511] border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm"
/>
<Input
type="tel"
placeholder="Phone (optional)"
value={phone}
onChange={(e) => setPhone(e.target.value)}
className="bg-[#1a1511] border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm"
/>
<textarea
placeholder="Tell us about your plans..."
value={message}
onChange={(e) => setMessage(e.target.value)}
required
rows={4}
className="w-full bg-[#1a1511] border border-[#403630] text-[#eeeae7] placeholder:text-[#6b5f55] rounded-sm px-4 py-3 text-sm focus:outline-none focus:ring-1 focus:ring-[#d4af37] resize-none"
/>
{submitted && (
<p className="text-sm text-[#6b8e23]">Enquiry sent we will respond within 24 hours.</p>
)}
<Button
type="submit"
variant="default"
size="lg"
className="w-full bg-[#8b5a3c] hover:bg-[#7a4e34] text-white rounded-sm"
>
<Send className="w-4 h-4 mr-2" />
Send Enquiry
</Button>
</form>
{/* Contact details */}
<div className="space-y-8 pt-2">
<div className="flex items-start gap-4">
<Phone className="w-5 h-5 mt-0.5 text-[#d4af37] shrink-0" />
<div>
<p className="text-sm uppercase tracking-wider text-[#6b5f55] mb-1">Call us</p>
<p className="text-[#eeeae7]">+254 712 345 678</p>
</div>
</div>
<div className="flex items-start gap-4">
<Mail className="w-5 h-5 mt-0.5 text-[#d4af37] shrink-0" />
<div>
<p className="text-sm uppercase tracking-wider text-[#6b5f55] mb-1">Email</p>
<p className="text-[#eeeae7]">info@masaisuites.com</p>
</div>
</div>
<div className="border-t border-[#403630] pt-6">
<p className="text-sm text-[#c4b8ae] leading-relaxed">
Prefer WhatsApp? Send a message to the same number.
We aim to reply within 30 minutes during reception hours.
</p>
</div>
</div>
</div>
</div>
</section>
)
}