From 8266bc5d139543c8c5877669f6cb3b3e14155d3a Mon Sep 17 00:00:00 2001 From: bender Date: Fri, 20 Mar 2026 01:15:42 +0000 Subject: [PATCH 1/2] Update src/app/page.tsx --- src/app/page.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 7460e46..d369852 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -10,8 +10,15 @@ import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCa import ContactSplit from '@/components/sections/contact/ContactSplit'; import FooterSimple from '@/components/sections/footer/FooterSimple'; import { Award, CheckCircle, Clock, MessageSquare, Phone, Shield, Sparkles, Star, Wrench } from 'lucide-react'; +import { useRouter } from 'next/navigation'; export default function LandingPage() { + const router = useRouter(); + + const handleFreeInspection = () => { + router.push('/signup'); + }; + return ( Date: Fri, 20 Mar 2026 01:15:43 +0000 Subject: [PATCH 2/2] Add src/app/signup/page.tsx --- src/app/signup/page.tsx | 276 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 src/app/signup/page.tsx diff --git a/src/app/signup/page.tsx b/src/app/signup/page.tsx new file mode 100644 index 0000000..26e38d4 --- /dev/null +++ b/src/app/signup/page.tsx @@ -0,0 +1,276 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; +import { useState } from 'react'; +import { useRouter } from 'next/navigation'; +import FooterSimple from '@/components/sections/footer/FooterSimple'; +import { Phone, Mail, CheckCircle } from 'lucide-react'; + +export default function SignupPage() { + const router = useRouter(); + const [formData, setFormData] = useState({ + fullName: '', + email: '', + phone: '', + address: '', + roofType: '', + issue: '', + preferredContact: 'phone' + }); + + const [submitted, setSubmitted] = useState(false); + + const handleChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData(prev => ({ + ...prev, + [name]: value + })); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + // Here you would typically send the form data to your backend + setSubmitted(true); + setTimeout(() => { + router.push('/'); + }, 3000); + }; + + return ( + + + +
+
+ {!submitted ? ( +
+
+

+ Free Roof Inspection Sign-Up +

+

+ Join thousands of Atlanta homeowners who trust AmeriPro Roofing. Get your free inspection scheduled today. +

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