Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d8edbd148 | |||
| b56106b2e4 | |||
| 912090f5c4 | |||
| b3a57d552f | |||
| a1a16ff57a | |||
| 53709303c5 |
@@ -1,59 +1,28 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Figtree } from "next/font/google";
|
import { Geist, Geist_Mono } from "next/font/google";
|
||||||
import { Halant } from "next/font/google";
|
|
||||||
import { Inter } from "next/font/google";
|
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
|
|
||||||
const figtree = Figtree({
|
const geist = Geist({
|
||||||
variable: "--font-figtree", subsets: ["latin"],
|
variable: "--font-geist-sans", subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
const halant = Halant({
|
const geistMono = Geist_Mono({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-geist-mono", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Tammin's Lawn & Garden Service - South Wentworthville", description: "Professional lawn mowing, edging, and garden maintenance in South Wentworthville. Affordable, reliable service with 4.8★ rating. Free quotes available.", keywords: "lawn mowing South Wentworthville, lawn care Wentworthville, garden maintenance, affordable lawn service, professional gardener", metadataBase: new URL("https://tammins-lawn-garden.com"),
|
title: "Create Next App", description: "Generated by create next app"};
|
||||||
alternates: {
|
|
||||||
canonical: "https://tammins-lawn-garden.com"
|
|
||||||
},
|
|
||||||
openGraph: {
|
|
||||||
title: "Tammin's Lawn & Garden Service - South Wentworthville", description: "Professional lawn mowing and garden care. Reliable. Affordable. Detailed work every time.", url: "https://tammins-lawn-garden.com", siteName: "Tammin's Lawn & Garden Service", 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: "Professional lawn mowing service"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Tammin's Lawn & Garden Service", description: "Professional lawn care in South Wentworthville", 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
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={`${geist.variable} ${geistMono.variable} antialiased`}>
|
||||||
<body
|
{children}
|
||||||
className={`${figtree.variable} ${halant.variable} ${inter.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1421,7 +1390,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,40 +110,45 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="reviews" data-section="reviews">
|
<div id="reviews" data-section="reviews">
|
||||||
<TestimonialCardOne
|
<div className="relative">
|
||||||
title="What Our Customers Say"
|
<div className="py-4 px-6 text-center mb-4">
|
||||||
description="Real reviews from happy customers in South Wentworthville and nearby areas"
|
<p className="text-lg font-semibold text-foreground">⭐ 4.9/5 Stars - 50+ Happy Customers</p>
|
||||||
testimonials={[
|
</div>
|
||||||
{
|
<TestimonialCardOne
|
||||||
id: "1", name: "Michael Johnson", role: "Homeowner", company: "South Wentworthville", rating: 5,
|
title="What Our Customers Say"
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg", imageAlt: "Michael Johnson"
|
description="Real reviews from happy customers in South Wentworthville and nearby areas"
|
||||||
},
|
testimonials={[
|
||||||
{
|
{
|
||||||
id: "2", name: "Sarah Williams", role: "Property Manager", company: "Wentworthville", rating: 5,
|
id: "1", name: "Michael Johnson", role: "Homeowner", company: "South Wentworthville", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Sarah Williams"
|
imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-girl-looking-away_23-2148436134.jpg", imageAlt: "Michael Johnson"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "3", name: "David Chen", role: "Homeowner", company: "Greystanes", rating: 5,
|
id: "2", name: "Sarah Williams", role: "Property Manager", company: "Wentworthville", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/confident-beautiful-young-businesswoman-looking-camera-head-shot-portrait_1163-4928.jpg", imageAlt: "David Chen"
|
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg", imageAlt: "Sarah Williams"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "4", name: "Emma Robinson", role: "Homeowner", company: "Parramatta", rating: 5,
|
id: "3", name: "David Chen", role: "Homeowner", company: "Greystanes", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg", imageAlt: "Emma Robinson"
|
imageSrc: "http://img.b2bpic.net/free-photo/confident-beautiful-young-businesswoman-looking-camera-head-shot-portrait_1163-4928.jpg", imageAlt: "David Chen"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "5", name: "James Taylor", role: "Business Owner", company: "Merrylands", rating: 5,
|
id: "4", name: "Emma Robinson", role: "Homeowner", company: "Parramatta", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg", imageAlt: "James Taylor"
|
imageSrc: "http://img.b2bpic.net/free-photo/happy-businessman-smiling-camera_1163-4660.jpg", imageAlt: "Emma Robinson"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "6", name: "Lisa Anderson", role: "Homeowner", company: "Toongabbie", rating: 5,
|
id: "5", name: "James Taylor", role: "Business Owner", company: "Merrylands", rating: 5,
|
||||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Lisa Anderson"
|
imageSrc: "http://img.b2bpic.net/free-photo/young-businesswoman-portrait-office_1262-1506.jpg", imageAlt: "James Taylor"
|
||||||
}
|
},
|
||||||
]}
|
{
|
||||||
gridVariant="uniform-all-items-equal"
|
id: "6", name: "Lisa Anderson", role: "Homeowner", company: "Toongabbie", rating: 5,
|
||||||
animationType="slide-up"
|
imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Lisa Anderson"
|
||||||
textboxLayout="default"
|
}
|
||||||
useInvertedBackground={false}
|
]}
|
||||||
/>
|
gridVariant="uniform-all-items-equal"
|
||||||
|
animationType="slide-up"
|
||||||
|
textboxLayout="default"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="service-areas" data-section="service-areas">
|
<div id="service-areas" data-section="service-areas">
|
||||||
|
|||||||
Reference in New Issue
Block a user