Rocky_Mountain_Vending/app/contact-us/page.tsx

75 lines
2 KiB
TypeScript

import { notFound } from "next/navigation"
import { generateSEOMetadata, generateStructuredData } from "@/lib/seo"
import { getPageBySlug } from "@/lib/wordpress-data-loader"
import { ContactPage } from "@/components/contact-page"
import type { Metadata } from "next"
const WORDPRESS_SLUG = "contact-us"
export async function generateMetadata(): Promise<Metadata> {
const page = getPageBySlug(WORDPRESS_SLUG)
if (!page) {
return {
title: "Page Not Found | Rocky Mountain Vending",
}
}
return generateSEOMetadata({
title: page.title || "Contact Us",
description: page.seoDescription || page.excerpt || "",
excerpt: page.excerpt,
date: page.date,
modified: page.modified,
image: page.images?.[0]?.localPath,
path: "/contact-us",
})
}
export default async function ContactUsPage() {
try {
const page = getPageBySlug(WORDPRESS_SLUG)
if (!page) {
notFound()
}
let structuredData
try {
structuredData = generateStructuredData({
title: page.title || "Contact Us",
description: page.seoDescription || page.excerpt || "",
url:
page.link ||
page.urlPath ||
`https://rockymountainvending.com/contact-us/`,
datePublished: page.date,
dateModified: page.modified || page.date,
type: "WebPage",
})
} catch (e) {
structuredData = {
"@context": "https://schema.org",
"@type": "WebPage",
headline: page.title || "Contact Us",
description: page.seoDescription || "",
url: `https://rockymountainvending.com/contact-us/`,
}
}
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(structuredData) }}
/>
<ContactPage />
</>
)
} catch (error) {
if (process.env.NODE_ENV === "development") {
console.error("Error rendering Contact Us page:", error)
}
notFound()
}
}