generatestatic params updated for accident, area-ofinjury, rehabilitation, team pages build error cleared

This commit is contained in:
Alaguraj0361 2025-08-29 16:15:34 +05:30
parent 5099c968c0
commit 597102c637
4 changed files with 296 additions and 264 deletions

View File

@ -1,24 +1,36 @@
'use client';
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Link from "next/link"; import Link from "next/link";
import { useParams, notFound } from "next/navigation"; import { notFound } from "next/navigation";
import Accident from "@/utils/Accident.utils"; import Accident from "@/utils/Accident.utils";
export default function AccidentDetailsPage() { // ✅ Generate static paths for export
const params = useParams(); export async function generateStaticParams() {
return Accident.map((item) => ({
slug: item.slug,
}));
}
export default function AccidentDetailsPage({ params }) {
const service = Accident.find((item) => item.slug === params.slug); const service = Accident.find((item) => item.slug === params.slug);
if (!service) return notFound(); if (!service) return notFound();
return ( return (
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle={`${service.title}`} bannerImage={service.bannerImage}> <Layout
headerStyle={2}
footerStyle={1}
breadcrumbTitle={`${service.title}`}
bannerImage={service.bannerImage}
>
<section className="service-details pt_120 pb_120"> <section className="service-details pt_120 pb_120">
<div className="auto-container"> <div className="auto-container">
<div className="row clearfix"> <div className="row clearfix">
{/* Sidebar */}
<div className="col-lg-4 col-md-12 col-sm-12 sidebar-side"> <div className="col-lg-4 col-md-12 col-sm-12 sidebar-side">
<div className="default-sidebar service-sidebar mr_15"> <div className="default-sidebar service-sidebar mr_15">
{/* Categories */}
<div className="sidebar-widget category-widget"> <div className="sidebar-widget category-widget">
<div className="widget-title"><h3>Categories</h3></div> <div className="widget-title"><h3>Categories</h3></div>
<div className="widget-content"> <div className="widget-content">
@ -37,6 +49,7 @@ export default function AccidentDetailsPage() {
</div> </div>
</div> </div>
{/* Service Card */}
<div className="service-block-one"> <div className="service-block-one">
<div className="inner-box"> <div className="inner-box">
<div className="image-box"> <div className="image-box">
@ -44,10 +57,7 @@ export default function AccidentDetailsPage() {
<img src={service.mainImage} alt={service.title} /> <img src={service.mainImage} alt={service.title} />
</figure> </figure>
<div className="icon-box"> <div className="icon-box">
<img <img src={service.icon} alt={`${service.title} Icon`} />
src={service.icon}
alt={`${service.title} Icon`}
/>
</div> </div>
</div> </div>
<div className="lower-content"> <div className="lower-content">

View File

@ -1,136 +1,139 @@
"use client";
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Link from "next/link"; import Link from "next/link";
import { useParams, notFound } from "next/navigation"; import { notFound } from "next/navigation";
import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils"; import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils";
export default function AreaOfInjuryDetails() { // ✅ Static params for export
const params = useParams(); export async function generateStaticParams() {
const service = areaOfInjuryData.find((item) => item.slug === params.slug); return areaOfInjuryData.map((item) => ({
slug: item.slug,
if (!service) return notFound(); }));
}
return (
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle={service.title} bannerImage={service.bannerImage}> export default function AreaOfInjuryDetails({ params }) {
<section className="service-details pt_120 pb_120"> const service = areaOfInjuryData.find((item) => item.slug === params.slug);
<div className="auto-container">
<div className="row clearfix"> if (!service) return notFound();
{/* Sidebar */}
<div className="col-lg-4 col-md-12 col-sm-12 sidebar-side"> return (
<div className="default-sidebar service-sidebar mr_15"> <Layout
headerStyle={2}
{/* Categories */} footerStyle={1}
<div className="sidebar-widget category-widget"> breadcrumbTitle={service.title}
<div className="widget-title"> bannerImage={service.bannerImage}
<h3>Categories</h3> >
</div> <section className="service-details pt_120 pb_120">
<div className="widget-content"> <div className="auto-container">
<ul className="category-list clearfix"> <div className="row clearfix">
{areaOfInjuryData.map((cat) => ( {/* Sidebar */}
<li key={cat.id}> <div className="col-lg-4 col-md-12 col-sm-12 sidebar-side">
<Link <div className="default-sidebar service-sidebar mr_15">
href={`/area-of-injury/${cat.slug}`} {/* Categories */}
className={cat.slug === service.slug ? "current" : ""} <div className="sidebar-widget category-widget">
> <div className="widget-title">
{cat.title} <h3>Categories</h3>
</Link> </div>
</li> <div className="widget-content">
))} <ul className="category-list clearfix">
</ul> {areaOfInjuryData.map((cat) => (
</div> <li key={cat.id}>
</div> <Link
href={`/area-of-injury/${cat.slug}`}
{/* Sidebar Service Card */} className={cat.slug === service.slug ? "current" : ""}
<div className="service-block-one"> >
<div className="inner-box"> {cat.title}
<div className="image-box"> </Link>
<figure className="image"> </li>
<img src={service.image} alt={service.title} /> ))}
</figure> </ul>
<div className="icon-box"> </div>
<img </div>
src={service.icon}
alt={`${service.title} Icon`} {/* Sidebar Service Card */}
/> <div className="service-block-one">
</div> <div className="inner-box">
</div> <div className="image-box">
<div className="lower-content"> <figure className="image">
<h3>{service.title}</h3> <img src={service.image} alt={service.title} />
<p>{service.shortDescription}</p> </figure>
</div> <div className="icon-box">
</div> <img src={service.icon} alt={`${service.title} Icon`} />
</div> </div>
</div>
</div> <div className="lower-content">
</div> <h3>{service.title}</h3>
<p>{service.shortDescription}</p>
{/* Main Content */} </div>
<div className="col-lg-8 col-md-12 col-sm-12 content-side"> </div>
<div className="service-details-content"> </div>
<div className="content-one mb_60"> </div>
{/* Main Image */} </div>
<figure className="image-box mb_40">
<img src={service.mainImage} alt={service.title} /> {/* Main Content */}
</figure> <div className="col-lg-8 col-md-12 col-sm-12 content-side">
<div className="text-box"> <div className="service-details-content">
<h2>{service.title}</h2> <div className="content-one mb_60">
</div> {/* Main Image */}
<figure className="image-box mb_40">
{/* Dynamic Content */} <img src={service.mainImage} alt={service.title} />
<div </figure>
className="service-details-description" <div className="text-box">
dangerouslySetInnerHTML={{ __html: service.content }} <h2>{service.title}</h2>
/> </div>
</div>
</div> {/* Dynamic Content */}
</div> <div
className="service-details-description"
</div> dangerouslySetInnerHTML={{ __html: service.content }}
</div> />
</section> </div>
</div>
{/* Subscribe Section */} </div>
<section className="subscribe-section"> </div>
<div className="auto-container"> </div>
<div className="inner-container"> </section>
<div className="row align-items-center">
<div className="col-lg-6 col-md-12 col-sm-12 text-column"> {/* Subscribe Section */}
<div className="text-box"> <section className="subscribe-section">
<h2> <div className="auto-container">
<span>Subscribe</span> for the exclusive updates! <div className="inner-container">
</h2> <div className="row align-items-center">
</div> <div className="col-lg-6 col-md-12 col-sm-12 text-column">
</div> <div className="text-box">
<div className="col-lg-6 col-md-12 col-sm-12 form-column"> <h2>
<div className="form-inner"> <span>Subscribe</span> for the exclusive updates!
<form method="post" action="contact"> </h2>
<div className="form-group"> </div>
<input </div>
type="email" <div className="col-lg-6 col-md-12 col-sm-12 form-column">
name="email" <div className="form-inner">
placeholder="Enter Your Email Address" <form method="post" action="contact">
required <div className="form-group">
/> <input
<button type="submit" className="theme-btn btn-one"> type="email"
<span>Subscribe Now</span> name="email"
</button> placeholder="Enter Your Email Address"
</div> required
<div className="form-group"> />
<div className="check-box"> <button type="submit" className="theme-btn btn-one">
<input className="check" type="checkbox" id="checkbox1" /> <span>Subscribe Now</span>
<label htmlFor="checkbox1"> </button>
I agree to the <Link href="/">Privacy Policy.</Link> </div>
</label> <div className="form-group">
</div> <div className="check-box">
</div> <input className="check" type="checkbox" id="checkbox1" />
</form> <label htmlFor="checkbox1">
</div> I agree to the <Link href="/">Privacy Policy.</Link>
</div> </label>
</div> </div>
</div> </div>
</div> </form>
</section> </div>
</Layout> </div>
); </div>
</div>
</div>
</section>
</Layout>
);
} }

View File

@ -1,123 +1,132 @@
'use client'
import React from "react";
import { useParams } from "next/navigation";
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 }) => (
<div className="progress-box"> <div className="progress-box">
<p>{label}</p> <p>{label}</p>
<div className="bar"> <div className="bar">
<div className="bar-inner count-bar" style={{ width: `${percent}%` }}></div> <div className="bar-inner count-bar" style={{ width: `${percent}%` }}></div>
<div className="count-text">{`${percent}%`}</div> <div className="count-text">{`${percent}%`}</div>
</div>
</div> </div>
</div>
); );
export default function TeamDetails() { // ✅ Generate static params for team members
const { slug } = useParams(); export async function generateStaticParams() {
const member = teamMembers.find((item) => item.slug === slug); return teamMembers.map((member) => ({
slug: member.slug,
if (!member) { }));
return ( }
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Not Found">
<div className="auto-container"> export default function TeamDetails({ params }) {
<h2>Team member not found!</h2> const member = teamMembers.find((item) => item.slug === params.slug);
<Link href="/" className="theme-btn btn-one">Go Back</Link>
</div> if (!member) {
</Layout> return (
); <Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Not Found">
} <div className="auto-container">
<h2>Team member not found!</h2>
return ( <Link href="/" className="theme-btn btn-one">Go Back</Link>
<> </div>
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Team Details"> </Layout>
<section className="team-details sec-pad-2"> );
<div className="auto-container"> }
<div className="team-details-content mb_50">
<div className="row clearfix"> return (
<div className="col-lg-5 col-md-12 col-sm-12 image-column"> <Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Team Details">
<figure className="image-box mr_15"> <section className="team-details sec-pad-2">
<img src={member.image} alt={member.name} /> <div className="auto-container">
</figure> <div className="team-details-content mb_50">
</div> <div className="row clearfix">
<div className="col-lg-7 col-md-12 col-sm-12 content-column"> <div className="col-lg-5 col-md-12 col-sm-12 image-column">
<div className="content-box"> <figure className="image-box mr_15">
<h2>{member.name}</h2> <img src={member.image} alt={member.name} />
<span className="designation">{member.designation}</span> </figure>
<p>{member.description}</p> </div>
<ul className="info-list mb_30 clearfix"> <div className="col-lg-7 col-md-12 col-sm-12 content-column">
<li><strong>Experience: </strong>{member.experience}</li> <div className="content-box">
<li><strong>Email: </strong><Link href={`mailto:${member.email}`}>{member.email}</Link></li> <h2>{member.name}</h2>
<li><strong>Phone: </strong><Link href={`tel:${member.phone}`}>{member.phone}</Link></li> <span className="designation">{member.designation}</span>
</ul> <p>{member.description}</p>
<ul className="social-links clearfix"> <ul className="info-list mb_30 clearfix">
{member.socials.map((social, idx) => ( <li><strong>Experience: </strong>{member.experience}</li>
<li key={idx}><Link href={social.link}><i className={social.icon}></i></Link></li> <li><strong>Email: </strong><Link href={`mailto:${member.email}`}>{member.email}</Link></li>
))} <li><strong>Phone: </strong><Link href={`tel:${member.phone}`}>{member.phone}</Link></li>
</ul> </ul>
</div> <ul className="social-links clearfix">
</div> {member.socials.map((social, idx) => (
</div> <li key={idx}>
</div> <Link href={social.link}>
<i className={social.icon}></i>
<div className="experience-details mb_50"> </Link>
<h2>Personal Experience</h2> </li>
<p>{member.about1}</p> ))}
<p>{member.about2}</p> </ul>
</div> </div>
</div>
{/* Expertise & Skills */} </div>
<div className="two-column"> </div>
<div className="row clearfix">
<div className="col-lg-6 col-md-6 col-sm-12 skills-column"> <div className="experience-details mb_50">
<div className="skills-box"> <h2>Personal Experience</h2>
<div className="text-box mb_30"> <p>{member.about1}</p>
<h2>Expertise & Skills</h2> <p>{member.about2}</p>
<p>Professional expertise and top-level skills demonstrated below:</p> </div>
</div>
<div className="progress-inner"> {/* Expertise & Skills */}
{member.skills.map((skill, index) => ( <div className="two-column">
<ProgressBar key={index} label={skill.label} percent={skill.percent} /> <div className="row clearfix">
))} <div className="col-lg-6 col-md-6 col-sm-12 skills-column">
</div> <div className="skills-box">
</div> <div className="text-box mb_30">
</div> <h2>Expertise & Skills</h2>
<p>Professional expertise and top-level skills demonstrated below:</p>
{/* Appointment Form */} </div>
<div className="col-lg-6 col-md-6 col-sm-12 appointment-column"> <div className="progress-inner">
<div className="appointment-inner"> {member.skills.map((skill, index) => (
<h2>Book An Appointment</h2> <ProgressBar key={index} label={skill.label} percent={skill.percent} />
<form method="post" action="#" className="default-form"> ))}
<div className="row clearfix"> </div>
<div className="col-lg-6 col-md-6 col-sm-12 form-group"> </div>
<input type="text" name="fname" placeholder="First Name" required /> </div>
</div>
<div className="col-lg-6 col-md-6 col-sm-12 form-group"> {/* Appointment Form */}
<input type="text" name="phone" placeholder="Phone Number" required /> <div className="col-lg-6 col-md-6 col-sm-12 appointment-column">
</div> <div className="appointment-inner">
<div className="col-lg-6 col-md-6 col-sm-12 form-group"> <h2>Book An Appointment</h2>
<input type="email" name="email" placeholder="Email" required /> <form method="post" action="#" className="default-form">
</div> <div className="row clearfix">
<div className="col-lg-6 col-md-6 col-sm-12 form-group"> <div className="col-lg-6 col-md-6 col-sm-12 form-group">
<input type="text" name="subject" placeholder="Subject" required /> <input type="text" name="fname" placeholder="First Name" required />
</div> </div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group"> <div className="col-lg-6 col-md-6 col-sm-12 form-group">
<textarea name="message" placeholder="Message"></textarea> <input type="text" name="phone" placeholder="Phone Number" required />
</div> </div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group message-btn"> <div className="col-lg-6 col-md-6 col-sm-12 form-group">
<button type="submit" className="theme-btn btn-one"><span>Send Message</span></button> <input type="email" name="email" placeholder="Email" required />
</div> </div>
</div> <div className="col-lg-6 col-md-6 col-sm-12 form-group">
</form> <input type="text" name="subject" placeholder="Subject" required />
</div> </div>
</div> <div className="col-lg-12 col-md-12 col-sm-12 form-group">
</div> <textarea name="message" placeholder="Message"></textarea>
</div> </div>
</div> <div className="col-lg-12 col-md-12 col-sm-12 form-group message-btn">
</section> <button type="submit" className="theme-btn btn-one">
</Layout> <span>Send Message</span>
</> </button>
); </div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
</Layout>
);
} }

View File

@ -1,24 +1,36 @@
'use client';
import Layout from "@/components/layout/Layout"; import Layout from "@/components/layout/Layout";
import Link from "next/link"; import Link from "next/link";
import { useParams, notFound } from "next/navigation"; import { notFound } from "next/navigation";
import Rehabilitation from "@/utils/Rehabilitation.utils"; import Rehabilitation from "@/utils/Rehabilitation.utils";
export default function RehabilitationDetailsPage() { // ✅ Generate static paths for export
const params = useParams(); export async function generateStaticParams() {
return Rehabilitation.map((item) => ({
slug: item.slug,
}));
}
export default function RehabilitationDetailsPage({ params }) {
const service = Rehabilitation.find((item) => item.slug === params.slug); const service = Rehabilitation.find((item) => item.slug === params.slug);
if (!service) return notFound(); if (!service) return notFound();
return ( return (
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle={`${service.title}`} bannerImage={service.bannerImage}> <Layout
headerStyle={2}
footerStyle={1}
breadcrumbTitle={`${service.title}`}
bannerImage={service.bannerImage}
>
<section className="service-details pt_120 pb_120"> <section className="service-details pt_120 pb_120">
<div className="auto-container"> <div className="auto-container">
<div className="row clearfix"> <div className="row clearfix">
{/* Sidebar */}
<div className="col-lg-4 col-md-12 col-sm-12 sidebar-side"> <div className="col-lg-4 col-md-12 col-sm-12 sidebar-side">
<div className="default-sidebar service-sidebar mr_15"> <div className="default-sidebar service-sidebar mr_15">
{/* Categories */}
<div className="sidebar-widget category-widget"> <div className="sidebar-widget category-widget">
<div className="widget-title"><h3>Categories</h3></div> <div className="widget-title"><h3>Categories</h3></div>
<div className="widget-content"> <div className="widget-content">
@ -37,6 +49,7 @@ export default function RehabilitationDetailsPage() {
</div> </div>
</div> </div>
{/* Service Card */}
<div className="service-block-one"> <div className="service-block-one">
<div className="inner-box"> <div className="inner-box">
<div className="image-box"> <div className="image-box">
@ -44,10 +57,7 @@ export default function RehabilitationDetailsPage() {
<img src={service.mainImage} alt={service.title} /> <img src={service.mainImage} alt={service.title} />
</figure> </figure>
<div className="icon-box"> <div className="icon-box">
<img <img src={service.icon} alt={`${service.title} Icon`} />
src={service.icon}
alt={`${service.title} Icon`}
/>
</div> </div>
</div> </div>
<div className="lower-content"> <div className="lower-content">
@ -69,7 +79,7 @@ export default function RehabilitationDetailsPage() {
/> />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</section> </section>