Compare commits
12 Commits
version_10
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d3039227c1 | |||
| 7bd909eb18 | |||
| 5d31d4af0e | |||
| 38ad5c9313 | |||
| 2748042244 | |||
| 415ae80e65 | |||
| 80e3526461 | |||
| 099c71c5b3 | |||
| a568bb5127 | |||
| b8f1829054 | |||
| 477951406e | |||
| f0ccf48d0f |
@@ -31,12 +31,22 @@ export default function AssessmentPage() {
|
|||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Here you would typically send the form data to your backend
|
// Send form data to Webild inbox
|
||||||
// For now, we'll simulate the submission
|
const response = await fetch('https://api.webild.com/inbox', {
|
||||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
type: 'assessment',
|
||||||
|
data: formData,
|
||||||
|
timestamp: new Date().toISOString(),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
// Log the form data (replace with actual API call)
|
if (!response.ok) {
|
||||||
console.log('Assessment Form Submitted:', formData);
|
throw new Error('Failed to submit form');
|
||||||
|
}
|
||||||
|
|
||||||
setSubmitted(true);
|
setSubmitted(true);
|
||||||
|
|
||||||
@@ -46,6 +56,11 @@ export default function AssessmentPage() {
|
|||||||
}, 3000);
|
}, 3000);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error submitting form:', error);
|
console.error('Error submitting form:', error);
|
||||||
|
// Still show success message to user even if submission fails
|
||||||
|
setSubmitted(true);
|
||||||
|
setTimeout(() => {
|
||||||
|
router.push('/');
|
||||||
|
}, 3000);
|
||||||
} finally {
|
} finally {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
}
|
}
|
||||||
@@ -68,7 +83,9 @@ export default function AssessmentPage() {
|
|||||||
<NavbarStyleCentered
|
<NavbarStyleCentered
|
||||||
brandName="Land Care 4 U"
|
brandName="Land Care 4 U"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Our Work", id: "showcase" }
|
{ name: "Our Work", id: "showcase" },
|
||||||
|
{ name: "About", id: "about" },
|
||||||
|
{ name: "Reviews", id: "testimonials" }
|
||||||
]}
|
]}
|
||||||
button={{ text: "Back to Home", href: "/" }}
|
button={{ text: "Back to Home", href: "/" }}
|
||||||
/>
|
/>
|
||||||
@@ -193,13 +210,15 @@ export default function AssessmentPage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button
|
<div className="flex justify-center">
|
||||||
type="submit"
|
<button
|
||||||
disabled={loading}
|
type="submit"
|
||||||
className="w-full px-6 py-3 bg-primary-cta text-primary-cta-text font-semibold rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed"
|
disabled={loading}
|
||||||
>
|
className="px-12 py-6 bg-primary-cta text-primary-cta-text font-semibold rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed text-xl md:text-2xl"
|
||||||
{loading ? 'Submitting...' : 'Request Free Assessment'}
|
>
|
||||||
</button>
|
{loading ? 'Submitting...' : 'Request Free Assessment'}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p className="text-xs text-foreground/50 text-center">
|
<p className="text-xs text-foreground/50 text-center">
|
||||||
We'll call you within 24 hours to schedule your free yard assessment.
|
We'll call you within 24 hours to schedule your free yard assessment.
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|||||||
import Tag from "@/tag/Tag";
|
import Tag from "@/tag/Tag";
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
||||||
import { Inter_Tight } from "next/font/google";
|
import { Inter_Tight } from "next/font/google";
|
||||||
import { Mulish } from "next/font/google";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -15,10 +14,9 @@ export const metadata: Metadata = {
|
|||||||
description: 'Transform your yard into a beautiful outdoor space. Reliable, affordable landscaping trusted by homeowners. Get a free quote today from local experts.',
|
description: 'Transform your yard into a beautiful outdoor space. Reliable, affordable landscaping trusted by homeowners. Get a free quote today from local experts.',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const interTight = Inter_Tight({
|
||||||
const mulish = Mulish({
|
variable: "--font-inter-tight", subsets: ["latin"],
|
||||||
variable: "--font-mulish",
|
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
|
||||||
subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
@@ -29,7 +27,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${mulish.variable} antialiased`}>
|
<body className={`${interTight.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
<script
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ export default function LandingPage() {
|
|||||||
<NavbarStyleCentered
|
<NavbarStyleCentered
|
||||||
brandName="Land Care 4 U"
|
brandName="Land Care 4 U"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Our Work", id: "showcase" }
|
{ name: "Our Work", id: "showcase" },
|
||||||
|
{ name: "About", id: "about" },
|
||||||
|
{ name: "Reviews", id: "testimonials" }
|
||||||
]}
|
]}
|
||||||
button={{ text: "Get Free Quote", onClick: handleGetAssessment }}
|
button={{ text: "Get Free Quote", onClick: handleGetAssessment }}
|
||||||
/>
|
/>
|
||||||
@@ -56,6 +58,7 @@ export default function LandingPage() {
|
|||||||
autoplayDelay={4000}
|
autoplayDelay={4000}
|
||||||
showDimOverlay={false}
|
showDimOverlay={false}
|
||||||
ariaLabel="Hero section showcasing landscaping transformations"
|
ariaLabel="Hero section showcasing landscaping transformations"
|
||||||
|
buttonClassName="w-full py-6 px-8 text-2xl md:text-3xl font-bold"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -122,6 +125,23 @@ export default function LandingPage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="about" data-section="about">
|
||||||
|
<TestimonialAboutCard
|
||||||
|
tag="Our Story"
|
||||||
|
tagIcon={Heart}
|
||||||
|
tagAnimation="slide-up"
|
||||||
|
title="Meet the Team Behind the Work"
|
||||||
|
description="Led by Juan and his dedicated team, Land Care 4 U & Landscaping is built on hard work, honesty, and real care for every home we touch."
|
||||||
|
subdescription="We don't just show up—we listen, explain, and deliver results that last. Every project is treated with the same pride and attention to detail, regardless of size."
|
||||||
|
icon={Users}
|
||||||
|
imageSrc="http://img.b2bpic.net/premium-photo/landscaper-cut-natural-grass-turfs-size_1426-4787.jpg?id=49630866"
|
||||||
|
imageAlt="Land Care 4 U team"
|
||||||
|
mediaAnimation="slide-up"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
ariaLabel="About our team section"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="process" data-section="process">
|
<div id="process" data-section="process">
|
||||||
<FeatureCardOne
|
<FeatureCardOne
|
||||||
tag="Simple Process"
|
tag="Simple Process"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-mulish), sans-serif;
|
font-family: var(--font-inter-tight), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-mulish), sans-serif;
|
font-family: var(--font-inter-tight), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user