diff --git a/src/pages/Contact.tsx b/src/pages/Contact.tsx new file mode 100644 index 0000000..7a1c0b8 --- /dev/null +++ b/src/pages/Contact.tsx @@ -0,0 +1,156 @@ +import { useState } from "react"; +import { toast } from "sonner"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent } from "@/components/ui/card"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { Textarea } from "@/components/ui/textarea"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { Badge } from "@/components/ui/badge"; +import { Mail, Phone, MapPin, Send, CheckCircle2 } from "lucide-react"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; +import { useSaasMutation } from "@/hooks/use-tygarun"; + +export default function ContactPage() { + const { mutate: createLead, loading: sending } = useSaasMutation("crm", "/leads"); + const [name, setName] = useState(""); + const [email, setEmail] = useState(""); + const [company, setCompany] = useState(""); + const [subject, setSubject] = useState(""); + const [message, setMessage] = useState(""); + const [success, setSuccess] = useState(false); + + return ( +
+
+ + {/* ── HERO ── */} +
+
+ Contact +

Get in touch

+

+ Have questions? We would love to hear from you. Our team typically responds within 24 hours. +

+
+
+ + {/* ── CONTACT SPLIT ── */} +
+
+
+ {/* Left:Info */} +
+
+

Contact Information

+

Reach out through any of these channels and we will get back to you as soon as possible.

+
+
+
+
+ +
+
+

Email

+

hello@nexus.dev

+
+
+
+
+ +
+
+

Phone

+

+1 (415) 555-0132

+
+
+
+
+ +
+
+

Office

+

100 Market St, Suite 400, San Francisco, CA 94105

+
+
+
+
+ + {/* Right:Form */} +
+ + + {success && ( +
+ Message sent successfully! We will get back to you within 24 hours. +
+ )} +
{ e.preventDefault(); try { await createLead({ name, email, company, subject, message }); setSuccess(true); toast.success("Message sent! Our team will reach out shortly."); } catch (err) { toast.error("Something went wrong. Please try again."); } }}> +
+
+ + setName(e.target.value)} className="mt-1.5" /> +
+
+ + setEmail(e.target.value)} className="mt-1.5" /> +
+
+
+ + setCompany(e.target.value)} className="mt-1.5" /> +
+
+ + +
+
+ +