diff --git a/app/contact/layout.tsx b/app/contact/layout.tsx new file mode 100644 index 0000000..1877209 --- /dev/null +++ b/app/contact/layout.tsx @@ -0,0 +1,13 @@ +export const metadata = { + title: "Contact Us | AB Group LLC", + description: + "Get in touch with AB Group LLC for QuickBooks consulting, training, and support. Call us or fill out our contact form for a free consultation.", +}; + +export default function ContactLayout({ + children, +}: { + children: React.ReactNode; +}) { + return children; +} diff --git a/app/contact/page.tsx b/app/contact/page.tsx new file mode 100644 index 0000000..be83671 --- /dev/null +++ b/app/contact/page.tsx @@ -0,0 +1,388 @@ +"use client"; + +import { useState } from "react"; +import { + Phone, + Mail, + MapPin, + Clock, + Facebook, + Twitter, + Linkedin, + Send, + CheckCircle, +} from "lucide-react"; + +const contactInfo = [ + { + icon: Phone, + label: "Phone", + values: ["(866) 218-3322", "(305) 387-8582"], + href: "tel:3053878582", + }, + { + icon: Mail, + label: "Email", + values: ["info@ab-groupllc.com"], + href: "mailto:info@ab-groupllc.com", + }, + { + icon: Phone, + label: "Fax", + values: ["(866) 705-8254"], + }, + { + icon: MapPin, + label: "Location", + values: ["Florida, United States"], + }, + { + icon: Clock, + label: "Hours", + values: ["Monday - Friday", "By Appointment Only"], + }, +]; + +const socialLinks = [ + { + name: "Facebook", + href: "https://www.facebook.com/quickbooks.easybutton", + icon: Facebook, + }, + { + name: "X", + href: "https://x.com/Nicky_QB_Expert/", + icon: Twitter, + }, + { + name: "LinkedIn", + href: "https://www.linkedin.com/in/nicollealcazar/", + icon: Linkedin, + }, +]; + +export default function ContactPage() { + const [formData, setFormData] = useState({ + name: "", + email: "", + phone: "", + company: "", + preferredContact: "email", + message: "", + }); + const [isSubmitting, setIsSubmitting] = useState(false); + const [isSubmitted, setIsSubmitted] = useState(false); + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setIsSubmitting(true); + + // Simulate form submission + await new Promise((resolve) => setTimeout(resolve, 1000)); + + setIsSubmitting(false); + setIsSubmitted(true); + }; + + const handleChange = ( + e: React.ChangeEvent< + HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement + > + ) => { + setFormData((prev) => ({ + ...prev, + [e.target.name]: e.target.value, + })); + }; + + return ( + <> + {/* Hero Section */} +
+
+
+

Contact Us

+

+ Let's Talk About Your + Business +

+

+ Ready to get started? Have questions? We're here to help. + Reach out for a free consultation and needs analysis. +

+
+
+
+ + {/* Contact Content */} +
+
+
+ {/* Contact Form */} +
+

+ Send Us a Message +

+

+ Fill out the form below and we'll get back to you as soon + as possible. +

+ + {isSubmitted ? ( +
+ +

+ Message Sent! +

+

+ Thank you for contacting us. We'll be in touch shortly. +

+ +
+ ) : ( +
+
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
+ +
+ +