10 Commits

Author SHA1 Message Date
1b630f1ebe Update src/app/page.tsx 2026-03-03 18:57:10 +00:00
64ada74379 Update src/app/layout.tsx 2026-03-03 18:57:08 +00:00
bcce692821 Merge version_2 into main
Merge version_2 into main
2026-03-03 18:52:33 +00:00
4b506b26eb Update theme colors 2026-03-03 18:52:26 +00:00
ec241b4ae2 Merge version_2 into main
Merge version_2 into main
2026-03-03 18:44:13 +00:00
ce499d48db Update src/app/page.tsx 2026-03-03 18:44:07 +00:00
d6f05d9404 Update src/app/layout.tsx 2026-03-03 18:44:06 +00:00
52628979d0 Merge version_1 into main
Merge version_1 into main
2026-03-03 18:40:47 +00:00
75e0bf6405 Merge version_1 into main
Merge version_1 into main
2026-03-03 18:33:56 +00:00
fce06bd022 Merge version_1 into main
Merge version_1 into main
2026-03-03 18:27:54 +00:00
3 changed files with 30 additions and 66 deletions

View File

@@ -1,56 +1,21 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Inter_Tight } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
const interTight = Inter_Tight({
variable: "--font-inter-tight", subsets: ["latin"],
weight: ["100", "200", "300", "400", "500", "600", "700", "800", "900"],
});
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "A&E Lawn Care - Professional Lawn Services in Richmond Hill, ON", description: "Expert lawn care and landscaping services in Richmond Hill, Ontario. Professional mowing, maintenance, and landscaping with 10+ years of experience.", keywords: "lawn care Richmond Hill, landscaping Ontario, grass maintenance, lawn service", openGraph: {
title: "A&E Lawn Care - Richmond Hill", description: "Professional lawn care services transforming outdoor spaces in Richmond Hill, Ontario.", siteName: "A&E Lawn Care", type: "website", images: [
{
url: "http://img.b2bpic.net/free-photo/unrecognizable-male-gardener-pushing-modern-lawn-mower-while-walking-grass-view-handyman_7502-10570.jpg", alt: "A&E Lawn Care Services"
}
]
},
twitter: {
card: "summary_large_image", title: "A&E Lawn Care - Richmond Hill", description: "Professional lawn care services in Richmond Hill, Ontario.", images: ["http://img.b2bpic.net/free-photo/unrecognizable-male-gardener-pushing-modern-lawn-mower-while-walking-grass-view-handyman_7502-10570.jpg"]
},
robots: {
index: true,
follow: true
}
title: "A&E Lawn Care | Professional Lawn Maintenance in Richmond Hill", description: "Expert lawn care services in Richmond Hill, Ontario. Weekly mowing, seasonal care, and more with 98% client satisfaction."
};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${interTight.variable} antialiased`}
>
<Tag />
{children}
<html lang="en">
<body className={inter.className}>{children}
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1418,7 +1383,6 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}

View File

@@ -43,7 +43,7 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroSplitKpi
title="Lawn Care Excellence in Richmond Hill"
description="Professional lawn maintenance services that transform outdoor spaces. We deliver premium care with attention to detail, keeping your lawn healthy and beautiful year-round."
description="Healthy lawns delivered hassle-free—weekly mowing, seasonal care, and 98% client satisfaction. Let A&E Lawn Care transform your outdoor space with proven expertise."
background={{ variant: "glowing-orb" }}
kpis={[
{ value: "10+", label: "Years Experience" },
@@ -53,8 +53,8 @@ export default function LandingPage() {
enableKpiAnimation={true}
tag="Local Service Providers"
tagIcon={Leaf}
imageSrc="http://img.b2bpic.net/free-photo/unrecognizable-male-gardener-pushing-modern-lawn-mower-while-walking-grass-view-handyman_7502-10570.jpg"
imageAlt="Beautiful manicured lawn in Richmond Hill"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ARjejjN6GbifOFaQtlHtTkDdS2/uploaded-1772564195991-use88rzx.jpg"
imageAlt="Professional lawn care team working on multiple properties"
mediaAnimation="slide-up"
buttons={[
{ text: "Book Service", href: "#contact" },
@@ -69,7 +69,7 @@ export default function LandingPage() {
<InlineImageSplitTextAbout
heading={[
{ type: "text", content: "A&E Lawn Care is your trusted partner for" },
{ type: "image", src: "http://img.b2bpic.net/free-vector/round-leaves-logo_78370-2528.jpg", alt: "Leaf icon" },
{ type: "image", src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ARjejjN6GbifOFaQtlHtTkDdS2/uploaded-1772564195991-use88rzx.jpg", alt: "A&E Lawn Care logo" },
{ type: "text", content: "comprehensive lawn care in Richmond Hill, Ontario" }
]}
useInvertedBackground={false}
@@ -131,10 +131,10 @@ export default function LandingPage() {
<div id="testimonials" data-section="testimonials">
<TestimonialCardSixteen
testimonials={[
{ id: "1", name: "John Mitchell", role: "Homeowner", company: "Richmond Hill, ON", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "John Mitchell" },
{ id: "2", name: "Sarah Chen", role: "Property Manager", company: "Richmond Hill, ON", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=1", imageAlt: "Sarah Chen" },
{ id: "3", name: "David Martinez", role: "Homeowner", company: "Richmond Hill, ON", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "David Martinez" },
{ id: "4", name: "Emma Thompson", role: "Business Owner", company: "Richmond Hill, ON", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/positive-confident-businesswoman-wearing-formal-suit-standing-with-arms-folded_74855-10328.jpg?_wi=2", imageAlt: "Emma Thompson" }
{ id: "1", name: "John Mitchell", role: "Homeowner", company: "Richmond Hill, ON", rating: 5, imageSrc: "https://api.dicebear.com/7.x/avataaars/svg?seed=John", imageAlt: "John Mitchell avatar" },
{ id: "2", name: "Sarah Chen", role: "Property Manager", company: "Richmond Hill, ON", rating: 5, imageSrc: "https://api.dicebear.com/7.x/avataaars/svg?seed=Sarah", imageAlt: "Sarah Chen avatar" },
{ id: "3", name: "David Martinez", role: "Homeowner", company: "Richmond Hill, ON", rating: 5, imageSrc: "https://api.dicebear.com/7.x/avataaars/svg?seed=David", imageAlt: "David Martinez avatar" },
{ id: "4", name: "Emma Thompson", role: "Business Owner", company: "Richmond Hill, ON", rating: 5, imageSrc: "https://api.dicebear.com/7.x/avataaars/svg?seed=Emma", imageAlt: "Emma Thompson avatar" }
]}
kpiItems={[
{ value: "500+", label: "Projects Completed" },

View File

@@ -2,23 +2,23 @@
/* Base units */
/* --vw is set by ThemeProvider */
/* --background: #f5f5f5;;
--card: #ffffff;;
--foreground: #1c1c1c;;
--primary-cta: #1c1c1c;;
--secondary-cta: #ffffff;;
--accent: #6139e6;;
--background-accent: #b3a8e8;; */
/* --background: #fafffb;;;
--card: #f7fffa;;;
--foreground: #001a0a;;;
--primary-cta: #0a7039;;;
--secondary-cta: #ffffff;;;
--accent: #a8d9be;;;
--background-accent: #6bbf8e;;; */
--background: #f5f5f5;;
--card: #ffffff;;
--foreground: #1c1c1c;;
--primary-cta: #1c1c1c;;
--primary-cta-text: #f5f5f5;;
--secondary-cta: #ffffff;;
--secondary-cta-text: #1c1c1c;;
--accent: #6139e6;;
--background-accent: #b3a8e8;;
--background: #fafffb;;;
--card: #f7fffa;;;
--foreground: #001a0a;;;
--primary-cta: #0a7039;;;
--primary-cta-text: #fafffb;;;
--secondary-cta: #ffffff;;;
--secondary-cta-text: #001a0a;;;
--accent: #a8d9be;;;
--background-accent: #6bbf8e;;;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);