Team Meta title and discription dynamic updated

This commit is contained in:
akash 2025-09-17 15:04:11 +05:30
parent 63eed9944e
commit c7a40eb45b
3 changed files with 82 additions and 52 deletions

View File

@ -0,0 +1,53 @@
'use client'
import Layout from "@/components/layout/Layout";
import Link from "next/link";
import { teamMembers } from "@/utils/constant.utils";
export default function Home() {
return (
<>
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Our Team" bannerImage="/assets/images/our-team/our-team-banner.webp">
<section className="team-section pt_90 pb_90 centred">
<div className="auto-container">
<div className="sec-title mb_50">
<span className="sub-title">Meet the Team</span>
<h2>Meet Our Experienced Therapists <br />for Exceptional Care</h2>
</div>
<div className="row clearfix justify-content-center">
{teamMembers.map((member, index) => (
<div key={member.id} className="col-lg-4 col-md-6 col-sm-12 team-block">
<div
className="team-block-two wow fadeInUp animated"
data-wow-delay={`${index * 200}ms`}
data-wow-duration="1500ms"
>
<div className="inner-box">
<div className="image-box">
<figure className="image">
<img src={member.image} alt={member.name} />
</figure>
</div>
<div className="lower-content">
<h3>
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
</h3>
<span className="designation">{member.designation}</span>
<ul className="social-links clearfix">
{member.socials.map((social, idx) => (
<li key={idx}>
<Link href={social.link}><i className={social.icon}></i></Link>
</li>
))}
</ul>
</div>
</div>
</div>
</div>
))}
</div>
</div>
</section>
</Layout>
</>
);
}

View File

@ -1,6 +1,5 @@
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Link from "next/link"; import Link from "next/link";
import { notFound } from "next/navigation";
import { teamMembers } from "@/utils/constant.utils"; import { teamMembers } from "@/utils/constant.utils";
const ProgressBar = ({ label, percent }) => ( const ProgressBar = ({ label, percent }) => (
@ -13,13 +12,28 @@ const ProgressBar = ({ label, percent }) => (
</div> </div>
); );
export async function generateStaticParams() { export async function generateStaticParams() {
return teamMembers.map((member) => ({ return teamMembers.map((member) => ({
slug: member.slug, slug: member.slug,
})); }));
} }
export async function generateMetadata({ params }) {
const member = teamMembers.find((item) => item.slug === params.slug);
if (!member) {
return {
title: "Team Member Not Found Rapha Rehab Clinic",
description: "Team member not found at Rapha Rehab Clinic.",
};
}
return {
title: `${member.name} Rapha Rehab Clinic`,
description: member.description || `Learn more about ${member.name}, their experience, expertise, and services at Rapha Rehab Clinic in Etobicoke and Scarborough.`,
};
}
export default function TeamDetails({ params }) { export default function TeamDetails({ params }) {
const member = teamMembers.find((item) => item.slug === params.slug); const member = teamMembers.find((item) => item.slug === params.slug);
@ -39,7 +53,7 @@ export default function TeamDetails({ params }) {
headerStyle={2} headerStyle={2}
footerStyle={1} footerStyle={1}
breadcrumbTitle={member.name} breadcrumbTitle={member.name}
bannerImage={member.bannerImage} bannerImage={member.bannerImage}
> >
<section className="team-details sec-pad-2"> <section className="team-details sec-pad-2">
<div className="auto-container"> <div className="auto-container">
@ -80,7 +94,6 @@ export default function TeamDetails({ params }) {
<p>{member.about2}</p> <p>{member.about2}</p>
</div> </div>
{/* Expertise & Skills */}
<div className="two-column"> <div className="two-column">
<div className="row clearfix"> <div className="row clearfix">
<div className="col-lg-6 col-md-6 col-sm-12 skills-column"> <div className="col-lg-6 col-md-6 col-sm-12 skills-column">
@ -98,6 +111,7 @@ export default function TeamDetails({ params }) {
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</section> </section>
</Layout> </Layout>

View File

@ -1,53 +1,16 @@
'use client'
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Link from "next/link"; import TeamClient from "../our-team-physiotherapy-etobicoke/TeamClient";
import { teamMembers } from "@/utils/constant.utils";
export default function Home() { export const metadata = {
title: "Meet Our Professional Team Rapharehab Experts",
description:
"Get to know the trusted team behind Rapharehab. Our dedicated experts provide compassionate care and specialized therapies.",
};
export default function OurTeamPage() {
return ( return (
<> <>
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Our Team" bannerImage="/assets/images/our-team/our-team-banner.webp"> <TeamClient />
<section className="team-section pt_90 pb_90 centred"> </>
<div className="auto-container">
<div className="sec-title mb_50">
<span className="sub-title">Meet the Team</span>
<h2>Meet Our Experienced Therapists <br />for Exceptional Care</h2>
</div>
<div className="row clearfix justify-content-center">
{teamMembers.map((member, index) => (
<div key={member.id} className="col-lg-4 col-md-6 col-sm-12 team-block">
<div
className="team-block-two wow fadeInUp animated"
data-wow-delay={`${index * 200}ms`}
data-wow-duration="1500ms"
>
<div className="inner-box">
<div className="image-box">
<figure className="image">
<img src={member.image} alt={member.name} />
</figure>
</div>
<div className="lower-content">
<h3>
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
</h3>
<span className="designation">{member.designation}</span>
<ul className="social-links clearfix">
{member.socials.map((social, idx) => (
<li key={idx}>
<Link href={social.link}><i className={social.icon}></i></Link>
</li>
))}
</ul>
</div>
</div>
</div>
</div>
))}
</div>
</div>
</section>
</Layout>
</>
); );
} }