Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d9b7d6327 | |||
| c493a7b3c5 | |||
| 3afa8e645e | |||
| f3e17e5517 | |||
| 652820a6be | |||
| 6f9dc937b8 | |||
| 54b5dd8774 | |||
| 27f369542e | |||
| ae74f0015d | |||
| 7cd188a7b4 |
37
src/app/about/page.tsx
Normal file
37
src/app/about/page.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
||||||
|
import TextSplitAbout from "@/components/sections/about/TextSplitAbout";
|
||||||
|
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||||
|
|
||||||
|
export default function AboutUsPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<ReactLenis root>
|
||||||
|
<NavbarStyleFullscreen
|
||||||
|
brandName="GreenScape"
|
||||||
|
navItems={[
|
||||||
|
{ name: "Services", id: "/services" },
|
||||||
|
{ name: "About", id: "/about" },
|
||||||
|
{ name: "Appointments", id: "/appointments" },
|
||||||
|
{ name: "Contact", id: "/contact" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<div className="pt-24">
|
||||||
|
<TextSplitAbout
|
||||||
|
title="Our Philosophy"
|
||||||
|
description={["We believe that every garden should be an extension of the home.", "Driven by sustainability and local ecosystem health."]}
|
||||||
|
useInvertedBackground={false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<FooterSimple
|
||||||
|
columns={[]}
|
||||||
|
bottomLeftText="© 2026 GreenScape Landscaping"
|
||||||
|
bottomRightText="All rights reserved"
|
||||||
|
/>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
43
src/app/appointments/page.tsx
Normal file
43
src/app/appointments/page.tsx
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
||||||
|
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||||
|
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
|
||||||
|
export default function AppointmentsPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<ReactLenis root>
|
||||||
|
<NavbarStyleFullscreen
|
||||||
|
brandName="GreenScape"
|
||||||
|
navItems={[
|
||||||
|
{ name: "Services", id: "/services" },
|
||||||
|
{ name: "About", id: "/about" },
|
||||||
|
{ name: "Appointments", id: "/appointments" },
|
||||||
|
{ name: "Contact", id: "/contact" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<div className="pt-32 pb-16">
|
||||||
|
<ContactSplitForm
|
||||||
|
title="Book an Appointment"
|
||||||
|
description="Schedule your consultation today."
|
||||||
|
inputs={[
|
||||||
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
|
{ name: "date", type: "date", placeholder: "Preferred Date", required: true },
|
||||||
|
]}
|
||||||
|
textarea={{ name: "details", placeholder: "What services do you need?", rows: 4 }}
|
||||||
|
buttonText="Confirm Booking"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<FooterSimple
|
||||||
|
columns={[]}
|
||||||
|
bottomLeftText="© 2026 GreenScape Landscaping"
|
||||||
|
bottomRightText="All rights reserved"
|
||||||
|
/>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
43
src/app/contact/page.tsx
Normal file
43
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
||||||
|
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
|
||||||
|
export default function ContactPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<ReactLenis root>
|
||||||
|
<NavbarStyleFullscreen
|
||||||
|
brandName="GreenScape"
|
||||||
|
navItems={[
|
||||||
|
{ name: "Services", id: "/services" },
|
||||||
|
{ name: "About", id: "/about" },
|
||||||
|
{ name: "Appointments", id: "/appointments" },
|
||||||
|
{ name: "Contact", id: "/contact" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<div className="pt-32 pb-16 px-8 max-w-4xl mx-auto">
|
||||||
|
<h1 className="text-4xl font-bold mb-8">Contact Us</h1>
|
||||||
|
<div className="grid md:grid-cols-2 gap-8">
|
||||||
|
<div className="space-y-4">
|
||||||
|
<h2 className="text-xl font-semibold">Get in Touch</h2>
|
||||||
|
<p>Email: hello@greenscape.com</p>
|
||||||
|
<p>Phone: (555) 123-4567</p>
|
||||||
|
<p>Hours: Mon-Fri 9am - 5pm</p>
|
||||||
|
</div>
|
||||||
|
<div className="bg-gray-100 p-8 h-64 rounded-lg flex items-center justify-center">
|
||||||
|
Map Placeholder
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<FooterSimple
|
||||||
|
columns={[]}
|
||||||
|
bottomLeftText="© 2026 GreenScape Landscaping"
|
||||||
|
bottomRightText="All rights reserved"
|
||||||
|
/>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
175
src/app/page.tsx
175
src/app/page.tsx
@@ -8,7 +8,7 @@ import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCa
|
|||||||
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
|
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
|
||||||
import TeamCardSix from "@/components/sections/team/TeamCardSix";
|
import TeamCardSix from "@/components/sections/team/TeamCardSix";
|
||||||
import TeamCardOne from "@/components/sections/team/TeamCardOne";
|
import TeamCardOne from "@/components/sections/team/TeamCardOne";
|
||||||
import TestimonialCardTwelve from "@/components/sections/testimonial/TestimonialCardTwelve";
|
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
|
||||||
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
import FaqDouble from "@/components/sections/faq/FaqDouble";
|
||||||
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
|
||||||
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||||
@@ -60,21 +60,11 @@ export default function LandscapingPage() {
|
|||||||
textPosition="top"
|
textPosition="top"
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
name: "Sarah M.",
|
name: "Sarah M.", handle: "Homeowner", testimonial: "GreenScape completely transformed our backyard. The team was professional, creative, and delivered beyond our expectations.", rating: 5,
|
||||||
handle: "Homeowner",
|
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/team-2.jpg", imageAlt: "Sarah M."},
|
||||||
testimonial: "GreenScape completely transformed our backyard. The team was professional, creative, and delivered beyond our expectations.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/team-2.jpg",
|
|
||||||
imageAlt: "Sarah M.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "David K.",
|
name: "David K.", handle: "Property Manager", testimonial: "We've used GreenScape for all our commercial properties. Their maintenance plans keep everything looking pristine year-round.", rating: 5,
|
||||||
handle: "Property Manager",
|
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/team-1.jpg", imageAlt: "David K."},
|
||||||
testimonial: "We've used GreenScape for all our commercial properties. Their maintenance plans keep everything looking pristine year-round.",
|
|
||||||
rating: 5,
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/team-1.jpg",
|
|
||||||
imageAlt: "David K.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -106,37 +96,13 @@ export default function LandscapingPage() {
|
|||||||
imageContainerClassName="!rotate-0 !aspect-square"
|
imageContainerClassName="!rotate-0 !aspect-square"
|
||||||
features={[
|
features={[
|
||||||
{
|
{
|
||||||
tag: "Design",
|
tag: "Design", title: "Landscape Design", subtitle: "Custom Plans", description: "We create tailored landscape designs that complement your property's architecture and your personal style.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-2.jpg", imageAlt: "Landscape design"},
|
||||||
title: "Landscape Design",
|
|
||||||
subtitle: "Custom Plans",
|
|
||||||
description: "We create tailored landscape designs that complement your property's architecture and your personal style.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-2.jpg",
|
|
||||||
imageAlt: "Landscape design",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
tag: "Installation",
|
tag: "Installation", title: "Hardscape & Softscape", subtitle: "Full Installation", description: "From patios and walkways to gardens and trees, we handle the complete installation process.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-3.jpg", imageAlt: "Hardscape installation"},
|
||||||
title: "Hardscape & Softscape",
|
|
||||||
subtitle: "Full Installation",
|
|
||||||
description: "From patios and walkways to gardens and trees, we handle the complete installation process.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-3.jpg",
|
|
||||||
imageAlt: "Hardscape installation",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
tag: "Maintenance",
|
tag: "Maintenance", title: "Lawn & Garden Care", subtitle: "Ongoing Service", description: "Keep your property looking pristine year-round with our professional maintenance plans.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-4.jpg", imageAlt: "Lawn maintenance"},
|
||||||
title: "Lawn & Garden Care",
|
|
||||||
subtitle: "Ongoing Service",
|
|
||||||
description: "Keep your property looking pristine year-round with our professional maintenance plans.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-4.jpg",
|
|
||||||
imageAlt: "Lawn maintenance",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
tag: "Irrigation",
|
tag: "Irrigation", title: "Smart Irrigation", subtitle: "Water Management", description: "Efficient irrigation systems that keep your landscape healthy while conserving water.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-5.jpg", imageAlt: "Irrigation system"},
|
||||||
title: "Smart Irrigation",
|
|
||||||
subtitle: "Water Management",
|
|
||||||
description: "Efficient irrigation systems that keep your landscape healthy while conserving water.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-5.jpg",
|
|
||||||
imageAlt: "Irrigation system",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -151,26 +117,11 @@ export default function LandscapingPage() {
|
|||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
members={[
|
members={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", name: "Expert Craftsmanship", role: "Decades of combined experience in landscape design and installation.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-6.jpg", imageAlt: "Expert craftsmanship"},
|
||||||
name: "Expert Craftsmanship",
|
|
||||||
role: "Decades of combined experience in landscape design and installation.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-6.jpg",
|
|
||||||
imageAlt: "Expert craftsmanship",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", name: "Eco-Friendly Approach", role: "Sustainable practices and native plant selections that thrive naturally.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-7.jpg", imageAlt: "Eco-friendly landscaping"},
|
||||||
name: "Eco-Friendly Approach",
|
|
||||||
role: "Sustainable practices and native plant selections that thrive naturally.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-7.jpg",
|
|
||||||
imageAlt: "Eco-friendly landscaping",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", name: "Full-Service Care", role: "From initial design to ongoing maintenance, we handle everything.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-8.jpg", imageAlt: "Full-service care"},
|
||||||
name: "Full-Service Care",
|
|
||||||
role: "From initial design to ongoing maintenance, we handle everything.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-8.jpg",
|
|
||||||
imageAlt: "Full-service care",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -186,64 +137,26 @@ export default function LandscapingPage() {
|
|||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
members={[
|
members={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", name: "James Carter", role: "Lead Designer", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-11.jpg", imageAlt: "James Carter"},
|
||||||
name: "James Carter",
|
|
||||||
role: "Lead Designer",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-11.jpg",
|
|
||||||
imageAlt: "James Carter",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", name: "Maria Silva", role: "Horticulturist", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-10.jpg", imageAlt: "Maria Silva"},
|
||||||
name: "Maria Silva",
|
|
||||||
role: "Horticulturist",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-10.jpg",
|
|
||||||
imageAlt: "Maria Silva",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", name: "Ryan Mitchell", role: "Project Manager", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-9.jpg", imageAlt: "Ryan Mitchell"},
|
||||||
name: "Ryan Mitchell",
|
|
||||||
role: "Project Manager",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-9.jpg",
|
|
||||||
imageAlt: "Ryan Mitchell",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="testimonials" data-section="testimonials">
|
<div id="testimonials" data-section="testimonials">
|
||||||
<TestimonialCardTwelve
|
<TestimonialCardTen
|
||||||
cardTag="Trusted by Homeowners"
|
title="What Our Clients Say"
|
||||||
cardTagIcon={Leaf}
|
description="Read stories from homeowners who chose GreenScape for their outdoor transformation."
|
||||||
cardTitle="Over 500 happy clients trust GreenScape to transform and maintain their outdoor spaces."
|
textboxLayout="default"
|
||||||
buttons={[{ text: "Contact Now", href: "#contact" }]}
|
|
||||||
buttonAnimation="slide-up"
|
|
||||||
cardAnimation="slide-up"
|
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
testimonials={[
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", title: "Exceptional Service", quote: "GreenScape turned our messy yard into a paradise. The team was punctual and skilled.", name: "Sarah M.", role: "Homeowner", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-10.jpg"},
|
||||||
name: "Sarah M.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-10.jpg",
|
|
||||||
imageAlt: "Sarah M.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", title: "Professional & Creative", quote: "The design concept they provided was exactly what we needed. Highly recommended!", name: "David K.", role: "Property Manager", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-11.jpg"},
|
||||||
name: "David K.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-11.jpg",
|
|
||||||
imageAlt: "David K.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
name: "Emily R.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-4.jpg",
|
|
||||||
imageAlt: "Emily R.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "4",
|
|
||||||
name: "Ryan M.",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-9.jpg",
|
|
||||||
imageAlt: "Ryan M.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -258,35 +171,17 @@ export default function LandscapingPage() {
|
|||||||
faqsAnimation="slide-up"
|
faqsAnimation="slide-up"
|
||||||
faqs={[
|
faqs={[
|
||||||
{
|
{
|
||||||
id: "1",
|
id: "1", title: "How long does a typical landscaping project take?", content: "Most residential projects take 1-3 weeks depending on scope. We'll provide a detailed timeline during your consultation so you know exactly what to expect."},
|
||||||
title: "How long does a typical landscaping project take?",
|
|
||||||
content: "Most residential projects take 1-3 weeks depending on scope. We'll provide a detailed timeline during your consultation so you know exactly what to expect.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "2",
|
id: "2", title: "Do you offer free consultations?", content: "Yes! We offer complimentary on-site consultations where we assess your property, discuss your vision, and provide a detailed estimate — no obligation."},
|
||||||
title: "Do you offer free consultations?",
|
|
||||||
content: "Yes! We offer complimentary on-site consultations where we assess your property, discuss your vision, and provide a detailed estimate — no obligation.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "3",
|
id: "3", title: "What areas do you serve?", content: "We serve the greater metropolitan area and surrounding suburbs within a 50-mile radius. Contact us to confirm service availability in your location."},
|
||||||
title: "What areas do you serve?",
|
|
||||||
content: "We serve the greater metropolitan area and surrounding suburbs within a 50-mile radius. Contact us to confirm service availability in your location.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "4",
|
id: "4", title: "Do you provide ongoing maintenance?", content: "Absolutely. We offer weekly, bi-weekly, and monthly maintenance plans that include mowing, trimming, fertilization, and seasonal cleanups."},
|
||||||
title: "Do you provide ongoing maintenance?",
|
|
||||||
content: "Absolutely. We offer weekly, bi-weekly, and monthly maintenance plans that include mowing, trimming, fertilization, and seasonal cleanups.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "5",
|
id: "5", title: "Are your practices eco-friendly?", content: "Yes, sustainability is core to our approach. We use native plants, organic fertilizers, smart irrigation, and environmentally responsible methods whenever possible."},
|
||||||
title: "Are your practices eco-friendly?",
|
|
||||||
content: "Yes, sustainability is core to our approach. We use native plants, organic fertilizers, smart irrigation, and environmentally responsible methods whenever possible.",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
id: "6",
|
id: "6", title: "Do you handle permits and HOA approvals?", content: "We handle all necessary permits and can work directly with your HOA to ensure your project meets community guidelines and gets approved smoothly."},
|
||||||
title: "Do you handle permits and HOA approvals?",
|
|
||||||
content: "We handle all necessary permits and can work directly with your HOA to ensure your project meets community guidelines and gets approved smoothly.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -311,7 +206,6 @@ export default function LandscapingPage() {
|
|||||||
mediaAnimation="none"
|
mediaAnimation="none"
|
||||||
buttonText="Send Message"
|
buttonText="Send Message"
|
||||||
contentClassName="!grid-cols-1 max-w-[600px] mx-auto"
|
contentClassName="!grid-cols-1 max-w-[600px] mx-auto"
|
||||||
|
|
||||||
mediaWrapperClassName="hidden"
|
mediaWrapperClassName="hidden"
|
||||||
inputs={[
|
inputs={[
|
||||||
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
@@ -319,9 +213,7 @@ export default function LandscapingPage() {
|
|||||||
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
{ name: "phone", type: "tel", placeholder: "Phone Number" },
|
||||||
]}
|
]}
|
||||||
multiSelect={{
|
multiSelect={{
|
||||||
name: "service",
|
name: "service", label: "Select a Service", options: ["Landscape Design", "Hardscape & Softscape", "Lawn & Garden Care", "Smart Irrigation"],
|
||||||
label: "Select a Service",
|
|
||||||
options: ["Landscape Design", "Hardscape & Softscape", "Lawn & Garden Care", "Smart Irrigation"],
|
|
||||||
}}
|
}}
|
||||||
textarea={{ name: "message", placeholder: "Tell us about your project...", rows: 4, required: true }}
|
textarea={{ name: "message", placeholder: "Tell us about your project...", rows: 4, required: true }}
|
||||||
/>
|
/>
|
||||||
@@ -331,8 +223,7 @@ export default function LandscapingPage() {
|
|||||||
<FooterSimple
|
<FooterSimple
|
||||||
columns={[
|
columns={[
|
||||||
{
|
{
|
||||||
title: "Services",
|
title: "Services", items: [
|
||||||
items: [
|
|
||||||
{ label: "Landscape Design", href: "#services" },
|
{ label: "Landscape Design", href: "#services" },
|
||||||
{ label: "Hardscape & Softscape", href: "#services" },
|
{ label: "Hardscape & Softscape", href: "#services" },
|
||||||
{ label: "Lawn & Garden Care", href: "#services" },
|
{ label: "Lawn & Garden Care", href: "#services" },
|
||||||
@@ -340,8 +231,7 @@ export default function LandscapingPage() {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Company",
|
title: "Company", items: [
|
||||||
items: [
|
|
||||||
{ label: "About", href: "#about" },
|
{ label: "About", href: "#about" },
|
||||||
{ label: "Team", href: "#team" },
|
{ label: "Team", href: "#team" },
|
||||||
{ label: "Testimonials", href: "#testimonials" },
|
{ label: "Testimonials", href: "#testimonials" },
|
||||||
@@ -349,8 +239,7 @@ export default function LandscapingPage() {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Contact",
|
title: "Contact", items: [
|
||||||
items: [
|
|
||||||
{ label: "(555) 123-4567", href: "tel:5551234567" },
|
{ label: "(555) 123-4567", href: "tel:5551234567" },
|
||||||
{ label: "hello@greenscape.com", href: "mailto:hello@greenscape.com" },
|
{ label: "hello@greenscape.com", href: "mailto:hello@greenscape.com" },
|
||||||
{ label: "Los Angeles, CA" },
|
{ label: "Los Angeles, CA" },
|
||||||
@@ -364,4 +253,4 @@ export default function LandscapingPage() {
|
|||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
47
src/app/services/page.tsx
Normal file
47
src/app/services/page.tsx
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
|
||||||
|
import FeatureCardNineteen from "@/components/sections/feature/FeatureCardNineteen";
|
||||||
|
import FooterSimple from "@/components/sections/footer/FooterSimple";
|
||||||
|
import { Leaf } from "lucide-react";
|
||||||
|
|
||||||
|
export default function ServicesPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<ReactLenis root>
|
||||||
|
<NavbarStyleFullscreen
|
||||||
|
brandName="GreenScape"
|
||||||
|
navItems={[
|
||||||
|
{ name: "Services", id: "/services" },
|
||||||
|
{ name: "About", id: "/about" },
|
||||||
|
{ name: "Appointments", id: "/appointments" },
|
||||||
|
{ name: "Contact", id: "/contact" },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<div className="pt-24">
|
||||||
|
<FeatureCardNineteen
|
||||||
|
tag="Our Services"
|
||||||
|
tagIcon={Leaf}
|
||||||
|
title="Professional Landscaping Services"
|
||||||
|
description="We provide a comprehensive range of services to transform and maintain your outdoor spaces."
|
||||||
|
textboxLayout="default"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
features={[
|
||||||
|
{
|
||||||
|
tag: "Design", title: "Landscape Design", subtitle: "Custom Plans", description: "Tailored designs reflecting your style.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-2.jpg"},
|
||||||
|
{
|
||||||
|
tag: "Installation", title: "Hardscape & Softscape", subtitle: "Full Installation", description: "Patios, walkways, and garden installations.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/landscaping/img-3.jpg"}
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<FooterSimple
|
||||||
|
columns={[]}
|
||||||
|
bottomLeftText="© 2026 GreenScape Landscaping"
|
||||||
|
bottomRightText="All rights reserved"
|
||||||
|
/>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #f7f9f4;
|
--background: #ffffff;
|
||||||
--card: #ffffff;
|
--card: #f9f9f9;
|
||||||
--foreground: #1a2e1a;
|
--foreground: #000612e6;
|
||||||
--primary-cta: #2d5a27;
|
--primary-cta: #15479c;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #ffffff;
|
--secondary-cta: #f9f9f9;
|
||||||
--secondary-cta-text: #2d5a27;
|
--secondary-cta-text: #2d5a27;
|
||||||
--accent: #4a8c3f;
|
--accent: #e2e2e2;
|
||||||
--background-accent: #6fb85e;
|
--background-accent: #c4c4c4;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user