diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx new file mode 100644 index 0000000..e0e1301 --- /dev/null +++ b/src/pages/Contact.tsx @@ -0,0 +1,185 @@ +import { useState } from "react"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent } from "@/components/ui/card"; +import { Badge } from "@/components/ui/badge"; +import { Input } from "@/components/ui/input"; +import { Textarea } from "@/components/ui/textarea"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; +import { useSaasMutation } from "@/hooks/use-tygarun"; +import { + MapPin, Phone, Mail, Clock, AlertTriangle, Send +} from "lucide-react"; +import { toast } from "sonner"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; + +const faqs = [ + { q: "What insurance plans do you accept?", a: "We accept most major insurance plans including BlueCross BlueShield, Aetna, UnitedHealthcare, Cigna, Kaiser Permanente, and Humana. Please contact our billing department for specific coverage questions." }, + { q: "How long is the average wait time?", a: "We respect your time. Most appointments begin within 15 minutes of your scheduled time. For walk-in visits, wait times average 30–45 minutes depending on patient volume." }, + { q: "What should new patients bring?", a: "New patients should bring a valid photo ID, insurance card, list of current medications, and any relevant medical records or imaging. Please arrive 15 minutes early to complete paperwork." }, + { q: "Do you handle medical emergencies?", a: "For life-threatening emergencies, always call 911. Our clinic provides urgent care for non-life-threatening conditions. Our 24/7 emergency line is available for guidance on whether to visit the ER or schedule an urgent appointment." }, +]; + +export default function ContactPage() { + const [sending, setSending] = useState(false); + const { mutate: bookAppointment } = useSaasMutation("scheduling", "/bookings"); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + const form = e.currentTarget as HTMLFormElement; + const body = Object.fromEntries(new FormData(form).entries()); + setSending(true); + try { + await bookAppointment(body); + toast.success("Appointment request submitted!", { + description: "Our team will call you within 24 hours to confirm your appointment.", + }); + form.reset(); + } catch { + toast.error("Could not submit request. Please call us or try again."); + } finally { + setSending(false); + } + }; + + return ( +
+
+ + {/* ── HERO ── */} +
+
+ Get in Touch +

Contact Us

+

We are here to help. Reach out to schedule an appointment or ask any questions about our services.

+
+
+ + {/* ── MAIN CONTENT ── */} +
+
+
+ + {/* LEFT: LOCATIONS */} +
+ + +

Main Campus

+
+
1200 Wellness Boulevard, Suite 100, San Francisco, CA 94102
+
(415) 555-0180
+
care@vitalitymedical.com
+
Mon–Fri 8:00 AM – 6:00 PM, Sat 9:00 AM – 1:00 PM
+
+
+
+ + + +

Satellite Clinic – Marina District

+
+
3456 Chestnut Street, San Francisco, CA 94123
+
(415) 555-0195
+
Mon–Fri 9:00 AM – 5:00 PM
+
+
+
+ + + +
+ Emergency Line +
+

(415) 555-0911

+

Available 24 hours, 7 days a week

+
+
+ + {/* MAP PLACEHOLDER */} +
+
+ +

Interactive Map

+
+
+
+ + {/* RIGHT: FORM */} +
+ + +

Request an Appointment

+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ +