"use client"; import { FormEvent, useState } from "react"; import Link from "next/link"; import { motion } from "framer-motion"; import { siteConfig } from "@/data/site-content"; type Status = { success: boolean; message: string } | null; export function HomeCTASection() { const [formData, setFormData] = useState({ name: "", phone: "", message: "" }); const [status, setStatus] = useState(null); const [submitting, setSubmitting] = useState(false); async function handleSubmit(e: FormEvent) { e.preventDefault(); setSubmitting(true); setStatus(null); try { const res = await fetch("/api/contact", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ ...formData, email: "", projectType: "general-question" }), }); const data = await res.json() as { success: boolean; message: string }; setStatus(data); if (data.success) setFormData({ name: "", phone: "", message: "" }); } catch { setStatus({ success: false, message: "Something went wrong. Please call us directly." }); } finally { setSubmitting(false); } } return (
{/* Left β€” copy */} GET STARTED

Ready to Start Your Project?

Visit our yard or drop us a message. We'll get back to you with the right materials, quantities, and delivery details.

πŸ“ž {siteConfig.phoneDisplay}
πŸ“ {siteConfig.address.street}, {siteConfig.address.cityStateZip}
πŸ• Mon – Fri  8 AM – 5 PM
Full Contact Page
{/* Right β€” quick form */}

Send a Quick Message

We'll respond during business hours.

{status?.success ? (
βœ“

{status.message}

) : (
setFormData((p) => ({ ...p, name: e.target.value }))} className="home-cta-input" /> setFormData((p) => ({ ...p, phone: e.target.value }))} className="home-cta-input" />