107 lines
3.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { notFound } from "next/navigation";
import { servicesList } from "@/utils/Services.utils";
export async function generateStaticParams() {
return servicesList.map((item) => ({
slug: item.slug,
}));
}
export async function generateMetadata({ params }) {
const service = servicesList.find((item) => item.slug === params.slug);
if (!service) {
return {
title: "Service Not Found MySite",
description: "The requested service could not be found.",
};
}
return {
title: `${service.metaTitle || service.shortTitle || service.title} MySite`,
description: service.metaDiscription || service.shortDesc || "Explore our services in detail.",
};
}
export default function ServiceDetailPage({ params }) {
const service = servicesList.find((item) => item.slug === params.slug);
if (!service) return notFound();
const altText = service.title ? service.title.toUpperCase() : "SERVICE";
return (
<Layout
headerStyle={1}
footerStyle={1}
breadcrumbTitle={service.shortTitle}
bannerImage={service.bannerImage}
>
<section className="service-details pt_90 pb_90">
<div className="auto-container">
<div className="row clearfix">
{/* Sidebar */}
<div className="col-lg-4 col-md-12 col-sm-12 sidebar-side">
<div className="default-sidebar service-sidebar mr_15">
{/* Categories */}
<div className="sidebar-widget category-widget">
<div className="widget-title">
<h3>Services</h3>
</div>
<div className="widget-content">
<ul className="category-list clearfix">
{servicesList.map((item) => (
<li key={item.slug}>
<Link
href={`/etobicoke-treatment-service/${item.slug}`}
className={item.slug === service.slug ? "current" : ""}
>
{item.shortTitle}
</Link>
</li>
))}
</ul>
</div>
</div>
<div className="service-block-one">
<div className="inner-box">
<div className="image-box">
<figure className="image">
<img src={service.sidebarImg} alt={altText} />
</figure>
</div>
<div className="lower-content">
<div className="icon-box">
<img src={service.icon} alt={`${service.title} Icon`} />
</div>
<h3>{service.shortTitle}</h3>
<p>{service.shortDescription}</p>
</div>
</div>
</div>
</div>
</div>
<div className="col-lg-8 col-md-12 col-sm-12 content-side">
<div className="service-details-content">
<div className="content-one mb_60">
<figure className="image-box mb_40">
<img src={service.bigImg} alt={altText} />
</figure>
<div
className="service-details-description"
dangerouslySetInnerHTML={{ __html: service.description }}
/>
</div>
</div>
</div>
</div>
</div>
</section>
</Layout>
);
}