Services Page updated

This commit is contained in:
vidhubk 2025-08-26 21:36:39 +05:30
parent e3ab5551d9
commit 1ff8830c57
6 changed files with 507 additions and 2 deletions

View File

@ -0,0 +1,107 @@
'use client'
import Link from "next/link";
import { useState } from "react";
export default function ServiceDetailClient({ slug, service, servicesList }) {
const [isActive, setIsActive] = useState({ status: false, key: 1 });
const handleToggle = (key) => {
if (isActive.key === key) {
setIsActive({ status: false });
} else {
setIsActive({ status: true, key });
}
};
return (
<div>
{/* service-section */}
<section className="service-details pt_120 pb_110">
<div className="auto-container">
<div className="row clearfix">
<div className="col-lg-4 col-md-12 col-sm-12 sidebar-side">
<div className="default-sidebar service-sidebar mr_15">
<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={slug === item.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="" /></figure>
<div className="icon-box"><i className="icon-30"></i></div>
</div>
<div className="lower-content">
<h3>{service.shortTitle}</h3>
<p>{service.shortDescrition}</p>
</div>
</div>
</div>
</div>
</div>
{/* Content */}
<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="" /></figure>
<div dangerouslySetInnerHTML={{ __html: service.description } || "No description available." }/>
</div>
</div>
</div>
</div>
</div>
</section>
{/* service-section end */}
{/* subscibe */}
<section className="subscribe-section">
<div className="auto-container">
<div className="inner-container">
<div className="row align-items-center">
<div className="col-lg-6 col-md-12 col-sm-12 text-column">
<div className="text-box">
<h2><span>Subscribe</span> for the exclusive updates!</h2>
</div>
</div>
<div className="col-lg-6 col-md-12 col-sm-12 form-column">
<div className="form-inner">
<form method="post" action="contact">
<div className="form-group">
<input type="email" name="email" placeholder="Enter Your Email Address" required />
<button type="submit" className="theme-btn btn-one"><span>Subscribe Now</span></button>
</div>
<div className="form-group">
<div className="check-box">
<input className="check" type="checkbox" id="checkbox1" />
<label htmlFor="checkbox1">I agree to the <Link href="/">Privacy Policy.</Link></label>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
{/* subscibe end */}
</div>
);
}

View File

@ -0,0 +1,26 @@
import Layout from "@/components/layout/Layout";
import { servicesList } from "@/utils/Services.utils";
import ServiceDetailClient from "./ServiceDetailClient";
export async function generateStaticParams() {
return servicesList.map((item) => ({
slug: item.slug,
}));
}
export default function ServiceDetailPage({ params }) {
const { slug } = params;
const service = servicesList.find((item) => item.slug === slug);
if (!service) {
return <div>Service not found</div>;
}
return (
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Service Details">
<ServiceDetailClient slug={slug} service={service} servicesList={servicesList} />
</Layout>
);
}

View File

@ -0,0 +1,170 @@
'use client'
import Layout from "@/components/layout/Layout"
import Link from "next/link"
import { useState } from 'react'
export default function Home() {
const [isActive, setIsActive] = useState({
status: false,
key: 1,
})
const handleToggle = (key) => {
if (isActive.key === key) {
setIsActive({
status: false,
})
} else {
setIsActive({
status: true,
key,
})
}
}
return (
<>
<Layout headerStyle={2} footerStyle={1} breadcrumbTitle="Our Services">
<div>
{/* service-style-two */}
<section className="service-section sec-pad-2">
<div className="auto-container">
<div className="row clearfix">
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="00ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details"><img src="assets/images/service/service-4.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-30"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details">Cardiology</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="300ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details-6"><img src="assets/images/service/service-2.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-16"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details-6">Modern Laboratory</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="600ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details-2"><img src="assets/images/service/service-5.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-32"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details-2">Dental Clinic</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="00ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details-3"><img src="assets/images/service/service-1.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-15"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details-3">Neurosurgery</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="300ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details-5"><img src="assets/images/service/service-6.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-31"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details-5">Pediatrics</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
<div className="col-lg-4 col-md-6 col-sm-12 service-block">
<div className="service-block-one wow fadeInUp animated" data-wow-delay="600ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image"><Link href="service-details-4"><img src="assets/images/service/service-3.jpg" alt="" /></Link></figure>
<div className="icon-box"><i className="icon-17"></i></div>
</div>
<div className="lower-content">
<h3><Link href="service-details-4">Experienced Doctors</Link></h3>
<p>Amet minim mollit non deserunt ullamco aliqua dolor do amet sint.</p>
</div>
</div>
</div>
</div>
{/* Repeat the above block for other service items */}
</div>
<div className="pagination-wrapper mt_20 centred">
<ul className="pagination clearfix">
<li><Link href="service" className="current">1</Link></li>
<li><Link href="service">2</Link></li>
<li><Link href="service">3</Link></li>
<li><Link href="service"><i className="icon-36"></i></Link></li>
</ul>
</div>
</div>
</section>
{/* service-style-two end */}
{/* subscibe */}
<section className="subscribe-section">
<div className="auto-container">
<div className="inner-container">
<div className="row align-items-center">
<div className="col-lg-6 col-md-12 col-sm-12 text-column">
<div className="text-box">
<h2><span>Subscribe</span> for the exclusive updates!</h2>
</div>
</div>
<div className="col-lg-6 col-md-12 col-sm-12 form-column">
<div className="form-inner">
<form method="post" action="contact">
<div className="form-group">
<input type="email" name="email" placeholder="Enter Your Email Address" required />
<button type="submit" className="theme-btn btn-one"><span>Subscribe Now</span></button>
</div>
<div className="form-group">
<div className="check-box">
<input className="check" type="checkbox" id="checkbox1" />
<label htmlFor="checkbox1">I agree to the <Link href="/">Privacy Policy.</Link></label>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
{/* subscibe end */}
</div>
</Layout>
</>
)
}

View File

@ -29,7 +29,7 @@ export default function about() {
</div>
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
<div className="content_block_one">
<div className="content-box ml_30">
<div className="text-box ml_30">
<div className="sec-title mb_15">
<span className="sub-title">About Us</span>
<h2>Medical services & diagnostics</h2>

View File

@ -2622,7 +2622,14 @@ button.ltr {
}
blockquote {
font-size: 1.1rem;
font-style: italic;
border-left: 4px solid var(--theme-color);
margin: 1rem 0;
padding-left: 1rem;
color: var(--text-color);
}

View File

@ -0,0 +1,195 @@
// constant.utils.js
export const servicesList = [
{
slug: "physiotherapy-clinic-etobicoke",
shortTitle: "Physiotherapy",
title: "Trusted Physiotherapy Clinic in Etobicoke Rapha Rehab",
sidebarImg:"/assets/images/service/service-4.jpg",
bigImg:"/assets/images/service/service-7.jpg",
shortDescrition: "Sed ut perspiciatis unde omnis iste natus error sit voluptatem",
description: `<div>
<div class="text-box ">
<h2>Trusted Physiotherapy Clinic in Etobicoke Rapha Rehab</h2>
<p>Rapha Rehab is one of the premier physical therapy clinics in Etobicoke for physiotherapy and wellness. We are leading provider of <a href="https://www.instagram.com/rapharehab/" target="_blank">physiotherapy services</a> offering exceptional patient-focused care and strive to exceed your expectations.</p>
<p class="mb_40">Our licensed Physiotherapists have years of advanced training and our treatment is based on the latest research to provide our patients with effective, evidence-based <a href="https://rapharehab.ca/" target="_blank">physiotherapy care</a> in and around in Etobicoke.</p>
<h5 class="mb_15">Indications for Physiotherapy Recommendations:</h5>
<ul class="list-style-one clearfix mb_40">
<li>Injuries to the soft tissue</li>
<li>Injuries to the joints and functional limitation of the joint</li>
<li>Movement that cause pain during day to day activities</li>
<li>Repetitive strain</li>
<li>Limitations of the joint mobility after post surgery</li>
</ul>
<h5 class="mb_15">What is expected during my first physiotherapy appointment?</h5>
<ul class="list-style-one clearfix mb_30">
<li>Your first appointment may last for an hour and begins with a discussion of the factors in your medical history and a lifestyle analysis like occupation to pinpoint the cause of the problem and any if there are any other factors that may influence your pain.</li>
<li>Then we will assess other factors contributing to the pain and examine other areas that contribute to pain</li>
<li>We will share all the relevant information and results to you and design a customized treatment program that are beneficial to your recovery to meet your needs and goals. We will continually monitor your recovery process and re-evaluate the treatment program and make changes when needed</li>
<li>Further follow up appointments will be handled as a private one-on-one session and may take 30 minutes depending on the condition</li>
</ul>
</div>
<div class="content-two">
<div className="image-inner">
<div class="row clearfix">
<div class="col-lg-6 col-md-6 col-sm-12 image-column">
<figure class="image-box mb_30"><img src="/assets/images/service/service-8.jpg" alt="" /></figure>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 image-column">
<figure class="image-box mb_30"><img src="/assets/images/service/service-9.jpg" alt="" /></figure>
</div>
</div>
</div>
<div class="text-box mt_10">
<h5 class="mb_15">OUR PHYSIOTHERAPY TREATMENT PROGRAM INCLUDES</h5>
<ul class="list-style-one clearfix mb_40">
<li>Manual Therapy</li>
<li>Exercise Therapy to strengthen the muscle groups and increase the range of motion of the joints</li>
<li>Laser & Shock wave therapy</li>
<li>Balance & Coordination and movement training</li>
<li>Vestibular Rehabilitation</li>
<li>Cardio Pulmonary Rehabilitation</li>
<li>Therapeutic Taping</li>
<li>Modalities to reduce pain and recover functional abilities</li>
<li>Education and injury prevention</li>
</ul>
</div>
<div class="text-box">
<h5 class="mb_15">Common conditions that can benefit from physiotherapy</h5>
<div class="row">
<div class="col-md-6">
<ul class="list-style-one clearfix">
<li>Acute & chronic pain</li>
<li>Arthritis including rheumatoid arthritis, Osteoarthritis and Gouty arthritis</li>
<li>Back and neck pain including Sciatica & Radiculopathy</li>
<li>Carpal tunnel syndrome (CTS)</li>
<li>Degenerative disc disease (DDD)</li>
<li>Disc dysfunctions</li>
<li>Dupuytrens contracture</li>
<li>Facial palsy</li>
<li>Frozen shoulder</li>
<li>Myofascial disorders</li>
<li>Nerve root impingement</li>
<li>Pain management</li>
<li>Patello-femoral pain syndrome (PFPS)</li>
<li>Plantar fasciitis, heel spurs</li>
<li>Postoperative scar reduction</li>
</ul>
</div>
<div class="col-md-6">
<ul class="list-style-one clearfix">
<li>Pre & post natal exercise program</li>
<li>Pre and Post-surgical rehabilitation (e.g. hip/knee replacement)</li>
<li>Postural pain</li>
<li>Repetitive strain injuries</li>
<li>Rotator cuff injuries</li>
<li>Sports injuries</li>
<li>Strains & Sprains</li>
<li>Tendonitis and brusitis</li>
<li>Tennis elbow & Golfers elbow</li>
<li>Whiplash injuries</li>
<li>Torticollis</li>
<li>Vestibular rehabilitation</li>
<li>Cardio pulmonary rehabilitation</li>
<li>Workplace injuries (WSIB)</li>
<li>Motor vehicle accident injuries (MVA)</li>
</ul>
</div>
</div>
</div>
</div>
</div>`
},
{
slug: "sportsinjury-physiotherapy-clinic-etobicoke",
shortTitle: "Sports Injury",
title: "Sports Injury",
sidebarImg:"/assets/images/service/service-4.jpg",
bigImg:"/assets/images/service/service-7.jpg",
shortDescrition: "Sed ut perspiciatis unde omnis iste natus error sit voluptatem",
description: `<div>
<div class="text-box ">
<h2>Sports Injury</h2>
<blockquote class="mb_30">
Sports physiotherapy is a speciality dedicated to the assessment and treatment of injuries related to sports and exercise at all levels and ages. Rather than the other injuries, Sports injuries are different since the demands of sport on the body are higher than the other everyday activities.
</blockquote>
<h5 class="mb_15">What does a Sports Physiotherapist do?</h5>
<ul class="list-style-one clearfix mb_40">
<li>We at Rapharehab, follow a Comprehensive and careful Assessment of injuries will involve a thorough examination of the body.</li>
<li>Thorough assessment in finding the root cause of the injury will identify the factors that have contributed to the injury.</li>
<li>We develop individualized treatment plan that will address all imbalances and prevent re-occurrence of the injury.</li>
<li>We follow realistic timescale for the recovery of the patient based on the condition of the patient.</li>
<li>Injury prevention We take measures through the expertise of a Multidisciplinary <a href="https://www.instagram.com/rapharehab/" target="_blank">Therapeutic Treatment</a> Team in order to prevent a recurrent sports injury.</li>
</ul>
<h5 class="mb_15">Common Sports Injury:</h5>
<div class="row">
<div class="col-md-4">
<ul class="list-style-one clearfix">
<li>Ankle sprain</li>
<li>Groin pull</li>
<li>Shoulder Injury</li>
<li>Hamstring strain</li>
<li>Shin splints</li>
</ul>
</div>
<div class="col-md-4">
<ul class="list-style-one clearfix">
<li>Sciatica</li>
<li>Back injuries/back pain</li>
<li>Concussion</li>
<li>Knee injury: ACL tear</li>
</ul>
</div>
<div class="col-md-4">
<ul class="list-style-one clearfix">
<li>Knee injury: Patellofemoral syndrome</li>
<li>Tennis elbow (epicondylitis)</li>
<li>Sports injuries</li>
</ul>
</div>
</div>
</div>
<div class="content-two">
<div className="image-inner">
<div class="row clearfix">
<div class="col-lg-6 col-md-6 col-sm-12 image-column">
<figure class="image-box mb_30"><img src="/assets/images/service/service-8.jpg" alt="" /></figure>
</div>
<div class="col-lg-6 col-md-6 col-sm-12 image-column">
<figure class="image-box mb_30"><img src="/assets/images/service/service-9.jpg" alt="" /></figure>
</div>
</div>
</div>
<div class="text-box">
<h5 class="mb_15">Physiotherapy for Sports Injuries:</h5>
<ul class="list-style-one clearfix">
<li>Ice pack applications helpful in minimizing the swelling and pain caused by the injury.</li>
<li>Hot pack applications is effective in alleviating pain and joint or muscle stiffness.</li>
<li>TENS also known as Transcutaneous Electrical Nerve Simulation effective for temporary pain relief.</li>
<li>Ultrasound therapy Applying sound vibrations directly into the tissues will greatly help the healing process.</li>
<li>Massage and stretching help in relaxing the muscles.</li>
<li>Exercises are helpful for improving and maintaining the joints range of motion.</li>
<li>Strengthening exercises are a great way to maintain the strength of your muscles.</li>
</ul>
</div>
</div>
</div>`
},
];