|
|
|
|
@@ -1,53 +1,20 @@
|
|
|
|
|
import type { Metadata } from "next";
|
|
|
|
|
import { Roboto } from "next/font/google";
|
|
|
|
|
import { Inter } from "next/font/google";
|
|
|
|
|
import "./globals.css";
|
|
|
|
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
|
|
|
import Tag from "@/tag/Tag";
|
|
|
|
|
|
|
|
|
|
const roboto = Roboto({
|
|
|
|
|
variable: "--font-roboto",
|
|
|
|
|
subsets: ["latin"],
|
|
|
|
|
weight: ["100", "300", "400", "500", "700", "900"],
|
|
|
|
|
});
|
|
|
|
|
const inter = Inter({ subsets: ["latin"] });
|
|
|
|
|
|
|
|
|
|
export const metadata: Metadata = {
|
|
|
|
|
title: "NYC Plumbing Experts | New York Plumbing Works",
|
|
|
|
|
description: "NYC's most relentless plumbing experts. Complex diagnostics, persistent problem-solving, and expert service. When others can't find it—we do. 24/7 emergency response.",
|
|
|
|
|
keywords: "NYC plumbing, emergency plumbing, sewer detection, commercial plumbing, residential plumbing, New York plumber, 24/7 plumbing service",
|
|
|
|
|
openGraph: {
|
|
|
|
|
title: "NYC's Most Relentless Plumbing Experts | New York Plumbing Works",
|
|
|
|
|
description: "Expert plumbing diagnostics and solutions. We find what others miss. Precision. Persistence. Results.",
|
|
|
|
|
siteName: "New York Plumbing Works",
|
|
|
|
|
type: "website",
|
|
|
|
|
images: [
|
|
|
|
|
{
|
|
|
|
|
url: "http://img.b2bpic.net/free-photo/male-plumber-working-with-client-fix-kitchen-problems_23-2150990690.jpg",
|
|
|
|
|
alt: "New York Plumbing Works Team",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
twitter: {
|
|
|
|
|
card: "summary_large_image",
|
|
|
|
|
title: "NYC's Most Relentless Plumbing Experts",
|
|
|
|
|
description: "Expert plumbing diagnostics and 24/7 emergency service in New York City",
|
|
|
|
|
images: ["http://img.b2bpic.net/free-photo/male-plumber-working-with-client-fix-kitchen-problems_23-2150990690.jpg"],
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
title: "New York Plumbing Works - Expert Diagnostics & Repair", description: "NYC's premier plumbing service. We find what others miss."};
|
|
|
|
|
|
|
|
|
|
export default function RootLayout({
|
|
|
|
|
children,
|
|
|
|
|
}: Readonly<{
|
|
|
|
|
}: {
|
|
|
|
|
children: React.ReactNode;
|
|
|
|
|
}>) {
|
|
|
|
|
}) {
|
|
|
|
|
return (
|
|
|
|
|
<html lang="en" suppressHydrationWarning>
|
|
|
|
|
<ServiceWrapper>
|
|
|
|
|
<body
|
|
|
|
|
className={`${roboto.variable} antialiased`}
|
|
|
|
|
>
|
|
|
|
|
<Tag />
|
|
|
|
|
{children}
|
|
|
|
|
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<body className={inter.className}>{children}
|
|
|
|
|
<script
|
|
|
|
|
dangerouslySetInnerHTML={{
|
|
|
|
|
__html: `
|
|
|
|
|
@@ -1415,7 +1382,6 @@ export default function RootLayout({
|
|
|
|
|
}}
|
|
|
|
|
/>
|
|
|
|
|
</body>
|
|
|
|
|
</ServiceWrapper>
|
|
|
|
|
</html>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|