Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| df7c40fb39 | |||
| 9b436fed33 | |||
| 02fa808aea | |||
| 2223eb69df | |||
| 78d873aaf0 | |||
| c31d18ef22 | |||
| d23c13dfb6 |
@@ -29,7 +29,6 @@ export default function AboutPage() {
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Blog", href: "/blog" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -48,6 +47,10 @@ export default function AboutPage() {
|
||||
},
|
||||
];
|
||||
|
||||
const handleContactSubmit = (email: string) => {
|
||||
console.log("Partnership inquiry:", email);
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
@@ -81,7 +84,7 @@ export default function AboutPage() {
|
||||
showBlur={true}
|
||||
showDimOverlay={true}
|
||||
buttons={[
|
||||
{ text: "Schedule Consultation", href: "/contact" },
|
||||
{ text: "Schedule Consultation", href: "/contact", onClick: () => window.location.href = "/contact" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -114,6 +117,7 @@ export default function AboutPage() {
|
||||
inputPlaceholder="Your email address"
|
||||
buttonText="Schedule Now"
|
||||
termsText="We respect your privacy. Your inquiry will be handled with complete confidentiality."
|
||||
onSubmit={(email: string) => handleContactSubmit(email)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -125,4 +129,4 @@ export default function AboutPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ export default function ContactPage() {
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Blog", href: "/blog" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -46,6 +45,11 @@ export default function ContactPage() {
|
||||
},
|
||||
];
|
||||
|
||||
const handleContactSubmit = (email: string) => {
|
||||
console.log("Contact form submitted:", email);
|
||||
// Add form submission logic here
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
@@ -95,6 +99,7 @@ export default function ContactPage() {
|
||||
inputPlaceholder="Your email address"
|
||||
buttonText="Schedule Now"
|
||||
termsText="We respect your privacy. Your consultation request will be handled with complete confidentiality."
|
||||
onSubmit={(email: string) => handleContactSubmit(email)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -106,4 +111,4 @@ export default function ContactPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,35 +5,21 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const nunitoSans = Nunito_Sans({
|
||||
variable: "--font-nunito-sans",
|
||||
subsets: ["latin"],
|
||||
variable: "--font-nunito-sans", subsets: ["latin"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Luxury Landscapes | Premium Estate Design & Maintenance",
|
||||
description: "Award-winning luxury landscape design and maintenance for high-net-worth homeowners. 25+ years of expertise in premium estate landscapes.",
|
||||
keywords: "luxury landscape design, estate landscaping, premium landscaping services, high-end garden design, luxury hardscape",
|
||||
metadataBase: new URL("https://luxurylandscapes.com"),
|
||||
title: "Luxury Landscapes | Premium Estate Design & Maintenance", description: "Award-winning luxury landscape design and maintenance for high-net-worth homeowners. 25+ years of expertise in premium estate landscapes.", keywords: "luxury landscape design, estate landscaping, premium landscaping services, high-end garden design, luxury hardscape", metadataBase: new URL("https://luxurylandscapes.com"),
|
||||
alternates: {
|
||||
canonical: "https://luxurylandscapes.com",
|
||||
},
|
||||
canonical: "https://luxurylandscapes.com"},
|
||||
openGraph: {
|
||||
title: "Luxury Landscapes | Premium Estate Design & Maintenance",
|
||||
description: "Award-winning luxury landscape design and maintenance trusted by regional estates for 25+ years.",
|
||||
siteName: "Luxury Landscapes",
|
||||
type: "website",
|
||||
images: [
|
||||
title: "Luxury Landscapes | Premium Estate Design & Maintenance", description: "Award-winning luxury landscape design and maintenance trusted by regional estates for 25+ years.", siteName: "Luxury Landscapes", type: "website", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/big-stone-made-chinese-chess-inside-park_1112-1150.jpg",
|
||||
alt: "Luxury landscape design and maintenance services",
|
||||
},
|
||||
url: "http://img.b2bpic.net/free-photo/big-stone-made-chinese-chess-inside-park_1112-1150.jpg", alt: "Luxury landscape design and maintenance services"},
|
||||
],
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title: "Luxury Landscapes | Premium Estate Design & Maintenance",
|
||||
description: "Award-winning luxury landscape design and maintenance for discerning homeowners.",
|
||||
images: ["http://img.b2bpic.net/free-photo/big-stone-made-chinese-chess-inside-park_1112-1150.jpg"],
|
||||
card: "summary_large_image", title: "Luxury Landscapes | Premium Estate Design & Maintenance", description: "Award-winning luxury landscape design and maintenance for discerning homeowners.", images: ["http://img.b2bpic.net/free-photo/big-stone-made-chinese-chess-inside-park_1112-1150.jpg"],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
@@ -1423,4 +1409,4 @@ export default function RootLayout({
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
130
src/app/page.tsx
130
src/app/page.tsx
@@ -32,7 +32,6 @@ export default function HomePage() {
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Blog", href: "/blog" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -51,6 +50,21 @@ export default function HomePage() {
|
||||
},
|
||||
];
|
||||
|
||||
const handleHeroButtonClick = (href: string) => {
|
||||
if (href === "/portfolio" || href === "/contact") {
|
||||
window.location.href = href;
|
||||
}
|
||||
};
|
||||
|
||||
const handlePortfolioClick = () => {
|
||||
window.location.href = "/portfolio";
|
||||
};
|
||||
|
||||
const handleContactSubmit = (email: string) => {
|
||||
console.log("Contact form submitted with email:", email);
|
||||
// Add actual submission logic here
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
@@ -84,8 +98,8 @@ export default function HomePage() {
|
||||
showBlur={true}
|
||||
showDimOverlay={true}
|
||||
buttons={[
|
||||
{ text: "Schedule Your Consultation", href: "/contact" },
|
||||
{ text: "View Our Portfolio", href: "/portfolio" },
|
||||
{ text: "Schedule Your Consultation", href: "/contact", onClick: () => handleHeroButtonClick("/contact") },
|
||||
{ text: "View Our Portfolio", href: "/portfolio", onClick: () => handleHeroButtonClick("/portfolio") },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -111,36 +125,33 @@ export default function HomePage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Custom Design Services",
|
||||
description: "Bespoke landscape design tailored to your property's unique character and your vision for outdoor living.",
|
||||
title: "Custom Design Services", description: "Bespoke landscape design tailored to your property's unique character and your vision for outdoor living.", buttons: [
|
||||
{ text: "Learn More", href: "/services", onClick: () => window.location.href = "/services" }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-7007.jpg?_wi=1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-7007.jpg?_wi=1"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-from-hong-kong_181624-34551.jpg?_wi=1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-from-hong-kong_181624-34551.jpg?_wi=1"},
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Hardscape & Stonework",
|
||||
description: "Premium hardscaping featuring hand-selected natural stone, pavers, and architectural elements.",
|
||||
title: "Hardscape & Stonework", description: "Premium hardscaping featuring hand-selected natural stone, pavers, and architectural elements.", buttons: [
|
||||
{ text: "View Gallery", href: "/portfolio", onClick: () => handlePortfolioClick() }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=1"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=2"},
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Maintenance Excellence",
|
||||
description: "Meticulous seasonal maintenance programs ensuring year-round beauty and property value protection.",
|
||||
title: "Maintenance Excellence", description: "Meticulous seasonal maintenance programs ensuring year-round beauty and property value protection.", buttons: [
|
||||
{ text: "Explore Program", href: "/services", onClick: () => window.location.href = "/services" }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-gardener-harvesting-flower-with-secateurs_23-2148165189.jpg?_wi=1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-gardener-harvesting-flower-with-secateurs_23-2148165189.jpg?_wi=1"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gardener-with-weedwacker-cutting-grass-garden_329181-20539.jpg?_wi=1",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gardener-with-weedwacker-cutting-grass-garden_329181-20539.jpg?_wi=1"},
|
||||
},
|
||||
]}
|
||||
showStepNumbers={true}
|
||||
@@ -157,45 +168,17 @@ export default function HomePage() {
|
||||
tag="Estate Projects"
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
brand: "Luxury Estates",
|
||||
name: "Historic Manor Grounds Restoration",
|
||||
price: "$185,000",
|
||||
rating: 5,
|
||||
reviewCount: "12",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/miami-vizcaya-museum-garden-view_649448-4664.jpg?_wi=1",
|
||||
imageAlt: "Historic manor grounds restoration",
|
||||
},
|
||||
id: "1", brand: "Luxury Estates", name: "Historic Manor Grounds Restoration", price: "$185,000", rating: 5,
|
||||
reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/miami-vizcaya-museum-garden-view_649448-4664.jpg?_wi=1", imageAlt: "Historic manor grounds restoration", onProductClick: () => window.location.href = "/portfolio"},
|
||||
{
|
||||
id: "2",
|
||||
brand: "Lakeside Properties",
|
||||
name: "Waterfront Contemporary Garden",
|
||||
price: "$220,000",
|
||||
rating: 5,
|
||||
reviewCount: "8",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-path-green-park-with-trees-lake-blue-sky_181624-41119.jpg?_wi=1",
|
||||
imageAlt: "Waterfront contemporary garden design",
|
||||
},
|
||||
id: "2", brand: "Lakeside Properties", name: "Waterfront Contemporary Garden", price: "$220,000", rating: 5,
|
||||
reviewCount: "8", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-path-green-park-with-trees-lake-blue-sky_181624-41119.jpg?_wi=1", imageAlt: "Waterfront contemporary garden design", onProductClick: () => window.location.href = "/portfolio"},
|
||||
{
|
||||
id: "3",
|
||||
brand: "Mountain Residences",
|
||||
name: "Alpine Landscape Masterpiece",
|
||||
price: "$195,000",
|
||||
rating: 5,
|
||||
reviewCount: "10",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/field-covered-greenery-surrounded-by-hills-sunlight-blue-sky-daytime_181624-29107.jpg?_wi=1",
|
||||
imageAlt: "Alpine landscape masterpiece",
|
||||
},
|
||||
id: "3", brand: "Mountain Residences", name: "Alpine Landscape Masterpiece", price: "$195,000", rating: 5,
|
||||
reviewCount: "10", imageSrc: "http://img.b2bpic.net/free-photo/field-covered-greenery-surrounded-by-hills-sunlight-blue-sky-daytime_181624-29107.jpg?_wi=1", imageAlt: "Alpine landscape masterpiece", onProductClick: () => window.location.href = "/portfolio"},
|
||||
{
|
||||
id: "4",
|
||||
brand: "Urban Luxury",
|
||||
name: "Downtown Penthouse Terrace",
|
||||
price: "$165,000",
|
||||
rating: 5,
|
||||
reviewCount: "9",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/outdoor-patio-with-table-chair_74190-7542.jpg?_wi=1",
|
||||
imageAlt: "Downtown penthouse terrace landscape",
|
||||
},
|
||||
id: "4", brand: "Urban Luxury", name: "Downtown Penthouse Terrace", price: "$165,000", rating: 5,
|
||||
reviewCount: "9", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-patio-with-table-chair_74190-7542.jpg?_wi=1", imageAlt: "Downtown penthouse terrace landscape", onProductClick: () => window.location.href = "/portfolio"},
|
||||
]}
|
||||
gridVariant="bento-grid"
|
||||
animationType="scale-rotate"
|
||||
@@ -208,35 +191,17 @@ export default function HomePage() {
|
||||
<TestimonialCardTwelve
|
||||
testimonials={[
|
||||
{
|
||||
id: "1",
|
||||
name: "Margaret Richardson",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-ready-challenges_1163-4336.jpg",
|
||||
},
|
||||
id: "1", name: "Margaret Richardson", imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-ready-challenges_1163-4336.jpg"},
|
||||
{
|
||||
id: "2",
|
||||
name: "James Whitmore",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1",
|
||||
},
|
||||
id: "2", name: "James Whitmore", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1"},
|
||||
{
|
||||
id: "3",
|
||||
name: "Catherine Stone",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-smiling-beautiful-adult-businesswoman_1262-1760.jpg",
|
||||
},
|
||||
id: "3", name: "Catherine Stone", imageSrc: "http://img.b2bpic.net/free-photo/closeup-smiling-beautiful-adult-businesswoman_1262-1760.jpg"},
|
||||
{
|
||||
id: "4",
|
||||
name: "Robert Chapman",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2",
|
||||
},
|
||||
id: "4", name: "Robert Chapman", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2"},
|
||||
{
|
||||
id: "5",
|
||||
name: "Elizabeth Hartford",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg",
|
||||
},
|
||||
id: "5", name: "Elizabeth Hartford", imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg"},
|
||||
{
|
||||
id: "6",
|
||||
name: "David Ashford",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3",
|
||||
},
|
||||
id: "6", name: "David Ashford", imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=3"},
|
||||
]}
|
||||
cardTitle="Trusted by over 300 high-net-worth homeowners and property managers throughout the region"
|
||||
cardTag="Client Testimonials"
|
||||
@@ -261,6 +226,7 @@ export default function HomePage() {
|
||||
inputPlaceholder="Your email address"
|
||||
buttonText="Schedule Now"
|
||||
termsText="We respect your privacy. Your consultation request will be handled with complete confidentiality."
|
||||
onSubmit={(email: string) => handleContactSubmit(email)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -272,4 +238,4 @@ export default function HomePage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ export default function PortfolioPage() {
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Blog", href: "/blog" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -47,6 +46,10 @@ export default function PortfolioPage() {
|
||||
},
|
||||
];
|
||||
|
||||
const handleContactSubmit = (email: string) => {
|
||||
console.log("Portfolio inquiry:", email);
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
@@ -80,7 +83,7 @@ export default function PortfolioPage() {
|
||||
showBlur={true}
|
||||
showDimOverlay={true}
|
||||
buttons={[
|
||||
{ text: "Explore More", href: "/contact" },
|
||||
{ text: "Schedule Consultation", href: "/contact", onClick: () => window.location.href = "/contact" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -92,45 +95,17 @@ export default function PortfolioPage() {
|
||||
tag="Luxury Estate Projects"
|
||||
products={[
|
||||
{
|
||||
id: "1",
|
||||
brand: "Luxury Estates",
|
||||
name: "Historic Manor Grounds Restoration",
|
||||
price: "$185,000",
|
||||
rating: 5,
|
||||
reviewCount: "12",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/miami-vizcaya-museum-garden-view_649448-4664.jpg?_wi=2",
|
||||
imageAlt: "Historic manor grounds restoration",
|
||||
},
|
||||
id: "1", brand: "Luxury Estates", name: "Historic Manor Grounds Restoration", price: "$185,000", rating: 5,
|
||||
reviewCount: "12", imageSrc: "http://img.b2bpic.net/free-photo/miami-vizcaya-museum-garden-view_649448-4664.jpg?_wi=2", imageAlt: "Historic manor grounds restoration", onProductClick: () => window.location.href = "/contact"},
|
||||
{
|
||||
id: "2",
|
||||
brand: "Lakeside Properties",
|
||||
name: "Waterfront Contemporary Garden",
|
||||
price: "$220,000",
|
||||
rating: 5,
|
||||
reviewCount: "8",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-path-green-park-with-trees-lake-blue-sky_181624-41119.jpg?_wi=2",
|
||||
imageAlt: "Waterfront contemporary garden design",
|
||||
},
|
||||
id: "2", brand: "Lakeside Properties", name: "Waterfront Contemporary Garden", price: "$220,000", rating: 5,
|
||||
reviewCount: "8", imageSrc: "http://img.b2bpic.net/free-photo/vertical-shot-path-green-park-with-trees-lake-blue-sky_181624-41119.jpg?_wi=2", imageAlt: "Waterfront contemporary garden design", onProductClick: () => window.location.href = "/contact"},
|
||||
{
|
||||
id: "3",
|
||||
brand: "Mountain Residences",
|
||||
name: "Alpine Landscape Masterpiece",
|
||||
price: "$195,000",
|
||||
rating: 5,
|
||||
reviewCount: "10",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/field-covered-greenery-surrounded-by-hills-sunlight-blue-sky-daytime_181624-29107.jpg?_wi=2",
|
||||
imageAlt: "Alpine landscape masterpiece",
|
||||
},
|
||||
id: "3", brand: "Mountain Residences", name: "Alpine Landscape Masterpiece", price: "$195,000", rating: 5,
|
||||
reviewCount: "10", imageSrc: "http://img.b2bpic.net/free-photo/field-covered-greenery-surrounded-by-hills-sunlight-blue-sky-daytime_181624-29107.jpg?_wi=2", imageAlt: "Alpine landscape masterpiece", onProductClick: () => window.location.href = "/contact"},
|
||||
{
|
||||
id: "4",
|
||||
brand: "Urban Luxury",
|
||||
name: "Downtown Penthouse Terrace",
|
||||
price: "$165,000",
|
||||
rating: 5,
|
||||
reviewCount: "9",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/outdoor-patio-with-table-chair_74190-7542.jpg?_wi=2",
|
||||
imageAlt: "Downtown penthouse terrace landscape",
|
||||
},
|
||||
id: "4", brand: "Urban Luxury", name: "Downtown Penthouse Terrace", price: "$165,000", rating: 5,
|
||||
reviewCount: "9", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-patio-with-table-chair_74190-7542.jpg?_wi=2", imageAlt: "Downtown penthouse terrace landscape", onProductClick: () => window.location.href = "/contact"},
|
||||
]}
|
||||
gridVariant="bento-grid"
|
||||
animationType="scale-rotate"
|
||||
@@ -153,6 +128,7 @@ export default function PortfolioPage() {
|
||||
inputPlaceholder="Your email address"
|
||||
buttonText="Schedule Now"
|
||||
termsText="We respect your privacy. Your project inquiry will be handled with complete confidentiality."
|
||||
onSubmit={(email: string) => handleContactSubmit(email)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -164,4 +140,4 @@ export default function PortfolioPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ export default function ServicesPage() {
|
||||
items: [
|
||||
{ label: "About Us", href: "/about" },
|
||||
{ label: "Contact", href: "/contact" },
|
||||
{ label: "Blog", href: "/blog" },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -47,6 +46,10 @@ export default function ServicesPage() {
|
||||
},
|
||||
];
|
||||
|
||||
const handleContactSubmit = (email: string) => {
|
||||
console.log("Service consultation requested:", email);
|
||||
};
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="icon-arrow"
|
||||
@@ -80,7 +83,7 @@ export default function ServicesPage() {
|
||||
showBlur={true}
|
||||
showDimOverlay={true}
|
||||
buttons={[
|
||||
{ text: "Schedule Consultation", href: "/contact" },
|
||||
{ text: "Schedule Consultation", href: "/contact", onClick: () => window.location.href = "/contact" },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -92,36 +95,33 @@ export default function ServicesPage() {
|
||||
features={[
|
||||
{
|
||||
id: 1,
|
||||
title: "Landscape Design & Planning",
|
||||
description: "Comprehensive design services that transform your vision into reality. Our team specializes in creating bespoke outdoor environments that reflect your lifestyle and property character.",
|
||||
title: "Landscape Design & Planning", description: "Comprehensive design services that transform your vision into reality. Our team specializes in creating bespoke outdoor environments that reflect your lifestyle and property character.", buttons: [
|
||||
{ text: "Request Design Consultation", href: "/contact", onClick: () => window.location.href = "/contact" }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-7007.jpg?_wi=2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/greenhouse-owner-presenting-flowers-options-potential-customer-retailer_158595-7007.jpg?_wi=2"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-from-hong-kong_181624-34551.jpg?_wi=2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-from-hong-kong_181624-34551.jpg?_wi=2"},
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "Premium Hardscaping",
|
||||
description: "Master stonework and hardscape installation featuring natural materials, custom paving, and architectural elements that elevate outdoor living spaces.",
|
||||
title: "Premium Hardscaping", description: "Master stonework and hardscape installation featuring natural materials, custom paving, and architectural elements that elevate outdoor living spaces.", buttons: [
|
||||
{ text: "View Hardscape Examples", href: "/portfolio", onClick: () => window.location.href = "/portfolio" }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=3",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=3"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=4",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/path-way_74190-2125.jpg?_wi=4"},
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "Year-Round Maintenance",
|
||||
description: "Professional seasonal maintenance programs ensuring your landscape remains pristine throughout the year with specialized pruning, care, and property management.",
|
||||
title: "Year-Round Maintenance", description: "Professional seasonal maintenance programs ensuring your landscape remains pristine throughout the year with specialized pruning, care, and property management.", buttons: [
|
||||
{ text: "Learn About Maintenance Plans", href: "/contact", onClick: () => window.location.href = "/contact" }
|
||||
],
|
||||
phoneOne: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-gardener-harvesting-flower-with-secateurs_23-2148165189.jpg?_wi=2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/male-gardener-harvesting-flower-with-secateurs_23-2148165189.jpg?_wi=2"},
|
||||
phoneTwo: {
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gardener-with-weedwacker-cutting-grass-garden_329181-20539.jpg?_wi=2",
|
||||
},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/gardener-with-weedwacker-cutting-grass-garden_329181-20539.jpg?_wi=2"},
|
||||
},
|
||||
]}
|
||||
showStepNumbers={true}
|
||||
@@ -145,6 +145,7 @@ export default function ServicesPage() {
|
||||
inputPlaceholder="Your email address"
|
||||
buttonText="Schedule Now"
|
||||
termsText="We respect your privacy. Your service inquiry will be handled with complete confidentiality."
|
||||
onSubmit={(email: string) => handleContactSubmit(email)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -156,4 +157,4 @@ export default function ServicesPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user