Deploy
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
'use client'
|
||||
|
||||
import { useState } from 'react'
|
||||
import Button from '@/components/ui/Button'
|
||||
import Input from '@/components/ui/Input'
|
||||
|
||||
const serviceOptions = ['Corporate Law', 'Real Estate Transactions', 'Business Litigation', 'Contract Review', 'Mergers & Acquisitions']
|
||||
|
||||
export default function BookingSection() {
|
||||
const [name, setName] = useState('')
|
||||
const [email, setEmail] = useState('')
|
||||
const [phone, setPhone] = useState('')
|
||||
const [service, setService] = useState('')
|
||||
const [message, setMessage] = useState('')
|
||||
const [submitted, setSubmitted] = useState(false)
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault()
|
||||
setSubmitted(true)
|
||||
}
|
||||
|
||||
if (submitted) {
|
||||
return (
|
||||
<section data-vula-section="booking" id="booking" className="py-20 lg:py-28 bg-[#ffffff]">
|
||||
<div className="mx-auto max-w-2xl text-center">
|
||||
<div className="rounded-xl border border-neutral-100 bg-white p-8 shadow-[var(--shadow-card)]">
|
||||
<h2 className="text-3xl font-semibold tracking-tight text-[#111827]">Thank You</h2>
|
||||
<p className="mt-4 text-lg leading-relaxed text-neutral-600">We have received your consultation request. A member of our team will contact you within 24 hours.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
|
||||
return (
|
||||
<section id="booking" className="py-20 lg:py-28 bg-neutral-50">
|
||||
<div className="mx-auto max-w-2xl px-4">
|
||||
<div className="text-center">
|
||||
<span className="text-sm font-semibold tracking-widest uppercase text-neutral-400">Book a Consultation</span>
|
||||
<h2 className="mt-3 text-3xl lg:text-4xl font-semibold tracking-tight text-[#111827]">Schedule Your Case Review</h2>
|
||||
<p className="mt-4 text-lg leading-relaxed text-neutral-600">Tell us about your legal needs and our attorneys will arrange a confidential meeting.</p>
|
||||
</div>
|
||||
<form onSubmit={handleSubmit} className="mt-10 space-y-6">
|
||||
<Input
|
||||
placeholder="Full Name"
|
||||
value={name}
|
||||
onChange={(e) => setName(e.target.value)}
|
||||
required
|
||||
/>
|
||||
<Input
|
||||
type="email"
|
||||
placeholder="Email Address"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
required
|
||||
/>
|
||||
<Input
|
||||
type="tel"
|
||||
placeholder="Phone Number"
|
||||
value={phone}
|
||||
onChange={(e) => setPhone(e.target.value)}
|
||||
required
|
||||
/>
|
||||
<select
|
||||
value={service}
|
||||
onChange={(e) => setService(e.target.value)}
|
||||
required
|
||||
className="w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-neutral-900 placeholder-neutral-400 shadow-[var(--shadow-surface)] transition-all duration-200 focus:border-[#000080] focus:ring-2 focus:ring-[#000080]/20"
|
||||
>
|
||||
<option value="">Select Service</option>
|
||||
{serviceOptions.map((opt) => (
|
||||
<option key={opt} value={opt}>{opt}</option>
|
||||
))}
|
||||
</select>
|
||||
<textarea
|
||||
placeholder="Brief description of your legal matter"
|
||||
value={message}
|
||||
onChange={(e) => setMessage(e.target.value)}
|
||||
rows={4}
|
||||
className="w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-neutral-900 placeholder-neutral-400 shadow-[var(--shadow-surface)] transition-all duration-200 focus:border-[#000080] focus:ring-2 focus:ring-[#000080]/20"
|
||||
/>
|
||||
<Button type="submit" variant="default" className="w-full bg-[#000080] text-white hover:opacity-90">
|
||||
Request Consultation
|
||||
</Button>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user