Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b0a6c3a9a | ||
|
|
ce26a0d731 | ||
| 1776d2e2b2 | |||
|
|
05b10fc1ca | ||
|
|
295334914b | ||
|
|
fd5ab9334b | ||
| cc08ba4af5 | |||
|
|
9dec52711e | ||
|
|
a75724b2b1 | ||
|
|
b0fefb6896 | ||
|
|
9753bef2dc | ||
|
|
52b425a1f1 | ||
|
|
ba26607cf6 | ||
|
|
f07e9cfffd | ||
|
|
83ebb760b2 | ||
| 17986523e8 | |||
|
|
5be45ec0b0 | ||
|
|
42f70675cb | ||
|
|
a56e24ca70 | ||
|
|
e8d1779c4b | ||
|
|
a7e9ef170f | ||
|
|
25e8a5f208 | ||
|
|
93dd5bd8f8 | ||
|
|
76b28c32ee | ||
|
|
3b28c6907d | ||
|
|
f61b493641 | ||
|
|
53ed84b117 | ||
|
|
445763b7cd | ||
| e6b2375529 | |||
|
|
57f2966547 | ||
|
|
57fd988d77 | ||
|
|
845d366bf0 | ||
|
|
89f28d9f19 | ||
|
|
fd0e1dccd7 | ||
|
|
6c133601f1 | ||
|
|
1555170b92 | ||
|
|
6e940d4b9b | ||
|
|
7da3c3a544 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,6 +12,7 @@
|
|||||||
# next.js
|
# next.js
|
||||||
/.next/
|
/.next/
|
||||||
/out/
|
/out/
|
||||||
|
/.zip/
|
||||||
|
|
||||||
# production
|
# production
|
||||||
/build
|
/build
|
||||||
|
|||||||
@ -4,12 +4,12 @@ import Link from "next/link"
|
|||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import { teamMembers } from "@/utils/constant.utils";
|
import { teamMembers } from "@/utils/constant.utils";
|
||||||
import CounterUp from "@/components/elements/CounterUp";
|
import CounterUp from "@/components/elements/CounterUp";
|
||||||
import Image from "next/image";
|
|
||||||
import { Autoplay, Navigation, Pagination } from "swiper/modules";
|
import { Autoplay, Navigation, Pagination } from "swiper/modules";
|
||||||
import { Swiper, SwiperSlide } from "swiper/react";
|
import { Swiper, SwiperSlide } from "swiper/react";
|
||||||
import 'swiper/css';
|
import 'swiper/css';
|
||||||
import 'swiper/css/navigation';
|
import 'swiper/css/navigation';
|
||||||
import 'swiper/css/pagination';
|
import 'swiper/css/pagination';
|
||||||
|
import Image from "next/image";
|
||||||
|
|
||||||
const swiperOptions = {
|
const swiperOptions = {
|
||||||
modules: [Autoplay, Pagination, Navigation],
|
modules: [Autoplay, Pagination, Navigation],
|
||||||
@ -53,17 +53,17 @@ export default function Home() {
|
|||||||
{
|
{
|
||||||
title: "Mission",
|
title: "Mission",
|
||||||
img: "/assets/images/about-us/section2/mission.webp",
|
img: "/assets/images/about-us/section2/mission.webp",
|
||||||
text: "Physiotherapy etobicoke is committed to providing quality and innovative health care in a comfortable and professional environment. Our interdisciplinary team will work collaboratively to offer a comprehensive and patient centered approach to ensure the highest level of client experience through our evidence-based clinical practice."
|
text: "Rapha Rehab is committed to delivering high-quality, innovative, and personalized health care in a supportive and professional environment. Our interdisciplinary team."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Vision",
|
title: "Vision",
|
||||||
img: "/assets/images/about-us/section2/vision.webp",
|
img: "/assets/images/about-us/section2/vision.webp",
|
||||||
text: "To be regarded as the most reliable and effective health care therapy practice backed by the team of innovative healthcare professionals driven by passion."
|
text: "To be recognized as Etobicoke’s most trusted and effective rehabilitation clinic, offering evidence-based therapies supported by a skilled and innovative healthcare team."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Values",
|
title: "Values",
|
||||||
img: "/assets/images/about-us/section2/values.webp",
|
img: "/assets/images/about-us/section2/values.webp",
|
||||||
text: "We value compassion, excellence, innovation, collaboration, and integrity. By combining empathy with evidence-based care, we create a supportive and professional environment that helps every patient achieve long-term health and well-being."
|
text: "We uphold compassion, excellence, integrity, collaboration, and innovation. With a blend of empathy and clinical expertise, we create a supportive, professional, and patient-centered care experience."
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -81,6 +81,7 @@ export default function Home() {
|
|||||||
<div className="shape-1 rotate-me" style={{ backgroundImage: 'url(/assets/images/shape/shape-8.webp)' }}></div>
|
<div className="shape-1 rotate-me" style={{ backgroundImage: 'url(/assets/images/shape/shape-8.webp)' }}></div>
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-33.png"
|
src="/assets/images/shape/shape-33.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -91,6 +92,7 @@ export default function Home() {
|
|||||||
{/* <div className="shape-3" style={{ backgroundImage: 'url(/assets/images/shape/shape-7.png)' }}></div> */}
|
{/* <div className="shape-3" style={{ backgroundImage: 'url(/assets/images/shape/shape-7.png)' }}></div> */}
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-34.png"
|
src="/assets/images/shape/shape-34.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -100,6 +102,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -122,10 +125,10 @@ export default function Home() {
|
|||||||
<h2>Comprehensive Physiotherapy & Rehabilitation Clinic in Etobicoke</h2>
|
<h2>Comprehensive Physiotherapy & Rehabilitation Clinic in Etobicoke</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p>Welcome to Rapha Rehab Physiotherapy Massage Therapy Clinic Etobicoke – physiotherapy clinic in etobicoke managed by Registered Physiotherapists offering reliable physiotherapy treatment Services, Sports injury physiotherapy, Pelvic floor physiotherapy, Chiropractor, Massage therapy , Acupuncture treatment, Foot Reflexology, Osteopathy, custom knee braces, orthotics, spinal decompression therapy, concussion management, chronic pain management, workplace injury management, Naturopathy and home care physiotherapy Services in Etobicoke.</p>
|
<p>Welcome to Rapha Rehab Physiotherapy & Massage Therapy Clinic in Etobicoke — a trusted physiotherapy clinic in Etobicoke led by Registered Physiotherapists providing reliable therapy and rehabilitation services. We offer Sports injury physiotherapy, Pelvic floor physiotherapy, Chiropractic care, Massage therapy, Acupuncture, Foot Reflexology, Osteopathy, Custom knee braces, Orthotics, Spinal decompression therapy, Concussion management, Chronic pain management, Workplace injury management, Naturopathy, and Home care physiotherapy services in Etobicoke.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Appointment</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Book Appointment"><span>Book Appointment</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -139,6 +142,7 @@ export default function Home() {
|
|||||||
<section className="process-section sec-pad pt-0">
|
<section className="process-section sec-pad pt-0">
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-19.png"
|
src="/assets/images/shape/shape-19.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -154,12 +158,13 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title mb_50 centred">
|
<div className="sec-title mb_50 centred">
|
||||||
<span className="sub-title">Caring Excellence</span>
|
<span className="sub-title">Excellence in Care</span>
|
||||||
<h2>Mission Vision & Values</h2>
|
<h2>Our Mission, Vision & Values</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="inner-container">
|
<div className="inner-container">
|
||||||
<div className="arrow-shape">
|
<div className="arrow-shape">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-18.webp"
|
src="/assets/images/shape/shape-18.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -218,10 +223,10 @@ export default function Home() {
|
|||||||
<h2>Your Trusted Physiotherapy Team in Etobicoke</h2>
|
<h2>Your Trusted Physiotherapy Team in Etobicoke</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p className="tex-color-1">Physiotherapy etobicoke is a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients.</p>
|
<p className="tex-color-1">Rapha Rehab is led by a dedicated team of skilled health-care professionals committed to helping you recover better and faster. Through collaborative, personalized care, we ensure every client receives the highest quality treatment, tailored support, and exceptional service for lasting results.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/contact" className="theme-btn btn-one-new"><span>Book Appointment</span></Link>
|
<Link href="/contact" className="theme-btn btn-one-new" aria-label="Contact"><span>Book Appointment</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -283,7 +288,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>
|
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`} aria-label="Our Team Member Name">
|
||||||
{member.name}
|
{member.name}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
@ -299,6 +304,7 @@ export default function Home() {
|
|||||||
<section className="chooseus-section">
|
<section className="chooseus-section">
|
||||||
<div className="bg-layer">
|
<div className="bg-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/about-us/section4/why-choose-right.webp"
|
src="/assets/images/about-us/section4/why-choose-right.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -309,6 +315,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-12.webp"
|
src="/assets/images/shape/shape-12.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -323,8 +330,8 @@ export default function Home() {
|
|||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="sec-title light mb_50">
|
<div className="sec-title light mb_50">
|
||||||
{/* <span className="sub-title">Why Choose Us</span> */}
|
{/* <span className="sub-title">Why Choose Us</span> */}
|
||||||
<h2>WHY CHOOSE ETOBICOKE PHYSIOTHERAPY</h2>
|
<h2>WHY CHOOSE RAPHA REHAB PHYSIOTHERAPY</h2>
|
||||||
<p className='sub-title-2'>Physiotherapy Etobicoke – We are a team of health care professionals provide physiotherapy, massage therapy services in etobicoke assist you in improving your health.</p>
|
<p className='sub-title-2'>Rapharehab Physiotherapy in Etobicoke – Our dedicated team of health-care professionals provides physiotherapy, massage therapy, and rehabilitation services in Etobicoke to support your recovery, mobility, and overall well-being.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-6 col-md-6 chooseus-block">
|
<div className="col-lg-6 col-md-6 chooseus-block">
|
||||||
@ -332,7 +339,7 @@ export default function Home() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert team" /></div>
|
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert team" /></div>
|
||||||
<h3>Expert Team</h3>
|
<h3>Expert Team</h3>
|
||||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals.</p>
|
<p>At Rapharehab Physiotherapy, you are treated by a highly skilled and experienced team of professionals dedicated to delivering quality care.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -341,7 +348,7 @@ export default function Home() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/about-us/section4/understand.webp" alt="Understand your pain" /></div>
|
<div className="icon-box"><img src="/assets/images/about-us/section4/understand.webp" alt="Understand your pain" /></div>
|
||||||
<h3>Understand your Pain</h3>
|
<h3>Understand your Pain</h3>
|
||||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery.</p>
|
<p>Rapharehab offers personalized treatment plans focused on identifying the root cause of your pain for faster, long-lasting recovery.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -350,7 +357,7 @@ export default function Home() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready to go" /></div>
|
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready to go" /></div>
|
||||||
<h3>Ready To Go</h3>
|
<h3>Ready To Go</h3>
|
||||||
<p>Flexible opening hours conveniently located in etobicoke.</p>
|
<p>We offer flexible scheduling and convenient hours, making it easier for you to access physiotherapy services right here in Etobicoke.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import Layout from "@/components/layout/Layout";
|
|||||||
import AboutClient from "../about-us/AboutClient";
|
import AboutClient from "../about-us/AboutClient";
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "The Best Physiotherapy in Etobicoke - Rapha Rehab Clinic",
|
title: "About RaphaRehab – Trusted Physiotherapy",
|
||||||
description:
|
description:
|
||||||
"Rapha Rehab offers top physiotherapy, osteopath & massage therapy in Etobicoke, Mississauga. Trusted physio & hand massage specialists.",
|
"Learn about RaphaRehab’s mission and our commitment to delivering compassionate, reliable, and professional home-care services for families.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function AboutPage() {
|
export default function AboutPage() {
|
||||||
|
|||||||
@ -14,14 +14,14 @@ export async function generateMetadata({ params }) {
|
|||||||
|
|
||||||
if (!service) {
|
if (!service) {
|
||||||
return {
|
return {
|
||||||
title: "Accident Services | MySite",
|
title: "Accident Services",
|
||||||
description: "Explore our accident-related services",
|
description: "Explore our accident-related services",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: service.metaTitle || service.title,
|
title: service.metaTitle || service.title,
|
||||||
description: service.metaDiscription || service.shortDesc,
|
description: service.metaDescription || service.shortDesc,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ export default function AccidentDetailsPage({ params }) {
|
|||||||
|
|
||||||
{/* Categories */}
|
{/* Categories */}
|
||||||
<div className="sidebar-widget category-widget">
|
<div className="sidebar-widget category-widget">
|
||||||
<div className="widget-title"><h3>Accident</h3></div>
|
<div className="widget-title"><h2>Accident</h2></div>
|
||||||
<div className="widget-content">
|
<div className="widget-content">
|
||||||
<ul className="category-list clearfix">
|
<ul className="category-list clearfix">
|
||||||
{Accident.map((cat) => (
|
{Accident.map((cat) => (
|
||||||
@ -55,7 +55,7 @@ export default function AccidentDetailsPage({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/accident/${cat.slug}`}
|
href={`/accident/${cat.slug}`}
|
||||||
className={cat.slug === service.slug ? "current" : ""}
|
className={cat.slug === service.slug ? "current" : ""}
|
||||||
>
|
aria-label="Accident list">
|
||||||
{cat.title}
|
{cat.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -69,14 +69,14 @@ export default function AccidentDetailsPage({ params }) {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<img src={service.mainImage} alt={service.title} />
|
<img src={service.mainImage} alt={service.title} loading="lazy"/>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src={service.icon} alt={`${service.title}`} />
|
<img src={service.icon} alt={`${service.title}`} />
|
||||||
</div>
|
</div>
|
||||||
<h3>{service.title}</h3>
|
<h2>{service.title}</h2>
|
||||||
<p>{service.shortDesc}</p>
|
<p>{service.shortDesc}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -49,8 +49,8 @@ export default function AccidentPage() {
|
|||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<Link href={`/accident/${service.slug}`}>
|
<Link href={`/accident/${service.slug}`} aria-label="Accident Image">
|
||||||
<img src={service.mainImage} alt={service.title} />
|
<img src={service.mainImage} alt={service.title} loading="lazy"/>
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
@ -61,9 +61,9 @@ export default function AccidentPage() {
|
|||||||
alt={`${service.title}`}
|
alt={`${service.title}`}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<h3 className='text-start'>
|
<h2 className='text-start'>
|
||||||
<Link href={`/accident/${service.slug}`}>{service.title}</Link>
|
<Link href={`/accident/${service.slug}`} aria-label="Accident Title">{service.title}</Link>
|
||||||
</h3>
|
</h2>
|
||||||
<p
|
<p
|
||||||
className='text-start'
|
className='text-start'
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@ -7,6 +7,15 @@ import Link from "next/link";
|
|||||||
import { servicesList } from "@/utils/Services.utils";
|
import { servicesList } from "@/utils/Services.utils";
|
||||||
|
|
||||||
export default function ContactClient() {
|
export default function ContactClient() {
|
||||||
|
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const [formData, setFormData] = useState({
|
const [formData, setFormData] = useState({
|
||||||
username: "",
|
username: "",
|
||||||
email: "",
|
email: "",
|
||||||
@ -48,7 +57,7 @@ export default function ContactClient() {
|
|||||||
email: formData.email,
|
email: formData.email,
|
||||||
subject: formData.service,
|
subject: formData.service,
|
||||||
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
||||||
to: "bloor@rapharehab.ca",
|
to: email,
|
||||||
senderName: "Rapha Rehab Contact Page",
|
senderName: "Rapha Rehab Contact Page",
|
||||||
recaptchaToken: captchaToken,
|
recaptchaToken: captchaToken,
|
||||||
};
|
};
|
||||||
@ -77,7 +86,7 @@ export default function ContactClient() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (alert.show) {
|
if (alert.show) {
|
||||||
@ -111,7 +120,11 @@ export default function ContactClient() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><i className="icon-26"></i></div>
|
<div className="icon-box"><i className="icon-26"></i></div>
|
||||||
<p>
|
<p>
|
||||||
<Link href="mailto:bloor@rapharehab.ca">bloor@rapharehab.ca</Link>
|
{email ? (
|
||||||
|
<a href={`mailto:${email}`} aria-label={email}>{email}</a>
|
||||||
|
) : (
|
||||||
|
<span>Loading...</span>
|
||||||
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -237,7 +250,7 @@ export default function ContactClient() {
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* <section className="google-map-section">
|
{/* <section className="google-map-section">
|
||||||
<div className="map-inner">
|
<div className="map-inner">
|
||||||
<iframe
|
<iframe
|
||||||
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2886.847666572518!2d-79.57789668450145!3d43.6308386791466!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882b3811bd400001%3A0x87ffabfe7d6aeeca!2s4335+Bloor+St+W+%236%2C+Etobicoke%2C+ON+M9C+5S2%2C+Canada!5e0!3m2!1sen!2sca!4v1693224000000!5m2!1sen!2sca"
|
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2886.847666572518!2d-79.57789668450145!3d43.6308386791466!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882b3811bd400001%3A0x87ffabfe7d6aeeca!2s4335+Bloor+St+W+%236%2C+Etobicoke%2C+ON+M9C+5S2%2C+Canada!5e0!3m2!1sen!2sca!4v1693224000000!5m2!1sen!2sca"
|
||||||
|
|||||||
@ -14,14 +14,14 @@ export async function generateMetadata({ params }) {
|
|||||||
|
|
||||||
if (!service) {
|
if (!service) {
|
||||||
return {
|
return {
|
||||||
title: "Area of Injury Not Found – Rapharehab Clinic",
|
title: "Area of Injury Not Found",
|
||||||
description: "The requested area of injury page could not be found.",
|
description: "The requested area of injury page could not be found.",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: `${service.metaTitle} – Rapharehab Clinic`,
|
title: `${service.metaTitle}`,
|
||||||
description: service.metaDiscription || "Expert physiotherapy and pain relief treatments.",
|
description: service.metaDiscription,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ export default function AreaOfInjuryDetails({ params }) {
|
|||||||
{/* Categories */}
|
{/* Categories */}
|
||||||
<div className="sidebar-widget category-widget">
|
<div className="sidebar-widget category-widget">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
<h3>Area Of Injury</h3>
|
<h2>Area Of Injury</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="widget-content">
|
<div className="widget-content">
|
||||||
<ul className="category-list clearfix">
|
<ul className="category-list clearfix">
|
||||||
@ -57,7 +57,7 @@ export default function AreaOfInjuryDetails({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/area-of-injury/${cat.slug}`}
|
href={`/area-of-injury/${cat.slug}`}
|
||||||
className={cat.slug === service.slug ? "current" : ""}
|
className={cat.slug === service.slug ? "current" : ""}
|
||||||
>
|
aria-label="Area of injury list">
|
||||||
{cat.title}
|
{cat.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -78,7 +78,7 @@ export default function AreaOfInjuryDetails({ params }) {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src={service.icon} alt={altText} />
|
<img src={service.icon} alt={altText} />
|
||||||
</div>
|
</div>
|
||||||
<h3>{service.title}</h3>
|
<h2>{service.title}</h2>
|
||||||
<p>{service.shortDescription}</p>
|
<p>{service.shortDescription}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,10 +92,10 @@ export default function AreaOfInjuryDetails({ params }) {
|
|||||||
<div className="content-one mb_60">
|
<div className="content-one mb_60">
|
||||||
{/* Main Image */}
|
{/* Main Image */}
|
||||||
<figure className="image-box mb_40">
|
<figure className="image-box mb_40">
|
||||||
<img src={service.mainImage} alt={altText} />
|
<img src={service.mainImage} alt={altText} loading="lazy"/>
|
||||||
</figure>
|
</figure>
|
||||||
<div className="text-box">
|
<div className="text-box">
|
||||||
<h2>{service.title}</h2>
|
<h2>{service.shortTitle}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Dynamic Content */}
|
{/* Dynamic Content */}
|
||||||
|
|||||||
@ -54,8 +54,8 @@ export default function AreaOfInjury() {
|
|||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<Link href={`/area-of-injury/${item.slug}`}>
|
<Link href={`/area-of-injury/${item.slug}`} aria-label="Area oF Injury Image Link">
|
||||||
<img src={item.image} alt={altText} />
|
<img src={item.image} alt={altText} loading="lazy"/>
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
@ -63,9 +63,24 @@ export default function AreaOfInjury() {
|
|||||||
<div className="icon-box-new">
|
<div className="icon-box-new">
|
||||||
<img src={item.icon} alt={altText} />
|
<img src={item.icon} alt={altText} />
|
||||||
</div>
|
</div>
|
||||||
<h3 className='text-start'>
|
<h2 className='text-start'>
|
||||||
<Link href={`/area-of-injury/${item.slug}`}>{item.title}</Link>
|
<Link href={`/area-of-injury/${item.slug}`} aria-label="Area of injury title">{item.title}</Link>
|
||||||
</h3>
|
</h2>
|
||||||
|
{/* <h3 className="text-start">
|
||||||
|
<Link
|
||||||
|
href={`/area-of-injury/${item.slug}`}
|
||||||
|
style={{
|
||||||
|
display: '-webkit-box',
|
||||||
|
WebkitLineClamp: 2,
|
||||||
|
WebkitBoxOrient: 'vertical',
|
||||||
|
overflow: 'hidden',
|
||||||
|
textOverflow: 'ellipsis',
|
||||||
|
whiteSpace: 'normal',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{item.title}
|
||||||
|
</Link>
|
||||||
|
</h3> */}
|
||||||
<p
|
<p
|
||||||
className='text-start'
|
className='text-start'
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
21
app/blog/[slug]/BlogContent.js
Normal file
21
app/blog/[slug]/BlogContent.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
'use client'
|
||||||
|
import { useState, useEffect } from "react";
|
||||||
|
|
||||||
|
export default function BlogContent({ content }) {
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const processedContent = content.replace(
|
||||||
|
'bloor@rapharehab.ca',
|
||||||
|
email ? `<a href="mailto:${email}">${email}</a>` : '<span>Loading...</span>'
|
||||||
|
);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div dangerouslySetInnerHTML={{ __html: processedContent }} />
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@ import Link from "next/link";
|
|||||||
import Blogs from "@/utils/Blog.utils";
|
import Blogs from "@/utils/Blog.utils";
|
||||||
import { notFound } from "next/navigation";
|
import { notFound } from "next/navigation";
|
||||||
import FaqSection from "@/components/FaqSection";
|
import FaqSection from "@/components/FaqSection";
|
||||||
|
import BlogContent from "./BlogContent";
|
||||||
|
|
||||||
export async function generateStaticParams() {
|
export async function generateStaticParams() {
|
||||||
return Blogs.map((item) => ({
|
return Blogs.map((item) => ({
|
||||||
@ -33,7 +34,6 @@ export default function BlogDetails({ params }) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const relatedBlogs = sameCategoryBlogs.length > 0 ? [sameCategoryBlogs[0]] : [];
|
const relatedBlogs = sameCategoryBlogs.length > 0 ? [sameCategoryBlogs[0]] : [];
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
@ -50,7 +50,7 @@ export default function BlogDetails({ params }) {
|
|||||||
<div className="default-sidebar service-sidebar mr_15">
|
<div className="default-sidebar service-sidebar mr_15">
|
||||||
<div className="sidebar-widget category-widget">
|
<div className="sidebar-widget category-widget">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
<h3>Blogs</h3>
|
<h2>Blogs</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="widget-content">
|
<div className="widget-content">
|
||||||
<ul className="category-list clearfix">
|
<ul className="category-list clearfix">
|
||||||
@ -59,7 +59,7 @@ export default function BlogDetails({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/blog/${b.slug}`}
|
href={`/blog/${b.slug}`}
|
||||||
className={b.slug === blog.slug ? "current" : ""}
|
className={b.slug === blog.slug ? "current" : ""}
|
||||||
>
|
aria-label="Blog List">
|
||||||
{b.title}
|
{b.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -71,7 +71,7 @@ export default function BlogDetails({ params }) {
|
|||||||
{relatedBlogs.length > 0 && (
|
{relatedBlogs.length > 0 && (
|
||||||
<div className="sidebar-widget related-post">
|
<div className="sidebar-widget related-post">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
<h3>Related Blog</h3>
|
<h2>Related Blog</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="post-inner">
|
<div className="post-inner">
|
||||||
{relatedBlogs.map((related) => (
|
{relatedBlogs.map((related) => (
|
||||||
@ -82,12 +82,13 @@ export default function BlogDetails({ params }) {
|
|||||||
<img
|
<img
|
||||||
src={related.thumbnail}
|
src={related.thumbnail}
|
||||||
alt={related.title}
|
alt={related.title}
|
||||||
|
loading="lazy"
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content2">
|
<div className="lower-content2">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/blog/${related.slug}`}>
|
<Link href={`/blog/${related.slug}`} aria-label="Our Blog Title">
|
||||||
{related.title}
|
{related.title}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
@ -95,7 +96,7 @@ export default function BlogDetails({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/blog/${related.slug}`}
|
href={`/blog/${related.slug}`}
|
||||||
className="read-more"
|
className="read-more"
|
||||||
>
|
aria-label="Read More">
|
||||||
Read More
|
Read More
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@ -122,8 +123,8 @@ export default function BlogDetails({ params }) {
|
|||||||
</figure>
|
</figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h2>{blog.title}</h2>
|
<h2>{blog.title}</h2>
|
||||||
<div dangerouslySetInnerHTML={{ __html: blog.content }} />
|
<BlogContent content={blog.content} />
|
||||||
{blog.faq && <FaqSection faqData={blog.faq} />}
|
{blog.faq && <FaqSection faqData={blog.faq} />}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -134,4 +135,4 @@ export default function BlogDetails({ params }) {
|
|||||||
</section>
|
</section>
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -28,8 +28,8 @@ export default function Blog() {
|
|||||||
>
|
>
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box">
|
<figure className="image-box">
|
||||||
<Link href={`/blog/${blog.slug}`}>
|
<Link href={`/blog/${blog.slug}`} aria-label="Blog Image">
|
||||||
<img src={blog.thumbnail} alt={blog.title} />
|
<img src={blog.thumbnail} alt={blog.title} loading="lazy"/>
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
@ -39,15 +39,18 @@ export default function Blog() {
|
|||||||
<li>{blog.comments}</li>
|
<li>{blog.comments}</li>
|
||||||
</ul> */}
|
</ul> */}
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/blog/${blog.slug}`}>
|
{/* <Link href={`/blog/${blog.slug}`} aria-label="Our Blog Title">
|
||||||
{blog.title.split(" ").length > 5
|
{blog.title.split(" ").length > 5
|
||||||
? blog.title.split(" ").slice(0, 5).join(" ") + "..."
|
? blog.title.split(" ").slice(0, 5).join(" ") + "..."
|
||||||
: blog.title}
|
: blog.title}
|
||||||
</Link>
|
</Link> */}
|
||||||
|
<Link href={`/blog/${blog.slug}`} aria-label="Our Blog title">
|
||||||
|
{blog.title.length > 35 ? blog.title.slice(0, 35) + "..." : blog.title}
|
||||||
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
<p>{blog.shortDesc}</p>
|
<p> {blog.shortDesc.length > 80 ? blog.shortDesc.slice(0, 80) + "..." : blog.shortDesc}</p>
|
||||||
<div className="link">
|
<div className="link">
|
||||||
<Link href={`/blog/${blog.slug}`}><span>Read More</span></Link>
|
<Link href={`/blog/${blog.slug}`} aria-label="Read More"><span>Read More</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -3,6 +3,8 @@ import Layout from "@/components/layout/Layout";
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
import { teamMembers } from "@/utils/constant.utils";
|
import { teamMembers } from "@/utils/constant.utils";
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
@ -30,6 +32,7 @@ export default function Home() {
|
|||||||
<section className="feature-section pt_90 pb_90">
|
<section className="feature-section pt_90 pb_90">
|
||||||
<div className="shape hide-element">
|
<div className="shape hide-element">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-6.png"
|
src="/assets/images/shape/shape-6.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -41,15 +44,15 @@ export default function Home() {
|
|||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title centred mb_50">
|
<div className="sec-title centred mb_50">
|
||||||
<span className="sub-title">Caregivers</span>
|
<span className="sub-title">Caregivers</span>
|
||||||
<h2>We don’t just give care <br />We take care as well</h2>
|
<h2>We Don’t Just Give Care - <br />We Take Care as Well</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-4 col-md-6 col-sm-12 feature-block">
|
<div className="col-lg-4 col-md-6 col-sm-12 feature-block">
|
||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/caregivers/caring.webp" alt="Caring with a smile" /></div>
|
<div className="icon-box"><img src="/assets/images/caregivers/caring.webp" alt="Caring with a smile" /></div>
|
||||||
<h3><Link href="/">Caring with a smile</Link></h3>
|
<h3>Caring with a Smile</h3>
|
||||||
<p>It’s not what we do as a home care agency, but how we do it. All of our elderly caregiving services are delivered with a smile. And we all know that a smile can be infectious.</p>
|
<p>At RaphaRehab, care is not just a service - it’s an experience. Our caregivers bring warmth, positivity, and a genuine smile to every interaction. A simple smile can uplift a day, ease stress, and make healing feel lighter - and that’s exactly the kind of comfort we aim to bring to your home.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -57,8 +60,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/caregivers/attentive.webp" alt="Attentive listener" /></div>
|
<div className="icon-box"><img src="/assets/images/caregivers/attentive.webp" alt="Attentive listener" /></div>
|
||||||
<h3><Link href="/">Attentive listener</Link></h3>
|
<h3>Attentive Listener</h3>
|
||||||
<p>How do you like things done? Where would you like to go? Listening to your needs, and having conversations with you, helps us make sure we bring you the perfect match.</p>
|
<p>Your comfort begins with being heard. Our caregivers take the time to understand your routines, preferences, and expectations. From how you like things arranged to where you enjoy going, we listen closely so we can offer support that truly fits your lifestyle. Every conversation helps us create the perfect caregiver–client match.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -66,8 +69,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/caregivers/qualified.webp" alt="Qualified" /></div>
|
<div className="icon-box"><img src="/assets/images/caregivers/qualified.webp" alt="Qualified" /></div>
|
||||||
<h3><Link href="/">Qualified</Link></h3>
|
<h3>Qualified & Trustworthy</h3>
|
||||||
<p>Whether you just need someone to take you for a walk or a to provide attentive complex caring – we, as a home care agency, can provide a caregiver that is qualified to meet your needs.</p>
|
<p>Whether you need companionship, mobility support, or more complex personal care, our caregivers are trained, experienced, and carefully vetted. We ensure every caregiver meets high standards of safety, professionalism, and compassion - so you receive care that is not only dependable but also meaningful.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -106,14 +109,14 @@ export default function Home() {
|
|||||||
<div className="content_block_one">
|
<div className="content_block_one">
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="sec-title-1 mb_15 mt_15">
|
<div className="sec-title-1 mb_15 mt_15">
|
||||||
<span className="sub-title-1">At NanoCare</span>
|
<span className="sub-title-1">At RaphaRehab</span>
|
||||||
<h2>A professional and friendly care provider</h2>
|
<h2>Professional, Friendly Care You Can Trust</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p className="text-white">At NanoCare, we select Caregivers who are passionate about providing in home care to those in need on a daily basis.</p>
|
<p className="text-white">We choose caregivers who bring skill, compassion, and genuine dedication to those who need daily support.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/contact" className="theme-btn btn-one-new"><span>Become A Caregiver</span></Link>
|
<Link href="/contact" className="theme-btn btn-one-new" aria-label="Contact"><span>Become a Caregiver</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -122,7 +125,7 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section className="team-section pb_90 pt_90 bg-color-1">
|
<section className="team-section pb_90 bg-color-1">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
{/* <div className="sec-title mb_50">
|
{/* <div className="sec-title mb_50">
|
||||||
<span className="sub-title">Meet the Team</span>
|
<span className="sub-title">Meet the Team</span>
|
||||||
@ -148,7 +151,7 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
|
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`} aria-label="Our team physiotherapy etobicoke">{member.name}</Link>
|
||||||
</h3>
|
</h3>
|
||||||
<span className="designation">{member.designation}</span>
|
<span className="designation">{member.designation}</span>
|
||||||
{/* <ul className="social-links clearfix">
|
{/* <ul className="social-links clearfix">
|
||||||
@ -171,8 +174,8 @@ export default function Home() {
|
|||||||
<section className="faq-section pt_90 pb_90">
|
<section className="faq-section pt_90 pb_90">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title centred mb_50">
|
<div className="sec-title centred mb_50">
|
||||||
<span className="sub-title">Nano Care</span>
|
<span className="sub-title">RaphaRehab</span>
|
||||||
<h2>Do You Have Any Nano Care <br />Questions?</h2>
|
<h2>Have Questions? We’re <br />Here to Help.</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="row align-items-center clearfix">
|
<div className="row align-items-center clearfix">
|
||||||
@ -204,12 +207,12 @@ export default function Home() {
|
|||||||
onClick={() => handleToggle(1)}
|
onClick={() => handleToggle(1)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Why Should I apply to NanoCare?</h5>
|
<h3>Why should I apply to RaphaRehab?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>We are an award winning home care agency We care for our clients and our employees. We provide our caregivers with health insurance after qualification, appreciation events, prizes, and extended education and training opportunities.</p>
|
<p>RaphaRehab offers a supportive work environment, flexible schedules, and opportunities to make a meaningful difference in people’s lives. We value compassion, professionalism, and growth and we ensure every caregiver feels respected, trained, and appreciated.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -222,12 +225,12 @@ export default function Home() {
|
|||||||
onClick={() => handleToggle(2)}
|
onClick={() => handleToggle(2)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Where can I work?</h5>
|
<h3>Where can I work?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>We currently have 6 branch offices throughout California, Scottsdale, AZ and Dallas, TX! You can work for the branch office that is most convenient for you and you can choose the cases that are closer to your home.</p>
|
<p>Our caregivers work across multiple home-care locations, supporting clients who need daily assistance, rehabilitation help, or companionship. You’ll be matched with assignments based on your skills, comfort, and proximity.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -240,30 +243,30 @@ export default function Home() {
|
|||||||
onClick={() => handleToggle(3)}
|
onClick={() => handleToggle(3)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>What types of shifts do you offer?</h5>
|
<h3>What types of shifts do you offer?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>We are constantly growing and have a wide variety of shifts you can choose from. We have long shifts, short shifts, day shifts, night shifts, transportation shifts and live-ins*. (Live-ins available through our Dallas and Scottsdale offices only). We are available 24hrs a day 7 days a week so we are flexible and will work around your schedule.</p>
|
<p>We provide a wide range of shift options, including hourly, part-time, full-time, overnight, and 24/7 live-in care. You can choose shifts that suit your schedule and lifestyle.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{/* FAQ 4 */}
|
{/* FAQ 4 */}
|
||||||
<li className="accordion block">
|
<li className="accordion block">
|
||||||
<div
|
<div
|
||||||
className={isActive.key === 4 ? "acc-btn active" : "acc-btn"}
|
className={isActive.key === 4 ? "acc-btn active" : "acc-btn"}
|
||||||
onClick={() => handleToggle(4)}
|
onClick={() => handleToggle(4)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Do you hire W-2, 1099, or private contractors?</h5>
|
<h3>Do you hire full-time, part-time, or contract caregivers?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 4 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>At NanoCare, you are part of the team. You will be considered an employee of NanoCare which means payroll taxes are automatically deducted from your bi-weekly paycheck and if there are any questions, we are here for you! We are fully bonded and insured and are there for you every step of your employment with us.</p>
|
<p>Yes - we offer all options. Depending on your preference, you can join us as a full-time employee, part-time caregiver, or contracted professional. Our goal is to provide flexibility while maintaining high standards of care.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import CaregiversPage from "../caregivers/CaregiversPage";
|
import dynamic from "next/dynamic";
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Trusted Caregiver Support Services – Rapharehab Clinic",
|
title: "Trusted Caregiver Support Services – Rapharehab Clinic",
|
||||||
@ -6,6 +6,10 @@ export const metadata = {
|
|||||||
"Rapharehab offers professional caregiver services tailored to support patient recovery, ensuring comfort, safety, and dedicated assistance.",
|
"Rapharehab offers professional caregiver services tailored to support patient recovery, ensuring comfort, safety, and dedicated assistance.",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const CaregiversPage = dynamic(() => import("../caregivers/CaregiversPage"), {
|
||||||
|
ssr: false,
|
||||||
|
});
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
return <CaregiversPage />;
|
return <CaregiversPage />;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,15 @@ import Link from "next/link";
|
|||||||
import { servicesList } from "@/utils/Services.utils";
|
import { servicesList } from "@/utils/Services.utils";
|
||||||
|
|
||||||
export default function ContactClient() {
|
export default function ContactClient() {
|
||||||
|
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const [formData, setFormData] = useState({
|
const [formData, setFormData] = useState({
|
||||||
username: "",
|
username: "",
|
||||||
email: "",
|
email: "",
|
||||||
@ -43,12 +52,12 @@ export default function ContactClient() {
|
|||||||
if (Object.keys(errors).length > 0) return;
|
if (Object.keys(errors).length > 0) return;
|
||||||
|
|
||||||
const emailData = {
|
const emailData = {
|
||||||
name: formData.username,
|
name: formData.username,
|
||||||
phone: formData.phone,
|
phone: formData.phone,
|
||||||
email: formData.email,
|
email: formData.email,
|
||||||
subject: formData.service,
|
subject: formData.service,
|
||||||
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
||||||
to: "bloor@rapharehab.ca",
|
to: email,
|
||||||
senderName: "Rapha Rehab Contact Page",
|
senderName: "Rapha Rehab Contact Page",
|
||||||
recaptchaToken: captchaToken,
|
recaptchaToken: captchaToken,
|
||||||
};
|
};
|
||||||
@ -95,33 +104,37 @@ export default function ContactClient() {
|
|||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
||||||
<div className="info-block-one">
|
<div className="info-block-one">
|
||||||
<h3>Quick Contact</h3>
|
<h2>Quick Contact</h2>
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><i className="icon-2"></i></div>
|
<div className="icon-box"><i className="icon-2"></i></div>
|
||||||
<p>
|
<p>
|
||||||
<Link href="tel:647-722-3434">+647-722-3434</Link><br />
|
<Link href="tel:647-722-3434" aria-label="+647-722-3434">+647-722-3434</Link><br />
|
||||||
<Link href="tel:416-622-2873">+416-622-2873</Link>
|
<Link href="tel:416-622-2873" aria-label="+416-622-2873">+416-622-2873</Link>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
||||||
<div className="info-block-one">
|
<div className="info-block-one">
|
||||||
<h3>Email Address</h3>
|
<h2>Email Address</h2>
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><i className="icon-26"></i></div>
|
<div className="icon-box"><i className="icon-26"></i></div>
|
||||||
<p>
|
<p>
|
||||||
<Link href="mailto:bloor@rapharehab.ca">bloor@rapharehab.ca</Link>
|
{email ? (
|
||||||
|
<a href={`mailto:${email}`} aria-label={email}>{email}</a>
|
||||||
|
) : (
|
||||||
|
<span>Loading...</span>
|
||||||
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
<div className="col-lg-4 col-md-6 col-sm-12 info-column">
|
||||||
<div className="info-block-one">
|
<div className="info-block-one">
|
||||||
<h3>Mailing Address</h3>
|
<h2>Mailing Address</h2>
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/icons/icon-2.png" alt="" />
|
<img src="/assets/images/icons/icon-2.png" alt="Address icon" />
|
||||||
</div>
|
</div>
|
||||||
<p>5 – 4335 Bloor Street West <br />Etobicoke, M9C 2A5</p>
|
<p>5 – 4335 Bloor Street West <br />Etobicoke, M9C 2A5</p>
|
||||||
</div>
|
</div>
|
||||||
@ -137,10 +150,9 @@ export default function ContactClient() {
|
|||||||
<div className="col-lg-8 col-md-12 col-sm-12 form-column">
|
<div className="col-lg-8 col-md-12 col-sm-12 form-column">
|
||||||
<div className="form-inner mr_40">
|
<div className="form-inner mr_40">
|
||||||
<div className="sec-title mb_50">
|
<div className="sec-title mb_50">
|
||||||
<h2>How can we help?</h2>
|
<h2>How Can We Help You Today?</h2>
|
||||||
<p className="mt-3">
|
<p className="mt-3">
|
||||||
Please complete the contact information below and let us know your needs.
|
Fill in your information and tell us a little about your needs or concerns. Our team will review your details and get in touch with you as soon as possible to guide you further.
|
||||||
Upon receipt of your information one of our team members will reach out.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
|
import dynamic from "next/dynamic";
|
||||||
import Layout from "@/components/layout/Layout";
|
import Layout from "@/components/layout/Layout";
|
||||||
import ContactClient from "../contact/ContactClient";
|
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Contact Rapharehab – Book Your Appointment Today",
|
title: "Contact Rapharehab – Book Your Appointment Today",
|
||||||
@ -7,7 +7,12 @@ export const metadata = {
|
|||||||
"Reach out to Rapharehab for expert rehab and therapy services. Call or message us to schedule your consultation with our professional care team.",
|
"Reach out to Rapharehab for expert rehab and therapy services. Call or message us to schedule your consultation with our professional care team.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function ContactPage() {
|
// 👇 Dynamically import ContactClient to disable SSR (fix hydration issues)
|
||||||
|
const ContactClient = dynamic(() => import("../contact/ContactClient"), {
|
||||||
|
ssr: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default function Page() {
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
headerStyle={1}
|
headerStyle={1}
|
||||||
|
|||||||
@ -46,9 +46,7 @@ export default function Home() {
|
|||||||
<div className="sec-title mb_50 text-center">
|
<div className="sec-title mb_50 text-center">
|
||||||
<h2 className="mb-3">COVID 19 UPDATES</h2>
|
<h2 className="mb-3">COVID 19 UPDATES</h2>
|
||||||
<p className="section-para">
|
<p className="section-para">
|
||||||
The COVID 19 pandemic has created increased stress and anxiety levels for many people.
|
The COVID-19 pandemic has increased stress, anxiety, and mobility challenges for many people. At Rapha Rehab, your safety comes first. We offer virtual therapy, at-home physiotherapy, and mobile care as safe, effective alternatives to in-clinic treatment.
|
||||||
We would like to take this opportunity to remind you that virtual therapy and at-home
|
|
||||||
or mobile therapy are effective alternatives to in-clinic therapy for many of our clients.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -64,13 +62,11 @@ export default function Home() {
|
|||||||
>
|
>
|
||||||
<div className="inner-box w-100 pb-0">
|
<div className="inner-box w-100 pb-0">
|
||||||
<div className="icon-box mb-3 mb-lg-0">
|
<div className="icon-box mb-3 mb-lg-0">
|
||||||
<img src="/assets/images/covid/virtual.webp" alt="Virtual Therapy" />
|
<img src="/assets/images/covid/virtual.webp" alt="Virtual Therapy" loading="lazy" />
|
||||||
</div>
|
</div>
|
||||||
<h3>VIRTUAL THERAPY</h3>
|
<h3>VIRTUAL THERAPY</h3>
|
||||||
<p>
|
<p>
|
||||||
As an alternative to receiving direct in-clinic therapy, we continue to offer all
|
Virtual therapy allows you to continue treatment from home through secure online sessions. Your therapist provides real-time guidance and support, offering a convenient alternative to in-clinic care.
|
||||||
clients the option to receive tele-rehabilitation or virtual therapy services to
|
|
||||||
address your current therapy needs.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
@ -88,20 +84,15 @@ export default function Home() {
|
|||||||
<div className="inner-box d-flex flex-column flex-lg-row-reverse align-items-lg-start w-100 pb-0" >
|
<div className="inner-box d-flex flex-column flex-lg-row-reverse align-items-lg-start w-100 pb-0" >
|
||||||
|
|
||||||
<div className="icon-box ml-lg-3 mb-3 mb-lg-0">
|
<div className="icon-box ml-lg-3 mb-3 mb-lg-0">
|
||||||
<img src="/assets/images/covid/home.webp" alt="Home Therapy" />
|
<img src="/assets/images/covid/home.webp" alt="Home Therapy" loading="lazy"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h3>HOME THERAPY</h3>
|
<h3>HOME THERAPY</h3>
|
||||||
<p>
|
<p>
|
||||||
The convenience of having a physiotherapist come to your home eliminates barriers
|
Home therapy brings professional physiotherapy directly to you, removing barriers such as mobility challenges or lack of transportation. By treating you in your home environment, your therapist can better assess your daily movement, personalize your program, and help you stay actively involved in your recovery.
|
||||||
faced by those who can’t drive. This improved access to therapy makes it easier for
|
|
||||||
clients to be an active participant in their recovery.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Being able to interact with clients in their home setting enables a therapist to see
|
|
||||||
how the client moves and completes tasks in their everyday life.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
@ -2,9 +2,9 @@ import Layout from "@/components/layout/Layout";
|
|||||||
import CovidClient from "./CovidClient";
|
import CovidClient from "./CovidClient";
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Rapharehab COVID-19 Safety & Clinic Updates",
|
title: "COVID-19 Updates | Safety & Virtual Care at Rapha Rehab",
|
||||||
description:
|
description:
|
||||||
"Stay informed with Rapharehab’s latest COVID-19 updates, safety protocols, and patient care measures to ensure a secure and trusted clinic.",
|
"COVID-19 updates from Rapha Rehab, including safety protocols, virtual therapy options, and at-home physiotherapy to ensure safe care.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function CovidPage() {
|
export default function CovidPage() {
|
||||||
@ -14,14 +14,14 @@ export async function generateMetadata({ params }) {
|
|||||||
|
|
||||||
if (!service) {
|
if (!service) {
|
||||||
return {
|
return {
|
||||||
title: "Service Not Found – MySite",
|
title: "Service Not Found",
|
||||||
description: "The requested service could not be found.",
|
description: "The requested service could not be found.",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: `${service.metaTitle || service.shortTitle || service.title} – MySite`,
|
title: `${service.metaTitle || service.shortTitle || service.title}`,
|
||||||
description: service.metaDiscription || service.shortDesc || "Explore our services in detail.",
|
description: service.metaDiscription || service.shortDesc,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ export default function ServiceDetailPage({ params }) {
|
|||||||
{/* Categories */}
|
{/* Categories */}
|
||||||
<div className="sidebar-widget category-widget">
|
<div className="sidebar-widget category-widget">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
<h3>Services</h3>
|
<h2>Services</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="widget-content">
|
<div className="widget-content">
|
||||||
<ul className="category-list clearfix">
|
<ul className="category-list clearfix">
|
||||||
@ -57,7 +57,7 @@ export default function ServiceDetailPage({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/etobicoke-treatment-service/${item.slug}`}
|
href={`/etobicoke-treatment-service/${item.slug}`}
|
||||||
className={item.slug === service.slug ? "current" : ""}
|
className={item.slug === service.slug ? "current" : ""}
|
||||||
>
|
aria-label="Etobicoke treatment service">
|
||||||
{item.shortTitle}
|
{item.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -77,7 +77,7 @@ export default function ServiceDetailPage({ params }) {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src={service.icon} alt={`${service.title} Icon`} />
|
<img src={service.icon} alt={`${service.title} Icon`} />
|
||||||
</div>
|
</div>
|
||||||
<h3>{service.shortTitle}</h3>
|
<h2>{service.shortTitle}</h2>
|
||||||
<p>{service.shortDescription}</p>
|
<p>{service.shortDescription}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -89,7 +89,7 @@ export default function ServiceDetailPage({ params }) {
|
|||||||
<div className="service-details-content">
|
<div className="service-details-content">
|
||||||
<div className="content-one mb_60">
|
<div className="content-one mb_60">
|
||||||
<figure className="image-box mb_40">
|
<figure className="image-box mb_40">
|
||||||
<img src={service.bigImg} alt={altText} />
|
<img src={service.bigImg} alt={altText} loading="lazy"/>
|
||||||
</figure>
|
</figure>
|
||||||
<div
|
<div
|
||||||
className="service-details-description"
|
className="service-details-description"
|
||||||
|
|||||||
@ -21,8 +21,8 @@ export default function ServicesPage() {
|
|||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
|
<Link href={`/etobicoke-treatment-service/${item.slug}`} aria-label="Etobicoke treatment service">
|
||||||
<img src={item?.image} alt={item.alt} />
|
<img src={item?.image} alt={item.alt} loading="lazy"/>
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
@ -30,11 +30,11 @@ export default function ServicesPage() {
|
|||||||
<div className="icon-box-new">
|
<div className="icon-box-new">
|
||||||
<img src={item?.icon} alt={item.alt} />
|
<img src={item?.icon} alt={item.alt} />
|
||||||
</div>
|
</div>
|
||||||
<h3 className='text-start'>
|
<h2 className='text-start'>
|
||||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
|
<Link href={`/etobicoke-treatment-service/${item.slug}`} aria-label="Etobicoke treatment service title">
|
||||||
{item?.shortTitle}
|
{item?.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h2>
|
||||||
<p
|
<p
|
||||||
className='text-start'
|
className='text-start'
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
import Layout from "@/components/layout/Layout";
|
|
||||||
import FaqClient from "../faq-physiotherapy-etobicoke/FaqClient";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
title: "FAQs – Answers from Rapharehab’s Expert Team",
|
|
||||||
description:
|
|
||||||
"Get answers to common questions about our services, treatments, and care at Rapharehab. Learn what to expect and how we help you recover confidently.",
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function FaqPage() {
|
|
||||||
return (
|
|
||||||
<Layout
|
|
||||||
headerStyle={1}
|
|
||||||
footerStyle={1}
|
|
||||||
breadcrumbTitle="FAQ’s"
|
|
||||||
bannerImage="/assets/images/faq/faq-banner.webp"
|
|
||||||
>
|
|
||||||
<FaqClient />
|
|
||||||
</Layout>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -27,8 +27,8 @@ export default function Faq() {
|
|||||||
<section className="faq-section pt_90 pb_90">
|
<section className="faq-section pt_90 pb_90">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title centred mb_50">
|
<div className="sec-title centred mb_50">
|
||||||
<span className="sub-title">FAQ’s</span>
|
<span className="sub-title">Frequently Asked Questions</span>
|
||||||
<h2>Do You Have Any Physiotherapy <br />Questions?</h2>
|
<h2>Have Questions About Physiotherapy?</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="row align-items-center clearfix">
|
<div className="row align-items-center clearfix">
|
||||||
@ -41,6 +41,7 @@ export default function Faq() {
|
|||||||
<img
|
<img
|
||||||
src="/assets/images/faq/img.webp"
|
src="/assets/images/faq/img.webp"
|
||||||
alt="Do You Have Any Physiotherapy Questions"
|
alt="Do You Have Any Physiotherapy Questions"
|
||||||
|
loading="lazy"
|
||||||
className="img-fluid"
|
className="img-fluid"
|
||||||
style={{ height: "550px", objectFit: "cover" }}
|
style={{ height: "550px", objectFit: "cover" }}
|
||||||
/>
|
/>
|
||||||
@ -61,12 +62,12 @@ export default function Faq() {
|
|||||||
onClick={() => handleToggle(1)}
|
onClick={() => handleToggle(1)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>What is physiotherapy?</h5>
|
<h3>What is physiotherapy?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>Physiotherapists are medical professionals who specialize in treating injuries and conditions that impact movement.</p>
|
<p>Physiotherapy is a healthcare practice focused on restoring movement, reducing pain, and improving physical function affected by injury, illness, or disability. Physiotherapists use manual therapy, exercise, and education to help you move better and recover safely.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -79,12 +80,12 @@ export default function Faq() {
|
|||||||
onClick={() => handleToggle(2)}
|
onClick={() => handleToggle(2)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>What does the physiotherapist do?</h5>
|
<h3>What does the physiotherapist do?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>Physiotherapists help people affected by injury, illness or disability through electrical modalities, movement, exercise, manual therapy, education and advice. We at Rapharehab Physiotherapy clinic Etobicoke for people of all ages, helping patients to manage pain and prevent disease.</p>
|
<p>A physiotherapist assesses your condition, identifies the root cause of your pain or movement issue, and creates a personalized treatment plan. They use hands-on techniques, exercises, and guidance to help you heal, strengthen, and prevent future injuries.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -97,12 +98,12 @@ export default function Faq() {
|
|||||||
onClick={() => handleToggle(3)}
|
onClick={() => handleToggle(3)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>How long will your session take?</h5>
|
<h3>How long will your session take?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>The duration of the program will depend on an individual's healing rate and condition being treated. Every condition is different, and everyone heals at different rates. Minor injuries you might expect 2-3 sessions of physiotherapy while the soft tissue injuries may take even longer.</p>
|
<p>A typical physiotherapy session lasts between 30 - 60 minutes, depending on your condition and treatment plan. Initial assessments may take slightly longer to ensure a full understanding of your needs.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
27
app/faq/page.js
Normal file
27
app/faq/page.js
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// src/app/faq/page.jsx
|
||||||
|
import dynamic from "next/dynamic";
|
||||||
|
import Layout from "@/components/layout/Layout";
|
||||||
|
|
||||||
|
const FaqClient = dynamic(
|
||||||
|
() => import("../faq/FaqClient"),
|
||||||
|
{ ssr: false }
|
||||||
|
);
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
title: "RaphaRehab FAQs – Rehab & Wellness Help",
|
||||||
|
description:
|
||||||
|
"See answers to common questions about RaphaRehab’s physiotherapy, rehab, therapies, caregiver support and how to book or get insurance help.",
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function FaqPage() {
|
||||||
|
return (
|
||||||
|
<Layout
|
||||||
|
headerStyle={1}
|
||||||
|
footerStyle={1}
|
||||||
|
breadcrumbTitle="FAQ’s"
|
||||||
|
bannerImage="/assets/images/faq/faq-banner.webp"
|
||||||
|
>
|
||||||
|
<FaqClient />
|
||||||
|
</Layout>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -24,16 +24,20 @@ export default function WhyChooseUs() {
|
|||||||
<>
|
<>
|
||||||
<section className="gallery-page-section sec-pad-2">
|
<section className="gallery-page-section sec-pad-2">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
|
<div className="sec-title centred mb_50">
|
||||||
|
<span className="sub-title">Gallery</span>
|
||||||
|
<h2>Healing Through Movement</h2>
|
||||||
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
{currentImages.map((src, index) => (
|
{currentImages.map((src, index) => (
|
||||||
<div key={index} className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
<div key={index} className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||||
<div className="gallery-block-one">
|
<div className="gallery-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box">
|
<figure className="image-box">
|
||||||
<img src={src} alt={`gallery-${index}`} />
|
<img src={src} alt={`gallery-${index}`} loading="lazy" />
|
||||||
</figure>
|
</figure>
|
||||||
<div className="view-btn">
|
<div className="view-btn">
|
||||||
<Link href={src} className="lightbox-image" data-fancybox="gallery">
|
<Link href={src} className="lightbox-image" data-fancybox="gallery" aria-label="View btn icon">
|
||||||
<i className="icon-4"></i>
|
<i className="icon-4"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@ -53,7 +57,7 @@ export default function WhyChooseUs() {
|
|||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
handlePageChange(currentPage - 1)
|
handlePageChange(currentPage - 1)
|
||||||
}}
|
}}
|
||||||
>
|
aria-label="Gallery left image">
|
||||||
<img src="/assets/images/gallery/left.png" alt="Previous" />
|
<img src="/assets/images/gallery/left.png" alt="Previous" />
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -68,7 +72,7 @@ export default function WhyChooseUs() {
|
|||||||
handlePageChange(i + 1)
|
handlePageChange(i + 1)
|
||||||
}}
|
}}
|
||||||
className={currentPage === i + 1 ? "current" : ""}
|
className={currentPage === i + 1 ? "current" : ""}
|
||||||
>
|
aria-label="Gallery list">
|
||||||
{i + 1}
|
{i + 1}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -82,7 +86,7 @@ export default function WhyChooseUs() {
|
|||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
handlePageChange(currentPage + 1)
|
handlePageChange(currentPage + 1)
|
||||||
}}
|
}}
|
||||||
>
|
aria-label="Gallery right image">
|
||||||
<img src="/assets/images/gallery/right.png" alt="Previous" />
|
<img src="/assets/images/gallery/right.png" alt="Previous" />
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import Layout from "@/components/layout/Layout";
|
|||||||
import GalleryClient from "../gallery-physiotherapy-etobicoke/GalleryClient";
|
import GalleryClient from "../gallery-physiotherapy-etobicoke/GalleryClient";
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Clinic & Therapy Gallery – Inside Rapharehab",
|
title: "Physiotherapy Gallery in Etobicoke | Rapha Reha",
|
||||||
description:
|
description:
|
||||||
"Explore Rapharehab’s gallery to see our clinic, equipment, and therapy sessions. A glimpse into our professional and welcoming healing space.",
|
"Explore the Rapha Rehab gallery showcasing patient care, rehabilitation progress, and our dedicated physiotherapy environment in Etobicoke.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function GalleryPage() {
|
export default function GalleryPage() {
|
||||||
|
|||||||
307
app/layout.js
307
app/layout.js
@ -1,3 +1,4 @@
|
|||||||
|
"use client";
|
||||||
import { poppins } from "@/lib/font";
|
import { poppins } from "@/lib/font";
|
||||||
import "@/node_modules/react-modal-video/css/modal-video.css";
|
import "@/node_modules/react-modal-video/css/modal-video.css";
|
||||||
import "../public/assets/css/bootstrap.css";
|
import "../public/assets/css/bootstrap.css";
|
||||||
@ -7,28 +8,232 @@ import "swiper/css";
|
|||||||
import "swiper/css/pagination";
|
import "swiper/css/pagination";
|
||||||
import "swiper/css/free-mode";
|
import "swiper/css/free-mode";
|
||||||
import Script from "next/script";
|
import Script from "next/script";
|
||||||
|
import { usePathname } from "next/navigation";
|
||||||
export const metadata = {
|
|
||||||
title: "Best Pain Relief & Physiotherapy - Repharehab Clinic",
|
|
||||||
description: "Best pain relief physiotherapy clinic",
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({ children }) {
|
export default function RootLayout({ children }) {
|
||||||
|
const pathname = usePathname();
|
||||||
|
const siteUrl = "https://rapharehab.ca";
|
||||||
|
const canonicalUrl = `${siteUrl}${pathname}`;
|
||||||
|
const logoUrl = `${siteUrl}/assets/images/logo.png`;
|
||||||
|
const ogImage = `${siteUrl}/assets/images/logo.jpg`;
|
||||||
|
|
||||||
|
const pageTitle = "Best Pain Relief & Physiotherapy - Repharehab Clinic";
|
||||||
|
const pageDescription = "Rapharehab offers trusted physiotherapy and pain relief treatments with professional care tailored to restore your health and mobility.";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang="en" className={`${poppins.variable}`}>
|
<html lang="en" className={`${poppins.variable}`}>
|
||||||
<head>
|
<head>
|
||||||
{/* Microsoft Clarity */}
|
<title>{pageTitle}</title>
|
||||||
<Script id="clarity-script" strategy="afterInteractive">
|
<meta name="description" content={pageDescription} />
|
||||||
{`
|
{/* ✅ Preload critical font */}
|
||||||
(function(c,l,a,r,i,t,y){
|
{/* <link
|
||||||
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
rel="preload"
|
||||||
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/th7p0lr1ca";
|
href="/fonts/poppins.woff2"
|
||||||
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
as="font"
|
||||||
})(window, document, "clarity", "script", "th7p0lr1ca");
|
type="font/woff2"
|
||||||
`}
|
crossOrigin="anonymous"
|
||||||
</Script>
|
/> */}
|
||||||
|
|
||||||
{/* Google Tag Manager */}
|
{/* ✅ Canonical Tag */}
|
||||||
|
<link rel="canonical" href={canonicalUrl} aria-label="Site Url" />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
|
||||||
|
{/* ✅ Open Graph Meta */}
|
||||||
|
<meta property="og:title" content="Rapha Rehab – Physiotherapy Clinic" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Trusted physiotherapy, pain relief and rehab clinic in Etobicoke. Book your appointment now."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content={canonicalUrl} />
|
||||||
|
<meta property="og:image" content={ogImage} />
|
||||||
|
<meta property="og:site_name" content="Rapha Rehab" />
|
||||||
|
<meta property="og:locale" content="en_CA" />
|
||||||
|
|
||||||
|
{/* ✅ Twitter Meta */}
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta
|
||||||
|
name="twitter:title"
|
||||||
|
content="Rapha Rehab – Physiotherapy & Rehab Clinic in Etobicoke"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="Expert physiotherapy and pain relief treatments tailored to you."
|
||||||
|
/>
|
||||||
|
<meta name="twitter:image" content={ogImage} />
|
||||||
|
<meta name="twitter:site" content="@YourTwitterHandle" />
|
||||||
|
|
||||||
|
{/* ✅ Preconnect — Faster 3rd-party requests */}
|
||||||
|
<link rel="preconnect" href="https://www.googletagmanager.com" aria-label="Googleletamanage" />
|
||||||
|
<link rel="preconnect" href="https://connect.facebook.net" aria-label="facebook" />
|
||||||
|
<link rel="preconnect" href="https://www.facebook.com" aria-label="Facebook" />
|
||||||
|
<link rel="preconnect" href="https://scripts.clarity.ms" aria-label="Scripts Clarity" />
|
||||||
|
|
||||||
|
{/* ✅ fetchpriority for LCP Image */}
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
as="image"
|
||||||
|
href="/assets/images/banner/mobile-banner/4.webp"
|
||||||
|
fetchPriority="high"
|
||||||
|
aria-label="loader"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<script
|
||||||
|
type="application/ld+json"
|
||||||
|
dangerouslySetInnerHTML={{
|
||||||
|
__html: JSON.stringify({
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "PhysiotherapyClinic",
|
||||||
|
"name": "Rapharehab Clinic",
|
||||||
|
"image": logoUrl,
|
||||||
|
"@id": `${siteUrl}/#clinic`,
|
||||||
|
"url": siteUrl,
|
||||||
|
"telephone": "+16477223434",
|
||||||
|
"priceRange": "$$",
|
||||||
|
"medicalSpecialty": "PhysicalTherapy",
|
||||||
|
"address": {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
"streetAddress": "5 – 4335 Bloor Street West",
|
||||||
|
"addressLocality": "Etobicoke",
|
||||||
|
"addressRegion": "ON",
|
||||||
|
"postalCode": "M9C 2A5",
|
||||||
|
"addressCountry": "CA"
|
||||||
|
},
|
||||||
|
"geo": {
|
||||||
|
"@type": "GeoCoordinates",
|
||||||
|
"latitude": 43.6389,
|
||||||
|
"longitude": -79.5716
|
||||||
|
},
|
||||||
|
"openingHoursSpecification": [
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Monday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "20:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Tuesday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "20:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Wednesday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "20:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Thursday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "20:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Friday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "20:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
"dayOfWeek": "Saturday",
|
||||||
|
"opens": "10:00",
|
||||||
|
"closes": "17:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sameAs": [
|
||||||
|
"https://www.facebook.com/ELRaphaRehabCenter/",
|
||||||
|
"https://www.instagram.com/elrapharehab/"
|
||||||
|
]
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{/* PhysiotherapyClinic Schema Markup */}
|
||||||
|
{/* <Script
|
||||||
|
id="schema-physiotherapy"
|
||||||
|
type="application/ld+json"
|
||||||
|
strategy="afterInteractive"
|
||||||
|
>
|
||||||
|
{JSON.stringify({
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "PhysiotherapyClinic",
|
||||||
|
name: "Rapharehab Clinic",
|
||||||
|
image: logoUrl,
|
||||||
|
"@id": siteUrl,
|
||||||
|
url: siteUrl,
|
||||||
|
telephone: "+16477223434",
|
||||||
|
priceRange: "$$",
|
||||||
|
medicalSpecialty: "PhysicalTherapy",
|
||||||
|
address: {
|
||||||
|
"@type": "PostalAddress",
|
||||||
|
streetAddress: "5 – 4335 Bloor Street West",
|
||||||
|
addressLocality: "Etobicoke",
|
||||||
|
addressRegion: "ON",
|
||||||
|
postalCode: "M9C 2A5",
|
||||||
|
addressCountry: "CA",
|
||||||
|
},
|
||||||
|
geo: {
|
||||||
|
"@type": "GeoCoordinates",
|
||||||
|
latitude: 43.6389,
|
||||||
|
longitude: -79.5716,
|
||||||
|
},
|
||||||
|
openingHoursSpecification: [
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Monday",
|
||||||
|
opens: "10:00",
|
||||||
|
closes: "20:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Tuesday",
|
||||||
|
opens: "14:00",
|
||||||
|
closes: "19:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Wednesday",
|
||||||
|
opens: "10:00",
|
||||||
|
closes: "20:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Thursday",
|
||||||
|
opens: "10:00",
|
||||||
|
closes: "20:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Friday",
|
||||||
|
opens: "10:00",
|
||||||
|
closes: "20:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Saturday",
|
||||||
|
opens: "10:00",
|
||||||
|
closes: "19:00",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"@type": "OpeningHoursSpecification",
|
||||||
|
dayOfWeek: "Sunday",
|
||||||
|
opens: "00:00",
|
||||||
|
closes: "00:00",
|
||||||
|
closed: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
sameAs: [
|
||||||
|
"https://www.facebook.com/ELRaphaRehabCenter/",
|
||||||
|
"https://www.instagram.com/elrapharehab/",
|
||||||
|
],
|
||||||
|
})}
|
||||||
|
</Script> */}
|
||||||
|
|
||||||
|
{/* ✅ Google Tag Manager — non-blocking */}
|
||||||
<Script id="gtm-init" strategy="afterInteractive">
|
<Script id="gtm-init" strategy="afterInteractive">
|
||||||
{`
|
{`
|
||||||
(function(w,d,s,l,i){
|
(function(w,d,s,l,i){
|
||||||
@ -43,17 +248,77 @@ export default function RootLayout({ children }) {
|
|||||||
})(window,document,'script','dataLayer','G-KM1KJW539N');
|
})(window,document,'script','dataLayer','G-KM1KJW539N');
|
||||||
`}
|
`}
|
||||||
</Script>
|
</Script>
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
{/* Google Analytics */}
|
||||||
{/* GTM noscript fallback */}
|
<Script
|
||||||
|
async
|
||||||
|
src="https://www.googletagmanager.com/gtag/js?id=G-KM1KJW539N"
|
||||||
|
/>
|
||||||
|
<Script id="google-analytics">
|
||||||
|
{`
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
gtag('config', 'G-KM1KJW539N');
|
||||||
|
`}
|
||||||
|
</Script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{/* ✅ Microsoft Clarity — lazy load to reduce LCP impact */}
|
||||||
|
<Script id="clarity-script" strategy="lazyOnload">
|
||||||
|
{`
|
||||||
|
window.onload = function() {
|
||||||
|
setTimeout(() => {
|
||||||
|
(function(c,l,a,r,i,t,y){
|
||||||
|
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
||||||
|
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/th7p0lr1ca";
|
||||||
|
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||||
|
})(window, document, "clarity", "script", "th7p0lr1ca");
|
||||||
|
}, 3000);
|
||||||
|
};
|
||||||
|
`}
|
||||||
|
</Script>
|
||||||
|
|
||||||
|
{/* ✅ Facebook Pixel — lazy load to avoid blocking */}
|
||||||
|
<Script id="facebook-pixel" strategy="lazyOnload">
|
||||||
|
{`
|
||||||
|
setTimeout(() => {
|
||||||
|
!function(f,b,e,v,n,t,s){
|
||||||
|
if(f.fbq)return;
|
||||||
|
n=f.fbq=function(){n.callMethod?
|
||||||
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
|
if(!f._fbq)f._fbq=n;
|
||||||
|
n.push=n;
|
||||||
|
n.loaded=!0;
|
||||||
|
n.version='2.0';
|
||||||
|
n.queue=[];
|
||||||
|
t=b.createElement(e);t.async=!0;
|
||||||
|
t.src=v;
|
||||||
|
s=b.getElementsByTagName(e)[0];
|
||||||
|
s.parentNode.insertBefore(t,s)
|
||||||
|
}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
|
||||||
|
fbq('init', '1133141855537200');
|
||||||
|
fbq('track', 'PageView');
|
||||||
|
}, 4000);
|
||||||
|
`}
|
||||||
|
</Script>
|
||||||
|
|
||||||
|
{/* ✅ Facebook & GTM noscript fallback */}
|
||||||
<noscript>
|
<noscript>
|
||||||
<iframe
|
{/* <iframe
|
||||||
src="https://www.googletagmanager.com/ns.html?id=G-KM1KJW539N"
|
src="https://www.googletagmanager.com/ns.html?id=G-KM1KJW539N"
|
||||||
height="0"
|
height="0"
|
||||||
width="0"
|
width="0"
|
||||||
style={{ display: "none", visibility: "hidden" }}
|
style={{ display: "none", visibility: "hidden" }}
|
||||||
></iframe>
|
></iframe> */}
|
||||||
|
<img
|
||||||
|
height="1"
|
||||||
|
width="1"
|
||||||
|
style={{ display: "none" }}
|
||||||
|
src="https://www.facebook.com/tr?id=1133141855537200&ev=PageView&noscript=1"
|
||||||
|
alt="facebook pixel"
|
||||||
|
/>
|
||||||
</noscript>
|
</noscript>
|
||||||
|
|
||||||
{children}
|
{children}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ export default function Error404() {
|
|||||||
<figure className="error-image"><img src="/assets/images/icons/error-1.png" alt="" /></figure>
|
<figure className="error-image"><img src="/assets/images/icons/error-1.png" alt="" /></figure>
|
||||||
<h2>Oops, page not <br />found!</h2>
|
<h2>Oops, page not <br />found!</h2>
|
||||||
<p>Mauris urna velit in fermentum in in natoque. Tincidunt pellentesque et risus tincidunt <br />dignissim proin auctor.</p>
|
<p>Mauris urna velit in fermentum in in natoque. Tincidunt pellentesque et risus tincidunt <br />dignissim proin auctor.</p>
|
||||||
<Link href="/" className="theme-btn btn-one"><span>Back To Home</span></Link>
|
<Link href="/" className="theme-btn btn-one" aria-label="Back to home"><span>Back To Home</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@ -36,7 +36,7 @@ export default function Error404() {
|
|||||||
<div className="form-group">
|
<div className="form-group">
|
||||||
<div className="check-box">
|
<div className="check-box">
|
||||||
<input className="check" type="checkbox" id="checkbox1" />
|
<input className="check" type="checkbox" id="checkbox1" />
|
||||||
<label htmlFor="checkbox1">I agree to the <Link href="/">Privacy Policy.</Link></label>
|
<label htmlFor="checkbox1" aria-label="Pricacy Policy">I agree to the <Link href="/" aria-label="Privacy Policy">Privacy Policy.</Link></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -2,9 +2,11 @@ import Link from "next/link"
|
|||||||
import Layout from "@/components/layout/Layout"
|
import Layout from "@/components/layout/Layout"
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Our Healing Approach – Rapharehab’s Proven Methods",
|
title: "Our Approach to Care | Rapha Rehab Etobicoke",
|
||||||
description: "Discover Rapharehab’s personalized approach to wellness. We combine evidence-based methods and holistic care to ensure lasting health results.",
|
description: "Personalized physiotherapy care in Etobicoke with one-on-one treatment, targeted assessments, and customized rehab plans for faster recovery.",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -18,6 +20,7 @@ export default function About() {
|
|||||||
<div className="pattern-1 rotate-me" style={{ backgroundImage: "url(/assets/images/shape/shape-8.webp)" }}></div>
|
<div className="pattern-1 rotate-me" style={{ backgroundImage: "url(/assets/images/shape/shape-8.webp)" }}></div>
|
||||||
<div className="pattern-2 rotate-me absolute w-[140px] h-[140px]">
|
<div className="pattern-2 rotate-me absolute w-[140px] h-[140px]">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-9.webp"
|
src="/assets/images/shape/shape-9.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -36,6 +39,7 @@ export default function About() {
|
|||||||
<div className="image-shape">
|
<div className="image-shape">
|
||||||
<div className="shape-1 rotate-me">
|
<div className="shape-1 rotate-me">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-8.webp"
|
src="/assets/images/shape/shape-8.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -45,6 +49,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-33.png"
|
src="/assets/images/shape/shape-33.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -63,6 +68,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-34.png"
|
src="/assets/images/shape/shape-34.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -72,6 +78,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -94,13 +101,11 @@ export default function About() {
|
|||||||
<h2>Our Approach</h2>
|
<h2>Our Approach</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p>Our approach begins with your diagnosis. Our customized and targeted collaborated care program is efficient and effective and will help relieve pain and restore function.</p>
|
<p>At Rapha Rehab, our approach begins with a thorough diagnosis to understand your condition and design a personalized, targeted care plan. We address not only the symptoms but also lifestyle, posture, and ergonomic factors that may be slowing your recovery.</p>
|
||||||
|
|
||||||
<p>We look for the external factors like lifestyle; ergonomics that may be contributing to a delay in recovery process and advise you on the changes to your lifestyle and work environment that can help you to get back on track.</p>
|
<p> Our therapists work one-on-one with you to create an effective rehabilitation program that fits your needs and goals. Whether your condition is acute or chronic, we focus on restoring movement, reducing pain, and supporting long-term wellbeing. </p>
|
||||||
|
|
||||||
<p>Whether your condition is acute or chronic, our team of health care therapist will sit with you one on one so that the customized rehabilitation program fits perfectly to your needs.</p>
|
<p>We also collaborate with other healthcare professionals to ensure you receive complete, coordinated care throughout your recovery journey.</p>
|
||||||
|
|
||||||
<p>We follow Collaborative approach with other health professionals in developing programs which meet your needs.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -11,7 +11,7 @@ export default function Home() {
|
|||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title mb_50">
|
<div className="sec-title mb_50">
|
||||||
<span className="sub-title">Meet the Team</span>
|
<span className="sub-title">Meet the Team</span>
|
||||||
<h2>Meet Our Experienced Therapists <br />for Exceptional Care</h2>
|
<h2>Meet Our Expert Therapists <br />Dedicated to Exceptional Care</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix justify-content-center">
|
<div className="row clearfix justify-content-center">
|
||||||
{teamMembers.map((member, index) => (
|
{teamMembers.map((member, index) => (
|
||||||
@ -27,13 +27,14 @@ export default function Home() {
|
|||||||
<img
|
<img
|
||||||
src={member.image}
|
src={member.image}
|
||||||
alt={member.name}
|
alt={member.name}
|
||||||
|
loading="lazy"
|
||||||
style={{ width: "410px", height: "444px", objectFit: "cover" }}
|
style={{ width: "410px", height: "444px", objectFit: "cover" }}
|
||||||
/>
|
/>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
|
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`} aria-label="Our team physiotherapy etobicoke">{member.name}</Link>
|
||||||
</h3>
|
</h3>
|
||||||
<span className="designation">{member.designation}</span>
|
<span className="designation">{member.designation}</span>
|
||||||
{/* <ul className="social-links clearfix">
|
{/* <ul className="social-links clearfix">
|
||||||
|
|||||||
@ -42,7 +42,7 @@ export default function TeamDetails({ params }) {
|
|||||||
<Layout headerStyle={1} footerStyle={1} breadcrumbTitle="Not Found">
|
<Layout headerStyle={1} footerStyle={1} breadcrumbTitle="Not Found">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<h2>Team member not found!</h2>
|
<h2>Team member not found!</h2>
|
||||||
<Link href="/" className="theme-btn btn-one">Go Back</Link>
|
<Link href="/" className="theme-btn btn-one" aria-label="Go back">Go Back</Link>
|
||||||
</div>
|
</div>
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
@ -61,7 +61,7 @@ export default function TeamDetails({ params }) {
|
|||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-5 col-md-12 col-sm-12 image-column">
|
<div className="col-lg-5 col-md-12 col-sm-12 image-column">
|
||||||
<figure className="image-box mr_15">
|
<figure className="image-box mr_15">
|
||||||
<img src={member.imageDetail} alt={member.name} />
|
<img src={member.imageDetail} alt={member.name} loading="lazy"/>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-7 col-md-12 col-sm-12 content-column">
|
<div className="col-lg-7 col-md-12 col-sm-12 content-column">
|
||||||
@ -71,13 +71,13 @@ export default function TeamDetails({ params }) {
|
|||||||
<p>{member.description}</p>
|
<p>{member.description}</p>
|
||||||
<ul className="info-list mb_30 clearfix">
|
<ul className="info-list mb_30 clearfix">
|
||||||
<li><strong>Experience: </strong>{member.experience}</li>
|
<li><strong>Experience: </strong>{member.experience}</li>
|
||||||
<li><strong>Email: </strong><Link href={`mailto:${member.email}`}>{member.email}</Link></li>
|
<li><strong>Email: </strong><Link href={`mailto:${member.email}`} aria-label="Email">{member.email}</Link></li>
|
||||||
<li><strong>Phone: </strong><Link href={`tel:${member.phone}`}>{member.phone}</Link></li>
|
<li><strong>Phone: </strong><Link href={`tel:${member.phone}`} aria-label="Phone">{member.phone}</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul className="social-links clearfix">
|
<ul className="social-links clearfix">
|
||||||
{member.socials.map((social, idx) => (
|
{member.socials.map((social, idx) => (
|
||||||
<li key={idx}>
|
<li key={idx}>
|
||||||
<Link href={social.link}>
|
<Link href={social.link} aria-label="Social links">
|
||||||
<i className={social.icon}></i>
|
<i className={social.icon}></i>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import Layout from "@/components/layout/Layout";
|
|||||||
import TeamClient from "../our-team-physiotherapy-etobicoke/TeamClient";
|
import TeamClient from "../our-team-physiotherapy-etobicoke/TeamClient";
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Meet Our Professional Team – Rapharehab Experts",
|
title: "Our Physiotherapy Team in Etobicoke | Rapha Rehab",
|
||||||
description:
|
description:
|
||||||
"Get to know the trusted team behind Rapharehab. Our dedicated experts provide compassionate care and specialized therapies.",
|
"Meet our expert physiotherapy & rehabilitation team in Etobicoke. Skilled professionals dedicated to delivering personalized, care at Rapha Rehab.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function OurTeamPage() {
|
export default function OurTeamPage() {
|
||||||
|
|||||||
104
app/page.js
104
app/page.js
@ -1,53 +1,61 @@
|
|||||||
import Layout from "@/components/layout/Layout"
|
"use client";
|
||||||
import Banner from "@/components/sections/home2/Banner"
|
|
||||||
import Features from "@/components/sections/home2/Features"
|
|
||||||
import Testimonial from "@/components/sections/home1/Testimonial"
|
|
||||||
import Video from "@/components/sections/home1/Video"
|
|
||||||
import Solution from "@/components/sections/home2/Solution"
|
|
||||||
import AboutSection from "@/components/sections/home/AboutSection"
|
|
||||||
import ServicesSection from "@/components/sections/home/ServicesSection"
|
|
||||||
import WhyChooseUsSection from "@/components/sections/home/WhyChooseusSection"
|
|
||||||
import CounterSection from "@/components/sections/home/CounterSection"
|
|
||||||
import FaqSection from "@/components/sections/home/FaqSection"
|
|
||||||
import AreaOfInjury from "@/components/sections/home/AreaOfInjury"
|
|
||||||
import MobileServices from "@/components/sections/home/MobileServicesSection"
|
|
||||||
import MobileFeatureCard from "@/components/sections/home/MobileFeatureCard"
|
|
||||||
import MobileBanner from "@/components/sections/home2/MobileBanner"
|
|
||||||
|
|
||||||
export const metadata = {
|
import { useState, useEffect } from "react";
|
||||||
title: "Best Pain Relief & Physiotherapy – Rapharehab Clinic",
|
import dynamic from "next/dynamic";
|
||||||
description: "Rapharehab offers trusted physiotherapy and pain relief treatments with professional care tailored to restore your health and mobility.",
|
import Layout from "@/components/layout/Layout";
|
||||||
};
|
|
||||||
|
// ✅ Banner components — immediate load (important for FCP)
|
||||||
|
import Banner from "@/components/sections/home2/Banner";
|
||||||
|
import MobileBanner from "@/components/sections/home2/MobileBanner";
|
||||||
|
|
||||||
|
// ✅ Lazy load all other sections (FCP/LCP performance boost)
|
||||||
|
const AboutSection = dynamic(() => import("@/components/sections/home/AboutSection"), { ssr: false });
|
||||||
|
const ServicesSection = dynamic(() => import("@/components/sections/home/ServicesSection"), { ssr: false });
|
||||||
|
const MobileServices = dynamic(() => import("@/components/sections/home/MobileServicesSection"), { ssr: false });
|
||||||
|
const MobileFeatureCard = dynamic(() => import("@/components/sections/home/MobileFeatureCard"), { ssr: false });
|
||||||
|
const Features = dynamic(() => import("@/components/sections/home2/Features"), { ssr: false });
|
||||||
|
const FaqSection = dynamic(() => import("@/components/sections/home/FaqSection"), { ssr: false });
|
||||||
|
const AreaOfInjury = dynamic(() => import("@/components/sections/home/AreaOfInjury"), { ssr: false });
|
||||||
|
const WhyChooseUsSection = dynamic(() => import("@/components/sections/home/WhyChooseusSection"), { ssr: false });
|
||||||
|
const CounterSection = dynamic(() => import("@/components/sections/home/CounterSection"), { ssr: false });
|
||||||
|
const Testimonial = dynamic(() => import("@/components/sections/home1/Testimonial"), { ssr: false });
|
||||||
|
const Solution = dynamic(() => import("@/components/sections/home2/Solution"), { ssr: false });
|
||||||
|
const Video = dynamic(() => import("@/components/sections/home1/Video"), { ssr: false });
|
||||||
|
const Faq = dynamic(() => import("@/components/sections/home/NeedHelpSection"), { ssr: false });
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
|
|
||||||
return (
|
useEffect(() => {
|
||||||
<>
|
// ✅ Detect mobile screen only in browser
|
||||||
<Layout headerStyle={2} footerStyle={2}>
|
const checkScreenSize = () => setIsMobile(window.innerWidth <= 768);
|
||||||
<div className="d-none d-md-block">
|
checkScreenSize();
|
||||||
<Banner />
|
window.addEventListener("resize", checkScreenSize);
|
||||||
</div>
|
return () => window.removeEventListener("resize", checkScreenSize);
|
||||||
<div className="d-block d-md-none">
|
}, []);
|
||||||
<MobileBanner />
|
|
||||||
</div>
|
|
||||||
<AboutSection />
|
|
||||||
<div className="d-none d-md-block">
|
|
||||||
<ServicesSection />
|
|
||||||
</div>
|
|
||||||
<div className="d-block d-md-none">
|
|
||||||
<MobileServices />
|
|
||||||
</div>
|
|
||||||
<MobileFeatureCard />
|
|
||||||
<Features />
|
|
||||||
<FaqSection />
|
|
||||||
<AreaOfInjury />
|
|
||||||
<WhyChooseUsSection />
|
|
||||||
<CounterSection />
|
|
||||||
<Testimonial />
|
|
||||||
<Solution />
|
|
||||||
<Video />
|
|
||||||
|
|
||||||
</Layout>
|
return (
|
||||||
</>
|
<Layout headerStyle={2} footerStyle={2}>
|
||||||
)
|
{/* ✅ Prevent layout shift for banner */}
|
||||||
}
|
<section style={{ minHeight: "100vh", position: "relative" }}>
|
||||||
|
{isMobile ? <MobileBanner /> : <Banner />}
|
||||||
|
</section>
|
||||||
|
|
||||||
|
{/* ✅ Lazy loaded sections — improve Lighthouse performance */}
|
||||||
|
<AboutSection />
|
||||||
|
|
||||||
|
{isMobile ? <MobileServices /> : <ServicesSection />}
|
||||||
|
|
||||||
|
<MobileFeatureCard />
|
||||||
|
<Features />
|
||||||
|
<FaqSection />
|
||||||
|
<AreaOfInjury />
|
||||||
|
<WhyChooseUsSection />
|
||||||
|
<CounterSection />
|
||||||
|
<Testimonial />
|
||||||
|
<Solution />
|
||||||
|
<Video />
|
||||||
|
<Faq/>
|
||||||
|
</Layout>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@ -37,120 +37,108 @@ export default function RefugeeIFHP() {
|
|||||||
<div className="content-box full-width">
|
<div className="content-box full-width">
|
||||||
<div className="sec-title mb_15">
|
<div className="sec-title mb_15">
|
||||||
<h2>Refugee Physiotherapy & IFHP Claims (Canada)</h2>
|
<h2>Refugee Physiotherapy & IFHP Claims (Canada)</h2>
|
||||||
<h4 className="mt-3">
|
<h3 className="mt-3">
|
||||||
<strong>Simple claims - No surprises.</strong>
|
<strong>Simple claims – No surprises.</strong>
|
||||||
</h4>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mb_30">
|
<div className="mb_30">
|
||||||
<p className="mb-3">
|
<p className="mb-3">
|
||||||
At Rapha Rehab, we make it easy for refugees and refugee
|
At Rapha Rehab, we make it easy for refugees and refugee claimants to access physiotherapy through Canada’s Interim Federal Health Program (IFHP). We take care of the paperwork, explain your coverage clearly, and help you focus on what matters most - your recovery.
|
||||||
claimants to access physiotherapy using Canada’s Interim
|
|
||||||
Federal Health Program (IFHP). We handle the paperwork, explain
|
|
||||||
your coverage in plain language, and focus on what matters
|
|
||||||
most - your recovery.
|
|
||||||
</p>
|
</p>
|
||||||
<div className="btn-box mt-4">
|
<div className="btn-box mt-4">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Your IFHP-Covered Visit</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Booke your IFHP-Covered visit "><span>Book Your IFHP-Covered Visit</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className=" mb_30">
|
<div className=" mb_30">
|
||||||
<h4 className="mb-3">Who’s eligible under IFHP?</h4>
|
<h3 className="recuression mb-3">Who’s eligible under IFHP?</h3>
|
||||||
<p>
|
<p>
|
||||||
IFHP is temporary health coverage for people in Canada who
|
IFHP provides temporary health coverage for individuals in Canada who are not yet eligible for provincial or territorial insurance. This includes refugee claimants, protected persons, and many resettled refugees. It acts as a payer of last resort while you wait for your provincial coverage.
|
||||||
aren’t yet eligible for provincial/territorial health insurance
|
|
||||||
- this includes refugee claimants, protected persons and many
|
|
||||||
resettled refugees. It’s a payer of last resort while you wait
|
|
||||||
for provincial coverage.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className=" mb_30">
|
<div className=" mb_30">
|
||||||
<h4 className="mb-3">Does IFHP cover physiotherapy?</h4>
|
<h3 className="recuression mb-3">Does IFHP cover physiotherapy?</h3>
|
||||||
<p>
|
<p>
|
||||||
Yes. IFHP’s Supplemental Coverage includes physiotherapy, along
|
Yes. IFHP’s Supplemental Coverage includes physiotherapy and other allied health services. According to the official benefit grid, physiotherapy coverage includes:
|
||||||
with other allied health services. For physiotherapy, the
|
|
||||||
official benefit grid specifies:
|
|
||||||
</p>
|
</p>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>
|
<li>
|
||||||
Initial assessment (in-clinic): 1 per calendar year
|
<b>Initial assessment (in-clinic):</b> 1 per calendar year
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Subsequent physiotherapy visits (in-clinic): up to 12 per
|
<b>Subsequent physiotherapy visits (in-clinic):</b> up to 12 per calendar year
|
||||||
calendar year
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Home-based physio: available when a client can’t attend a
|
<b>Home-based physiotherapy:</b> available when a client cannot attend a clinic and has a clinically demonstrated need (e.g., significant mobility impairment) as defined in the grid
|
||||||
clinic and shows clinical need (e.g., significant mobility
|
|
||||||
impairment), with specific criteria noted in the grid
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Medical referral: services require a referral from a
|
<b>Medical referral:</b> a referral from a physician or nurse practitioner is required
|
||||||
physician or nurse practitioner
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Fees/limits: reimbursed to the clinic per provincial fee
|
<b>Fees/limits:</b> services are reimbursed to the clinic based on the provincial fee schedule listed in the grid
|
||||||
schedule set out in the grid
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p className="mt-3 mb-3">
|
<p className="mt-3 mb-3">
|
||||||
We arrange any prior approval the grid requires before
|
We handle all required prior approvals before treatment begins.
|
||||||
treatment begins.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<strong>
|
<strong>
|
||||||
Why this matters: you get a clear number of covered visits
|
Why this matters: you receive a clear count of covered visits and zero out-of-pocket costs for all approved treatments.
|
||||||
and no out-of-pocket surprises for approved services.
|
|
||||||
</strong>
|
</strong>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="row mt-5">
|
<div className="row mt-5">
|
||||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
||||||
<h4 className="mb-4">How IFHP claims work at Rapha Rehab (so it’s easy for you)?</h4>
|
<h3 className=" recuression mb-4 ">How IFHP claims work at Rapha Rehab (so it’s easy for you)</h3>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>
|
<li>
|
||||||
IFHP eligibility document (with your UCI/Client ID and valid coverage dates)
|
<b>IFHP eligibility document</b> (with your UCI/Client ID and valid coverage dates)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A doctor or nurse practitioner referral for physiotherapy (we can help you understand what’s needed)
|
<b>A doctor or nurse practitioner referral for physiotherapy</b>
|
||||||
|
(We can guide you on what referral you need.)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>We verify your eligibility & benefits</strong>
|
<strong>We verify your eligibility & benefits</strong>
|
||||||
<p>
|
<p>
|
||||||
IFHP is administered by Medavie Blue Cross. Our team confirms your coverage and handles provider billing directly with them.
|
|
||||||
|
IFHP is administered by Medavie Blue Cross. Our team confirms your coverage and bills the insurer directly on your behalf.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>We obtain any required approvals</strong>
|
<strong>We obtain any required approvals</strong>
|
||||||
<p>
|
<p>
|
||||||
Some services have visit limits and prior-approval rules. We submit what’s needed so your care is authorized before you start.
|
|
||||||
|
Some services have limits or need prior approval. We submit everything needed so your treatment is authorized before you begin.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Start your care - no upfront cost for approved services</strong>
|
<strong>Start your care – no upfront cost for approved services</strong>
|
||||||
<p>
|
<p>
|
||||||
You focus on recovery. We direct the IFHP bill for covered treatments. (If something isn’t covered, we’ll tell you in advance so you can decide.)
|
|
||||||
|
You focus on recovery. We bill IFHP for approved visits. (If a service isn’t covered, we tell you upfront so you can decide.)
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
||||||
<h4>What your treatment includes?</h4>
|
<h3 className="recuression">What your treatment includes</h3>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>
|
<li>
|
||||||
A 45-60 minute initial visit with assessment, goal setting, and a simple home program
|
<b>A 45–60 minute initial appointment</b> with assessment, goal setting, and a simple home program.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Evidence-based hands-on care (manual therapy, mobility work) and targeted exercise
|
<b> Evidence-based hands-on care</b> (manual therapy, mobility work) plus targeted exercise.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Education on posture, safe activity, and self-care strategies
|
<b>Education on posture, activity, and self-care strategies</b> to support your recovery.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Progress reviews and reporting that align with IFHP documentation requirements (so your visits remain covered)
|
<b>Progress reviews and documentation</b> that meet IFHP requirements
|
||||||
|
(so your ongoing visits remain covered).
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -160,7 +148,7 @@ export default function RefugeeIFHP() {
|
|||||||
<div className="content-column mb-5">
|
<div className="content-column mb-5">
|
||||||
<div className="sec-title mb_30">
|
<div className="sec-title mb_30">
|
||||||
<span className="sub-title">Faq's</span>
|
<span className="sub-title">Faq's</span>
|
||||||
<h4>Frequently Asked Questions</h4>
|
<h3 className="recuression">Frequently Asked Questions</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<ul className="accordion-box">
|
<ul className="accordion-box">
|
||||||
@ -170,15 +158,14 @@ export default function RefugeeIFHP() {
|
|||||||
onClick={() => handleToggle(1)}
|
onClick={() => handleToggle(1)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Do I need a referral?</h5>
|
<h3 className="recuression">Do I need a referral?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>
|
<p>
|
||||||
Yes - IFHP requires a referral from a physician or nurse
|
Most IFHP clients <b>do require a referral</b> from a doctor or nurse practitioner.
|
||||||
practitioner for physiotherapy services. Bring the referral
|
If you’re unsure what you need, we’ll guide you through the process.
|
||||||
to your first visit (or send it to us securely beforehand).
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -191,15 +178,14 @@ export default function RefugeeIFHP() {
|
|||||||
onClick={() => handleToggle(2)}
|
onClick={() => handleToggle(2)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>How many physio sessions are covered?</h5>
|
<h3 className="recuression">How many physio sessions are covered?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>
|
<p>
|
||||||
Typically 1 initial assessment + up to 12 in-clinic treatment
|
IFHP generally covers <b>1 initial assessment + up to 12 follow-up sessions per year</b>, based on the official IFHP benefit grid.
|
||||||
visits per calendar year. We’ll review your case and handle
|
Coverage varies, but we confirm your exact benefits for you.
|
||||||
any approvals for home visits when medically necessary.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -213,16 +199,14 @@ export default function RefugeeIFHP() {
|
|||||||
onClick={() => handleToggle(3)}
|
onClick={() => handleToggle(3)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>What if I can’t come to the clinic?</h5>
|
<h3>What if I can’t come to the clinic?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>
|
<p>
|
||||||
When a client cannot attend in person and shows clinical
|
If you cannot attend the clinic due to mobility or medical challenges, IFHP may allow <b>home-based physiotherapy</b> when criteria are met.
|
||||||
signs of deterioration or impairment, home-based
|
We help check eligibility and arrange visits if approved.
|
||||||
physiotherapy may be covered under IFHP criteria. We’ll
|
|
||||||
assess and request approval where applicable.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -236,15 +220,14 @@ export default function RefugeeIFHP() {
|
|||||||
onClick={() => handleToggle(4)}
|
onClick={() => handleToggle(4)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>What happens when I get provincial coverage (like OHIP)?</h5>
|
<h3>What happens when I get provincial coverage (like OHIP)?</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key === 4 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key === 4 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text">
|
<div className="text">
|
||||||
<p>
|
<p>
|
||||||
IFHP is temporary. Once you’re eligible for a provincial
|
Once you receive provincial coverage such as OHIP, your IFHP physiotherapy benefits stop.
|
||||||
plan, that plan becomes your primary coverage. We’ll help you
|
We will guide you on switching to the correct insurance or payment option.
|
||||||
transition smoothly.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -258,37 +241,33 @@ export default function RefugeeIFHP() {
|
|||||||
<div className="row">
|
<div className="row">
|
||||||
{/* Left Column */}
|
{/* Left Column */}
|
||||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_0 mt-3">
|
<div className="col-lg-6 col-md-6 col-sm-12 mb_0 mt-3">
|
||||||
<h4 className="mb-3">What to bring to your first appointment?</h4>
|
<h3 className="mb-3">What to bring to your first appointment?</h3>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>Your IFHP eligibility document (with UCI)</li>
|
<li>Your IFHP eligibility document (with UCI)</li>
|
||||||
<li>Photo ID (if you have it)</li>
|
<li>Photo ID (if available)</li>
|
||||||
<li>Physiotherapy referral from an MD or NP</li>
|
<li>Physiotherapy referral from an MD or NP</li>
|
||||||
<li>
|
<li>
|
||||||
Any medical reports (imaging, hospital notes) that may help
|
Any medical reports (imaging, hospital notes, etc.) that can help us tailor your care
|
||||||
us tailor your care.
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Right Column */}
|
{/* Right Column */}
|
||||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30 mt-3">
|
<div className="col-lg-6 col-md-6 col-sm-12 mb_30 mt-3">
|
||||||
<h4>Why choose Rapha Rehab for IFHP-covered care?</h4>
|
<h3>Why choose Rapha Rehab for IFHP-covered care?</h3>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>
|
<li>
|
||||||
<strong>Welcoming & culturally sensitive:</strong>{" "}
|
<strong>Welcoming & culturally sensitive:</strong>{" "}
|
||||||
trauma-informed, dignity-first care
|
trauma-informed, dignity-focused support
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Direct billing & paperwork handled:</strong> we
|
<strong>Direct billing & paperwork handled:</strong> we manage all Medavie Blue Cross claims
|
||||||
manage Medavie Blue Cross claims for you
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Clear communication:</strong> visit limits,
|
<strong>Clear communication:</strong> visit limits, approvals, and coverage explained clearly
|
||||||
approvals, and coverage are explained upfront
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Results-focused rehab:</strong> practical goals,
|
<strong>Results-focused rehab:</strong> practical goals, home programs, and consistent progress tracking
|
||||||
home programs, and steady progress tracking.
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -296,31 +275,22 @@ export default function RefugeeIFHP() {
|
|||||||
|
|
||||||
|
|
||||||
<div className=" mb_30">
|
<div className=" mb_30">
|
||||||
<h4 className="mb-3">Blue Cross: Trusted Partner in Refugee Health Coverage</h4>
|
<h3 className="mb-3">Blue Cross: Trusted Partner in Refugee Health Coverage</h3>
|
||||||
<p>
|
<p>
|
||||||
The Interim Federal Health Program (IFHP) is administered
|
The Interim Federal Health Program (IFHP) is administered through Medavie Blue Cross, one of Canada’s leading health insurance providers. Their role is to process claims, reimburse clinics, and ensure refugee clients receive timely access to covered services such as physiotherapy.
|
||||||
through Medavie Blue Cross, one of Canada’s leading health
|
|
||||||
insurance providers. Their role is to process claims, reimburse
|
|
||||||
clinics, and ensure refugee clients receive timely access to
|
|
||||||
covered services like physiotherapy.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
At Rapha Rehab, we work directly with Blue Cross to verify
|
At Rapha Rehab, we work directly with Blue Cross to verify your eligibility, manage approvals, and bill services on your behalf - so you don’t have to navigate complex insurance paperwork. This partnership lets us focus on your recovery while Blue Cross ensures your care is fully supported and covered.
|
||||||
eligibility, obtain approvals, and bill services on your behalf
|
|
||||||
- so you don’t have to worry about navigating insurance
|
|
||||||
paperwork. This partnership allows us to focus on your healing,
|
|
||||||
while Blue Cross ensures that your care is supported and
|
|
||||||
covered.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-3">
|
<div className="mt-3">
|
||||||
<p className="mt-3">
|
<p className="mt-3">
|
||||||
Need help with a referral or paperwork? Message us - we’ll
|
Need help with paperwork or referrals? Contact us - we’ll guide you step by step.
|
||||||
guide you step by step.
|
|
||||||
</p>
|
</p>
|
||||||
<div className="btn-box mt-3">
|
<div className="btn-box mt-3">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Your IFHP-Covered Visit</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Booke your IFHP-Covered visit"><span>Book Your IFHP-Covered Visit</span></Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -338,11 +308,14 @@ export default function RefugeeIFHP() {
|
|||||||
<h2>Payment & Insurance at Rapha Rehab Physiotherapy</h2>
|
<h2>Payment & Insurance at Rapha Rehab Physiotherapy</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="progress-inner mb_50">
|
<div className="progress-inner mb_50">
|
||||||
<p>At Rapha Rehab, we want your recovery journey to be smooth and worry-free. That’s why we make <b>payment and insurance</b> simple for everyone - whether you have a private health plan, coverage through work or auto insurance, or you are a refugee supported by the <b>Interim Federal Health Program (IFHP)</b>.</p>
|
<p>At Rapha Rehab, we want your recovery journey to be smooth and stress-free. That’s why we make <b>payment and insurance</b> simple for everyone - whether you have a private health plan, workplace or auto insurance, or are a refugee supported by the <b>Interim Federal Health Program (IFHP)</b>.</p>
|
||||||
<ul className="list-style-one clearfix mt-4">
|
<ul className="list-style-one clearfix mt-4">
|
||||||
<li>In case if you are injured in a motor vehicle accident (MVA), the auto insurance covers the cost of the treatment.</li>
|
<li>In case you are injured in a motor vehicle accident (MVA),
|
||||||
<li>Please get in touch with rapharehab Physiotherapy clinic etobicoke for assistance to know about your coverage.</li>
|
your auto insurance will cover the cost of your physiotherapy treatment.</li>
|
||||||
<li>We Accept Cash/Cheque/Visa/Direct Payment.</li>
|
<li>Please contact Rapha Rehab Physiotherapy in Etobicoke
|
||||||
|
for assistance in understanding your insurance coverage and eligibility.
|
||||||
|
</li>
|
||||||
|
<li>We accept Cash / Cheque / Visa / Direct Payment.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -350,9 +323,9 @@ export default function RefugeeIFHP() {
|
|||||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||||
<div className="image_block_two">
|
<div className="image_block_two">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image image-1-new"><img src="/assets/images/payment-insurance/back.webp" alt="Payment and Insurance" /></figure>
|
<figure className="image image-1-new"><img src="/assets/images/payment-insurance/back.webp" alt="Payment and Insurance" loading="lazy" /></figure>
|
||||||
<figure className="image image-2-new"><img src="/assets/images/payment-insurance/front.webp" alt="Payment and Insurance" /></figure>
|
<figure className="image image-2-new"><img src="/assets/images/payment-insurance/front.webp" alt="Payment and Insurance" loading="lazy" /></figure>
|
||||||
<div className="icon-box cart-icon"><img src="/assets/images/payment-insurance/icon.webp" alt="Payment and Insurance" /></div>
|
<div className="icon-box cart-icon"><img src="/assets/images/payment-insurance/icon.webp" alt="Payment and Insurance" loading="lazy" /></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -371,41 +344,35 @@ export default function RefugeeIFHP() {
|
|||||||
<h4 className="mt-3 mb-3">For the General Public</h4>
|
<h4 className="mt-3 mb-3">For the General Public</h4>
|
||||||
<ul className="list-style-one clearfix mt-2">
|
<ul className="list-style-one clearfix mt-2">
|
||||||
<li>
|
<li>
|
||||||
<b>Extended Health Insurance Plans</b> - Most private insurance
|
<b>Extended Health Insurance Plans</b> - Most private insurance providers offer coverage for physiotherapy, massage therapy, chiropractic care, acupuncture, and related rehabilitation services.
|
||||||
providers cover physiotherapy, massage, chiropractic,
|
|
||||||
acupuncture, and related services.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Workplace Injuries (WSIB)</b> - If you’ve been hurt on the
|
<b> Workplace Injuries (WSIB)</b> - If you were injured at work, we accept WSIB claims for physiotherapy and rehabilitation treatments.
|
||||||
job, we accept WSIB claims for physiotherapy and rehab.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Motor Vehicle Accident (MVA) Insurance</b> - If your injury
|
<b>Motor Vehicle Accident (MVA) Insurance</b> - If your injury is the result of a car accident, your auto insurer may cover the full cost of your physiotherapy care.
|
||||||
is from a car accident, your auto insurer may cover the cost of
|
|
||||||
your treatments.
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4 className="mt-4 mb-3">For Refugees</h4>
|
<h4 className="mt-4 mb-3">For Refugees</h4>
|
||||||
<ul className="list-style-one clearfix mt-2">
|
<ul className="list-style-one clearfix mt-2">
|
||||||
<li>
|
<li>
|
||||||
<b>IFHP (Interim Federal Health Program)</b> - Refugee
|
<b> IFHP (Interim Federal Health Program)</b> - Refugee claimants, protected persons, and resettled refugees may receive physiotherapy coverage through IFHP.
|
||||||
claimants, protected persons, and resettled refugees may receive
|
|
||||||
physiotherapy coverage under IFHP.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
IFHP is administered by Medavie Blue Cross, which means we bill
|
<b> Direct Billing</b> -
|
||||||
them directly - so you don’t need to worry about out-of-pocket
|
IFHP is administered by Medavie Blue Cross. We bill them directly—so you don’t have to worry about out-of-pocket expenses for approved services.
|
||||||
costs for approved services.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Coverage usually includes an initial physiotherapy assessment
|
<b>What’s Covered</b> -
|
||||||
and up to 12 treatment visits per year, with additional home
|
Coverage typically includes an initial physiotherapy assessment and up to 12 treatment visits per year, with additional home visits available in special circumstances.
|
||||||
visits available in special cases.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A referral from a physician or nurse practitioner is required
|
<b> Referral Requirement</b> -
|
||||||
for physiotherapy services under IFHP.
|
A referral from a physician or nurse practitioner is required for physiotherapy services under IFHP.
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -424,7 +391,7 @@ export default function RefugeeIFHP() {
|
|||||||
<tr>
|
<tr>
|
||||||
<td data-label="Step">1. Check Coverage</td>
|
<td data-label="Step">1. Check Coverage</td>
|
||||||
<td data-label="For General Patients">
|
<td data-label="For General Patients">
|
||||||
Bring your insurance card or policy details. We’ll confirm your coverage.
|
Bring your insurance card or policy details. We’ll confirm what your plan covers.
|
||||||
</td>
|
</td>
|
||||||
<td data-label="For Refugee Patients">
|
<td data-label="For Refugee Patients">
|
||||||
Bring your IFHP eligibility document (with UCI number) and a doctor’s referral.
|
Bring your IFHP eligibility document (with UCI number) and a doctor’s referral.
|
||||||
@ -433,28 +400,28 @@ export default function RefugeeIFHP() {
|
|||||||
<tr>
|
<tr>
|
||||||
<td data-label="Step">2. Verification</td>
|
<td data-label="Step">2. Verification</td>
|
||||||
<td data-label="For General Patients">
|
<td data-label="For General Patients">
|
||||||
We confirm benefits with your private insurer, WSIB, or auto insurance.
|
We confirm benefits with your private insurer, WSIB, or auto insurance provider.
|
||||||
</td>
|
</td>
|
||||||
<td data-label="For Refugee Patients">
|
<td data-label="For Refugee Patients">
|
||||||
We verify IFHP eligibility and confirm coverage with Medavie Blue Cross.
|
We verify IFHP eligibility and confirm your coverage with Medavie Blue Cross.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td data-label="Step">3. Direct Billing</td>
|
<td data-label="Step">3. Direct Billing</td>
|
||||||
<td data-label="For General Patients">
|
<td data-label="For General Patients">
|
||||||
We directly bill many insurers, WSIB, and auto insurers.
|
We directly bill many private insurers, WSIB, and auto insurers.
|
||||||
</td>
|
</td>
|
||||||
<td data-label="For Refugee Patients">
|
<td data-label="For Refugee Patients">
|
||||||
We bill Medavie Blue Cross directly for covered services.
|
We bill Medavie Blue Cross directly for all approved IFHP services.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td data-label="Step">4. Out-of-Pocket Costs</td>
|
<td data-label="Step">4. Out-of-Pocket Costs</td>
|
||||||
<td data-label="For General Patients">
|
<td data-label="For General Patients">
|
||||||
If your plan doesn’t fully cover a service, we’ll explain the cost upfront.
|
If your insurance doesn’t fully cover a service, we’ll explain any costs upfront.
|
||||||
</td>
|
</td>
|
||||||
<td data-label="For Refugee Patients">
|
<td data-label="For Refugee Patients">
|
||||||
If a service isn’t covered, we’ll let you know in advance so there are no surprises.
|
If a service isn’t covered, we’ll tell you in advance so there are no surprises.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -464,7 +431,7 @@ export default function RefugeeIFHP() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mb_30 mt-4">
|
<div className="mb_30 mt-4">
|
||||||
<h3>What To Bring To Your First Appointment?</h3>
|
<h3>What To Bring To Your First Appointment</h3>
|
||||||
<div className="row mt-3">
|
<div className="row mt-3">
|
||||||
<div className="col-lg-6 col-md-6 col-sm-12">
|
<div className="col-lg-6 col-md-6 col-sm-12">
|
||||||
<h4 className="mb-3">General Patients:</h4>
|
<h4 className="mb-3">General Patients:</h4>
|
||||||
@ -496,32 +463,26 @@ export default function RefugeeIFHP() {
|
|||||||
<h3 className="mb-3">Why Choose Rapha Rehab?</h3>
|
<h3 className="mb-3">Why Choose Rapha Rehab?</h3>
|
||||||
<ul className="list-style-one clearfix mt-3">
|
<ul className="list-style-one clearfix mt-3">
|
||||||
<li>
|
<li>
|
||||||
<b>Stress-free insurance process</b> - we verify, submit, and
|
<b>Stress-free insurance process</b> - we handle verification, submission, and claim tracking so you don’t have to.
|
||||||
track claims so you don’t have to.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Direct billing available</b> - for private plans, WSIB, auto
|
<b>Direct billing available</b> - for private insurance, WSIB, auto insurance, and IFHP/Blue Cross.
|
||||||
insurance, and IFHP/Blue Cross.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Clear communication</b> - we explain coverage, visit limits,
|
<b>Clear communication</b> - coverage, visit limits, and approvals are explained upfront.
|
||||||
and approvals upfront.
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Inclusive care for all</b> - whether you’re a local patient
|
<b>Inclusive care for all</b> - whether you’re a long-time resident or a newcomer to Canada, you’ll receive compassionate, high-quality physiotherapy.
|
||||||
or a newcomer to Canada, you’ll receive the same compassionate,
|
|
||||||
high-quality physiotherapy.
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="">
|
<div className="">
|
||||||
<p>
|
<p>
|
||||||
Our team will review your insurance or IFHP eligibility and guide
|
Our team will review your insurance or IFHP eligibility and support you through every step of the process.
|
||||||
you through every step of the process.
|
|
||||||
</p>
|
</p>
|
||||||
<div className="btn-box mt-3 mb-4">
|
<div className="btn-box mt-3 mb-4">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Contact Us to Check Your Coverage</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Contact us to check your coverage "><span>Contact Us to check your coverage</span></Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
import Layout from "@/components/layout/Layout";
|
import dynamic from "next/dynamic";
|
||||||
import RefugeeIFHP from "./PaymentInsurence";
|
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title:
|
title:
|
||||||
"Refugee Physiotherapy & IFHP Claims (Canada) - Rapharehab Physiotherapy Etobicoke",
|
"RaphaRehab Payment & Insurance Info",
|
||||||
description:
|
description:
|
||||||
"Access refugee physiotherapy covered by Canada's Interim Federal Health Program (IFHP) at Rapha Rehab Etobicoke. We handle paperwork, explain coverage clearly, and focus on your recovery. Book your IFHP-covered physiotherapy visit today.",
|
"Learn about payment options, direct billing, insurance coverage, and how RaphaRehab helps you access physiotherapy, rehab, and wellness services easily.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function FaqPage() {
|
// 👇 Disable SSR to prevent hydration mismatch issues
|
||||||
return (
|
const RefugeeIFHPPage = dynamic(() => import("../payment-insurance/PaymentInsurence"), {
|
||||||
<>
|
ssr: false,
|
||||||
<RefugeeIFHP />
|
});
|
||||||
</>
|
|
||||||
);
|
export default function Page() {
|
||||||
|
return <RefugeeIFHPPage />;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,11 +12,11 @@ export async function generateStaticParams() {
|
|||||||
export async function generateMetadata({ params }) {
|
export async function generateMetadata({ params }) {
|
||||||
const service = Rehabilitation.find((item) => item.slug === params.slug);
|
const service = Rehabilitation.find((item) => item.slug === params.slug);
|
||||||
|
|
||||||
if (!service) return { title: "Rehabilitation | MySite", description: "Explore our rehabilitation services" };
|
if (!service) return { title: "Rehabilitation", description: "Explore our rehabilitation services" };
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: service.metaTitle || service.title,
|
title: service.metaTitle || service.title,
|
||||||
description: service.metaDiscription || service.shortDesc,
|
description: service.metaDescription || service.shortDesc,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ export default function RehabilitationDetailsPage({ params }) {
|
|||||||
|
|
||||||
{/* Categories */}
|
{/* Categories */}
|
||||||
<div className="sidebar-widget category-widget">
|
<div className="sidebar-widget category-widget">
|
||||||
<div className="widget-title"><h3>Rehabilitation</h3></div>
|
<div className="widget-title"><h2>Rehabilitation</h2></div>
|
||||||
<div className="widget-content">
|
<div className="widget-content">
|
||||||
<ul className="category-list clearfix">
|
<ul className="category-list clearfix">
|
||||||
{Rehabilitation.map((cat) => (
|
{Rehabilitation.map((cat) => (
|
||||||
@ -50,7 +50,7 @@ export default function RehabilitationDetailsPage({ params }) {
|
|||||||
<Link
|
<Link
|
||||||
href={`/rehabilitation/${cat.slug}`}
|
href={`/rehabilitation/${cat.slug}`}
|
||||||
className={cat.slug === service.slug ? "current" : ""}
|
className={cat.slug === service.slug ? "current" : ""}
|
||||||
>
|
aria-label="rehabilitation">
|
||||||
{cat.title}
|
{cat.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -64,14 +64,14 @@ export default function RehabilitationDetailsPage({ params }) {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<img src={service.mainImage} alt={service.title} />
|
<img src={service.mainImage} alt={service.title} loading="lazy"/>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src={service.icon} alt={`${service.title} Icon`} />
|
<img src={service.icon} alt={`${service.title} Icon`} />
|
||||||
</div>
|
</div>
|
||||||
<h3>{service.title}</h3>
|
<h2>{service.title}</h2>
|
||||||
<p>{service.shortDesc}</p>
|
<p>{service.shortDesc}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -50,8 +50,8 @@ export default function RehabilitationPage() {
|
|||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<Link href={`/rehabilitation/${service.slug}`}>
|
<Link href={`/rehabilitation/${service.slug}`} aria-label="rehabilitation">
|
||||||
<img src={service.mainImage} alt={service.title} />
|
<img src={service.mainImage} alt={service.title} loading="lazy"/>
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
@ -62,9 +62,9 @@ export default function RehabilitationPage() {
|
|||||||
alt={`${service.title} Icon`}
|
alt={`${service.title} Icon`}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<h3>
|
<h2>
|
||||||
<Link href={`/rehabilitation/${service.slug}`}>{service.title}</Link>
|
<Link href={`/rehabilitation/${service.slug}`} aria-label="Service Title">{service.title}</Link>
|
||||||
</h3>
|
</h2>
|
||||||
<p
|
<p
|
||||||
className='text-start'
|
className='text-start'
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@ -5,7 +5,9 @@ import { motion } from "framer-motion"
|
|||||||
import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
|
import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
|
||||||
import PortfolioFilter1 from "@/components/elements/Shortcodes"
|
import PortfolioFilter1 from "@/components/elements/Shortcodes"
|
||||||
import CounterUp from "@/components/elements/CounterUp"
|
import CounterUp from "@/components/elements/CounterUp"
|
||||||
import Image from "next/image"
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
import { teamMembers } from "@/utils/constant.utils";
|
import { teamMembers } from "@/utils/constant.utils";
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
@ -21,7 +23,7 @@ export default function Home() {
|
|||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title mb_50 centred">
|
<div className="sec-title mb_50 centred">
|
||||||
<span className="sub-title">Shortcodes</span>
|
<span className="sub-title">Shortcodes</span>
|
||||||
<h2>Icon list content</h2>
|
<h2>Icon List Content</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-4 col-md-6 col-sm-12 pricing-block">
|
<div className="col-lg-4 col-md-6 col-sm-12 pricing-block">
|
||||||
@ -30,11 +32,11 @@ export default function Home() {
|
|||||||
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
||||||
<div className="table-content">
|
<div className="table-content">
|
||||||
<ul className="feature-list clearfix">
|
<ul className="feature-list clearfix">
|
||||||
<li>On call 24/7 for client needs</li>
|
<li>Available 24/7 to support client needs</li>
|
||||||
<li>Flexible and fast scheduling</li>
|
<li>Flexible and quick appointment scheduling</li>
|
||||||
<li>Discuss and receive guidance</li>
|
<li>Guidance and support for care decisions</li>
|
||||||
<li>Thorough care management and family support</li>
|
<li>Comprehensive care management with family coordination</li>
|
||||||
<li>Double the care team staff of other agencies</li>
|
<li>Staffing levels higher than traditional care agencies</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -46,11 +48,11 @@ export default function Home() {
|
|||||||
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
||||||
<div className="table-content">
|
<div className="table-content">
|
||||||
<ul className="feature-list clearfix">
|
<ul className="feature-list clearfix">
|
||||||
<li>Assisting with walking and transferring from bed to wheelchair</li>
|
<li>Help with walking, mobility, and transfers from bed or wheelchair</li>
|
||||||
<li>Bathing, dressing and grooming assistance</li>
|
<li>Assistance with bathing, dressing, and daily grooming</li>
|
||||||
<li>Medication reminders</li>
|
<li>Medication reminders and routine monitoring</li>
|
||||||
<li>Safety and fall prevention</li>
|
<li>Safety support and fall-prevention oversight</li>
|
||||||
<li>Toileting and incontinence care</li>
|
<li>Toileting support and incontinence care</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -62,11 +64,11 @@ export default function Home() {
|
|||||||
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
<div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-22.png)' }}></div>
|
||||||
<div className="table-content">
|
<div className="table-content">
|
||||||
<ul className="feature-list clearfix">
|
<ul className="feature-list clearfix">
|
||||||
<li>Light housekeeping</li>
|
<li>Light housekeeping to maintain a clean environment</li>
|
||||||
<li>Meal preparation and nutrition</li>
|
<li>Meal prep and nutritional support</li>
|
||||||
<li>Grocery shopping and errands</li>
|
<li>Grocery shopping and essential errands</li>
|
||||||
<li>Transportation to social and recreational activities</li>
|
<li>Transportation to social and recreational activities</li>
|
||||||
<li>Assistance with light exercise and outdoor activity</li>
|
<li>Support with gentle exercise and outdoor activities</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -131,11 +133,11 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<ul className="list-style-one clearfix mt-4">
|
<ul className="list-style-one clearfix mt-4">
|
||||||
<li>On call 24/7 for client needs</li>
|
<li>Routine vital-sign checks to track ongoing health changes</li>
|
||||||
<li>Flexible and fast scheduling</li>
|
<li>Monitoring symptoms and reporting concerns promptly</li>
|
||||||
<li>Regular quality assurance</li>
|
<li>Support with managing chronic health conditions at home</li>
|
||||||
<li>Thorough care management and family support</li>
|
<li>Guidance on hydration, rest, and daily wellness habits</li>
|
||||||
<li>Double the care team staff of other agencies</li>
|
<li>Coordinated communication with healthcare providers</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -145,11 +147,11 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<ul className="list-style-one clearfix mt-4">
|
<ul className="list-style-one clearfix mt-4">
|
||||||
<li>Medication reminders</li>
|
<li>Friendly companion visits to reduce loneliness and isolation</li>
|
||||||
<li>Safety and fall prevention</li>
|
<li>Assistance with hobbies, reading, and meaningful activities</li>
|
||||||
<li>Toileting and incontinence care</li>
|
<li>Encouragement to stay socially connected with family</li>
|
||||||
<li>Bathing, dressing and grooming assistance</li>
|
<li>Calm reassurance during stressful or challenging moments</li>
|
||||||
<li>Assisting with walking and transferring from bed to wheelchair</li>
|
<li>Conversation-based support to promote emotional wellbeing</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -159,11 +161,11 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<ul className="list-style-one clearfix mt-4">
|
<ul className="list-style-one clearfix mt-4">
|
||||||
<li>Light housekeeping</li>
|
<li>Home safety evaluations to identify risk factors and hazards</li>
|
||||||
<li>Meal preparation and nutrition</li>
|
<li>Recommendations for simple accessibility improvements</li>
|
||||||
<li>Grocery shopping and errands</li>
|
<li>Assistance organizing household items for easy reach</li>
|
||||||
<li>Transportation to social and recreational activities</li>
|
<li>Support with managing home clutter and safe pathways</li>
|
||||||
<li>Assistance with light exercise and outdoor activity</li>
|
<li>Help adapting living spaces to suit mobility needs</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -179,8 +181,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/daily-care.webp" alt="Daily Care Experts" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/daily-care.webp" alt="Daily Care Experts" /></div>
|
||||||
<h3><Link href="/">Daily Care Experts</Link></h3>
|
<h3><Link href="/" aria-label="Daily care experts">Daily Care Experts</Link></h3>
|
||||||
<p>We specialize in around the clock care to help seniors live well at home.</p>
|
<p>We deliver reliable around-the-clock support designed to help seniors stay independent, safe, and comfortable at home.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -189,8 +191,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/balanced-care.webp" alt="Balanced Care" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/balanced-care.webp" alt="Balanced Care" /></div>
|
||||||
<h3><Link href="/">Balanced Care</Link></h3>
|
<h3><Link href="/" aria-label="Balanced care">Balanced Care</Link></h3>
|
||||||
<p>Our unique approach to care promotes healthy mind, body and spirit.</p>
|
<p>Our holistic care approach supports a healthier mind, body, and spirit—promoting long-term wellbeing for every client.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -199,8 +201,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/peace.webp" alt="Peace of Mind" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/peace.webp" alt="Peace of Mind" /></div>
|
||||||
<h3><Link href="/">Peace of Mind</Link></h3>
|
<h3><Link href="/" aria-label="Peace of mind">Peace of Mind</Link></h3>
|
||||||
<p>Independent industry surveys place our client satisfaction rate at 97%.</p>
|
<p>Independent satisfaction surveys consistently rate our services at 97%, giving families confidence in the care we provide.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -209,8 +211,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/24-7.webp" alt="Available 24/7" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/24-7.webp" alt="Available 24/7" /></div>
|
||||||
<h3><Link href="/">Available 24/7</Link></h3>
|
<h3><Link href="/" aria-label="Availabele 24/7">Available 24/7</Link></h3>
|
||||||
<p>We are available 24 hours a day to provide your loved one with a caregiver.</p>
|
<p>Our caregivers are accessible day and night to ensure your loved one always receives timely support and personal attention.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -219,8 +221,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/high.webp" alt="High Caliber Caregivers" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/high.webp" alt="High Caliber Caregivers" /></div>
|
||||||
<h3><Link href="/">High Caliber Caregivers</Link></h3>
|
<h3><Link href="/" aria-label="High caliber caregivers">High Caliber Caregivers</Link></h3>
|
||||||
<p>We typically hire only 1 in 25 applicants and provide ongoing training.</p>
|
<p>We hire only top-tier applicants and provide continuous training to maintain exceptional quality and compassionate care.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -229,8 +231,8 @@ export default function Home() {
|
|||||||
<div className="feature-block-one">
|
<div className="feature-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/shortcodes/icons/trusted.webp" alt="A Trusted Partner" /></div>
|
<div className="icon-box"><img src="/assets/images/shortcodes/icons/trusted.webp" alt="A Trusted Partner" /></div>
|
||||||
<h3><Link href="/">A Trusted Partner</Link></h3>
|
<h3><Link href="/" aria-label="A trusted partner">A Trusted Partner</Link></h3>
|
||||||
<p>Nano Home Care is the trusted referral choice for elder care professionals.</p>
|
<p>Families and healthcare professionals rely on us as a preferred home-care provider for dependable and expert elder support.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -256,12 +258,9 @@ export default function Home() {
|
|||||||
<div className="icon-box mb-3 mb-lg-0">
|
<div className="icon-box mb-3 mb-lg-0">
|
||||||
<img src="/assets/images/shortcodes/icons/talk.webp" alt="Talk to one of our homecare experts, who understands your situation" />
|
<img src="/assets/images/shortcodes/icons/talk.webp" alt="Talk to one of our homecare experts, who understands your situation" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="h3-white">Talk to one of our homecare experts, who understands your situation</h3>
|
<h3 className="h3-white">Talk to a Homecare Expert Who Truly Understands Your Situation</h3>
|
||||||
<p className="mb-5 tex-color-1">
|
<p className="mb-5 tex-color-1">
|
||||||
You want to know your care provider understands what you’re going through and has the experience and
|
You deserve a care provider who genuinely understands what you’re facing and has the experience to support you through it. At NanoCare, you’re never alone - our team draws on real-world expertise and years of caring for families with similar challenges across the U.S. We listen, guide, and help you find the right care solutions with compassion and clarity.
|
||||||
expertise to address your needs. With NanoCare, you are not alone. We know how to help you because we
|
|
||||||
have learned through personal experience as well as caring for hundreds of families and clients who face
|
|
||||||
similar challenges in the US.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
@ -280,11 +279,9 @@ export default function Home() {
|
|||||||
<img src="/assets/images/shortcodes/icons/arrange.webp" alt="Arrange for a Free In-Home Assessment and receive a personalized care proposal that fits your needs" />
|
<img src="/assets/images/shortcodes/icons/arrange.webp" alt="Arrange for a Free In-Home Assessment and receive a personalized care proposal that fits your needs" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 className="h3-white">Arrange for a Free In-Home Assessment and receive a personalized care proposal that fits your needs</h3>
|
<h3 className="h3-white">Book a Free In-Home Assessment and Receive a Personalized Care Plan Designed for You</h3>
|
||||||
<p className="mb-5 tex-color-1">
|
<p className="mb-5 tex-color-1">
|
||||||
Every care situation has differences and nuances; therefore, a free in-home assessment is required to
|
Every care journey is unique. That’s why we begin with a free in-home assessment to fully understand your needs, routines, and preferences. You’ll have the chance to review and approve a customized care plan designed to provide the safest, most effective way for our caregivers to support you. This thorough process ensures your care always fits your life - not the other way around.
|
||||||
prepare a thorough care plan just for your needs that you can review, revise, and approve. This personalized
|
|
||||||
care plan will identify the best ways our caregiver can serve you.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -305,12 +302,9 @@ export default function Home() {
|
|||||||
<div className="icon-box mb-3 mb-lg-0">
|
<div className="icon-box mb-3 mb-lg-0">
|
||||||
<img src="/assets/images/shortcodes/icons/review.webp" alt="Review Our Care Proposal & Revise as You See Fit" />
|
<img src="/assets/images/shortcodes/icons/review.webp" alt="Review Our Care Proposal & Revise as You See Fit" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="h3-white">Review Our Care Proposal & Revise as You See Fit</h3>
|
<h3 className="h3-white">Review Your Care Plan & Adjust It Anytime</h3>
|
||||||
<p className="mb-5 tex-color-1">
|
<p className="mb-5 tex-color-1">
|
||||||
Once you have reviewed and approved the care plan, at NanoCare we guarantee caregiver compatibility.
|
Once you’ve reviewed and approved your customized care plan, NanoCare ensures a perfect caregiver match. We closely monitor the first visit so you can share your feedback and tell us if everything feels right. If the fit isn’t ideal, we use your input to quickly make adjustments and match you with the right caregiver for future visits.
|
||||||
We strive to make a successful match at the first shift. We follow up after the first shift so that you can
|
|
||||||
tell us whether we have the right match. In the unusual case where we miss, we use the feedback to
|
|
||||||
select the right one for subsequent visits.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
@ -329,11 +323,10 @@ export default function Home() {
|
|||||||
<img src="/assets/images/shortcodes/icons/schedule.webp" alt="Schedule for Care to Start" />
|
<img src="/assets/images/shortcodes/icons/schedule.webp" alt="Schedule for Care to Start" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 className="h3-white">Schedule for Care to Start</h3>
|
<h3 className="h3-white">Schedule Your Care to Begin</h3>
|
||||||
<p className="mb-5 tex-color-1">
|
<p className="mb-5 tex-color-1">
|
||||||
NanoCare provides a secure, confidential, and easy-to-use Web application called <strong>Family Room</strong>
|
NanoCare offers a secure, easy-to-use online portal called <strong>Family Room, </strong>
|
||||||
that you can access using a mobile device or on a desktop computer. You can see the schedule, who the
|
accessible from any mobile device or computer. You can view your care schedule, see which caregiver is assigned, track completed tasks, and monitor any notes or concerns in real time. This keeps your entire care experience transparent, organized, and stress-free.
|
||||||
caregivers are, tasks planned, completed, and, if incomplete, the reason for it, and any care notes and concerns.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -349,6 +342,7 @@ export default function Home() {
|
|||||||
<section className="process-section pt_90 pb_90">
|
<section className="process-section pt_90 pb_90">
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-19.png"
|
src="/assets/images/shape/shape-19.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -364,6 +358,7 @@ export default function Home() {
|
|||||||
<div className="inner-container">
|
<div className="inner-container">
|
||||||
<div className="arrow-shape">
|
<div className="arrow-shape">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-18.webp"
|
src="/assets/images/shape/shape-18.webp"
|
||||||
alt=" Physiotherapy at Rapharehab"
|
alt=" Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -376,7 +371,7 @@ export default function Home() {
|
|||||||
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-1.webp" alt="call and speak" /></figure>
|
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-1.webp" alt="call and speak" /></figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>Step 1</h3>
|
<h3>Step 1</h3>
|
||||||
<p>Call and speak to one of our friendly team who will discuss the setup process and outline our packages.</p>
|
<p>Call and connect with a member of our friendly team. They’ll walk you through the setup process, explain how our services work, and outline the care packages available to you.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -386,7 +381,7 @@ export default function Home() {
|
|||||||
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-2.webp" alt="Physiotherapy at Rapharehab" /></figure>
|
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-2.webp" alt="Physiotherapy at Rapharehab" /></figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>Step 2</h3>
|
<h3>Step 2</h3>
|
||||||
<p>Request a home visit where we will provide you with a free, no obligation assessment.</p>
|
<p>Schedule a home visit, where we’ll provide a free, no-obligation assessment. This helps us understand your needs and recommend the right care approach for you or your loved one.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -396,7 +391,7 @@ export default function Home() {
|
|||||||
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-3.webp" alt="Physiotherapy at Rapharehab" /></figure>
|
<figure className="image-box"><img src="/assets/images/shortcodes/step/step-3.webp" alt="Physiotherapy at Rapharehab" /></figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>Step 3</h3>
|
<h3>Step 3</h3>
|
||||||
<p>Once agreed, we will setup your care package and introduce you to your Care Worker.</p>
|
<p>Once you’re happy with the plan, we’ll set up your personalized care package and introduce you to your dedicated Care Worker to begin your support smoothly.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -425,10 +420,10 @@ export default function Home() {
|
|||||||
<h2>Why Choose Us</h2>
|
<h2>Why Choose Us</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p className="tex-color-1">NanoCare is committed to being your shoulder to lean on and providing honest advice for your loved one’s situation during this delicate time. No one should feel alone when looking for senior home care solutions. </p>
|
<p className="tex-color-1">NanoCare is dedicated to being a steady support system for you and your loved ones - offering honest guidance, compassionate care, and trusted expertise during sensitive moments. We believe no family should feel overwhelmed or alone when navigating senior home care options.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/contact" className="theme-btn btn-one-new"><span>Book Appointment</span></Link>
|
<Link href="/contact" className="theme-btn btn-one-new" aria-label="Booke appointment"><span>Book Appointment</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -447,8 +442,8 @@ export default function Home() {
|
|||||||
<figure className="image"><img src="/assets/images/shortcodes/hourly-home-care.webp" alt="Hourly home care" /></figure>
|
<figure className="image"><img src="/assets/images/shortcodes/hourly-home-care.webp" alt="Hourly home care" /></figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content2">
|
<div className="lower-content2">
|
||||||
<h3>Hourly home care</h3>
|
<h3>Hourly Home Care</h3>
|
||||||
<p>Hourly home care allows clients to use our caregivers on an hourly or as-needed basis.</p>
|
<p>Hourly home care gives clients the flexibility to access support only when needed. Whether it’s help with meals, personal care, or companionship, our caregivers provide reliable assistance on an hourly or as-needed basis.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -460,8 +455,8 @@ export default function Home() {
|
|||||||
<figure className="image"><img src="/assets/images/shortcodes/daily-home-care.webp" alt="Daily home care" /></figure>
|
<figure className="image"><img src="/assets/images/shortcodes/daily-home-care.webp" alt="Daily home care" /></figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content2">
|
<div className="lower-content2">
|
||||||
<h3>Daily home care</h3>
|
<h3>Daily Home Care</h3>
|
||||||
<p> Daily Care provides older adults with 24/7, around-the-clock care. Clients and their families enjoy peace of mind with reliable.</p>
|
<p>Daily home care ensures older adults receive consistent 24/7 support right at home. From morning routines to evening check-ins, families gain peace of mind knowing their loved one has dependable, round-the-clock care.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -473,8 +468,8 @@ export default function Home() {
|
|||||||
<figure className="image"><img src="/assets/images/shortcodes/hospital-to-home-care.webp" alt="Hospital to home care" /></figure>
|
<figure className="image"><img src="/assets/images/shortcodes/hospital-to-home-care.webp" alt="Hospital to home care" /></figure>
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content2">
|
<div className="lower-content2">
|
||||||
<h3>Hospital to home care</h3>
|
<h3>Hospital to Home Care</h3>
|
||||||
<p>One of the leading causes of hospital readmission or slow post-hospitalization recovery is the lack of proper support following a hospital discharge.</p>
|
<p>Transitioning from hospital to home can be challenging without proper support. Our hospital-to-home services assist with safe discharge, recovery routines, medication reminders, and mobility help - reducing readmissions and promoting a smoother recovery at home.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -486,6 +481,7 @@ export default function Home() {
|
|||||||
<section className="testimonial-section pt_90 pb_90 bg-color-1" id="testimonial">
|
<section className="testimonial-section pt_90 pb_90 bg-color-1" id="testimonial">
|
||||||
<div className="bg-layer">
|
<div className="bg-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shortcodes/testimonials-carousel.webp"
|
src="/assets/images/shortcodes/testimonials-carousel.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -495,6 +491,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-21.webp"
|
src="/assets/images/shape/shape-21.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -531,7 +528,7 @@ export default function Home() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="theme-btn btn-one-new-raw"
|
className="theme-btn btn-one-new-raw"
|
||||||
>
|
aria-label="Reviee us on google">
|
||||||
<span>Review us on Google</span>
|
<span>Review us on Google</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@ -552,7 +549,7 @@ export default function Home() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={2000} /><span>+</span>
|
<CounterUp end={2000} /><span>+</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Home health care professionals</span>
|
<span className="text-new">Patients Successfully Treated</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -563,7 +560,7 @@ export default function Home() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={300} /><span>+</span>
|
<CounterUp end={300} /><span>+</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Office <br /> locations</span>
|
<span className="text-new">Treatment Plans Delivered Each Year</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -574,7 +571,7 @@ export default function Home() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={68} /><span></span>
|
<CounterUp end={68} /><span></span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">States served by nanocare</span>
|
<span className="text-new">Specialized Techniques & Modalities </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -585,7 +582,7 @@ export default function Home() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={97} /><span>%</span>
|
<CounterUp end={97} /><span>%</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Our client satisfaction rate</span>
|
<span className="text-new">Patient Satisfaction Rating</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -620,7 +617,7 @@ export default function Home() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
|
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`} aria-label="Our team physiotherapy etobicoke members name">{member.name}</Link>
|
||||||
</h3>
|
</h3>
|
||||||
<span className="designation">{member.designation}</span>
|
<span className="designation">{member.designation}</span>
|
||||||
{/* <ul className="social-links clearfix">
|
{/* <ul className="social-links clearfix">
|
||||||
|
|||||||
@ -2,10 +2,12 @@ import Link from "next/link"
|
|||||||
import Layout from "@/components/layout/Layout"
|
import Layout from "@/components/layout/Layout"
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "What to expect at Physiotherapy Etobicoke - Rapha Physiotherapy etobicoke",
|
title: "What to Expect at RaphaRehab",
|
||||||
description:
|
description:
|
||||||
"Discover what to expect at Rapha Physiotherapy: from a comprehensive first-day assessment to your initial treatment and long-term plan for lasting recovery.",
|
"Learn what to expect during your first visit at RaphaRehab, including assessments, treatment planning, therapies, caregiver guidance, and ongoing support.",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -24,6 +26,7 @@ export default function About() {
|
|||||||
<div className="image-shape">
|
<div className="image-shape">
|
||||||
<div className="shape-1 rotate-me">
|
<div className="shape-1 rotate-me">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-8.webp"
|
src="/assets/images/shape/shape-8.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -33,6 +36,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-33.png"
|
src="/assets/images/shape/shape-33.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -51,6 +55,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-34.png"
|
src="/assets/images/shape/shape-34.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -60,6 +65,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -79,11 +85,11 @@ export default function About() {
|
|||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="sec-title mb_15">
|
<div className="sec-title mb_15">
|
||||||
<span className="sub-title"> What To Expect</span>
|
<span className="sub-title"> What To Expect</span>
|
||||||
<h2>What to Expect – Physiotherapy Etobicoke</h2>
|
<h2>What To Expect – Rapharehab Physiotherapy in Etobicoke</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<p>On the first day of your visit, you will receive a thorough assessment allows our healthcare professionals to understand your injury to determine how we can help. Following the initial assessment at our physiotherapy clinic etobicoke, we will discuss our ¬findings, and set a realistic treatment plan to help you gain long-term results. All of your questions will be answered.</p>
|
<p>On your first visit, you will receive a detailed assessment that helps our healthcare professionals understand your injury and determine how we can support your recovery. After completing your initial evaluation at our physiotherapy clinic in Etobicoke, we will review the findings with you and create a personalized treatment plan designed to provide long-term results. All your questions will be thoroughly answered.</p>
|
||||||
<p>On the second day at our etobicoke physiotherapy clinic, you will receive your first full treatment. The treatment session time will vary based on the level of injury and also after treatment session we will teach you pain management techniques.</p>
|
<p>During your second visit to our Etobicoke physiotherapy clinic, you will begin your first full treatment session. The duration of each session varies depending on your condition and recovery needs. After treatment, we will guide you through pain-management strategies and techniques to support your progress at home.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,16 +1,25 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
import { useState, useEffect } from "react";
|
||||||
import Layout from "@/components/layout/Layout";
|
import Layout from "@/components/layout/Layout";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
|
||||||
export default function Team() {
|
export default function Team() {
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const teamMembers = [
|
const teamMembers = [
|
||||||
// { name: 'Musculoskeletal Physiotherapy', role: 'Medical Assistant', image: 'assets/images/team/team-1.jpg' },
|
|
||||||
{ name: 'Musculoskeletal Physiotherapy', image: '/assets/images/why-us/img/musculo.webp' },
|
{ name: 'Musculoskeletal Physiotherapy', image: '/assets/images/why-us/img/musculo.webp' },
|
||||||
{ name: 'Sports Physiotherapy', image: '/assets/images/why-us/img/sports.webp' },
|
{ name: 'Sports Physiotherapy', image: '/assets/images/why-us/img/sports.webp' },
|
||||||
{ name: 'Clinical Pilates', image: '/assets/images/why-us/img/clinical-pilates.webp' },
|
{ name: 'Clinical Pilates', image: '/assets/images/why-us/img/clinical-pilates.webp' },
|
||||||
{ name: 'Workplace & Occupational', image: '/assets/images/why-us/img/workplace.webp' },
|
{ name: 'Workplace & Occupational', image: '/assets/images/why-us/img/workplace.webp' },
|
||||||
{ name: 'Sports Rehabilitation', image: '/assets/images/why-us/img/sports-rehabilation.webp' },
|
{ name: 'Sports Rehabilitation', image: '/assets/images/why-us/img/sports-rehabilation.webp' },
|
||||||
{ name: 'Women’s health', image: '/assets/images/why-us/img/women-health.webp' },
|
{ name: 'Womens health', image: '/assets/images/why-us/img/women-health.webp' },
|
||||||
{ name: 'Back & Neck Pain', image: '/assets/images/why-us/img/back-pain.webp' },
|
{ name: 'Back & Neck Pain', image: '/assets/images/why-us/img/back-pain.webp' },
|
||||||
{ name: 'Fitness & Exercise Programs', image: '/assets/images/why-us/img/fitness.webp' },
|
{ name: 'Fitness & Exercise Programs', image: '/assets/images/why-us/img/fitness.webp' },
|
||||||
{ name: 'Pregnancy and Post-natal', image: '/assets/images/why-us/img/pregnancy.webp' },
|
{ name: 'Pregnancy and Post-natal', image: '/assets/images/why-us/img/pregnancy.webp' },
|
||||||
@ -18,6 +27,7 @@ export default function Team() {
|
|||||||
{ name: 'Injury Management', image: '/assets/images/why-us/img/injury.webp' },
|
{ name: 'Injury Management', image: '/assets/images/why-us/img/injury.webp' },
|
||||||
{ name: 'Pre/Post Surgical Management', image: '/assets/images/why-us/img/surgical.webp' },
|
{ name: 'Pre/Post Surgical Management', image: '/assets/images/why-us/img/surgical.webp' },
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout headerStyle={1} footerStyle={1} breadcrumbTitle="Why Us" bannerImage="/assets/images/why-us/why-us-banner.webp">
|
<Layout headerStyle={1} footerStyle={1} breadcrumbTitle="Why Us" bannerImage="/assets/images/why-us/why-us-banner.webp">
|
||||||
<section className="team-section pt_90 centred pb-0">
|
<section className="team-section pt_90 centred pb-0">
|
||||||
@ -39,18 +49,11 @@ export default function Team() {
|
|||||||
style={{ objectFit: "cover" }}
|
style={{ objectFit: "cover" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{/* <div className="shape">
|
|
||||||
<div className="shape-1 float-bob-y" style={{ backgroundImage: 'url(/assets/images/shape/shape-15.png)' }}></div>
|
|
||||||
<div className="shape-2"></div>
|
|
||||||
<div className="shape-3 float-bob-x" style={{ backgroundImage: 'url(/assets/images/shape/shape-16.png)' }}></div>
|
|
||||||
</div> */}
|
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title mb_50">
|
<div className="sec-title mb_50">
|
||||||
<span className="sub-title">Why Choose Us</span>
|
<span className="sub-title">Why Choose Us</span>
|
||||||
<h2>We have licensed and experienced therapists with particular interests and expertise in.</h2>
|
<h2>We Have Licensed and Experienced Therapists With Specialized Skills and Advanced Clinical Expertise.</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
{teamMembers.map((member, index) => (
|
{teamMembers.map((member, index) => (
|
||||||
@ -59,12 +62,6 @@ export default function Team() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image"><img src={member.image} alt={`${member.name}`} /></figure>
|
<figure className="image"><img src={member.image} alt={`${member.name}`} /></figure>
|
||||||
{/* <ul className="social-links clearfix">
|
|
||||||
<li><Link href="/#"><i className="icon-4"></i></Link></li>
|
|
||||||
<li><Link href="/#"><i className="icon-5"></i></Link></li>
|
|
||||||
<li><Link href="/#"><i className="icon-6"></i></Link></li>
|
|
||||||
<li><Link href="/#"><i className="icon-7"></i></Link></li>
|
|
||||||
</ul> */}
|
|
||||||
</div>
|
</div>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>{member.name}</h3>
|
<h3>{member.name}</h3>
|
||||||
@ -78,7 +75,6 @@ export default function Team() {
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<section className="testimonial-style-two pb_90 p_relative">
|
<section className="testimonial-style-two pb_90 p_relative">
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
@ -90,7 +86,6 @@ export default function Team() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="row align-items-center">
|
<div className="row align-items-center">
|
||||||
{/* LEFT IMAGE / RIGHT CONTENT */}
|
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column order-2 order-lg-1">
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column order-2 order-lg-1">
|
||||||
<div className="image_block_two">
|
<div className="image_block_two">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
@ -103,17 +98,13 @@ export default function Team() {
|
|||||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column order-1 order-lg-2 pr_30">
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column order-1 order-lg-2 pr_30">
|
||||||
<div className="content_block_one">
|
<div className="content_block_one">
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
{/* <div className="sec-title mb_15">
|
|
||||||
<span className="sub-title">About Us</span>
|
|
||||||
<h2>Medical services & diagnostics</h2>
|
|
||||||
</div> */}
|
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<ul className="list-style-one clearfix">
|
<ul className="list-style-one clearfix">
|
||||||
<li>Team of health care professionals – We are a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients.</li>
|
<li><b>Team of Health Care Professionals </b> - We are a dedicated team of health care providers working together to help you recover better and faster. Our collaborative approach ensures you receive the highest quality care and the best possible treatment outcomes.</li>
|
||||||
<li>Our health care team consists of Physiotherapists, Massage Therapists, acupuncture specialists & other health care professionals, each bringing you their distinctive skills and abilities to assist you in improving your health & providing you with the latest evidence-based treatments.</li>
|
<li><b>Skilled & Diverse Clinical Team </b> - Our team includes Physiotherapists, Massage Therapists, Acupuncture Specialists, and other health professionals. Each brings unique skills to improve your health and deliver effective, evidence-based treatments tailored to your needs.</li>
|
||||||
<li>Health insurance – If you have a health insurance, we treat you without asking for an upfront payment. Instead we bill your insurance company directly without creating a hassle for you.</li>
|
<li><b>Direct Billing for Insurance</b> - If you have extended health insurance, we provide treatment without asking for upfront payment. We bill your insurance company directly, ensuring a smooth and hassle-free experience.</li>
|
||||||
<li>Wide range of services and treatments – We offer wide range of unique services such as physiotherapy, sports rehabilitation, acupuncture, manual therapy, motor vehicle accident rehabilitation, work related injury treatments, chronic injury management and other services so we can assist you in recovering to the best possible condition.</li>
|
<li><b>Wide Range of Services</b> - We offer a comprehensive range of treatments, including physiotherapy, sports rehabilitation, acupuncture, manual therapy, MVA rehab, work-related injury care, chronic pain management, and more - helping you recover to your highest potential.</li>
|
||||||
<li>Flexible opening hours – Our clinic is conveniently located in etobicoke and scarborough and provide you the best services even in early mornings and late evenings.</li>
|
<li><b>Flexible Clinic Hours</b> - Our clinic is conveniently located in Etobicoke and Scarborough, offering flexible hours to serve you better. We provide early morning and late evening appointments to fit your schedule.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -124,10 +115,8 @@ export default function Team() {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section className="testimonial-style-two p_relative pt-5">
|
<section className="testimonial-style-two p_relative pt-5">
|
||||||
{/* <div className="pattern-layer" style={{ backgroundImage: 'url(assets/images/shape/shape-19.png)' }}></div> */}
|
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="row align-items-center flex-row-reverse">
|
<div className="row align-items-center flex-row-reverse">
|
||||||
{/* RIGHT IMAGE / LEFT CONTENT */}
|
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column order-2 order-lg-1">
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column order-2 order-lg-1">
|
||||||
<div className="image_block_two">
|
<div className="image_block_two">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
@ -140,17 +129,13 @@ export default function Team() {
|
|||||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column order-1 order-lg-2">
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column order-1 order-lg-2">
|
||||||
<div className="content_block_one pr_30">
|
<div className="content_block_one pr_30">
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
{/* <div className="sec-title mb_15">
|
|
||||||
<span className="sub-title">About Us</span>
|
|
||||||
<h2>Medical services & diagnostics</h2>
|
|
||||||
</div> */}
|
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
<ul className="list-style-one clearfix">
|
<ul className="list-style-one clearfix">
|
||||||
<li>Top-Notch Treatment – Under our care, you will be placed in a supportive and comfortable environment helping you receive care in comfortable and supportive environment designed to address your issues.</li>
|
<li><b>Top-Notch Treatment</b> – Under our care, you’re placed in a supportive and comfortable environment designed to help you feel at ease while receiving effective treatment for your concerns.</li>
|
||||||
<li>Personalized Treatment Plan – We offer One-on-one care with a skilled therapist allows us to develop a plan specific to your particular needs results in a faster recovery.</li>
|
<li><b>Personalized Treatment Plan</b> – We provide one-on-one care with a skilled therapist who creates a tailored plan specific to your needs, helping you recover faster and more efficiently.</li>
|
||||||
<li>We listen & take time – We listen & take time to get to know you properly – Right from the start with your inquiry, we are here to listen and help find the root cause of your problem.</li>
|
<li><b>We Listen & Take Time</b> – From your very first inquiry, we take the time to understand you properly. We listen, ask the right questions, and work with you to identify the root cause of your problem.</li>
|
||||||
<li>Our treatment rooms – Our treatment rooms are fully equipped and private.</li>
|
<li><b>Private Treatment Rooms</b> – All our treatment rooms are fully equipped, clean, and designed to provide a private and comfortable therapy experience.</li>
|
||||||
<li>Strong network of health professionals – We have a strong network of health professionals to refer to, making sure you get the right diagnosis and correct treatment for your condition.</li>
|
<li><b>Strong Network of Health Professionals</b> – We collaborate with a trusted network of healthcare experts to ensure you receive the right diagnosis, guidance, and treatment for your condition.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -182,24 +167,21 @@ export default function Team() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* <div className="video-btn">
|
<p className="inner-box-new-color">
|
||||||
<a onClick={() => setOpen(true)}><i className="fas fa-play"></i>
|
Rapha Rehab provides exceptional physiotherapy care for patients in Etobicoke and Scarborough with personalized treatment plans designed to meet your specific needs. Whether you are experiencing pain or recovering from a recent injury, our dedicated physiotherapists will help you return to the activities you enjoy and love. Contact us today at 647-722-3434 or email {email ? (
|
||||||
<span className="border-animation border-1"></span>
|
<Link href={`mailto:${email}`} style={{ color: "inherit" }}>{email}</Link>
|
||||||
<span className="border-animation border-2"></span>
|
) : (
|
||||||
<span className="border-animation border-3"></span>
|
<span>Loading...</span>
|
||||||
</a>
|
)} to schedule your appointment or book a consultation.
|
||||||
</div> */}
|
</p>
|
||||||
<p className="inner-box-new-color">Rapha rehab offers patients in etobicoke and scarborough exceptional care with a personalized treatment plan to suit your specific needs. If you are suffering from pain or have recently experienced an injury, our etobicoke and scarborough Physiotherapists will ensure you get back to the activities you enjoy and love. Call us at 647-722-3434 for an appointment today or email us at bloor@rapharehab.ca to book a consultation.</p>
|
|
||||||
<div className="btn-box mt-4">
|
<div className="btn-box mt-4">
|
||||||
<Link href="/contact" className="theme-btn btn-one-blue">
|
<Link href="/contact" className="theme-btn btn-one-blue" aria-label="Make an appointment">
|
||||||
<span>Make an Appointment</span>
|
<span>Make an Appointment</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</Layout>
|
</Layout>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
17
app/why-choose-us/page.js
Normal file
17
app/why-choose-us/page.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import Layout from "@/components/layout/Layout";
|
||||||
|
import AboutClient from "../about-us/AboutClient";
|
||||||
|
import Team from "../why-choose-us/WhyusClient";
|
||||||
|
|
||||||
|
export const metadata = {
|
||||||
|
title: "Why Choose RaphaRehab",
|
||||||
|
description:
|
||||||
|
"Discover why RaphaRehab is trusted for compassionate, reliable, and personalized home-care services focused on comfort, safety, and professional support.",
|
||||||
|
};
|
||||||
|
|
||||||
|
export default function AboutPage() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Team />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -1,17 +0,0 @@
|
|||||||
import Layout from "@/components/layout/Layout";
|
|
||||||
import AboutClient from "../about-us/AboutClient";
|
|
||||||
import Team from "../why-rapha-physiotherapy-etobicoke/WhyusClient";
|
|
||||||
|
|
||||||
export const metadata = {
|
|
||||||
title: "Why Choose Rapharehab – Trusted Rehab Professionals",
|
|
||||||
description:
|
|
||||||
"Discover why Rapharehab is the preferred choice for rehab care. Our expert team, personalized approach, and proven results set us apart.",
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function AboutPage() {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Team />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -4,6 +4,15 @@ import ReCAPTCHA from "react-google-recaptcha";
|
|||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
export default function AutoPopup() {
|
export default function AutoPopup() {
|
||||||
|
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const [show, setShow] = useState(false);
|
const [show, setShow] = useState(false);
|
||||||
const [formData, setFormData] = useState({
|
const [formData, setFormData] = useState({
|
||||||
username: "",
|
username: "",
|
||||||
@ -49,7 +58,7 @@ export default function AutoPopup() {
|
|||||||
const emailData = {
|
const emailData = {
|
||||||
...formData,
|
...formData,
|
||||||
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
|
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
|
||||||
to: "bloor@rapharehab.ca",
|
to: email,
|
||||||
senderName: "Rapha Rehab Auto Popup",
|
senderName: "Rapha Rehab Auto Popup",
|
||||||
recaptchaToken: captchaToken,
|
recaptchaToken: captchaToken,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,12 +1,19 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import React, { useState } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import ReCAPTCHA from "react-google-recaptcha";
|
import ReCAPTCHA from "react-google-recaptcha";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
|
||||||
export default function ContactFloat() {
|
export default function ContactFloat() {
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
const [showChat, setShowChat] = useState(false);
|
const [showChat, setShowChat] = useState(false);
|
||||||
const [showSocial, setShowSocial] = useState(false);
|
const [showSocial, setShowSocial] = useState(false);
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
/** Contact actions */
|
/** Contact actions */
|
||||||
const extraIcons = [
|
const extraIcons = [
|
||||||
@ -14,7 +21,7 @@ export default function ContactFloat() {
|
|||||||
href: "tel:647-722-3434",
|
href: "tel:647-722-3434",
|
||||||
src: "/assets/images/icons/call.webp",
|
src: "/assets/images/icons/call.webp",
|
||||||
label: "Call",
|
label: "Call",
|
||||||
newTab: true,
|
newTab: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
action: () => setShowChat(true),
|
action: () => setShowChat(true),
|
||||||
@ -67,7 +74,7 @@ export default function ContactFloat() {
|
|||||||
bottom: "11px",
|
bottom: "11px",
|
||||||
background: "rgb(255, 255, 255)",
|
background: "rgb(255, 255, 255)",
|
||||||
borderRadius: "30px 30px 35px 35px",
|
borderRadius: "30px 30px 35px 35px",
|
||||||
boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.2)",
|
boxShadow: "0px 4px 12px rgba(0, 0, 0, 0.2)",
|
||||||
padding: "10px",
|
padding: "10px",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
flexDirection: "column",
|
flexDirection: "column",
|
||||||
@ -79,7 +86,7 @@ export default function ContactFloat() {
|
|||||||
>
|
>
|
||||||
{extraIcons.map((icon, i) =>
|
{extraIcons.map((icon, i) =>
|
||||||
icon.href ? (
|
icon.href ? (
|
||||||
<a
|
<a
|
||||||
key={i}
|
key={i}
|
||||||
href={icon.href}
|
href={icon.href}
|
||||||
aria-label={icon.label}
|
aria-label={icon.label}
|
||||||
@ -103,7 +110,7 @@ export default function ContactFloat() {
|
|||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
) : (
|
) : (
|
||||||
<button
|
<button
|
||||||
key={i}
|
key={i}
|
||||||
onClick={icon.action}
|
onClick={icon.action}
|
||||||
aria-label={icon.label}
|
aria-label={icon.label}
|
||||||
@ -130,7 +137,7 @@ export default function ContactFloat() {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
aria-label={open ? "Close" : "Contact Us"}
|
aria-label={open ? "Close" : "Contact Us"}
|
||||||
className="contact-icon-outer toggle-btn"
|
className="contact-icon-outer toggle-btn"
|
||||||
@ -157,7 +164,7 @@ export default function ContactFloat() {
|
|||||||
zIndex: 9999,
|
zIndex: 9999,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src={
|
src={
|
||||||
open
|
open
|
||||||
? "/assets/images/cancel.png"
|
? "/assets/images/cancel.png"
|
||||||
@ -166,11 +173,11 @@ export default function ContactFloat() {
|
|||||||
alt="Contact"
|
alt="Contact"
|
||||||
style={{ width: "28px", height: "28px" }}
|
style={{ width: "28px", height: "28px" }}
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{showSocial && (
|
{showSocial && (
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
position: "fixed",
|
position: "fixed",
|
||||||
bottom: "11%",
|
bottom: "11%",
|
||||||
@ -185,7 +192,7 @@ export default function ContactFloat() {
|
|||||||
borderRadius: "50px",
|
borderRadius: "50px",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{socialIcons.map((icon, i) => (
|
{socialIcons.map((icon, i) => (
|
||||||
<a
|
<a
|
||||||
key={i}
|
key={i}
|
||||||
href={icon.href}
|
href={icon.href}
|
||||||
@ -204,14 +211,14 @@ export default function ContactFloat() {
|
|||||||
fontSize: "22px",
|
fontSize: "22px",
|
||||||
textDecoration: "none",
|
textDecoration: "none",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<i className={icon.iconClass}></i>
|
<i className={icon.iconClass}></i>
|
||||||
</a>
|
</a>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{showChat && <ChatForm onClose={() => setShowChat(false)} />}
|
{showChat && <ChatForm onClose={() => setShowChat(false)} email={email} />}
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -234,7 +241,7 @@ function ChatForm({ onClose }) {
|
|||||||
setFormData((prev) => ({ ...prev, [name]: value }));
|
setFormData((prev) => ({ ...prev, [name]: value }));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleCaptchaChange = (token) => {
|
const handleCaptchaChange = (token) => {
|
||||||
// console.log("ReCAPTCHA token:", token);
|
// console.log("ReCAPTCHA token:", token);
|
||||||
setCaptchaToken(token);
|
setCaptchaToken(token);
|
||||||
};
|
};
|
||||||
@ -242,36 +249,36 @@ function ChatForm({ onClose }) {
|
|||||||
const handleSubmit = async (e) => {
|
const handleSubmit = async (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
// console.log("Form submitted:", formData);
|
// console.log("Form submitted:", formData);
|
||||||
|
|
||||||
const errors = {};
|
const errors = {};
|
||||||
if (!formData.username.trim()) errors.username = "First Name is required.";
|
if (!formData.username.trim()) errors.username = "First Name is required.";
|
||||||
// if (!formData.lname.trim()) errors.lname = "Last Name is required.";
|
// if (!formData.lname.trim()) errors.lname = "Last Name is required.";
|
||||||
if (!formData.email.trim()) errors.email = "Email is required.";
|
if (!formData.email.trim()) errors.email = "Email is required.";
|
||||||
if (!formData.phone.trim()) errors.phone = "Phone is required.";
|
if (!formData.phone.trim()) errors.phone = "Phone is required.";
|
||||||
if (!formData.service.trim()) errors.service = "Please select a service.";
|
if (!formData.service.trim()) errors.service = "Please select a service.";
|
||||||
if (!formData.message.trim()) errors.message = "Message is required.";
|
if (!formData.message.trim()) errors.message = "Message is required.";
|
||||||
// if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
|
// if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
|
||||||
|
|
||||||
setFormErrors(errors);
|
setFormErrors(errors);
|
||||||
if (Object.keys(errors).length > 0) {
|
if (Object.keys(errors).length > 0) {
|
||||||
// console.log("Form validation errors:", errors);
|
// console.log("Form validation errors:", errors);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const emailData = {
|
const emailData = {
|
||||||
name: formData.username,
|
name: formData.username,
|
||||||
phone: formData.phone,
|
phone: formData.phone,
|
||||||
email: formData.email,
|
email: formData.email,
|
||||||
subject: formData.service,
|
subject: formData.service,
|
||||||
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
message: `Service: ${formData.service}<br /><br/>Message: ${formData.message}`,
|
||||||
to: "bloor@rapharehab.ca",
|
to: email,
|
||||||
senderName: "Rapha Rehab Contact Page",
|
senderName: "Rapha Rehab Contact Page",
|
||||||
recaptchaToken: captchaToken,
|
recaptchaToken: captchaToken,
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await axios.post(
|
const res = await axios.post(
|
||||||
"https://mailserver.metatronnest.com/send",
|
"https://mailserver.metatronnest.com/send",
|
||||||
emailData,
|
emailData,
|
||||||
{ headers: { "Content-Type": "application/json" } }
|
{ headers: { "Content-Type": "application/json" } }
|
||||||
@ -282,11 +289,11 @@ function ChatForm({ onClose }) {
|
|||||||
type: "success",
|
type: "success",
|
||||||
message: res?.data?.message || "Message sent successfully!",
|
message: res?.data?.message || "Message sent successfully!",
|
||||||
});
|
});
|
||||||
|
|
||||||
setFormData({ username: "", email: "", phone: "", service: "", message: "" });
|
setFormData({ username: "", email: "", phone: "", service: "", message: "" });
|
||||||
setCaptchaToken(null);
|
setCaptchaToken(null);
|
||||||
setFormErrors({});
|
setFormErrors({});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setAlert({
|
setAlert({
|
||||||
show: true,
|
show: true,
|
||||||
type: "danger",
|
type: "danger",
|
||||||
@ -312,8 +319,8 @@ function ChatForm({ onClose }) {
|
|||||||
padding: "20px"
|
padding: "20px"
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div className="p-3 border-bottom d-flex justify-content-between align-items-center">
|
<div className="p-3 pb-0 border-bottom d-flex justify-content-between align-items-center">
|
||||||
<h5 className="mb-3" style={{ margin: 0, color: "#bc0000" }}>Chat with Us</h5>
|
<h4 style={{ margin: 0, color: "#bc0000" }}>Chat with Us</h4>
|
||||||
<button onClick={onClose} className="btn-close"></button>
|
<button onClick={onClose} className="btn-close"></button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -329,11 +336,11 @@ function ChatForm({ onClose }) {
|
|||||||
placeholder="Name"
|
placeholder="Name"
|
||||||
value={formData.username}
|
value={formData.username}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
className="form-control mb-2"
|
className="form-control mt-2 chat-form"
|
||||||
/>
|
/>
|
||||||
{formErrors.username && <small className="text-danger">{formErrors.username}</small>}
|
{formErrors.username && <small className="text-danger">{formErrors.username}</small>}
|
||||||
|
|
||||||
{/* <input
|
{/* <input
|
||||||
type="text"
|
type="text"
|
||||||
name="lname"
|
name="lname"
|
||||||
placeholder="Last Name"
|
placeholder="Last Name"
|
||||||
@ -343,13 +350,13 @@ function ChatForm({ onClose }) {
|
|||||||
/>
|
/>
|
||||||
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>} */}
|
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>} */}
|
||||||
|
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="phone"
|
name="phone"
|
||||||
placeholder="Phone"
|
placeholder="Phone"
|
||||||
value={formData.phone}
|
value={formData.phone}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
className="form-control mb-2"
|
className="form-control mt-3 chat-form"
|
||||||
/>
|
/>
|
||||||
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
|
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
|
||||||
|
|
||||||
@ -359,7 +366,7 @@ function ChatForm({ onClose }) {
|
|||||||
placeholder="Your Email"
|
placeholder="Your Email"
|
||||||
value={formData.email}
|
value={formData.email}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
className="form-control mb-2"
|
className="form-control mt-3 chat-form"
|
||||||
/>
|
/>
|
||||||
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
|
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
|
||||||
|
|
||||||
@ -367,7 +374,7 @@ function ChatForm({ onClose }) {
|
|||||||
name="service"
|
name="service"
|
||||||
value={formData.service}
|
value={formData.service}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
className="form-control mb-2"
|
className="form-control mt-3 chat-form"
|
||||||
>
|
>
|
||||||
<option value="">Select Service</option>
|
<option value="">Select Service</option>
|
||||||
<option value="Physio">Physio</option>
|
<option value="Physio">Physio</option>
|
||||||
@ -379,16 +386,16 @@ function ChatForm({ onClose }) {
|
|||||||
</select>
|
</select>
|
||||||
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
|
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
|
||||||
|
|
||||||
<textarea
|
<textarea
|
||||||
name="message"
|
name="message"
|
||||||
placeholder="Message"
|
placeholder="Message"
|
||||||
value={formData.message}
|
value={formData.message}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
className="form-control mb-2"
|
className="form-control mt-3"
|
||||||
></textarea>
|
></textarea>
|
||||||
{formErrors.message && <small className="text-danger">{formErrors.message}</small>}
|
{formErrors.message && <small className="text-danger">{formErrors.message}</small>}
|
||||||
|
|
||||||
<div className="mb-2">
|
<div className="mt-3">
|
||||||
<ReCAPTCHA
|
<ReCAPTCHA
|
||||||
sitekey="6Lckq9MrAAAAABjBD9rQYm19BMGFFWiwb9mPiw2K"
|
sitekey="6Lckq9MrAAAAABjBD9rQYm19BMGFFWiwb9mPiw2K"
|
||||||
onChange={handleCaptchaChange}
|
onChange={handleCaptchaChange}
|
||||||
@ -396,7 +403,7 @@ function ChatForm({ onClose }) {
|
|||||||
{formErrors.captcha && <small className="text-danger">{formErrors.captcha}</small>}
|
{formErrors.captcha && <small className="text-danger">{formErrors.captcha}</small>}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
className="btn w-100"
|
className="btn w-100"
|
||||||
type="submit"
|
type="submit"
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@ -24,7 +24,7 @@ export default function FaqSection({ faqData }) {
|
|||||||
onClick={() => handleToggle(index)}
|
onClick={() => handleToggle(index)}
|
||||||
>
|
>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>{item.question}</h5>
|
<h4>{item.question}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive === index ? "acc-content current" : "acc-content"}>
|
<div className={isActive === index ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
|
|||||||
@ -54,6 +54,7 @@ export default function SocialFloat() {
|
|||||||
color: "#fff", // White icon color
|
color: "#fff", // White icon color
|
||||||
fontSize: "22px",
|
fontSize: "22px",
|
||||||
textDecoration: "none",
|
textDecoration: "none",
|
||||||
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<i className={icon.iconClass}></i>
|
<i className={icon.iconClass}></i>
|
||||||
|
|||||||
@ -5,7 +5,7 @@ export default function BackToTop({ scroll }) {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{scroll && (
|
{scroll && (
|
||||||
<Link className="scroll-to-top scroll-to-target d-block" href="#top">
|
<Link className="scroll-to-top scroll-to-target d-block" href="#top" aria-label="Scroll top">
|
||||||
<i className="fas fa-angle-up"></i>
|
<i className="fas fa-angle-up"></i>
|
||||||
</Link>
|
</Link>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
import { useEffect } from 'react'
|
import { useEffect } from "react";
|
||||||
|
|
||||||
export default function DataBg() {
|
export default function DataBg() {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const elements = document.querySelectorAll('[data-bg]')
|
const elements = document.querySelectorAll("[data-bg]");
|
||||||
|
|
||||||
elements.forEach((element) => {
|
requestAnimationFrame(() => {
|
||||||
element.style.backgroundImage = `url(${element.getAttribute('data-bg')})`
|
elements.forEach((element) => {
|
||||||
})
|
const bg = element.getAttribute("data-bg");
|
||||||
}, [])
|
if (bg) element.style.backgroundImage = `url(${bg})`;
|
||||||
return (
|
});
|
||||||
<>
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
</>
|
return null;
|
||||||
)
|
}
|
||||||
}
|
|
||||||
|
|||||||
@ -60,7 +60,7 @@ export default function PortfolioFilter1() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box"><img src="assets/images/gallery/gallery-1.jpg" alt="" /></figure>
|
<figure className="image-box"><img src="assets/images/gallery/gallery-1.jpg" alt="" /></figure>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery" aria-label="Social Icons">
|
||||||
<i className="icon-4"></i></a>
|
<i className="icon-4"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ export default function PortfolioFilter1() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box"><img src="assets/images/gallery/gallery-2.jpg" alt="" /></figure>
|
<figure className="image-box"><img src="assets/images/gallery/gallery-2.jpg" alt="" /></figure>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery" aria-label="Social Icons">
|
||||||
<i className="icon-4"></i></a>
|
<i className="icon-4"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ export default function PortfolioFilter1() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box"><img src="assets/images/gallery/gallery-3.jpg" alt="" /></figure>
|
<figure className="image-box"><img src="assets/images/gallery/gallery-3.jpg" alt="" /></figure>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery" aria-label="Social Icons">
|
||||||
<i className="icon-4"></i></a>
|
<i className="icon-4"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ export default function PortfolioFilter1() {
|
|||||||
<figure className="image-box"><img src="assets/images/gallery/gallery-4.jpg" alt="" /></figure>
|
<figure className="image-box"><img src="assets/images/gallery/gallery-4.jpg" alt="" /></figure>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
||||||
<i className="icon-4"></i></a>
|
<i className="icon-4" aria-label="Social Icons"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -118,7 +118,7 @@ export default function PortfolioFilter1() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box"><img src="assets/images/gallery/gallery-5.jpg" alt="" /></figure>
|
<figure className="image-box"><img src="assets/images/gallery/gallery-5.jpg" alt="" /></figure>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery">
|
<div className="link-box"><a href="project-details" className="lightbox-image" data-fancybox="gallery" aria-label="Social Icons">
|
||||||
<i className="icon-4"></i></a>
|
<i className="icon-4"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ export default function Preloader() {
|
|||||||
if (!loading) return null;
|
if (!loading) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="loader-wrap">
|
<div className="loader-wrap d-flex justify-content-center align-items-center" style={{height:"100vh"}}>
|
||||||
<div className="preloader">
|
<div className="preloader">
|
||||||
<img src="/assets/images/logo.png" alt="rapharehab" className="preloader-icon" />
|
<img src="/assets/images/logo.png" alt="rapharehab" className="preloader-icon" />
|
||||||
{/* <div className="preloader-close">Preloader Close</div> */}
|
{/* <div className="preloader-close">Preloader Close</div> */}
|
||||||
|
|||||||
@ -12,21 +12,21 @@ export default function ServiceTabs1() {
|
|||||||
<div className="col-md-6">
|
<div className="col-md-6">
|
||||||
<ul className="nav nav-tabs tab-btn-style-one mr-md-4" role="tablist">
|
<ul className="nav nav-tabs tab-btn-style-one mr-md-4" role="tablist">
|
||||||
<li className="nav-item" onClick={() => handleOnClick(1)}>
|
<li className="nav-item" onClick={() => handleOnClick(1)}>
|
||||||
<a className={activeIndex == 1 ? "nav-link active" : "nav-link"}>01. Workflow & Process
|
<a className={activeIndex == 1 ? "nav-link active" : "nav-link"} aria-label="Workflow process">01. Workflow & Process
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li className="nav-item" onClick={() => handleOnClick(2)}>
|
<li className="nav-item" onClick={() => handleOnClick(2)}>
|
||||||
<a className={activeIndex == 2 ? "nav-link active" : "nav-link"}>
|
<a className={activeIndex == 2 ? "nav-link active" : "nav-link"} aria-label="Research analysis">
|
||||||
02. Research analysis
|
02. Research analysis
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li className="nav-item" onClick={() => handleOnClick(3)}>
|
<li className="nav-item" onClick={() => handleOnClick(3)}>
|
||||||
<a className={activeIndex == 3 ? "nav-link active" : "nav-link"}>
|
<a className={activeIndex == 3 ? "nav-link active" : "nav-link"} aria-label="Financial statement">
|
||||||
03. Financial statement
|
03. Financial statement
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li className="nav-item" onClick={() => handleOnClick(4)}>
|
<li className="nav-item" onClick={() => handleOnClick(4)}>
|
||||||
<a className={activeIndex == 4 ? "nav-link active" : "nav-link"}>
|
<a className={activeIndex == 4 ? "nav-link active" : "nav-link"} aria-label="Risk assuarance">
|
||||||
04. Risk assuarance
|
04. Risk assuarance
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -5,31 +5,32 @@ export default function PortfolioFilter1() {
|
|||||||
const [activeTab, setActiveTab] = useState("history")
|
const [activeTab, setActiveTab] = useState("history")
|
||||||
|
|
||||||
const content = {
|
const content = {
|
||||||
history: `It all began in 1986 when Multiple Sclerosis Limited (MSL) identified the need for high-quality care services for people living with this chronic disease.
|
history: `Rapha Rehab was founded in 2014 with a simple mission - to provide accessible, evidence-based physiotherapy and rehabilitation for individuals recovering from injury, surgery, or chronic pain.
|
||||||
|
|
||||||
By 1999, MSL recognised the time had come to establish NanoCare as a separate legal entity. A savvy and experienced Board was appointed and we were firmly on the path to growth.
|
What began as a small, patient-focused clinic quickly grew as more families, physicians, and local health partners recognized our commitment to quality care and meaningful recovery outcomes.
|
||||||
|
|
||||||
This growth was boosted by a series of acquisitions within the care sector between 2001 and 2008. By then, we had earned a reputation as an experienced and sizeable private care service provider.
|
Between 2016 and 2020, we expanded our services to include specialized programs in sports injury recovery, neurological rehabilitation, chronic pain management, and post-surgical physiotherapy. Each expansion was supported by experienced clinicians, advanced treatment methods, and a deep dedication to patient-centered care.
|
||||||
|
|
||||||
In 2010, the purchase and integration of Nationwide Health & Aged Care Services represented a major milestone in our growth as specialist cleaning and laundry services bolstered our business portfolio.
|
By 2021, Rapha Rehab became a trusted partner for multiple primary care physicians, medical specialists, and community programs across the region. This growth allowed us to invest in state-of-the-art equipment, a larger interdisciplinary team, and enhanced patient support services.
|
||||||
|
|
||||||
At around the same time, NanoCare partnered with the US-based Healthcare at Home. In 2013, NanoCare acquired the business. This nurse-led service has provided a safe, high-quality alternative to hospital care for people with cancer and chronic disease.
|
Today, we are proud to operate as a leading rehabilitation provider, known for personalized care plans, clinical excellence, and compassionate service. Our team continues to innovate, grow, and raise the standard of physiotherapy care across our community - one patient at a time.
|
||||||
|
`,
|
||||||
|
|
||||||
Today, we are proud to continue our work as a wholly-owned, not-for-profit subsidiary of MSL.`,
|
mission: `At Rapha Rehab, our mission is to provide high-quality, evidence-based physiotherapy and rehabilitation services that help individuals restore movement, reduce pain, and regain confidence in their daily lives. We are committed to delivering care with compassion, clinical excellence, and a personalized approach for every patient we serve.
|
||||||
|
|
||||||
mission: `NanoCare is committed to providing high-quality health care services to individual clients and their families, as well as to other healthcare organizations in need of supplemental staffing (such as certified home health and hospice agencies, health plans, hospitals, nursing homes and assisted living facilities).
|
We envision a community where every individual - regardless of age, condition, or background - has access to rehabilitation that empowers them to live an active, healthy, and fulfilling life. Our goal is to set a new standard for physiotherapy by combining advanced treatment methods, skilled clinicians, and a supportive patient experience.
|
||||||
|
|
||||||
Our priority is to provide state-of-the-art and compassionate in-home care from highly-trained medical professionals and aides. To make good on this promise, proper training is paramount. Not only do we hire the most experienced personnel, but we provide them with in-depth disease-specific training so that they can deliver specialized care to our clients.
|
We believe every person deserves a treatment plan tailored to their unique needs, goals, and lifestyle. This commitment guides every decision we make.
|
||||||
|
|
||||||
At NanoCare, we believe everyone should have the opportunity to live a healthy, active and fulfilling life. This ethos is at the heart of everything we do.
|
Our team of trained and registered physiotherapists continuously advance their knowledge and skills to provide safe, effective, and state-of-the-art rehabilitation.
|
||||||
|
|
||||||
We provide everyone we support with the opportunity to continue to live life to the full. We actively encourage Service Users to become more self-reliant, to make decisions for themselves, and ultimately, to move on to more independent living arrangements.
|
We equip our patients with the knowledge, tools, and exercises they need to take an active role in their healing and long-term physical well-being.
|
||||||
|
`,
|
||||||
|
|
||||||
We facilitate and support our Service Users to pursue meaningful and personalised lifestyles. We provide individually planned education & leisure opportunities to support each individual in their ongoing development.`,
|
leadership: `Rapha Rehab is led by an experienced team committed to clinical excellence and patient-centered care. Their guidance ensures every service we provide meets the highest standards in rehabilitation.
|
||||||
|
|
||||||
leadership: `Our home health care management team is highly experienced in delivering exceptional care and support for clients – regardless of age or specific medical needs.
|
With strong backgrounds in physiotherapy, healthcare management, and innovation, our leaders support our clinicians and continually strengthen the quality of care we deliver to every patient.
|
||||||
|
`
|
||||||
The leadership team at NanoCare discusses what home care means to them and how NanoCare is changing the way the world ages.`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -10,7 +10,7 @@ export default function VideoPopup({ style, text }) {
|
|||||||
{/* <a onClick={() => setOpen(true)} className="lightbox-image"><i className="icon-play" /></a> */}
|
{/* <a onClick={() => setOpen(true)} className="lightbox-image"><i className="icon-play" /></a> */}
|
||||||
{/* <span className="icon-10" onClick={() => setOpen(true)} /> */}
|
{/* <span className="icon-10" onClick={() => setOpen(true)} /> */}
|
||||||
{!style &&
|
{!style &&
|
||||||
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple"><span className="icon-10" />
|
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple" aria-label="Light box image"><span className="icon-10" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -18,17 +18,17 @@ export default function VideoPopup({ style, text }) {
|
|||||||
|
|
||||||
{style === 1 &&
|
{style === 1 &&
|
||||||
<div className="video-btn">
|
<div className="video-btn">
|
||||||
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple"><span className="icon-10" /> </a>
|
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple" aria-label="Light box image "><span className="icon-10" /> </a>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
{style === 2 &&
|
{style === 2 &&
|
||||||
<div className="video-btn">
|
<div className="video-btn">
|
||||||
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple"><span className="icon-10" /></a><h6>{text ? text : "Latest Program Video"}</h6>
|
<a onClick={() => setOpen(true)} className="overlay-link lightbox-image video-fancybox ripple" aria-label="light box image"><span className="icon-10" /></a><h6>{text ? text : "Latest Program Video"}</h6>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
{style === 3 &&
|
{style === 3 &&
|
||||||
<div className="video-btn">
|
<div className="video-btn">
|
||||||
<a onClick={() => setOpen(true)} className="lightbox-image">
|
<a onClick={() => setOpen(true)} className="lightbox-image" aria-label="light box image">
|
||||||
<i className="customicon-play-button" />
|
<i className="customicon-play-button" />
|
||||||
<span className="border-animation border-1" />
|
<span className="border-animation border-1" />
|
||||||
<span className="border-animation border-2" />
|
<span className="border-animation border-2" />
|
||||||
@ -38,12 +38,12 @@ export default function VideoPopup({ style, text }) {
|
|||||||
}
|
}
|
||||||
{style === 4 &&
|
{style === 4 &&
|
||||||
<div className="video-btn">
|
<div className="video-btn">
|
||||||
<a onClick={() => setOpen(true)} className="lightbox-image">
|
<a onClick={() => setOpen(true)} className="lightbox-image" aria-label="Light box image">
|
||||||
<img src="/assets/images-4/icons/video-btn-1.png" alt="" /></a>
|
<img src="/assets/images-4/icons/video-btn-1.png" alt="" /></a>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
{style === 5 &&
|
{style === 5 &&
|
||||||
<a onClick={() => setOpen(true)} className="video-btn overlay-link lightbox-image video-fancybox ripple"><span className="fas fa-play" /></a>
|
<a onClick={() => setOpen(true)} className="video-btn overlay-link lightbox-image video-fancybox ripple" aria-label="Light box image"><span className="fas fa-play" /></a>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ export default function Breadcrumb({ breadcrumbTitle, bannerImage }) {
|
|||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<h1>{breadcrumbTitle}</h1>
|
<h1>{breadcrumbTitle}</h1>
|
||||||
<ul className="bread-crumb clearfix">
|
<ul className="bread-crumb clearfix">
|
||||||
<li><Link href="/">Home</Link></li>
|
<li><Link href="/" aria-label="Home">Home</Link></li>
|
||||||
<li>{breadcrumbTitle}</li>
|
<li>{breadcrumbTitle}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -9,13 +9,12 @@ const WOW = dynamic(() => import('wowjs/dist/wow'));
|
|||||||
import BackToTop from '../elements/BackToTop';
|
import BackToTop from '../elements/BackToTop';
|
||||||
import DataBg from "../elements/DataBg";
|
import DataBg from "../elements/DataBg";
|
||||||
import Breadcrumb from './Breadcrumb';
|
import Breadcrumb from './Breadcrumb';
|
||||||
import Sidebar from "./Sidebar";
|
// import Sidebar from "./Sidebar";
|
||||||
import Footer1 from './footer/Footer1';
|
import Footer1 from './footer/Footer1';
|
||||||
import Footer2 from './footer/Footer2';
|
import Footer2 from './footer/Footer2';
|
||||||
import Header1 from "./header/Header1";
|
import Header1 from "./header/Header1";
|
||||||
import Header2 from './header/Header2';
|
import Header2 from "./header/Header2";
|
||||||
import Header3 from "./header/Header3";
|
|
||||||
import Header4 from "./header/Header4";
|
|
||||||
import ContactFloat from "../ContactFloat";
|
import ContactFloat from "../ContactFloat";
|
||||||
import SocialFloat from "../SocialFloat";
|
import SocialFloat from "../SocialFloat";
|
||||||
|
|
||||||
@ -52,10 +51,8 @@ export default function Layout({ headerStyle, footerStyle, headTitle, breadcrumb
|
|||||||
<div className={`boxed_wrapper ltr ${wrapperCls ? wrapperCls : ""}`} id="#top">
|
<div className={`boxed_wrapper ltr ${wrapperCls ? wrapperCls : ""}`} id="#top">
|
||||||
{(headerStyle === 1 || !headerStyle) && <Header1 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
{(headerStyle === 1 || !headerStyle) && <Header1 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
||||||
{headerStyle === 2 && <Header2 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
{headerStyle === 2 && <Header2 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
||||||
{headerStyle === 3 && <Header3 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
|
||||||
{headerStyle === 4 && <Header4 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
|
||||||
|
|
||||||
<Sidebar isSidebar={isSidebar} handleSidebar={handleSidebar} />
|
{/* <Sidebar isSidebar={isSidebar} handleSidebar={handleSidebar} /> */}
|
||||||
|
|
||||||
{breadcrumbTitle && (
|
{breadcrumbTitle && (
|
||||||
<Breadcrumb breadcrumbTitle={breadcrumbTitle} bannerImage={bannerImage} />
|
<Breadcrumb breadcrumbTitle={breadcrumbTitle} bannerImage={bannerImage} />
|
||||||
@ -66,8 +63,8 @@ export default function Layout({ headerStyle, footerStyle, headTitle, breadcrumb
|
|||||||
{(footerStyle === 1 || !footerStyle) && <Footer1 />}
|
{(footerStyle === 1 || !footerStyle) && <Footer1 />}
|
||||||
{footerStyle === 2 && <Footer2 />}
|
{footerStyle === 2 && <Footer2 />}
|
||||||
</div>
|
</div>
|
||||||
<ContactFloat />
|
{/* <ContactFloat /> */}
|
||||||
{/* <SocialFloat/> */}
|
{/* <SocialFloat/> */}
|
||||||
<BackToTop scroll={scroll} />
|
<BackToTop scroll={scroll} />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -16,7 +16,7 @@ export default function Menu() {
|
|||||||
</ul> */}
|
</ul> */}
|
||||||
|
|
||||||
<ul className="navigation new-nav clearfix">
|
<ul className="navigation new-nav clearfix">
|
||||||
<li className="dropdown"><Link href="/">Home</Link>
|
<li className="dropdown"><Link href="/" aria-label="Home page">Home</Link>
|
||||||
{/* <ul>
|
{/* <ul>
|
||||||
<li><Link href="/">Home Page One</Link></li>
|
<li><Link href="/">Home Page One</Link></li>
|
||||||
<li><Link href="/index-2">Home Page Two</Link></li>
|
<li><Link href="/index-2">Home Page Two</Link></li>
|
||||||
@ -25,24 +25,24 @@ export default function Menu() {
|
|||||||
</ul> */}
|
</ul> */}
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li className="dropdown menu-item-has-children"><Link href="/about-us">About Us</Link>
|
<li className="dropdown menu-item-has-children"><Link href="/about-us" aria-label="About Us">About Us</Link>
|
||||||
<ul>
|
<ul>
|
||||||
<li><Link href="/our-team-physiotherapy-etobicoke">Our Team</Link></li>
|
<li><Link href="/our-team-physiotherapy-etobicoke" aria-label="Our Team">Our Team</Link></li>
|
||||||
<li><Link href="/ourapproach-physiotherapy-etobicoke">Our Approach</Link></li>
|
<li><Link href="/our-approach-physiotherapy-etobicoke" aria-label="Our Approach">Our Approach</Link></li>
|
||||||
<li><Link href="/gallery-physiotherapy-etobicoke">Gallery</Link></li>
|
<li><Link href="/gallery-physiotherapy-etobicoke" aria-label="Gallery">Gallery</Link></li>
|
||||||
<li><Link href="/covid-19-updates">Covid-19-Updates</Link></li>
|
<li><Link href="/covid-19-updates-etobicoke" aria-label="Covid 19 Updates">Covid-19-Updates</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li className="dropdown menu-item-has-children relative group">
|
<li className="dropdown menu-item-has-children relative group">
|
||||||
<Link href="/etobicoke-treatment-service">Services</Link>
|
<Link href="/etobicoke-treatment-service" aria-label="Services">Services</Link>
|
||||||
{/* Dropdown */}
|
{/* Dropdown */}
|
||||||
<ul className="absolute left-0 hidden group-hover:grid p-4
|
<ul className="absolute left-0 hidden group-hover:grid p-4
|
||||||
grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"
|
grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"
|
||||||
style={{ columnCount: 4, width: "100%", left: "0px" }}>
|
style={{ columnCount: 4, width: "100%", left: "0px" }}>
|
||||||
{servicesList.map((item) => (
|
{servicesList.map((item) => (
|
||||||
<li key={item.id} className="break-inside-avoid">
|
<li key={item.id} className="break-inside-avoid">
|
||||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
|
<Link href={`/etobicoke-treatment-service/${item.slug}`} aria-label="Etobicoke Treatment Service">
|
||||||
{item.shortTitle}
|
{item.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -78,23 +78,34 @@ export default function Menu() {
|
|||||||
</ul>
|
</ul>
|
||||||
</li> */}
|
</li> */}
|
||||||
|
|
||||||
<li className="dropdown menu-item-has-children"><Link href="/area-of-injury">Area of Injury</Link>
|
<li className="dropdown menu-item-has-children"><Link href="/area-of-injury" aria-label="Area of Injury">Area of Injury</Link>
|
||||||
<ul>
|
<ul>
|
||||||
{areaOfInjuryData.map(item => (
|
{areaOfInjuryData.map(item => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
|
<Link href={`/area-of-injury/${item.slug}`} aria-label="Area of Injury Title">
|
||||||
|
{item.title}
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
{/* <ul className="absolute left-0 hidden group-hover:grid p-4
|
||||||
|
grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"
|
||||||
|
style={{ columnCount: 2, width: "50%", left: "480px" }}>
|
||||||
|
{areaOfInjuryData.map((item) => (
|
||||||
|
<li key={item.id} className="break-inside-avoid">
|
||||||
<Link href={`/area-of-injury/${item.slug}`}>
|
<Link href={`/area-of-injury/${item.slug}`}>
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul> */}
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li className="dropdown menu-item-has-children"><Link href="/rehabilitation">Rehabilitation</Link>
|
<li className="dropdown menu-item-has-children"><Link href="/rehabilitation" aria-label="Rehabilitation">Rehabilitation</Link>
|
||||||
<ul>
|
<ul>
|
||||||
{Rehabilitation.map(item => (
|
{Rehabilitation.map(item => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/rehabilitation/${item.slug}`}>
|
<Link href={`/rehabilitation/${item.slug}`} aria-label="Rehabilitation Title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -102,11 +113,11 @@ export default function Menu() {
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li className="dropdown menu-item-has-children"><Link href="/accident">Accident</Link>
|
<li className="dropdown menu-item-has-children"><Link href="/accident" aria-label="Accident">Accident</Link>
|
||||||
<ul>
|
<ul>
|
||||||
{Accident.map(item => (
|
{Accident.map(item => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/accident/${item.slug}`}>
|
<Link href={`/accident/${item.slug}`} aria-label="Accident Title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -114,10 +125,10 @@ export default function Menu() {
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li><Link href="/blog">Blog</Link></li>
|
<li><Link href="/blog" aria-label="Blog">Blog</Link></li>
|
||||||
|
|
||||||
{/* Contact */}
|
{/* Contact */}
|
||||||
<li><Link href="/contact">Contact</Link></li>
|
<li><Link href="/contact" aria-label="Contact">Contact</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useState } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { servicesList } from "@/utils/Services.utils";
|
import { servicesList } from "@/utils/Services.utils";
|
||||||
import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils";
|
import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils";
|
||||||
import Rehabilitation from "@/utils/Rehabilitation.utils";
|
import Rehabilitation from "@/utils/Rehabilitation.utils";
|
||||||
@ -12,6 +12,14 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
key: "",
|
key: "",
|
||||||
subMenuKey: "",
|
subMenuKey: "",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const handleToggle = (key, subMenuKey = "") => {
|
const handleToggle = (key, subMenuKey = "") => {
|
||||||
if (isActive.key === key && isActive.subMenuKey === subMenuKey) {
|
if (isActive.key === key && isActive.subMenuKey === subMenuKey) {
|
||||||
@ -51,19 +59,19 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
{/* Header row (Logo left, Social icons right) */}
|
{/* Header row (Logo left, Social icons right) */}
|
||||||
<div className="nav-header">
|
<div className="nav-header">
|
||||||
<div className="nav-logo">
|
<div className="nav-logo">
|
||||||
<Link href="/" onClick={closeMenu}>
|
<Link href="/" onClick={closeMenu} aria-label="Logo2 image">
|
||||||
<img src="/assets/images/logo-2.png" alt="Logo" />
|
<img src="/assets/images/logo-2.png" alt="Logo" />
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="nav-social">
|
<div className="nav-social">
|
||||||
<ul className="clearfix">
|
<ul className="clearfix">
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.instagram.com/elrapharehab/" target="_blank" rel="noopener noreferrer" onClick={closeMenu}>
|
<Link href="https://www.instagram.com/elrapharehab/" aria-label="Instagram Link" target="_blank" rel="noopener noreferrer" onClick={closeMenu}>
|
||||||
<span className="fab fa-instagram"></span>
|
<span className="fab fa-instagram"></span>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank" rel="noopener noreferrer" onClick={closeMenu}>
|
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" aria-label="Facebook Link" target="_blank" rel="noopener noreferrer" onClick={closeMenu}>
|
||||||
<span className="fab fa-facebook-square"></span>
|
<span className="fab fa-facebook-square"></span>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -77,17 +85,17 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
<ul className="navigation clearfix">
|
<ul className="navigation clearfix">
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<Link href="/" onClick={closeMenu}>Home</Link>
|
<Link href="/" onClick={closeMenu} aria-label="Home">Home</Link>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{/* About Us */}
|
{/* About Us */}
|
||||||
<li className={isActive.key == 1 ? "dropdown current" : "dropdown"}>
|
<li className={isActive.key == 1 ? "dropdown current" : "dropdown"}>
|
||||||
<Link href="/about-us" onClick={closeMenu}>About Us</Link>
|
<Link href="/about-us" onClick={closeMenu} aria-label="About Us">About Us</Link>
|
||||||
<ul style={{ display: `${isActive.key == 1 ? "block" : "none"}` }}>
|
<ul style={{ display: `${isActive.key == 1 ? "block" : "none"}` }}>
|
||||||
<li><Link href="/our-team-physiotherapy-etobicoke" onClick={closeMenu}>Our Team</Link></li>
|
<li><Link href="/our-team-physiotherapy-etobicoke" onClick={closeMenu} aria-label="Out Team">Our Team</Link></li>
|
||||||
<li><Link href="/ourapproach-physiotherapy-etobicoke" onClick={closeMenu}>Our Approach</Link></li>
|
<li><Link href="/our-approach-physiotherapy-etobicoke" onClick={closeMenu} aria-label="Our approach">Our Approach</Link></li>
|
||||||
<li><Link href="/gallery-physiotherapy-etobicoke" onClick={closeMenu}>Gallery</Link></li>
|
<li><Link href="/gallery-physiotherapy-etobicoke" onClick={closeMenu} aria-label="Gallery">Gallery</Link></li>
|
||||||
<li><Link href="/covid-19-updates" onClick={closeMenu}>Covid-19 Updates</Link></li>
|
<li><Link href="/covid-19-updates-etobicoke" onClick={closeMenu} aria-label="Covid-19 Updates">Covid-19 Updates</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div
|
<div
|
||||||
className={isActive.key == 1 ? "dropdown-btn open" : "dropdown-btn"}
|
className={isActive.key == 1 ? "dropdown-btn open" : "dropdown-btn"}
|
||||||
@ -99,11 +107,11 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
|
|
||||||
{/* Services */}
|
{/* Services */}
|
||||||
<li className={isActive.key == 2 ? "dropdown current" : "dropdown"}>
|
<li className={isActive.key == 2 ? "dropdown current" : "dropdown"}>
|
||||||
<Link href="/etobicoke-treatment-service" onClick={closeMenu}>Services</Link>
|
<Link href="/etobicoke-treatment-service" onClick={closeMenu} aria-label="Services">Services</Link>
|
||||||
<ul style={{ display: `${isActive.key == 2 ? "block" : "none"}` }}>
|
<ul style={{ display: `${isActive.key == 2 ? "block" : "none"}` }}>
|
||||||
{servicesList.map((item) => (
|
{servicesList.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/etobicoke-treatment-service/${item.slug}`} onClick={closeMenu}>
|
<Link href={`/etobicoke-treatment-service/${item.slug}`} onClick={closeMenu} aria-label="Etobicoke Treatment Service">
|
||||||
{item.shortTitle}
|
{item.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -119,11 +127,11 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
|
|
||||||
{/* Area of Injury */}
|
{/* Area of Injury */}
|
||||||
<li className={isActive.key == 3 ? "dropdown current" : "dropdown"}>
|
<li className={isActive.key == 3 ? "dropdown current" : "dropdown"}>
|
||||||
<Link href="/area-of-injury" onClick={closeMenu}>Area of Injury</Link>
|
<Link href="/area-of-injury" onClick={closeMenu} aria-label="Area of injury">Area of Injury</Link>
|
||||||
<ul style={{ display: `${isActive.key == 3 ? "block" : "none"}` }}>
|
<ul style={{ display: `${isActive.key == 3 ? "block" : "none"}` }}>
|
||||||
{areaOfInjuryData.map((item) => (
|
{areaOfInjuryData.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/area-of-injury/${item.slug}`} onClick={closeMenu}>
|
<Link href={`/area-of-injury/${item.slug}`} onClick={closeMenu} aria-label="Area of injury title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -139,11 +147,11 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
|
|
||||||
{/* Rehabilitation */}
|
{/* Rehabilitation */}
|
||||||
<li className={isActive.key == 4 ? "dropdown current" : "dropdown"}>
|
<li className={isActive.key == 4 ? "dropdown current" : "dropdown"}>
|
||||||
<Link href="/rehabilitation" onClick={closeMenu}>Rehabilitation</Link>
|
<Link href="/rehabilitation" onClick={closeMenu} aria-label="Rehabilitation">Rehabilitation</Link>
|
||||||
<ul style={{ display: `${isActive.key == 4 ? "block" : "none"}` }}>
|
<ul style={{ display: `${isActive.key == 4 ? "block" : "none"}` }}>
|
||||||
{Rehabilitation.map((item) => (
|
{Rehabilitation.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/rehabilitation/${item.slug}`} onClick={closeMenu}>
|
<Link href={`/rehabilitation/${item.slug}`} onClick={closeMenu} aria-label="Rehabilitation title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -159,11 +167,11 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
|
|
||||||
{/* Accident */}
|
{/* Accident */}
|
||||||
<li className={isActive.key == 5 ? "dropdown current" : "dropdown"}>
|
<li className={isActive.key == 5 ? "dropdown current" : "dropdown"}>
|
||||||
<Link href="/accident" onClick={closeMenu}>Accident</Link>
|
<Link href="/accident" onClick={closeMenu} aria-label="Accident">Accident</Link>
|
||||||
<ul style={{ display: `${isActive.key == 5 ? "block" : "none"}` }}>
|
<ul style={{ display: `${isActive.key == 5 ? "block" : "none"}` }}>
|
||||||
{Accident.map((item) => (
|
{Accident.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/accident/${item.slug}`} onClick={closeMenu}>
|
<Link href={`/accident/${item.slug}`} onClick={closeMenu} aria-label="Accident title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -178,12 +186,12 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
{/* Other Links */}
|
{/* Other Links */}
|
||||||
<li><Link href="/contact" onClick={closeMenu}>Contact</Link></li>
|
<li><Link href="/contact" onClick={closeMenu} aria-label="Contact">Contact</Link></li>
|
||||||
<li><Link href="/blog" onClick={closeMenu}>Blog</Link></li>
|
<li><Link href="/blog" onClick={closeMenu} aria-label="Blog">Blog</Link></li>
|
||||||
<li><Link href="/why-rapha-physiotherapy-etobicoke" onClick={closeMenu}>Why Us</Link></li>
|
<li><Link href="/why-choose-us" onClick={closeMenu} aria-label="Why Us">Why Us</Link></li>
|
||||||
<li><Link href="/faq-physiotherapy-etobicoke" onClick={closeMenu}>Faq</Link></li>
|
<li><Link href="/faq" onClick={closeMenu} aria-label="Faq">Faq</Link></li>
|
||||||
<li><Link href="/what-to-expect" onClick={closeMenu}>What To Expect</Link></li>
|
<li><Link href="/what-to-expect" onClick={closeMenu} aria-label="What to expect">What To Expect</Link></li>
|
||||||
<li><Link href="/payment-insurance" onClick={closeMenu}>Payment And Insurance</Link></li>
|
<li><Link href="/payment-insurance" onClick={closeMenu} aria-label="Payment and insurance">Payment And Insurance</Link></li>
|
||||||
{/* <li><Link href="/refugee-physiotherapy" onClick={closeMenu}>Refugee Physiotherapy</Link></li> */}
|
{/* <li><Link href="/refugee-physiotherapy" onClick={closeMenu}>Refugee Physiotherapy</Link></li> */}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -195,14 +203,18 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
<ul>
|
<ul>
|
||||||
<li>5 – 4335 Bloor Street West Etobicoke, M9C 2A5</li>
|
<li>5 – 4335 Bloor Street West Etobicoke, M9C 2A5</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="tel:+647-722-3434, +416-622-2873" onClick={closeMenu}>
|
<Link href="tel:+647-722-3434, +416-622-2873" onClick={closeMenu} aria-label="+647-722-3434">
|
||||||
+647-722-3434, +416-622-2873
|
+647-722-3434, +416-622-2873
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="mailto:bloor@rapharehab.ca" onClick={closeMenu}>
|
{email ? (
|
||||||
bloor@rapharehab.ca
|
<Link href={`mailto:${email}`} onClick={closeMenu} aria-label={email}>
|
||||||
</Link>
|
{email}
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
|
<span>Loading...</span>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -217,4 +229,4 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
|||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -1,85 +0,0 @@
|
|||||||
'use client'
|
|
||||||
import Link from "next/link"
|
|
||||||
import { useState } from "react"
|
|
||||||
export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar }) {
|
|
||||||
const [isActive, setIsActive] = useState({
|
|
||||||
status: false,
|
|
||||||
key: "",
|
|
||||||
})
|
|
||||||
|
|
||||||
const handleToggle = (key) => {
|
|
||||||
if (isActive.key === key) {
|
|
||||||
setIsActive({
|
|
||||||
status: false,
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
setIsActive({
|
|
||||||
status: true,
|
|
||||||
key,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div className="mobile-menu">
|
|
||||||
<div className="menu-backdrop" onClick={handleMobileMenu} />
|
|
||||||
<div className="close-btn" onClick={handleMobileMenu}>
|
|
||||||
<i className="fas fa-times"></i>
|
|
||||||
</div>
|
|
||||||
<nav className="menu-box">
|
|
||||||
<div className="nav-logo">
|
|
||||||
<Link href="/">
|
|
||||||
<img src="/assets/images/logo.png" alt="rapharehab" />
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* menu-outer */}
|
|
||||||
<div className="menu-outer">
|
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
|
||||||
<ul className="navigation clearfix">
|
|
||||||
<li className={isActive.key === 1 ? "dropdown current" : "dropdown"}>
|
|
||||||
<Link href="/" onClick={handleMobileMenu}>Home</Link>
|
|
||||||
<ul style={{ display: `${isActive.key == 1 ? "block" : "none"}` }}>
|
|
||||||
<li><Link href="/"onClick={handleMobileMenu}>Home Page One</Link></li>
|
|
||||||
<li><Link href="/index-2"onClick={handleMobileMenu}>Home Page Two</Link></li>
|
|
||||||
<li><Link href="/index-3"onClick={handleMobileMenu}>Home Page Three</Link></li>
|
|
||||||
<li><Link href="/index-onepage"onClick={handleMobileMenu}>OnePage Home</Link></li>
|
|
||||||
</ul>
|
|
||||||
<div className={isActive.key === 1 ? "dropdown-btn open" : "dropdown-btn"} onClick={() => handleToggle(1)}>
|
|
||||||
<span className="fa fa-angle-right" />
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li><Link href="#about"onClick={handleMobileMenu}>About</Link></li>
|
|
||||||
<li><Link href="#service"onClick={handleMobileMenu}>Service</Link></li>
|
|
||||||
<li><Link href="#team"onClick={handleMobileMenu}>Team</Link></li>
|
|
||||||
<li><Link href="#news"onClick={handleMobileMenu}>News</Link></li>
|
|
||||||
<li><Link href="#footer"onClick={handleMobileMenu}>Footer</Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/* menu-outer end */}
|
|
||||||
<div className="contact-info">
|
|
||||||
<h4>Contact Info</h4>
|
|
||||||
<ul>
|
|
||||||
<li>Chicago 12, Melbourne City, USA</li>
|
|
||||||
<li><Link href="tel:+8801682648101">+88 01682648101</Link></li>
|
|
||||||
<li><Link href="mailto:info@example.com">info@example.com</Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Social Links */}
|
|
||||||
<div className="social-links">
|
|
||||||
<ul className="clearfix">
|
|
||||||
<li><Link href="/"><span className="fab fa-twitter"></span></Link></li>
|
|
||||||
<li><Link href="/"><span className="fab fa-facebook-square"></span></Link></li>
|
|
||||||
<li><Link href="/"><span className="fab fa-pinterest-p"></span></Link></li>
|
|
||||||
<li><Link href="/"><span className="fab fa-instagram"></span></Link></li>
|
|
||||||
<li><Link href="/"><span className="fab fa-youtube"></span></Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</div>{/* End Mobile Menu */}
|
|
||||||
<div className="nav-overlay" style={{ display: `${isSidebar ? "block" : "none"}` }} onClick={handleSidebar} />
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -13,19 +13,19 @@ export default function Menu() {
|
|||||||
</ul> */}
|
</ul> */}
|
||||||
|
|
||||||
<ul className="navigation clearfix">
|
<ul className="navigation clearfix">
|
||||||
<li className=" dropdown"><Link href="/">Home</Link>
|
<li className=" dropdown"><Link href="/" aria-label="Home">Home</Link>
|
||||||
<ul>
|
<ul>
|
||||||
<li><Link href="/">Home Page One</Link></li>
|
<li><Link href="/" aria-label="Home Page one ">Home Page One</Link></li>
|
||||||
<li><Link href="/index-2">Home Page Two</Link></li>
|
<li><Link href="/index-2" aria-label="Home page two">Home Page Two</Link></li>
|
||||||
<li><Link href="/index-3">Home Page Three</Link></li>
|
<li><Link href="/index-3" aria-label="Home page three">Home Page Three</Link></li>
|
||||||
<li><Link href="/onepage">OnePage Home</Link></li>
|
<li><Link href="/onepage" aria-label="Onepage home">OnePage Home</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><Link href="#about">About</Link></li>
|
<li><Link href="#about" aria-label="About">About</Link></li>
|
||||||
<li><Link href="#service">Service</Link></li>
|
<li><Link href="#service" aria-label="Service">Service</Link></li>
|
||||||
<li><Link href="#team">Team</Link></li>
|
<li><Link href="#team" aria-label="Team">Team</Link></li>
|
||||||
<li><Link href="#news">News</Link></li>
|
<li><Link href="#news" aria-label="News">News</Link></li>
|
||||||
<li><Link href="#footer">Footer</Link></li>
|
<li><Link href="#footer" aria-label="Footer">Footer</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -20,27 +20,27 @@ export default function Sidebar({ isSidebar, handleSidebar }) {
|
|||||||
<div className="sidebar-info-contents">
|
<div className="sidebar-info-contents">
|
||||||
<div className="content-inner">
|
<div className="content-inner">
|
||||||
<div className="logo">
|
<div className="logo">
|
||||||
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
<Link href="/" aria-label="Logo"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<h4>About Us</h4>
|
<h4>About Us</h4>
|
||||||
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi</p>
|
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi</p>
|
||||||
<p>Research oriented solutions for Data Science and Machine Learning business needs.</p>
|
<p>Research oriented solutions for Data Science and Machine Learning business needs.</p>
|
||||||
<Link href="#" className="theme-btn btn-one"><span>About Us</span></Link>
|
<Link href="#" className="theme-btn btn-one" aria-label="About Us"><span>About Us</span></Link>
|
||||||
</div>
|
</div>
|
||||||
<div className="contact-info">
|
<div className="contact-info">
|
||||||
<h4>Contact Info</h4>
|
<h4>Contact Info</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Chicago 12, Melborne City, USA</li>
|
<li>Chicago 12, Melborne City, USA</li>
|
||||||
<li><Link href="tel:+8801682648101">+88 01682648101</Link></li>
|
<li><Link href="tel:+8801682648101" aria-label="+88 01682648101">+88 01682648101</Link></li>
|
||||||
<li><Link href="mailto:info@example.com">info@example.com</Link></li>
|
<li><Link href="mailto:info@example.com" aria-label="info@example.com">info@example.com</Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<ul className="social-box">
|
<ul className="social-box">
|
||||||
<li><Link href="#"><i className="icon-4"></i></Link></li>
|
<li><Link href="#" aria-label="Social Icons"><i className="icon-4"></i></Link></li>
|
||||||
<li><Link href="#"><i className="icon-5"></i></Link></li>
|
<li><Link href="#" aria-label="Social Icons"><i className="icon-5"></i></Link></li>
|
||||||
<li><Link href="#"><i className="icon-6"></i></Link></li>
|
<li><Link href="#" aria-label="Social Icons"><i className="icon-6"></i></Link></li>
|
||||||
<li><Link href="#"><i className="icon-7"></i></Link></li>
|
<li><Link href="#" aria-label="Social Icons"><i className="icon-7"></i></Link></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
"use client"
|
||||||
|
import { useState, useEffect } from "react"
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import Rehabilitation from "@/utils/Rehabilitation.utils"
|
import Rehabilitation from "@/utils/Rehabilitation.utils"
|
||||||
import Accident from "@/utils/Accident.utils"
|
import Accident from "@/utils/Accident.utils"
|
||||||
@ -5,6 +7,13 @@ import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils"
|
|||||||
import { servicesList } from "@/utils/Services.utils"
|
import { servicesList } from "@/utils/Services.utils"
|
||||||
|
|
||||||
export default function Footer2() {
|
export default function Footer2() {
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const servicesCols = [
|
const servicesCols = [
|
||||||
servicesList.slice(0, 13),
|
servicesList.slice(0, 13),
|
||||||
@ -12,7 +21,6 @@ export default function Footer2() {
|
|||||||
servicesList.slice(25, 37),
|
servicesList.slice(25, 37),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<footer className="main-footer">
|
<footer className="main-footer">
|
||||||
@ -38,7 +46,7 @@ export default function Footer2() {
|
|||||||
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
||||||
<div className="footer-widget logo-widget">
|
<div className="footer-widget logo-widget">
|
||||||
<figure className="footer-logo">
|
<figure className="footer-logo">
|
||||||
<Link href="/">
|
<Link href="/" aria-label="Logo">
|
||||||
<img src="/assets/images/footer-logo.png" alt="rapharehab" />
|
<img src="/assets/images/footer-logo.png" alt="rapharehab" />
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
@ -48,11 +56,11 @@ export default function Footer2() {
|
|||||||
<ul className="social-links clearfix">
|
<ul className="social-links clearfix">
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.instagram.com/elrapharehab/" target="_blank"
|
<Link href="https://www.instagram.com/elrapharehab/" target="_blank"
|
||||||
rel="noopener noreferrer"><i className="icon-4"></i></Link>
|
rel="noopener noreferrer"><i className="icon-4" aria-label="Instagram"></i></Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank"
|
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank"
|
||||||
rel="noopener noreferrer"><i className="icon-7"></i></Link>
|
rel="noopener noreferrer"><i className="icon-7" aria-label="Facebook"></i></Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -74,7 +82,7 @@ export default function Footer2() {
|
|||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link
|
<Link
|
||||||
href={`/etobicoke-treatment-service/${item.slug}`}
|
href={`/etobicoke-treatment-service/${item.slug}`}
|
||||||
>
|
aria-label="Etobicoke treatment service">
|
||||||
{item.shortTitle}
|
{item.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -97,7 +105,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{areaOfInjuryData.map((item) => (
|
{areaOfInjuryData.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/area-of-injury/${item.slug}`}>
|
<Link href={`/area-of-injury/${item.slug}`} aria-label="Area of injury">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -107,8 +115,6 @@ export default function Footer2() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
||||||
<div className="footer-widget links-widget">
|
<div className="footer-widget links-widget">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
@ -118,7 +124,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{Accident.map((item) => (
|
{Accident.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/accident/${item.slug}`}>
|
<Link href={`/accident/${item.slug}`} aria-label="Accident title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -137,7 +143,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{Rehabilitation.map((item) => (
|
{Rehabilitation.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/rehabilitation/${item.slug}`}>
|
<Link href={`/rehabilitation/${item.slug}`} aria-label="Rehabilitation title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -162,13 +168,17 @@ export default function Footer2() {
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i className="icon-2"></i>
|
<i className="icon-2"></i>
|
||||||
<Link href="tel:647-722-3434">647-722-3434</Link>
|
<Link href="tel:647-722-3434" aria-label="647-722-3434">647-722-3434</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i className="icon-26"></i>
|
<i className="icon-26"></i>
|
||||||
<Link href="mailto:example@info.com">
|
{email ? (
|
||||||
bloor@rapharehab.ca
|
<Link href={`mailto:${email}`} aria-label={email}>
|
||||||
</Link>
|
{email}
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
|
<span>Loading...</span>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -189,18 +199,16 @@ export default function Footer2() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
style={{ color: "#fff", fontWeight: "700" }}
|
style={{ color: "#fff", fontWeight: "700" }}
|
||||||
>
|
aria-label="Metatroncubesolutions">
|
||||||
MetatronCube
|
MetatronCube
|
||||||
</a>{" "}
|
</a>{" "}
|
||||||
All Rights Reserved
|
All Rights Reserved
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -1,3 +1,5 @@
|
|||||||
|
"use client"
|
||||||
|
import { useState, useEffect } from "react"
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import Rehabilitation from "@/utils/Rehabilitation.utils"
|
import Rehabilitation from "@/utils/Rehabilitation.utils"
|
||||||
import Accident from "@/utils/Accident.utils"
|
import Accident from "@/utils/Accident.utils"
|
||||||
@ -5,6 +7,13 @@ import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils"
|
|||||||
import { servicesList } from "@/utils/Services.utils"
|
import { servicesList } from "@/utils/Services.utils"
|
||||||
|
|
||||||
export default function Footer2() {
|
export default function Footer2() {
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const servicesCols = [
|
const servicesCols = [
|
||||||
servicesList.slice(0, 13),
|
servicesList.slice(0, 13),
|
||||||
@ -12,7 +21,6 @@ export default function Footer2() {
|
|||||||
servicesList.slice(25, 37),
|
servicesList.slice(25, 37),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<footer className="main-footer">
|
<footer className="main-footer">
|
||||||
@ -38,7 +46,7 @@ export default function Footer2() {
|
|||||||
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
||||||
<div className="footer-widget logo-widget">
|
<div className="footer-widget logo-widget">
|
||||||
<figure className="footer-logo">
|
<figure className="footer-logo">
|
||||||
<Link href="/">
|
<Link href="/" aria-label="Logo">
|
||||||
<img src="/assets/images/footer-logo.png" alt="rapharehab" />
|
<img src="/assets/images/footer-logo.png" alt="rapharehab" />
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
@ -48,11 +56,11 @@ export default function Footer2() {
|
|||||||
<ul className="social-links clearfix">
|
<ul className="social-links clearfix">
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.instagram.com/elrapharehab/" target="_blank"
|
<Link href="https://www.instagram.com/elrapharehab/" target="_blank"
|
||||||
rel="noopener noreferrer"><i className="icon-4"></i></Link>
|
rel="noopener noreferrer" aria-label="Instagram"><i className="icon-4"></i></Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank"
|
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank"
|
||||||
rel="noopener noreferrer"><i className="icon-7"></i></Link>
|
rel="noopener noreferrer" aria-label="Facebook"><i className="icon-7" ></i></Link>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -74,7 +82,7 @@ export default function Footer2() {
|
|||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link
|
<Link
|
||||||
href={`/etobicoke-treatment-service/${item.slug}`}
|
href={`/etobicoke-treatment-service/${item.slug}`}
|
||||||
>
|
aria-label="Etobicoke treatment service">
|
||||||
{item.shortTitle}
|
{item.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -97,7 +105,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{areaOfInjuryData.map((item) => (
|
{areaOfInjuryData.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/area-of-injury/${item.slug}`}>
|
<Link href={`/area-of-injury/${item.slug}`} aria-label="Area of injury">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -107,8 +115,6 @@ export default function Footer2() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
<div className="col-lg-3 col-md-6 col-sm-12 footer-column">
|
||||||
<div className="footer-widget links-widget">
|
<div className="footer-widget links-widget">
|
||||||
<div className="widget-title">
|
<div className="widget-title">
|
||||||
@ -118,7 +124,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{Accident.map((item) => (
|
{Accident.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/accident/${item.slug}`}>
|
<Link href={`/accident/${item.slug}`} aria-label="Accident title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -137,7 +143,7 @@ export default function Footer2() {
|
|||||||
<ul className="links-list clearfix">
|
<ul className="links-list clearfix">
|
||||||
{Rehabilitation.map((item) => (
|
{Rehabilitation.map((item) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
<Link href={`/rehabilitation/${item.slug}`}>
|
<Link href={`/rehabilitation/${item.slug}`} aria-label="rehabilitation title">
|
||||||
{item.title}
|
{item.title}
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -162,13 +168,17 @@ export default function Footer2() {
|
|||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i className="icon-2"></i>
|
<i className="icon-2"></i>
|
||||||
<Link href="tel:647-722-3434">647-722-3434</Link>
|
<Link href="tel:647-722-3434" aria-label="647-722-3434">647-722-3434</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<i className="icon-26"></i>
|
<i className="icon-26"></i>
|
||||||
<Link href="mailto:example@info.com">
|
{email ? (
|
||||||
bloor@rapharehab.ca
|
<Link href={`mailto:${email}`} aria-label={email}>
|
||||||
</Link>
|
{email}
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
|
<span>Loading...</span>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -189,18 +199,16 @@ export default function Footer2() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
style={{ color: "#fff", fontWeight: "700" }}
|
style={{ color: "#fff", fontWeight: "700" }}
|
||||||
>
|
aria-label="Metatroncubesolutions">
|
||||||
MetatronCube
|
MetatronCube
|
||||||
</a>{" "}
|
</a>{" "}
|
||||||
All Rights Reserved
|
All Rights Reserved
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</footer>
|
</footer>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -2,8 +2,18 @@
|
|||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Menu from "../Menu"
|
import Menu from "../Menu"
|
||||||
import MobileMenu from "../MobileMenu"
|
import MobileMenu from "../MobileMenu"
|
||||||
|
import { useState, useEffect } from "react"; // Import useState and useEffect
|
||||||
|
|
||||||
export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSidebar, handlePopup, handleSidebar }) {
|
export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSidebar, handlePopup, handleSidebar }) {
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
// Set the email address safely
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<header className={`main-header ${scroll ? "fixed-header" : ""}`}>
|
<header className={`main-header ${scroll ? "fixed-header" : ""}`}>
|
||||||
@ -19,10 +29,10 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
|||||||
style={{ marginRight: "8px" }}
|
style={{ marginRight: "8px" }}
|
||||||
className="red-icon"
|
className="red-icon"
|
||||||
/>
|
/>
|
||||||
<Link href="tel:647-722-3434">
|
<Link href="tel:647-722-3434" aria-label="647-722-3434">
|
||||||
<span style={{
|
<span style={{
|
||||||
color: "white",
|
color: "white",
|
||||||
}}>
|
}} >
|
||||||
647-722-3434
|
647-722-3434
|
||||||
</span>
|
</span>
|
||||||
</Link>
|
</Link>
|
||||||
@ -34,29 +44,37 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
|||||||
style={{ marginRight: "8px" }}
|
style={{ marginRight: "8px" }}
|
||||||
className="red-icon"
|
className="red-icon"
|
||||||
/>
|
/>
|
||||||
<Link href="mailto:bloor@rapharehab.ca">
|
{email ? (
|
||||||
|
<Link href={`mailto:${email}`} aria-label={email}>
|
||||||
|
<span style={{
|
||||||
|
color: "white",
|
||||||
|
}} >
|
||||||
|
{email}
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
<span style={{
|
<span style={{
|
||||||
color: "white",
|
color: "white",
|
||||||
}}>
|
}} >
|
||||||
bloor@rapharehab.ca
|
Loading...
|
||||||
</span>
|
</span>
|
||||||
</Link>
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul className="social-links clearfix">
|
<ul className="social-links clearfix">
|
||||||
<li><Link href="/why-rapha-physiotherapy-etobicoke">Why Us</Link></li>
|
<li><Link href="/why-choose-us" aria-label="Why us">Why Us</Link></li>
|
||||||
<li><Link href="/faq-physiotherapy-etobicoke">FAQ’s</Link></li>
|
<li><Link href="/faq" aria-label="Faq">FAQ's</Link></li>
|
||||||
<li><Link href="/what-to-expect">What To Expect</Link></li>
|
<li><Link href="/what-to-expect" aria-label="What to expect">What To Expect</Link></li>
|
||||||
<li><Link href="/payment-insurance">Payment And Insurance</Link></li>
|
<li><Link href="/payment-insurance" aria-label="Payment and insurance">Payment And Insurance</Link></li>
|
||||||
{/* <li><Link href="/refugee-physiotherapy">Refugee Physiotherapy</Link></li> */}
|
{/* <li><Link href="/refugee-physiotherapy">Refugee Physiotherapy</Link></li> */}
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.instagram.com/elrapharehab/" target="_blank" rel="noopener noreferrer">
|
<Link href="https://www.instagram.com/elrapharehab/" target="_blank" rel="noopener noreferrer" aria-label="Instagram">
|
||||||
<i className="icon-4"></i>
|
<i className="icon-4"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank" rel="noopener noreferrer">
|
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank" rel="noopener noreferrer" aria-label="Facebook">
|
||||||
<i className="icon-7"></i>
|
<i className="icon-7"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -70,8 +88,8 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
|||||||
<div className="outer-container">
|
<div className="outer-container">
|
||||||
<div className="outer-box new">
|
<div className="outer-box new">
|
||||||
<div className="logo-box">
|
<div className="logo-box">
|
||||||
<figure className="logo">
|
<figure className="logo" >
|
||||||
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
<Link href="/" aria-label="Logo"><img src="/assets/images/logo.png" alt="rapharehab"/></Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -97,7 +115,7 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
|||||||
<div className="outer-box">
|
<div className="outer-box">
|
||||||
<div className="logo-box">
|
<div className="logo-box">
|
||||||
<figure className="logo">
|
<figure className="logo">
|
||||||
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
<Link href="/" aria-label="Logo"><img src="/assets/images/logo.png" alt="rapharehab"/></Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -114,4 +132,4 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
|||||||
</header>
|
</header>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -1,7 +1,9 @@
|
|||||||
'use client'
|
"use client";
|
||||||
|
import React, { useState, useEffect } from "react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Menu from "../Menu";
|
import Menu from "../Menu";
|
||||||
import MobileMenu from "../MobileMenu";
|
import MobileMenu from "../MobileMenu";
|
||||||
|
import Image from "next/image";
|
||||||
|
|
||||||
export default function Header2({
|
export default function Header2({
|
||||||
scroll,
|
scroll,
|
||||||
@ -11,12 +13,36 @@ export default function Header2({
|
|||||||
handleSidebar,
|
handleSidebar,
|
||||||
isHome = false,
|
isHome = false,
|
||||||
}) {
|
}) {
|
||||||
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
|
const [email, setEmail] = useState("");
|
||||||
|
|
||||||
|
// ✅ Detect mobile screen
|
||||||
|
useEffect(() => {
|
||||||
|
const checkScreenSize = () => setIsMobile(window.innerWidth <= 768);
|
||||||
|
checkScreenSize();
|
||||||
|
window.addEventListener("resize", checkScreenSize);
|
||||||
|
return () => window.removeEventListener("resize", checkScreenSize);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// ✅ Set email safely
|
||||||
|
useEffect(() => {
|
||||||
|
const user = "bloor";
|
||||||
|
const domain = "rapharehab.ca";
|
||||||
|
setEmail(`${user}@${domain}`);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// ✅ Switch logo based on screen size
|
||||||
|
const logoSrc = isMobile
|
||||||
|
? "/assets/images/logo-mbl.png" // mobile logo
|
||||||
|
: "/assets/images/logo.png"; // desktop logo
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<header
|
<header
|
||||||
className={`main-header header-style-two ${scroll ? "fixed-header" : ""} ${isHome ? "home-page" : ""}`}
|
className={`main-header header-style-two ${
|
||||||
|
scroll ? "fixed-header" : ""
|
||||||
|
} ${isHome ? "home-page" : ""}`}
|
||||||
>
|
>
|
||||||
{/* Header Top */}
|
|
||||||
<div className="header-top">
|
<div className="header-top">
|
||||||
<div className="top-inner">
|
<div className="top-inner">
|
||||||
<ul className="info-list clearfix">
|
<ul className="info-list clearfix">
|
||||||
@ -26,7 +52,9 @@ export default function Header2({
|
|||||||
alt="Phone"
|
alt="Phone"
|
||||||
className="contact-icon"
|
className="contact-icon"
|
||||||
/>
|
/>
|
||||||
<Link href="tel:647-722-3434">647-722-3434</Link>
|
<Link href="tel:647-722-3434" aria-label="Call us at 647-722-3434">
|
||||||
|
647-722-3434
|
||||||
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<img
|
<img
|
||||||
@ -34,22 +62,58 @@ export default function Header2({
|
|||||||
alt="Mail"
|
alt="Mail"
|
||||||
className="contact-icon"
|
className="contact-icon"
|
||||||
/>
|
/>
|
||||||
<Link href="mailto:bloor@rapharehab.ca">bloor@rapharehab.ca</Link>
|
{email ? (
|
||||||
|
<Link href={`mailto:${email}`} aria-label={email}>
|
||||||
|
<span>
|
||||||
|
{email}
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
|
) : (
|
||||||
|
<span style={{ color: "white" }}>
|
||||||
|
Loading...
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<ul className="social-links clearfix">
|
<ul className="social-links clearfix">
|
||||||
<li><Link href="/why-rapha-physiotherapy-etobicoke">Why Us</Link></li>
|
|
||||||
<li><Link href="/faq-physiotherapy-etobicoke">FAQ’s</Link></li>
|
|
||||||
<li><Link href="/what-to-expect">What To Expect</Link></li>
|
|
||||||
<li><Link href="/payment-insurance">Payment And Insurance</Link></li>
|
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.instagram.com/elrapharehab/" target="_blank" rel="noopener noreferrer">
|
<Link href="/why-choose-us" aria-label="Why Us page">
|
||||||
|
Why Us
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/faq" aria-label="FAQ's page">
|
||||||
|
FAQ's
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/what-to-expect" aria-label="What To Expect page">
|
||||||
|
What To Expect
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/payment-insurance" aria-label="Payment And Insurance page">
|
||||||
|
Payment And Insurance
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link
|
||||||
|
href="https://www.instagram.com/elrapharehab/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
aria-label="Instagram profile"
|
||||||
|
>
|
||||||
<i className="icon-4"></i>
|
<i className="icon-4"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<Link href="https://www.facebook.com/ELRaphaRehabCenter/" target="_blank" rel="noopener noreferrer">
|
<Link
|
||||||
|
href="https://www.facebook.com/ELRaphaRehabCenter/"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
aria-label="Facebook page"
|
||||||
|
>
|
||||||
<i className="icon-7"></i>
|
<i className="icon-7"></i>
|
||||||
</Link>
|
</Link>
|
||||||
</li>
|
</li>
|
||||||
@ -57,13 +121,28 @@ export default function Header2({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Header Lower */}
|
|
||||||
<div className="header-lower">
|
<div className="header-lower">
|
||||||
<div className="outer-container">
|
<div className="outer-container">
|
||||||
<div className="outer-box">
|
<div className="outer-box">
|
||||||
<div className="logo-box">
|
<div className="logo-box">
|
||||||
<figure className="logo">
|
<figure className="logo">
|
||||||
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
{/* ✅ Responsive logo using Next/Image */}
|
||||||
|
<Link href="/" aria-label="Home page">
|
||||||
|
<Image
|
||||||
|
src={logoSrc}
|
||||||
|
alt="rapharehab logo"
|
||||||
|
width={isMobile ? 150 : 200} // smaller on mobile
|
||||||
|
height={isMobile ? 45 : 60}
|
||||||
|
priority
|
||||||
|
quality={80}
|
||||||
|
sizes="(max-width: 768px) 150px, 200px"
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: "auto",
|
||||||
|
objectFit: "contain",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -75,7 +154,10 @@ export default function Header2({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
<div
|
||||||
|
className="collapse navbar-collapse show clearfix"
|
||||||
|
id="navbarSupportedContent"
|
||||||
|
>
|
||||||
<Menu />
|
<Menu />
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
@ -84,18 +166,36 @@ export default function Header2({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Sticky Header */}
|
|
||||||
<div className="sticky-header">
|
<div className="sticky-header">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="outer-box">
|
<div className="outer-box">
|
||||||
<div className="logo-box">
|
<div className="logo-box">
|
||||||
<figure className="logo">
|
<figure className="logo">
|
||||||
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
{/* ✅ Sticky header also gets responsive logo */}
|
||||||
|
<Link href="/" aria-label="Home page">
|
||||||
|
<Image
|
||||||
|
src={logoSrc}
|
||||||
|
alt="rapharehab logo"
|
||||||
|
width={isMobile ? 150 : 200}
|
||||||
|
height={isMobile ? 45 : 60}
|
||||||
|
priority
|
||||||
|
quality={80}
|
||||||
|
sizes="(max-width: 768px) 150px, 200px"
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: "auto",
|
||||||
|
objectFit: "contain",
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
<div
|
||||||
|
className="collapse navbar-collapse show clearfix"
|
||||||
|
id="navbarSupportedContent"
|
||||||
|
>
|
||||||
<Menu />
|
<Menu />
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
@ -103,9 +203,8 @@ export default function Header2({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Mobile Menu */}
|
|
||||||
<MobileMenu handleMobileMenu={handleMobileMenu} />
|
<MobileMenu handleMobileMenu={handleMobileMenu} />
|
||||||
</header>
|
</header>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -1,98 +0,0 @@
|
|||||||
'use client'
|
|
||||||
import Link from "next/link";
|
|
||||||
import Menu from "../Menu"
|
|
||||||
import MobileMenu from "../MobileMenu"
|
|
||||||
export default function Header3({ scroll, isMobileMenu, handleMobileMenu, isSidebar, handlePopup, handleSidebar }) {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<header className={`main-header header-style-two ${scroll ? "fixed-header" : ""}`}>
|
|
||||||
{/* Header Top */}
|
|
||||||
<div className="header-top">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="top-inner">
|
|
||||||
<ul className="info-list clearfix">
|
|
||||||
<li><i className="icon-1"></i>Mon - Fri 8:00 - 18:00 / Sunday 8:00 - 14:00</li>
|
|
||||||
<li><i className="icon-2"></i>Email: <Link href="tel:01989526503">0198-9526503</Link></li>
|
|
||||||
<li><img src="assets/images/icons/icon-1.png" alt="location" /> 47 Bakery Street, London, UK</li>
|
|
||||||
</ul>
|
|
||||||
<ul className="social-links clearfix">
|
|
||||||
<li><Link href="/"><i className="icon-4"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-5"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-6"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-7"></i></Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Header Upper */}
|
|
||||||
<div className="header-lower">
|
|
||||||
<div className="outer-container">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="outer-box">
|
|
||||||
<div className="logo-box">
|
|
||||||
<figure className="logo"><Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link></figure>
|
|
||||||
</div>
|
|
||||||
<div className="menu-area">
|
|
||||||
{/* Mobile Navigation Toggler */}
|
|
||||||
<div className="mobile-nav-toggler" onClick={handleMobileMenu}>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
</div>
|
|
||||||
{/* Main Menu */}
|
|
||||||
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
|
||||||
<Menu/>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{/* Menu Right Content */}
|
|
||||||
<ul className="menu-right-content">
|
|
||||||
|
|
||||||
<li className="search-box-outer search-toggler" onClick={handlePopup}>
|
|
||||||
<i className="icon-27"></i>
|
|
||||||
</li>
|
|
||||||
<li className="nav-btn nav-toggler navSidebar-button clearfix" onClick={handleSidebar}>
|
|
||||||
<i className="icon-28"></i>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/*End Header Upper*/}
|
|
||||||
{/* Sticky Header */}
|
|
||||||
<div className="sticky-header">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="outer-box">
|
|
||||||
<div className="logo-box">
|
|
||||||
<figure className="logo"><Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link></figure>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
|
||||||
<Menu/>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<ul className="menu-right-content">
|
|
||||||
|
|
||||||
<li className="search-box-outer search-toggler" onClick={handlePopup}>
|
|
||||||
<i className="icon-27"></i>
|
|
||||||
</li>
|
|
||||||
<li className="nav-btn nav-toggler navSidebar-button clearfix" onClick={handleSidebar}>
|
|
||||||
<i className="icon-28"></i>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>{/* End Sticky Menu */}
|
|
||||||
{/* Mobile Menu */}
|
|
||||||
|
|
||||||
<MobileMenu handleMobileMenu={handleMobileMenu} />
|
|
||||||
</header>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
'use client'
|
|
||||||
import Link from "next/link";
|
|
||||||
import OnepageMenu from "../OnepageMenu"
|
|
||||||
import MobileMenu from "../MobileMenu"
|
|
||||||
|
|
||||||
export default function Header4({ scroll, isMobileMenu, handleMobileMenu, isSidebar, handlePopup, handleSidebar }) {
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<header className={`main-header ${scroll ? "fixed-header" : ""}`}>
|
|
||||||
{/* Header Top */}
|
|
||||||
<div className="header-top">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="top-inner">
|
|
||||||
<ul className="info-list clearfix">
|
|
||||||
<li><i className="icon-1"></i>Mon - Fri 8:00 - 18:00 / Sunday 8:00 - 14:00</li>
|
|
||||||
<li><i className="icon-2"></i>Email: <Link href="tel:01989526503">0198-9526503</Link></li>
|
|
||||||
<li><img src="assets/images/icons/icon-1.png" alt="location"/> 47 Bakery Street, London, UK</li>
|
|
||||||
</ul>
|
|
||||||
<ul className="social-links clearfix">
|
|
||||||
<li><Link href="/"><i className="icon-4"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-5"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-6"></i></Link></li>
|
|
||||||
<li><Link href="/"><i className="icon-7"></i></Link></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Header Upper */}
|
|
||||||
<div className="header-lower">
|
|
||||||
<div className="outer-container">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="outer-box">
|
|
||||||
<div className="logo-box">
|
|
||||||
<figure className="logo"><Link href="/"><img src="/assets/images/logo.png" alt="rapharehab"/></Link></figure>
|
|
||||||
</div>
|
|
||||||
<div className="menu-area">
|
|
||||||
{/* Mobile Navigation Toggler */}
|
|
||||||
<div className="mobile-nav-toggler" onClick={handleMobileMenu}>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
<i className="icon-bar"></i>
|
|
||||||
</div>
|
|
||||||
{/* Main Menu */}
|
|
||||||
<nav className="main-menu navbar-expand-md navbar-light clearfix">
|
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
|
||||||
<OnepageMenu/>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{/* Menu Right Content */}
|
|
||||||
<ul className="menu-right-content">
|
|
||||||
|
|
||||||
|
|
||||||
<div className="btn-box">
|
|
||||||
<Link href="/" className="theme-btn btn-one"><span>Request A Pickup</span></Link>
|
|
||||||
</div>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/*End Header Upper*/}
|
|
||||||
{/* Sticky Header */}
|
|
||||||
<div className="sticky-header">
|
|
||||||
<div className="auto-container">
|
|
||||||
<div className="outer-box">
|
|
||||||
<div className="logo-box">
|
|
||||||
<figure className="logo"><Link href="/"><img src="/assets/images/logo.png" alt="rapharehab"/></Link></figure>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="menu-area">
|
|
||||||
<nav className="main-menu clearfix">
|
|
||||||
<div className="collapse navbar-collapse show clearfix" id="navbarSupportedContent">
|
|
||||||
<OnepageMenu/>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
<div className="btn-box">
|
|
||||||
<Link href="/" className="theme-btn btn-one"><span>Request A Pickup</span></Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>{/* End Sticky Menu */}
|
|
||||||
{/* Mobile Menu */}
|
|
||||||
|
|
||||||
<MobileMenu handleMobileMenu={handleMobileMenu} />
|
|
||||||
</header>
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,137 +1,188 @@
|
|||||||
import Image from "next/image";
|
|
||||||
import Link from "next/link";
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
import Image from "next/image";
|
||||||
|
|
||||||
export default function AboutSection() {
|
export default function AboutSection() {
|
||||||
return (
|
return (
|
||||||
<section className="about-style-two pt_90 pb_90 relative overflow-hidden">
|
<section
|
||||||
{/* Pattern Layers with fixed sizes */}
|
className="about-style-two pt_90 pb_90 relative overflow-hidden"
|
||||||
|
style={{ minHeight: "600px" }}
|
||||||
|
>
|
||||||
|
{/* ===== Pattern Layers ===== */}
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<div className="pattern-1 rotate-me absolute w-[120px] h-[120px]">
|
<div
|
||||||
|
className="pattern-1 rotate-me absolute"
|
||||||
|
style={{ width: "120px", height: "120px" }}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-8.webp"
|
src="/assets/images/shape/shape-8.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Decorative Shape"
|
||||||
fill
|
width={120}
|
||||||
|
height={120}
|
||||||
sizes="120px"
|
sizes="120px"
|
||||||
style={{ objectFit: "contain" }}
|
loading="lazy"
|
||||||
priority={false}
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="pattern-2 rotate-me absolute w-[140px] h-[140px]">
|
<div
|
||||||
|
className="pattern-2 rotate-me absolute"
|
||||||
|
style={{ width: "30px", height: "30px" }}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-9.webp"
|
src="/assets/images/shape/shape-9.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Decorative Shape"
|
||||||
fill
|
width={23}
|
||||||
sizes="140px"
|
height={30}
|
||||||
style={{ objectFit: "contain" }}
|
sizes="30px"
|
||||||
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="pattern-3 absolute w-[150px] h-[150px]">
|
<div
|
||||||
|
className="pattern-3 absolute"
|
||||||
|
style={{ width: "150px", height: "150px" }}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Decorative Shape"
|
||||||
fill
|
width={150}
|
||||||
|
height={150}
|
||||||
sizes="150px"
|
sizes="150px"
|
||||||
style={{ objectFit: "contain" }}
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* ===== Content Area ===== */}
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
{/* Image Column */}
|
{/* Left: Image Column */}
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||||
<div className="image_block_one relative">
|
<div className="image_block_one relative">
|
||||||
<div className="image-box relative">
|
<div className="image-box relative">
|
||||||
|
|
||||||
{/* Background Shape */}
|
{/* Background Shape */}
|
||||||
<div className="image-shape absolute inset-0 -z-10 w-[600px] h-[500px]">
|
<div
|
||||||
|
className="image-shape absolute inset-0 -z-10"
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
maxWidth: "600px",
|
||||||
|
aspectRatio: "6 / 5",
|
||||||
|
overflow: "hidden",
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-26.webp"
|
src="/assets/images/shape/shape-26.webp"
|
||||||
alt="Background shape"
|
alt="Background Shape"
|
||||||
fill
|
width={600}
|
||||||
sizes="50vw"
|
height={500}
|
||||||
style={{ objectFit: "contain" }}
|
sizes="(max-width: 768px) 90vw, 50vw"
|
||||||
|
priority // 👈 add this
|
||||||
|
fetchPriority="high" // 👈 optional (for clarity)
|
||||||
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Main Hero Image (LCP) */}
|
{/* ===== Responsive Main Image ===== */}
|
||||||
<figure className="image-2 relative min-h-[420px]">
|
<picture>
|
||||||
|
{/* Mobile image */}
|
||||||
|
<source
|
||||||
|
srcSet="/assets/images/home/welcome/home-welcome-mbl.webp"
|
||||||
|
media="(max-width: 768px)"
|
||||||
|
/>
|
||||||
|
{/* Desktop image */}
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/home/welcome/home-welcome.webp"
|
src="/assets/images/home/welcome/home-welcome.webp"
|
||||||
alt="Physiotherapy"
|
alt="Physiotherapy at Rapha Rehab"
|
||||||
width={600}
|
width={600}
|
||||||
height={420}
|
height={420}
|
||||||
|
className="welcome-image-home"
|
||||||
|
sizes="(max-width: 480px) 90vw, (max-width: 768px) 70vw, (max-width: 1200px) 50vw, 600px"
|
||||||
priority
|
priority
|
||||||
sizes="(max-width: 768px) 100vw, 50vw"
|
quality={70}
|
||||||
placeholder="blur"
|
placeholder="blur"
|
||||||
blurDataURL="/assets/images/home/welcome/home-welcome-blur.webp"
|
blurDataURL="/assets/images/home/welcome/home-welcome.webp"
|
||||||
style={{
|
style={{
|
||||||
borderRadius: "8px",
|
|
||||||
width: "100%",
|
width: "100%",
|
||||||
height: "auto",
|
height: "auto",
|
||||||
|
borderRadius: "8px",
|
||||||
|
display: "block",
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</figure>
|
</picture>
|
||||||
|
|
||||||
{/* Top Icon */}
|
{/* Top Icon */}
|
||||||
<div className="icon-one absolute top-0 left-0 w-[40px] h-[40px]">
|
<div
|
||||||
|
className="icon-one absolute top-0 left-0"
|
||||||
|
style={{ width: "80px", height: "80px" }}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/home/welcome/top-icon.webp"
|
src="/assets/images/home/welcome/top-icon.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy Icon"
|
||||||
fill
|
width={80}
|
||||||
sizes="40px"
|
height={80}
|
||||||
style={{ objectFit: "contain" }}
|
sizes="80px"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Bottom Icon */}
|
{/* Bottom Icon */}
|
||||||
<div className="icon-two absolute bottom-0 right-0 w-[40px] h-[40px]">
|
<div
|
||||||
|
className="icon-two absolute bottom-0 right-0"
|
||||||
|
style={{ width: "80px", height: "80px" }}
|
||||||
|
>
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/home/welcome/bottom-icon.webp"
|
src="/assets/images/home/welcome/bottom-icon.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy Icon"
|
||||||
fill
|
width={80}
|
||||||
sizes="40px"
|
height={80}
|
||||||
style={{ objectFit: "contain" }}
|
sizes="80px"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
|
decoding="async"
|
||||||
|
style={{ objectFit: "contain", display: "block" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Content Column */}
|
{/* Right: Text Column */}
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||||
<div className="content_block_one">
|
<div className="content_block_one">
|
||||||
<div className="content-box ml_30">
|
<div className="content-box ml_30">
|
||||||
<div className="sec-title mb_15">
|
<div className="sec-title mb_15">
|
||||||
<span className="sub-title">Welcome to Rapha Rehab</span>
|
<span className="sub-title">Welcome to Rapha Rehab</span>
|
||||||
<h2>Your Trusted Etobicoke Physiotherapy Clinic!</h2>
|
<h2>Your Trusted Physiotherapy & Rehab Centre in Etobicoke</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="text-box mb_40">
|
<div className="text-box mb_40">
|
||||||
|
<p className="mb-2">
|
||||||
|
At Rapha Rehab, we provide evidence-based physiotherapy designed to restore mobility, relieve pain, and enhance strength - all tailored to your unique recovery goals.
|
||||||
|
|
||||||
|
</p>
|
||||||
<p>
|
<p>
|
||||||
At Rapha Rehab, we specialize in evidence-based
|
Our team of licensed physiotherapists uses personalized techniques and advanced rehabilitation methods to help you heal faster and move better.
|
||||||
physiotherapy tailored to your needs. Our expert care helps
|
|
||||||
you recover, relieve pain, and regain strength for a better
|
|
||||||
quality of life.
|
|
||||||
</p>
|
</p>
|
||||||
<ul className="list-style-one clearfix">
|
<ul className="list-style-one clearfix">
|
||||||
<li>Chronic pain (back, neck, joints).</li>
|
<li>Chronic Pain Management (neck, back, joint discomfort)</li>
|
||||||
<li>Sports injuries (sprains, strains, post-surgery rehab).</li>
|
<li>Sports Injury Rehab (sprains, strains, post-surgical recovery)</li>
|
||||||
<li>Work-related injuries (WCB claims supported).</li>
|
<li>Work-Related Injuries (WSIB & WCB claim support)</li>
|
||||||
<li>Movement disorders (stroke rehab, mobility issues).</li>
|
<li>Movement & Neurological Disorders (stroke recovery, mobility training)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link
|
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one" aria-label="Explore our service">
|
||||||
href="/etobicoke-treatment-service"
|
<span> Explore Our Services</span>
|
||||||
className="theme-btn btn-one"
|
|
||||||
>
|
|
||||||
<span>Explore Our Service</span>
|
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,88 +1,114 @@
|
|||||||
import React from 'react';
|
"use client";
|
||||||
|
import React, { useState, useEffect } from "react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
import { areaOfInjuryData } from '@/utils/AreaOfInjery.utils';
|
import { areaOfInjuryData } from "@/utils/AreaOfInjery.utils";
|
||||||
|
|
||||||
export default function AreaOfInjury() {
|
export default function AreaOfInjury() {
|
||||||
const teamMembers = [
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
{ name: 'Black Marvin', role: 'Medical Assistant', image: 'assets/images/team/team-1.jpg' },
|
|
||||||
{ name: 'Eleanor Pena', role: 'Doctor', image: 'assets/images/team/team-2.jpg' },
|
|
||||||
{ name: 'Arlene Maccy', role: 'Nursing Assistant', image: 'assets/images/team/team-3.jpg' },
|
|
||||||
{ name: 'Jenny Wilson', role: 'Senior Doctor', image: 'assets/images/team/team-4.jpg' },
|
|
||||||
{ name: 'Black Marvin', role: 'Medical Assistant', image: 'assets/images/team/team-1.jpg' },
|
|
||||||
{ name: 'Eleanor Pena', role: 'Doctor', image: 'assets/images/team/team-2.jpg' },
|
|
||||||
{ name: 'Arlene Maccy', role: 'Nursing Assistant', image: 'assets/images/team/team-3.jpg' },
|
|
||||||
{ name: 'Jenny Wilson', role: 'Senior Doctor', image: 'assets/images/team/team-4.jpg' },
|
|
||||||
];
|
|
||||||
|
|
||||||
return (
|
// ✅ Detect mobile screen (same logic as Header2)
|
||||||
<section className="team-section sec-pad centred bg-color-1">
|
useEffect(() => {
|
||||||
<div className="pattern-layer">
|
const checkScreenSize = () => setIsMobile(window.innerWidth <= 768);
|
||||||
<div className="pattern-1">
|
checkScreenSize();
|
||||||
<Image
|
window.addEventListener("resize", checkScreenSize);
|
||||||
src="/assets/images/shape/shape-13.webp"
|
return () => window.removeEventListener("resize", checkScreenSize);
|
||||||
alt="Physiotherapy at Rapharehab"
|
}, []);
|
||||||
fill
|
|
||||||
style={{ objectFit: "cover" }}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="pattern-2">
|
return (
|
||||||
<Image
|
<section className="team-section sec-pad centred bg-color-1">
|
||||||
src="/assets/images/shape/shape-14.webp"
|
{/* ===== Background Patterns ===== */}
|
||||||
alt="Physiotherapy at Rapharehab"
|
<div className="pattern-layer">
|
||||||
fill
|
<div className="pattern-1">
|
||||||
style={{ objectFit: "cover" }}
|
<Image
|
||||||
/>
|
src="/assets/images/shape/shape-13.webp"
|
||||||
</div>
|
alt="Physiotherapy Background"
|
||||||
|
fill
|
||||||
|
style={{ objectFit: "cover" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="pattern-2">
|
||||||
|
<Image
|
||||||
|
src="/assets/images/shape/shape-14.webp"
|
||||||
|
alt="Physiotherapy Background"
|
||||||
|
fill
|
||||||
|
style={{ objectFit: "cover" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="shape">
|
||||||
|
<div className="shape-2"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
{/* ===== Section Header ===== */}
|
||||||
<div className="shape">
|
<div className="auto-container">
|
||||||
{/* <div className="shape-1 float-bob-y" style={{ backgroundImage: 'url(assets/images/shape/shape-15.png)' }}></div> */}
|
<div className="sec-title mb_50 centred">
|
||||||
<div className="shape-2"></div>
|
<span className="sub-title-1 new-color2">
|
||||||
{/* <div className="shape-3 float-bob-x" style={{ backgroundImage: 'url(assets/images/shape/shape-16.png)' }}></div> */}
|
Start Your Recovery Today! <br /> Visit Our Injury Care Team in Etobicoke.
|
||||||
</div>
|
</span>
|
||||||
<div className="auto-container">
|
<h2 className="tex-color-1">Area Of Injury</h2>
|
||||||
<div className="sec-title-2 mb_50">
|
</div>
|
||||||
<span className="sub-title-1 text-white">Start Your Treatment Today! <br /> Visit our healthcare team in Etobicoke.</span>
|
|
||||||
<h2 className='h3-white' style={{ fontWeight: "bold" }}>
|
{/* ===== Injuries Grid ===== */}
|
||||||
Area Of Injury
|
<div className="row clearfix">
|
||||||
</h2>
|
{areaOfInjuryData.slice(0, 8).map((area, index) => {
|
||||||
</div>
|
// ✅ Same concept as Header logo switching
|
||||||
<div className="row clearfix">
|
const imageSrc = isMobile
|
||||||
{areaOfInjuryData.slice(0, 8).map((area, index) => (
|
? area.mobileImage || area.image // if mobile image exists, use it
|
||||||
<div key={index} className="col-lg-3 col-md-6 col-6 team-block d-flex">
|
: area.image;
|
||||||
<div className="team-block-one wow fadeInUp animated d-flex flex-column flex-grow-1"
|
|
||||||
// data-wow-delay={`${index * 50}ms`} data-wow-duration="500ms"
|
return (
|
||||||
>
|
<div
|
||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
key={index}
|
||||||
<div className="image-box">
|
className="col-lg-3 col-md-6 col-6 team-block d-flex"
|
||||||
<figure className="image">
|
>
|
||||||
<img src={area.image} alt={area.title.toUpperCase()} />
|
<div className="team-block-one wow fadeInUp animated d-flex flex-column flex-grow-1">
|
||||||
</figure>
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
{/* <ul className="social-links clearfix">
|
<div className="image-box">
|
||||||
<li><Link href="/#"><i className="icon-4"></i></Link></li>
|
<figure className="image">
|
||||||
<li><Link href="/#"><i className="icon-5"></i></Link></li>
|
{/* ✅ Using Next/Image for automatic optimization */}
|
||||||
<li><Link href="/#"><i className="icon-6"></i></Link></li>
|
<Image
|
||||||
<li><Link href="/#"><i className="icon-7"></i></Link></li>
|
src={imageSrc}
|
||||||
</ul> */}
|
alt={area.title}
|
||||||
</div>
|
width={400}
|
||||||
<div className="lower-content mt-auto">
|
height={400}
|
||||||
<h3><Link href={`/area-of-injury/${area.slug}`}>{area.title}</Link></h3>
|
quality={75}
|
||||||
{/* <span className="designation">{member.role}</span> */}
|
priority={index < 4} // first few load faster
|
||||||
</div>
|
sizes="(max-width: 768px) 100vw, 33vw"
|
||||||
</div>
|
style={{
|
||||||
</div>
|
width: "100%",
|
||||||
</div>
|
height: "auto",
|
||||||
))}
|
objectFit: "cover",
|
||||||
<div className='col-12 text-center'>
|
borderRadius: "10px",
|
||||||
<div className="btn-box">
|
}}
|
||||||
<Link href="/area-of-injury" className="theme-btn btn-one-new"><span>View All</span></Link>
|
/>
|
||||||
</div>
|
</figure>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="lower-content mt-auto">
|
||||||
|
<h3>
|
||||||
|
<Link href={`/area-of-injury/${area.slug}`} aria-label="Area of injury title">
|
||||||
|
{area.title}
|
||||||
|
</Link>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
|
||||||
|
{/* ===== View All Button ===== */}
|
||||||
|
<div className="col-12 text-center">
|
||||||
|
<div className="btn-box">
|
||||||
|
<Link href="/area-of-injury" className="theme-btn btn-one-new" aria-label="View all">
|
||||||
|
<span>View All</span>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</div>
|
||||||
);
|
</div>
|
||||||
};
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ export default function CounterSection() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={10} /><span>+</span>
|
<CounterUp end={10} /><span>+</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Professionals</span>
|
<span className="text-new">Qualified Healthcare Professionals</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -23,7 +23,7 @@ export default function CounterSection() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={25} /><span>+</span>
|
<CounterUp end={25} /><span>+</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Years Experience</span>
|
<span className="text-new">Years of Combined Experience</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -33,7 +33,7 @@ export default function CounterSection() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={10} /><span>k+</span>
|
<CounterUp end={10} /><span>k+</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Happy Customers</span>
|
<span className="text-new">Patients Treated Successfully</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +43,7 @@ export default function CounterSection() {
|
|||||||
<div className="count-outer count-box">
|
<div className="count-outer count-box">
|
||||||
<CounterUp end={97} /><span>%</span>
|
<CounterUp end={97} /><span>%</span>
|
||||||
</div>
|
</div>
|
||||||
<span className="text-new">Client Satisfaction</span>
|
<span className="text-new">Client Satisfaction & Success Rate</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
'use client'
|
'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 Image from "next/image"
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
export default function FaqSection() {
|
export default function FaqSection() {
|
||||||
const [isActive, setIsActive] = useState({
|
const [isActive, setIsActive] = useState({
|
||||||
@ -26,7 +28,7 @@ export default function FaqSection() {
|
|||||||
{/* <figure className="image-layer"><img src="assets/images/resource/faq-1.png" alt="" /></figure> */}
|
{/* <figure className="image-layer"><img src="assets/images/resource/faq-1.png" alt="" /></figure> */}
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title centred mb_50">
|
<div className="sec-title centred mb_50">
|
||||||
<span className="sub-title">Discover Who We Are</span>
|
<span className="sub-title">Discover Why We’re Different</span>
|
||||||
<h2>Why Patients Trust Us</h2>
|
<h2>Why Patients Trust Us</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix d-flex align-items-center">
|
<div className="row clearfix d-flex align-items-center">
|
||||||
@ -36,6 +38,7 @@ export default function FaqSection() {
|
|||||||
<div className="image-shape">
|
<div className="image-shape">
|
||||||
<div className="shape-1 rotate-me">
|
<div className="shape-1 rotate-me">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-8.webp"
|
src="/assets/images/shape/shape-8.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -45,6 +48,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-33.png"
|
src="/assets/images/shape/shape-33.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -63,6 +67,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-34.png"
|
src="/assets/images/shape/shape-34.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -72,6 +77,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -93,26 +99,27 @@ export default function FaqSection() {
|
|||||||
<li className="accordion block active-block">
|
<li className="accordion block active-block">
|
||||||
<div className={isActive.key == 1 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(1)}>
|
<div className={isActive.key == 1 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(1)}>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>About Us</h5>
|
<h3>About Us</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key == 1 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key == 1 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text"><p>Welcome to Rapha Rehab Physiotherapy & Massage Therapy Clinic in Etobicoke. We provide trusted care through physiotherapy, sports injury rehab, pelvic floor therapy, chiropractic care, massage, acupuncture, osteopathy, orthotics, braces, pain management, workplace injury rehab, naturopathy, and home care services.</p>
|
<div className="text"><p>Welcome to <b>Rapha Rehab, the Best Physiotherapy & Massage Therapy Clinic in Etobicoke</b>, your trusted destination for complete rehabilitation and pain management.
|
||||||
|
We offer personalized care through physiotherapy, sports injury rehab, pelvic floor therapy, chiropractic care, osteopathy, acupuncture, massage therapy, orthotics, and home care physiotherapy - helping you move better, recover faster, and live pain-free.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box mt-3">
|
<div className="btn-box mt-3">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Appointment</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Book Appointment"><span>Book Appointment</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li className="accordion block active-block">
|
<li className="accordion block active-block">
|
||||||
<div className={isActive.key == 2 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(2)}>
|
<div className={isActive.key == 2 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(2)}>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Vision</h5>
|
<h3>Vision</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key == 2 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key == 2 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text"><p>To be regarded as the most reliable and effective health care therapy practice backed by the team of innovative healthcare professionals driven by passion.</p>
|
<div className="text"><p>To be recognized as Etobicoke’s most trusted physiotherapy and rehabilitation clinic, delivering innovative, compassionate, and effective care through a team of passionate healthcare professionals dedicated to improving lives.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -120,11 +127,12 @@ export default function FaqSection() {
|
|||||||
<li className="accordion block active-block">
|
<li className="accordion block active-block">
|
||||||
<div className={isActive.key == 3 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(3)}>
|
<div className={isActive.key == 3 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(3)}>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Mission</h5>
|
<h3>Mission</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key == 3 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key == 3 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text"><p>Physiotherapy etobicoke is committed to providing quality and innovative health care in a comfortable and professional environment. Our interdisciplinary team will work collaboratively to offer a comprehensive and patient centered approach to ensure the highest level of client experience through our evidence-based clinical practice.</p>
|
<div className="text"><p>At <b>Rapha Rehab Physiotherapy in Etobicoke</b>, our mission is to provide innovative, evidence-based healthcare in a supportive and professional environment.
|
||||||
|
We work as an <b>interdisciplinary team</b> to deliver comprehensive, patient-centered treatments that restore mobility, relieve pain, and enhance quality of life through compassionate care and clinical excellence.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -132,15 +140,16 @@ export default function FaqSection() {
|
|||||||
<li className="accordion block active-block">
|
<li className="accordion block active-block">
|
||||||
<div className={isActive.key == 4 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(4)}>
|
<div className={isActive.key == 4 ? "acc-btn active" : "acc-btn"} onClick={() => handleToggle(4)}>
|
||||||
<div className="icon-box"><i className="icon-34"></i></div>
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
<h5>Why Choose Us</h5>
|
<h3>Why Choose Us</h3>
|
||||||
</div>
|
</div>
|
||||||
<div className={isActive.key == 4 ? "acc-content current" : "acc-content"}>
|
<div className={isActive.key == 4 ? "acc-content current" : "acc-content"}>
|
||||||
<div className="content">
|
<div className="content">
|
||||||
<div className="text"><p>Physiotherapy etobicoke is a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients.</p>
|
<div className="text"><p>At <b>Rapha Rehab, the Best Physiotherapy in Etobicoke</b>, our dedicated team of healthcare professionals works together to deliver faster recovery, lasting pain relief, and personalized care, helping you move better and feel stronger every day.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="btn-box mt-3">
|
<div className="btn-box mt-3">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Appointment</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Book Appointment"><span>Book Appointment</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -14,7 +14,7 @@ export default function MobileFeatureCard() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/experienced.webp" alt="Experienced Professionals" />
|
<img src="/assets/images/home/icons/experienced.webp" alt="Experienced Professionals" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">Experienced <br /> Professionals</Link></h3>
|
<h3><Link href="/" aria-label="Experienced professionals">Experienced <br /> Professionals</Link></h3>
|
||||||
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -26,7 +26,7 @@ export default function MobileFeatureCard() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/walk-in.webp" alt="Walk-in Appointments" />
|
<img src="/assets/images/home/icons/walk-in.webp" alt="Walk-in Appointments" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">Walk-in<br /> Appointments</Link></h3>
|
<h3><Link href="/" aria-label="Walk in appointments">Walk-in<br /> Appointments</Link></h3>
|
||||||
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +38,7 @@ export default function MobileFeatureCard() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/state.webp" alt="State-of-the-Art Technology" />
|
<img src="/assets/images/home/icons/state.webp" alt="State-of-the-Art Technology" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">State-of-the-Art Technology</Link></h3>
|
<h3><Link href="/" aria-label="State of the art technology">State-of-the-Art Technology</Link></h3>
|
||||||
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -50,7 +50,7 @@ export default function MobileFeatureCard() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/one.webp" alt="One-on-One care" />
|
<img src="/assets/images/home/icons/one.webp" alt="One-on-One care" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">One-on-One <br /> Care</Link></h3>
|
<h3><Link href="/" aria-label="One-on-One care">One-on-One <br /> Care</Link></h3>
|
||||||
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
{/* <p>Lorem ipsum dolor sit amet ctetur adipiscing</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { servicesList } from "@/utils/Services.utils"
|
import { servicesList } from "@/utils/Services.utils"
|
||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import Image from "next/image"
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function MobileServices() {
|
export default function MobileServices() {
|
||||||
@ -10,6 +11,7 @@ export default function MobileServices() {
|
|||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<div className="pattern-1 ">
|
<div className="pattern-1 ">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/our-services/top-right.webp"
|
src="/assets/images/home/our-services/top-right.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -45,12 +47,12 @@ export default function MobileServices() {
|
|||||||
src={service.icon2}
|
src={service.icon2}
|
||||||
alt={`${service.alt}`}
|
alt={`${service.alt}`}
|
||||||
/>
|
/>
|
||||||
</div> <h3><Link href="/"> {service?.shortTitle}</Link></h3>
|
</div> <h3><Link href="/" aria-label="Service Title"> {service?.shortTitle}</Link></h3>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link
|
<Link
|
||||||
href={`/etobicoke-treatment-service/${service.slug}`}
|
href={`/etobicoke-treatment-service/${service.slug}`}
|
||||||
className="theme-btn-2 btn-one"
|
className="theme-btn-2 btn-one"
|
||||||
>
|
aria-label="View Service">
|
||||||
<span>View Service</span>
|
<span>View Service</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@ -64,7 +66,7 @@ export default function MobileServices() {
|
|||||||
|
|
||||||
<div className='col-12 text-center'>
|
<div className='col-12 text-center'>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one-new"><span>View All Services</span></Link>
|
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one-new" aria-label="View all service"><span>View All Services</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
228
components/sections/home/NeedHelpSection.js
Normal file
228
components/sections/home/NeedHelpSection.js
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
'use client';
|
||||||
|
import Layout from "@/components/layout/Layout";
|
||||||
|
import Link from "next/link";
|
||||||
|
import { useState } from "react";
|
||||||
|
|
||||||
|
export default function Faq() {
|
||||||
|
const [isActive, setIsActive] = useState({ status: false, key: 1 });
|
||||||
|
|
||||||
|
const handleToggle = (key) => {
|
||||||
|
if (isActive.key === key) {
|
||||||
|
setIsActive({ status: false });
|
||||||
|
} else {
|
||||||
|
setIsActive({ status: true, key });
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const faqs = [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
question: "Where can I find physiotherapy clinics near me with good reviews?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab is a highly rated physiotherapy clinic trusted by patients for personalized treatment, expert therapists, and excellent results. You can check our Google reviews to see real patient success stories.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
question: "Which physiotherapy services accept my health insurance in Canada?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab accepts most major Canadian insurance plans. We also provide direct billing for many providers, making your treatment experience smooth and hassle-free.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
question: "What are the costs for physiotherapy sessions in this area?",
|
||||||
|
answer:
|
||||||
|
"At Rapharehab, our physiotherapy fees are competitively priced and follow industry standards. Pricing depends on the type of treatment and session duration. You can contact our reception for a clear cost breakdown.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 4,
|
||||||
|
question: "Are there physiotherapy centers offering home visit services?",
|
||||||
|
answer:
|
||||||
|
"Yes. Rapharehab offers home physiotherapy sessions for patients who prefer treatment at home or have mobility challenges. Home care bookings can be scheduled online or by phone.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 5,
|
||||||
|
question: "Which physiotherapy clinics specialize in sports injury recovery?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab provides specialized sports injury physiotherapy, helping athletes recover faster through tailored rehab programs, strengthening exercises, and advanced technology treatments.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 6,
|
||||||
|
question: "Where can I book an online physiotherapy consultation?",
|
||||||
|
answer:
|
||||||
|
"You can easily book a virtual physiotherapy consultation directly on Rapharehab.ca. Our online physiotherapy sessions are ideal for assessments, follow-ups, and exercise guidance.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 7,
|
||||||
|
question: "Do any physiotherapy providers offer packages or discounts for multiple sessions?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab offers cost-effective treatment packages for patients needing multiple physiotherapy sessions. Contact our team to learn about current package discounts and wellness plans.",
|
||||||
|
section: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 8,
|
||||||
|
question: "Which physiotherapy clinics have flexible appointment hours on weekends?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab provides flexible appointments, including extended hours on weekdays and availability on weekends, making it easy for working professionals and busy families to get care.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 9,
|
||||||
|
question: "Where can I find physiotherapy services that use advanced treatment technology?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab uses modern physiotherapy technologies such as electrotherapy, ultrasound therapy, laser therapy, and biomechanical assessments to deliver faster and more effective recovery.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 10,
|
||||||
|
question: "Are there physiotherapy clinics with bilingual staff in my city?",
|
||||||
|
answer:
|
||||||
|
"Yes. Rapharehab has friendly bilingual staff, making communication easy and comfortable for patients from diverse backgrounds.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 11,
|
||||||
|
question: "Which clinics offer specialized physiotherapy for post-surgery rehabilitation?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab offers structured post-surgical rehabilitation programs for knee, hip, shoulder, spine, and orthopedic surgeries to help patients regain strength, mobility, and confidence.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 12,
|
||||||
|
question: "Where can I find pediatric physiotherapy services nearby?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab provides pediatric physiotherapy for children dealing with developmental delays, injuries, or muscle weakness. Our therapists use gentle, age-appropriate treatment plans.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 13,
|
||||||
|
question: "Are there mobile apps to schedule physiotherapy appointments in Canada?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab supports online appointment scheduling through our website and integrated booking tools. You can book, reschedule, or request a consultation instantly.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 14,
|
||||||
|
question: "Which physiotherapy providers have the shortest wait times for new patients?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab ensures minimal wait times for new patients. We prioritize fast appointments so you can begin treatment without unnecessary delays.",
|
||||||
|
section: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 15,
|
||||||
|
question: "Where can I find physiotherapy clinics that accept workers’ compensation claims?",
|
||||||
|
answer:
|
||||||
|
"Rapharehab accepts WSIB and workers’ compensation claims. Our team guides you through the paperwork and provides proper treatment documentation for smooth claim processing.",
|
||||||
|
section: 2,
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const sectionOneFaqs = faqs.filter((f) => f.section === 1);
|
||||||
|
const sectionTwoFaqs = faqs.filter((f) => f.section === 2);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<section className="faq-section pt_90 pb_90">
|
||||||
|
<div className="auto-container">
|
||||||
|
<div className="sec-title centred mb_50">
|
||||||
|
<span className="sub-title">FAQ’s</span>
|
||||||
|
<h2>Need Help?<br /> Find Answers Here</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row align-items-center clearfix">
|
||||||
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column mb-5 text-center text-lg-start">
|
||||||
|
<div className="image_block_four">
|
||||||
|
<div className="image-box">
|
||||||
|
<figure>
|
||||||
|
<img
|
||||||
|
src="/assets/images/home/faq-2.webp"
|
||||||
|
alt="Do You Have Any Physiotherapy Questions"
|
||||||
|
className="img-fluid"
|
||||||
|
style={{objectFit: "cover" }}
|
||||||
|
/>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||||
|
<div className="content-box">
|
||||||
|
<ul className="accordion-box">
|
||||||
|
{sectionOneFaqs.map((faq) => (
|
||||||
|
<li className="accordion block" key={faq.id}>
|
||||||
|
<div
|
||||||
|
className={isActive.key === faq.id ? "acc-btn active" : "acc-btn"}
|
||||||
|
onClick={() => handleToggle(faq.id)}
|
||||||
|
>
|
||||||
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
|
<h3>{faq.question}</h3>
|
||||||
|
</div>
|
||||||
|
<div className={isActive.key === faq.id ? "acc-content current" : "acc-content"}>
|
||||||
|
<div className="content">
|
||||||
|
<div className="text">
|
||||||
|
<p>{faq.answer}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="faq-section pb_90">
|
||||||
|
<div className="auto-container">
|
||||||
|
<div className="row align-items-center clearfix">
|
||||||
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||||
|
<div className="content-box">
|
||||||
|
<ul className="accordion-box">
|
||||||
|
{sectionTwoFaqs.map((faq) => (
|
||||||
|
<li className="accordion block" key={faq.id}>
|
||||||
|
<div
|
||||||
|
className={isActive.key === faq.id ? "acc-btn active" : "acc-btn"}
|
||||||
|
onClick={() => handleToggle(faq.id)}
|
||||||
|
>
|
||||||
|
<div className="icon-box"><i className="icon-34"></i></div>
|
||||||
|
<h3>{faq.question}</h3>
|
||||||
|
</div>
|
||||||
|
<div className={isActive.key === faq.id ? "acc-content current" : "acc-content"}>
|
||||||
|
<div className="content">
|
||||||
|
<div className="text">
|
||||||
|
<p>{faq.answer}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column mb-5 text-center text-lg-start">
|
||||||
|
<div className="image_block_four">
|
||||||
|
<div className="image-box">
|
||||||
|
<figure>
|
||||||
|
<img
|
||||||
|
src="/assets/images/home/faq-1.webp"
|
||||||
|
alt="Do You Have Any Physiotherapy Questions"
|
||||||
|
className="img-fluid"
|
||||||
|
style={{objectFit: "cover" }}
|
||||||
|
/>
|
||||||
|
</figure>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -1,17 +1,20 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function ProcessSection() {
|
export default function ProcessSection() {
|
||||||
return (
|
return (
|
||||||
<section className="process-section sec-pad bg-color-1">
|
<section className="process-section sec-pad bg-color-1">
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-19.png"
|
// loader={exportableLoader}
|
||||||
alt="Physiotherapy at Rapharehab"
|
src="/assets/images/shape/shape-19.png"
|
||||||
fill
|
alt="Physiotherapy at Rapharehab"
|
||||||
style={{ objectFit: "cover" }}
|
fill
|
||||||
/>
|
style={{ objectFit: "cover" }}
|
||||||
</div>
|
/>
|
||||||
|
</div>
|
||||||
{/* <div className="shape">
|
{/* <div className="shape">
|
||||||
<div className="shape-1 float-bob-x" style={{ backgroundImage: 'url(/assets/images/shape/shape-20.png)' }}></div>
|
<div className="shape-1 float-bob-x" style={{ backgroundImage: 'url(/assets/images/shape/shape-20.png)' }}></div>
|
||||||
<div className="shape-2 float-bob-y" style={{ backgroundImage: 'url(/assets/images/shape/shape-15.png)' }}></div>
|
<div className="shape-2 float-bob-y" style={{ backgroundImage: 'url(/assets/images/shape/shape-15.png)' }}></div>
|
||||||
@ -23,14 +26,15 @@ export default function ProcessSection() {
|
|||||||
<h2>How Physiotherapy Helps You Heal <br />and Stay Strong</h2>
|
<h2>How Physiotherapy Helps You Heal <br />and Stay Strong</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="inner-container">
|
<div className="inner-container">
|
||||||
<div className="arrow-shape">
|
<div className="arrow-shape">
|
||||||
<Image
|
<Image
|
||||||
src="/assets/images/shape/shape-18.webp"
|
// loader={exportableLoader}
|
||||||
alt="Physiotherapy at Rapharehab"
|
src="/assets/images/shape/shape-18.webp"
|
||||||
fill
|
alt="Physiotherapy at Rapharehab"
|
||||||
style={{ objectFit: "cover" }}
|
fill
|
||||||
/>
|
style={{ objectFit: "cover" }}
|
||||||
</div>
|
/>
|
||||||
|
</div>
|
||||||
{/* Step 01 */}
|
{/* Step 01 */}
|
||||||
<div className="processing-block-one wow fadeInLeft animated" data-wow-delay="00ms" data-wow-duration="1500ms">
|
<div className="processing-block-one wow fadeInLeft animated" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
import { servicesList } from '@/utils/Services.utils';
|
import { servicesList } from '@/utils/Services.utils';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function ServicesSection() {
|
export default function ServicesSection() {
|
||||||
return (
|
return (
|
||||||
@ -9,6 +11,7 @@ export default function ServicesSection() {
|
|||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<div className="pattern-1 ">
|
<div className="pattern-1 ">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/our-services/top-right.webp"
|
src="/assets/images/home/our-services/top-right.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -18,6 +21,7 @@ export default function ServicesSection() {
|
|||||||
|
|
||||||
<div className="pattern-2 ">
|
<div className="pattern-2 ">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/our-services/bottom-left.webp"
|
src="/assets/images/home/our-services/bottom-left.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -28,7 +32,7 @@ export default function ServicesSection() {
|
|||||||
</div>
|
</div>
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="sec-title-1 mb_50 centred">
|
<div className="sec-title-1 mb_50 centred">
|
||||||
<span className="sub-title-1">We Help You Move Better & Live Healthier</span>
|
<span className="sub-title-1">Empowering Every Move, Restoring Every Life</span>
|
||||||
<h2>Our Services</h2>
|
<h2>Our Services</h2>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
@ -38,7 +42,7 @@ export default function ServicesSection() {
|
|||||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||||
<div className="image-box">
|
<div className="image-box">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<Link href={`/etobicoke-treatment-service/${service.slug}`}>
|
<Link href={`/etobicoke-treatment-service/${service.slug}`} aria-label="Etobicoke treatment service">
|
||||||
<img src={service?.image} alt={service.alt} />
|
<img src={service?.image} alt={service.alt} />
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
@ -48,7 +52,7 @@ export default function ServicesSection() {
|
|||||||
<img src={service?.icon} alt={service.alt} />
|
<img src={service?.icon} alt={service.alt} />
|
||||||
</div>
|
</div>
|
||||||
<h3 className='text-start'>
|
<h3 className='text-start'>
|
||||||
<Link href={`/etobicoke-treatment-service/${service.slug}`}>
|
<Link href={`/etobicoke-treatment-service/${service.slug}`} aria-label="Etobicoke treatment service">
|
||||||
{service?.shortTitle}
|
{service?.shortTitle}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
@ -71,7 +75,7 @@ export default function ServicesSection() {
|
|||||||
))}
|
))}
|
||||||
<div className='col-12 text-center'>
|
<div className='col-12 text-center'>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one-new"><span>View All Services</span></Link>
|
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one-new" aria-label="Etobicoke treatment service"><span>View All Services</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,12 +1,15 @@
|
|||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function WhyChooseUsSection() {
|
export default function WhyChooseUsSection() {
|
||||||
return (
|
return (
|
||||||
<section className="chooseus-section">
|
<section className="chooseus-section">
|
||||||
<div className="bg-layer">
|
<div className="bg-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/why-choose/why-choose-right.webp"
|
src="/assets/images/home/why-choose/why-choose-right.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -17,6 +20,7 @@ export default function WhyChooseUsSection() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-12.webp"
|
src="/assets/images/shape/shape-12.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -31,8 +35,10 @@ export default function WhyChooseUsSection() {
|
|||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="sec-title light mb_50">
|
<div className="sec-title light mb_50">
|
||||||
{/* <span className="sub-title">Why Choose Us</span> */}
|
{/* <span className="sub-title">Why Choose Us</span> */}
|
||||||
<h2>WHY CHOOSE ETOBICOKE PHYSIOTHERAPY</h2>
|
<h2>WHY CHOOSE RAPHA REHAB PHYSIOTHERAPY</h2>
|
||||||
<p className='sub-title-2'>Physiotherapy Etobicoke – We are a team of health care professionals provide physiotherapy, massage therapy services in etobicoke assist you in improving your health.</p>
|
<p className='sub-title-2 mb-2 mt-2'>At <b>Rapha Rehab</b>, we believe recovery is more than treatment - it’s about rebuilding confidence, strength, and movement.
|
||||||
|
Our compassionate team of registered physiotherapists and healthcare professionals in <b>Etobicoke</b> work with you one-on-one to understand your pain, identify the root cause, and create a care plan that fits your goals.</p>
|
||||||
|
<p className='sub-title-2'> Whether you’re recovering from an injury, surgery, or chronic pain, we’re here to help you move freely and live fully again.</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
<div className="col-lg-6 col-md-6 chooseus-block">
|
<div className="col-lg-6 col-md-6 chooseus-block">
|
||||||
@ -40,7 +46,7 @@ export default function WhyChooseUsSection() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert Team" /></div>
|
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert Team" /></div>
|
||||||
<h3>Expert Team</h3>
|
<h3>Expert Team</h3>
|
||||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals.</p>
|
<p>A skilled and caring group of physiotherapists focused on real results.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -49,7 +55,7 @@ export default function WhyChooseUsSection() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/home/why-choose/understand.webp" alt="Understand your Pain" /></div>
|
<div className="icon-box"><img src="/assets/images/home/why-choose/understand.webp" alt="Understand your Pain" /></div>
|
||||||
<h3>Understand your Pain</h3>
|
<h3>Understand your Pain</h3>
|
||||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery.</p>
|
<p>Personalized assessments to find the cause, not just treat symptoms.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -58,7 +64,7 @@ export default function WhyChooseUsSection() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready To Go" /></div>
|
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready To Go" /></div>
|
||||||
<h3>Ready To Go</h3>
|
<h3>Ready To Go</h3>
|
||||||
<p>Flexible opening hours conveniently located in etobicoke.</p>
|
<p>Flexible appointments and a welcoming clinic in the heart of Etobicoke.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -40,19 +40,19 @@ export default function News() {
|
|||||||
<div className="news-block-one">
|
<div className="news-block-one">
|
||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<figure className="image-box">
|
<figure className="image-box">
|
||||||
<Link href={`/blog/${blog.slug}`}>
|
<Link href={`/blog/${blog.slug}`} aria-label="Blog Image">
|
||||||
<img src={blog.thumbnail} alt={blog.title} />
|
<img src={blog.thumbnail} alt={blog.title} />
|
||||||
</Link>
|
</Link>
|
||||||
</figure>
|
</figure>
|
||||||
<div className="lower-content">
|
<div className="lower-content">
|
||||||
<h3>
|
<h3>
|
||||||
<Link href={`/blog/${blog.slug}`}>
|
<Link href={`/blog/${blog.slug}`} aria-label="Our Blog title">
|
||||||
{blog.title.length > 40 ? blog.title.slice(0, 40) + "..." : blog.title}
|
{blog.title.length > 40 ? blog.title.slice(0, 40) + "..." : blog.title}
|
||||||
</Link>
|
</Link>
|
||||||
</h3>
|
</h3>
|
||||||
<p>{blog.shortDesc}</p>
|
<p>{blog.shortDesc}</p>
|
||||||
<div className="link">
|
<div className="link">
|
||||||
<Link href={`/blog/${blog.slug}`}>
|
<Link href={`/blog/${blog.slug}`} aria-label="Read More">
|
||||||
<span>Read More</span>
|
<span>Read More</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
|
import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function Testimonial() {
|
export default function Testimonial() {
|
||||||
return (
|
return (
|
||||||
@ -8,6 +10,7 @@ export default function Testimonial() {
|
|||||||
<section className="testimonial-section sec-pad bg-color-1">
|
<section className="testimonial-section sec-pad bg-color-1">
|
||||||
<div className="bg-layer">
|
<div className="bg-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/testimonial-left.webp"
|
src="/assets/images/home/testimonial-left.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -17,6 +20,7 @@ export default function Testimonial() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-21.webp"
|
src="/assets/images/shape/shape-21.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -30,6 +34,8 @@ export default function Testimonial() {
|
|||||||
<div className="content-box p_relative ml_45">
|
<div className="content-box p_relative ml_45">
|
||||||
<div className="sec-title-1 mb_50">
|
<div className="sec-title-1 mb_50">
|
||||||
<span className="sub-title-1 mb-1">Google Reviews</span>
|
<span className="sub-title-1 mb-1">Google Reviews</span>
|
||||||
|
<p className='tex-color-1 mb-3'> Discover why patients across Etobicoke trust Rapha Rehab for physiotherapy, rehabilitation, and pain management care.
|
||||||
|
</p>
|
||||||
|
|
||||||
{/* Exact same stars as testimonial */}
|
{/* Exact same stars as testimonial */}
|
||||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||||
@ -52,7 +58,7 @@ export default function Testimonial() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="theme-btn btn-one-new-raw"
|
className="theme-btn btn-one-new-raw"
|
||||||
>
|
aria-label="Review us on google">
|
||||||
<span>Review us on Google</span>
|
<span>Review us on Google</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
'use client'
|
'use client'
|
||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from 'next/image';
|
import Image from "next/image";
|
||||||
|
|
||||||
|
|
||||||
import ModalVideo from 'react-modal-video'
|
import ModalVideo from 'react-modal-video'
|
||||||
export default function Video() {
|
export default function Video() {
|
||||||
const [isOpen, setOpen] = useState(false)
|
const [isOpen, setOpen] = useState(false)
|
||||||
@ -10,6 +12,7 @@ export default function Video() {
|
|||||||
<section className="video-section p_relative">
|
<section className="video-section p_relative">
|
||||||
<div className="bg-layer parallax-bg" data-parallax='{"y": 100}'>
|
<div className="bg-layer parallax-bg" data-parallax='{"y": 100}'>
|
||||||
<Image
|
<Image
|
||||||
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/make-an-appointment/make-an-appopintment-bg.webp"
|
src="/assets/images/home/make-an-appointment/make-an-appopintment-bg.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -29,9 +32,9 @@ export default function Video() {
|
|||||||
<span className="border-animation border-3"></span>
|
<span className="border-animation border-3"></span>
|
||||||
</a>
|
</a>
|
||||||
</div> */}
|
</div> */}
|
||||||
<h2>Expert Online Consultations <br />with our therapists.</h2>
|
<h2>Talk to Our Physiotherapy <br /> Experts - Anytime, Anywhere.</h2>
|
||||||
<div className="btn-box">
|
<div className="btn-box">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Schedule Your Consultation</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Schedule your consultation"><span>Schedule Your Consultation</span></Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -57,40 +57,40 @@ export default function Banner() {
|
|||||||
id: 0,
|
id: 0,
|
||||||
bg: "/assets/images/banner/desktopBanner/banner-4.webp",
|
bg: "/assets/images/banner/desktopBanner/banner-4.webp",
|
||||||
alt: "Physiotherapy at Rapharehab Clinic.",
|
alt: "Physiotherapy at Rapharehab Clinic.",
|
||||||
upper: "Begin your",
|
upper: "Start Your Path to",
|
||||||
title: "Recovery",
|
title: "Recovery",
|
||||||
desc: "• Rehab • Strength Training • Personalized Care",
|
desc: " • Renew • Revive • Rejuvenate ",
|
||||||
btn: { text: "Visit Our Location", link: "/contact" },
|
btn: { text: "Visit Our Clinic", link: "/contact" },
|
||||||
align: "start",
|
align: "start",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
bg: "/assets/images/banner/desktopBanner/banner-1.webp",
|
bg: "/assets/images/banner/desktopBanner/banner-1.webp",
|
||||||
alt: "Pain relief and rehab therapy.",
|
alt: "Pain relief and rehab therapy.",
|
||||||
upper: "Build Your Strength &",
|
upper: "Power Your Body &",
|
||||||
title: "Endurance",
|
title: "Endure",
|
||||||
desc: "• Physiotherapy • Sports Therapy • Injury Prevention",
|
desc: "• Strength • Balance • Power ",
|
||||||
btn: { text: "Book Your Appointment", link: "tel:+647-722-3434" },
|
btn: { text: "Book Your Session", link: "tel:+647-722-3434" },
|
||||||
align: "center",
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
bg: "/assets/images/banner/desktopBanner/banner-3.webp",
|
bg: "/assets/images/banner/desktopBanner/banner-3.webp",
|
||||||
alt: "Rapharehab physiotherapy session.",
|
alt: "Rapharehab physiotherapy session.",
|
||||||
upper: "Regain Your Strength",
|
upper: "Restore Your Balance &",
|
||||||
title: "Heal",
|
title: "Heal",
|
||||||
desc: "• Pain Relief • Mobility • Wellness",
|
desc: " • Relax • Release • Restore ",
|
||||||
btn: { text: "Schedule a Massage", link: "/contact" },
|
btn: { text: "Schedule Your Massage", link: "/contact" },
|
||||||
align: "start",
|
align: "start",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
bg: "/assets/images/banner/desktopBanner/banner-2.webp",
|
bg: "/assets/images/banner/desktopBanner/banner-2.webp",
|
||||||
alt: "Rehab and recovery care.",
|
alt: "Rehab and recovery care.",
|
||||||
upper: "Build your Core",
|
upper: " Strengthen Your Core &",
|
||||||
title: "Performance",
|
title: "Perform",
|
||||||
desc: "• Pain Relief • Active Care • Long-Term Result",
|
desc: " • Energy • Control • Performance ",
|
||||||
btn: { text: "Explore Our Service", link: "/etobicoke-treatment-service" },
|
btn: { text: "Explore Our Programs", link: "/etobicoke-treatment-service" },
|
||||||
align: "space-evenly",
|
align: "space-evenly",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -142,18 +142,31 @@ export default function Banner() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<span className="upper-text mb-2" style={{ fontSize: "22px" }}>{s.upper}</span>
|
<span className="upper-text mb-2" style={{ fontSize: "22px" }}>{s.upper}</span>
|
||||||
<h1
|
{/* ✅ Use <h1> for first slide only */}
|
||||||
style={{
|
{s.id === 0 ? (
|
||||||
color: "#bc0000",
|
<h1
|
||||||
fontWeight: "bold",
|
style={{
|
||||||
fontSize: "64px",
|
color: "#bc0000",
|
||||||
}}
|
fontWeight: "bold",
|
||||||
>
|
fontSize: "64px",
|
||||||
{s.title}
|
}}
|
||||||
</h1>
|
>
|
||||||
|
{s.title}
|
||||||
|
</h1>
|
||||||
|
) : (
|
||||||
|
<h3
|
||||||
|
style={{
|
||||||
|
color: "#bc0000",
|
||||||
|
fontWeight: "bold",
|
||||||
|
fontSize: "64px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{s.title}
|
||||||
|
</h3>
|
||||||
|
)}
|
||||||
<p style={{ color: "#fff" }}>{s.desc}</p>
|
<p style={{ color: "#fff" }}>{s.desc}</p>
|
||||||
<div className="btn-box mt-3">
|
<div className="btn-box mt-3">
|
||||||
<Link href={s.btn.link} className="theme-btn btn-one">
|
<Link href={s.btn.link} className="theme-btn btn-one" aria-label="Banner Button">
|
||||||
<span>{s.btn.text}</span>
|
<span>{s.btn.text}</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -15,7 +15,7 @@ export default function Features() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/experienced.webp" alt="Experienced Professionals" />
|
<img src="/assets/images/home/icons/experienced.webp" alt="Experienced Professionals" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">Experienced <br/> Professionals</Link></h3>
|
<h3><Link href="/" aria-label="Experienced professionals">Experienced <br/> Professionals</Link></h3>
|
||||||
{/* <p>Skilled experts deliver trusted professional healthcare with years of proven experience.</p> */}
|
{/* <p>Skilled experts deliver trusted professional healthcare with years of proven experience.</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,7 +27,7 @@ export default function Features() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/walk-in.webp" alt="Walk-in Appointments" />
|
<img src="/assets/images/home/icons/walk-in.webp" alt="Walk-in Appointments" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">Walk-in<br/> Appointments</Link></h3>
|
<h3><Link href="/" aria-label="Walk-in Appointments">Walk-in<br/> Appointments</Link></h3>
|
||||||
{/* <p>Get quick appointments with hassle-free, convenient scheduling today.</p> */}
|
{/* <p>Get quick appointments with hassle-free, convenient scheduling today.</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -39,7 +39,7 @@ export default function Features() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/state.webp" alt="State-of-the-Art Technology" />
|
<img src="/assets/images/home/icons/state.webp" alt="State-of-the-Art Technology" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">State-of-the-Art Technology</Link></h3>
|
<h3><Link href="/" aria-label="State-of-the-Art Technology">Advanced Technology</Link></h3>
|
||||||
{/* <p>Advanced tools ensure accurate results with modern, innovative solutions.</p> */}
|
{/* <p>Advanced tools ensure accurate results with modern, innovative solutions.</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -51,7 +51,7 @@ export default function Features() {
|
|||||||
<div className="icon-box">
|
<div className="icon-box">
|
||||||
<img src="/assets/images/home/icons/one.webp" alt="One-on-One care" />
|
<img src="/assets/images/home/icons/one.webp" alt="One-on-One care" />
|
||||||
</div>
|
</div>
|
||||||
<h3><Link href="/">One-on-One <br /> Care</Link></h3>
|
<h3><Link href="/" aria-label="One-on-One care">Personalized <br />One-on-One Care</Link></h3>
|
||||||
{/* <p>Tailored attention provides focused treatments designed for unique needs.</p> */}
|
{/* <p>Tailored attention provides focused treatments designed for unique needs.</p> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -47,42 +47,42 @@ export default function MobileBanner() {
|
|||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
bgImage: "/assets/images/banner/mobile-banner/4.webp",
|
bgImage: "/assets/images/banner/mobile-banner/4.webp",
|
||||||
upperText: "Begin your ",
|
upperText: "Start Your Path to ",
|
||||||
title: "Recovery",
|
title: "Recovery",
|
||||||
description:
|
description:
|
||||||
"Discover holistic physiotherapy and rehab services designed to restore balance, ease pain, and support long-term recovery.",
|
"Discover holistic physiotherapy and rehab services designed to restore balance, ease pain, and support long-term recovery.",
|
||||||
buttonText: "Book Your Appointment",
|
buttonText: "Visit Our Clinic",
|
||||||
buttonLink: "/contact",
|
buttonLink: "/contact",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
bgImage: "/assets/images/banner/mobile-banner/1.webp",
|
bgImage: "/assets/images/banner/mobile-banner/1.webp",
|
||||||
upperText: "Build Your Strength & ",
|
upperText: "Power Your Body &",
|
||||||
title: "Endurance",
|
title: "Endure",
|
||||||
subtitle: "Expert Physiotherapy in Mississauga for You.",
|
subtitle: "Expert Physiotherapy in Mississauga for You.",
|
||||||
description:
|
description:
|
||||||
"Our expert physiotherapists help you restore movement, reduce pain, and live healthier with personalized care in Mississauga.",
|
"Our expert physiotherapists help you restore movement, reduce pain, and live healthier with personalized care in Mississauga.",
|
||||||
buttonText: "Book Your Appointment",
|
buttonText: "Book Your Session",
|
||||||
buttonLink: "tel:+647-722-3434",
|
buttonLink: "tel:+647-722-3434",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
bgImage: "/assets/images/banner/mobile-banner/3.webp",
|
bgImage: "/assets/images/banner/mobile-banner/3.webp",
|
||||||
upperText: "Regain your Flexibility & ",
|
upperText: "Restore Your Balance &",
|
||||||
title: "Balance",
|
title: "Heal",
|
||||||
description:
|
description:
|
||||||
"Comprehensive physiotherapy and rehab services designed to restore your strength, mobility and long-term wellness.",
|
"Comprehensive physiotherapy and rehab services designed to restore your strength, mobility and long-term wellness.",
|
||||||
buttonText: "Explore Our Service",
|
buttonText: "Schedule Your Massage",
|
||||||
buttonLink: "/etobicoke-treatment-service",
|
buttonLink: "/etobicoke-treatment-service",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
bgImage: "/assets/images/banner/mobile-banner/2.webp",
|
bgImage: "/assets/images/banner/mobile-banner/2.webp",
|
||||||
upperText: "Build your Core ",
|
upperText: "Strengthen Your Core & ",
|
||||||
title: "Performance",
|
title: "Perform",
|
||||||
description:
|
description:
|
||||||
"Experience soothing massage techniques that release tension, promote circulation, and support your overall wellness.",
|
"Experience soothing massage techniques that release tension, promote circulation, and support your overall wellness.",
|
||||||
buttonText: "Schedule a Massage",
|
buttonText: "Explore Our Programs",
|
||||||
buttonLink: "/contact",
|
buttonLink: "/contact",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -124,7 +124,7 @@ export default function MobileBanner() {
|
|||||||
>
|
>
|
||||||
<div className="content-box custom-content-box">
|
<div className="content-box custom-content-box">
|
||||||
<span className="upper-text mb-2">{slide.upperText}</span>
|
<span className="upper-text mb-2">{slide.upperText}</span>
|
||||||
<h2
|
<h1
|
||||||
style={{
|
style={{
|
||||||
fontSize: "32px",
|
fontSize: "32px",
|
||||||
lineHeight: "42px",
|
lineHeight: "42px",
|
||||||
@ -133,14 +133,14 @@ export default function MobileBanner() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{slide.title}
|
{slide.title}
|
||||||
</h2>
|
</h1>
|
||||||
{/* {slide.subtitle && <p>{slide.subtitle}</p>} */}
|
{/* {slide.subtitle && <p>{slide.subtitle}</p>} */}
|
||||||
{/* <p>{slide.description}</p> */}
|
{/* <p>{slide.description}</p> */}
|
||||||
<div className="btn-box mt-3">
|
<div className="btn-box mt-3">
|
||||||
<Link
|
<Link
|
||||||
href={slide.buttonLink}
|
href={slide.buttonLink}
|
||||||
className="theme-btn btn-one-new"
|
className="theme-btn btn-one-new"
|
||||||
>
|
aria-label="Mobile Banner Button">
|
||||||
<span>{slide.buttonText}</span>
|
<span>{slide.buttonText}</span>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,49 +1,91 @@
|
|||||||
import React from 'react';
|
"use client";
|
||||||
import Link from "next/link"
|
import React, { useState, useEffect } from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
import Image from "next/image";
|
||||||
|
|
||||||
|
// ✅ Progress bar (optional)
|
||||||
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 Solution() {
|
export default function Solution() {
|
||||||
|
const [isMobile, setIsMobile] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const checkScreenSize = () => setIsMobile(window.innerWidth <= 768);
|
||||||
|
checkScreenSize();
|
||||||
|
window.addEventListener("resize", checkScreenSize);
|
||||||
|
return () => window.removeEventListener("resize", checkScreenSize);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// ✅ Image source changes by screen size
|
||||||
|
const imageSrc = isMobile
|
||||||
|
? "/assets/images/home/trusted/trusted-physiotherapy-care-mbl.webp"
|
||||||
|
: "/assets/images/home/trusted/trusted-physiotherapy-care.webp";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className="solutions-section p_relative">
|
<section className="solutions-section p_relative">
|
||||||
<div className="auto-container">
|
<div className="auto-container">
|
||||||
<div className="row clearfix">
|
<div className="row clearfix">
|
||||||
|
{/* ===== Left Column (Text) ===== */}
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||||
<div className="content-box">
|
<div className="content-box">
|
||||||
<div className="sec-title mb-3">
|
<div className="sec-title mb-3">
|
||||||
<span className="sub-title">Association With</span>
|
<span className="sub-title">Association With</span>
|
||||||
<h2>Trusted Physiotherapy Care in Etobicoke</h2>
|
<h2>Trusted Physiotherapy Experts in Etobicoke</h2>
|
||||||
</div>
|
</div>
|
||||||
<p className='pr_50'>
|
|
||||||
Our highly skilled physiotherapy team in Etobicoke is dedicated to helping you
|
<p className="pr_50">
|
||||||
restore mobility, relieve pain, and achieve your long-term health goals.
|
At <b>Rapha Rehab</b>, we go beyond routine treatment - we focus on your complete recovery.
|
||||||
With a personalized treatment approach and patient-focused care, we are here
|
Our expert physiotherapists and rehabilitation specialists in <b>Etobicoke</b> create personalized care plans designed to restore movement, relieve pain, and support long-term well-being.
|
||||||
to support your journey toward better health and well-being.
|
From sports injuries to post-surgery rehabilitation, we’re committed to helping you move confidently and live without limits.
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
{/* ✅ Optional Progress Bars */}
|
||||||
{/* <div className="progress-inner mb_50">
|
{/* <div className="progress-inner mb_50">
|
||||||
|
<ProgressBar label="Skilled Doctor" percent={85} />
|
||||||
<ProgressBar label="Skilled Doctor" percent={85} />
|
<ProgressBar label="Modernized Equipment" percent={90} />
|
||||||
<ProgressBar label="Modernized Equipment" percent={90} />
|
<ProgressBar label="Dedicated Team" percent={80} />
|
||||||
<ProgressBar label="Dedicated Team" percent={80} />
|
</div> */}
|
||||||
</div> */}
|
|
||||||
|
|
||||||
<div className="btn-box mt_50">
|
<div className="btn-box mt_50">
|
||||||
<Link href="/contact" className="theme-btn btn-one"><span>Contact Us</span></Link>
|
<Link href="/contact" className="theme-btn btn-one" aria-label="Contact-Us">
|
||||||
|
<span>Contact Us</span>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* ===== Right Column (Image) ===== */}
|
||||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||||
<div className="image_block_tw">
|
<div className="image_block_tw">
|
||||||
<div className="image-box text-center">
|
<div className="image-box text-center">
|
||||||
<img
|
<Image
|
||||||
src="/assets/images/home/trusted/trusted-physiotherapy-care.webp"
|
src={imageSrc}
|
||||||
alt="Trusted Physiotherapy"
|
alt="Trusted Physiotherapy"
|
||||||
|
width={600}
|
||||||
|
height={400}
|
||||||
|
priority
|
||||||
|
quality={70}
|
||||||
|
placeholder="blur"
|
||||||
|
blurDataURL={imageSrc}
|
||||||
|
sizes="(max-width: 768px) 100vw, 50vw"
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: "auto",
|
||||||
|
borderRadius: "10px",
|
||||||
|
objectFit: "cover",
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -51,7 +93,5 @@ export default function Solution() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
)
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,44 @@ const nextConfig = {
|
|||||||
// modern: true, // ✅ enable modern build (ES6+ for modern browsers)
|
// modern: true, // ✅ enable modern build (ES6+ for modern browsers)
|
||||||
// polyfillsOptimization: true // ✅ remove unnecessary polyfills
|
// polyfillsOptimization: true // ✅ remove unnecessary polyfills
|
||||||
// },
|
// },
|
||||||
|
async headers() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
// ✅ Cache static assets for 1 year
|
||||||
|
source: "/:all*(woff2|ttf|eot|otf|jpg|jpeg|png|webp|svg|gif|css|js)",
|
||||||
|
headers: [
|
||||||
|
{ key: "Cache-Control", value: "public, max-age=31536000, immutable" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// ✅ Cache HTML for 10 mins
|
||||||
|
source: "/:all*(html)",
|
||||||
|
headers: [
|
||||||
|
{ key: "Cache-Control", value: "public, max-age=600, must-revalidate" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = nextConfig;
|
module.exports = nextConfig;
|
||||||
|
|
||||||
|
// next.config.js
|
||||||
|
// /** @type {import('next').NextConfig} */
|
||||||
|
// const nextConfig = {
|
||||||
|
// output: 'export', // static HTML export
|
||||||
|
// trailingSlash: true,
|
||||||
|
// images: {
|
||||||
|
// // loader: 'custom', // required by next-image-export-optimizer
|
||||||
|
// unoptimized: true, // prevents runtime optimization
|
||||||
|
// },
|
||||||
|
// transpilePackages: ['next-image-export-optimizer'],
|
||||||
|
// env: {
|
||||||
|
// nextImageExportOptimizer_imageFolderPath: '/assets/images',
|
||||||
|
// nextImageExportOptimizer_exportFolderPath: 'out',
|
||||||
|
// nextImageExportOptimizer_quality: '65',
|
||||||
|
// nextImageExportOptimizer_storePicturesInWEBP: 'true',
|
||||||
|
// },
|
||||||
|
// };
|
||||||
|
|
||||||
|
// module.exports = nextConfig;
|
||||||
|
|||||||
825
package-lock.json
generated
825
package-lock.json
generated
@ -8,7 +8,7 @@
|
|||||||
"name": "start-app-dir",
|
"name": "start-app-dir",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.11.0",
|
"axios": "^1.13.2",
|
||||||
"framer-motion": "^12.23.12",
|
"framer-motion": "^12.23.12",
|
||||||
"imagemin": "^9.0.1",
|
"imagemin": "^9.0.1",
|
||||||
"imagemin-avif": "^0.1.6",
|
"imagemin-avif": "^0.1.6",
|
||||||
@ -23,10 +23,13 @@
|
|||||||
"react-google-recaptcha": "^3.1.0",
|
"react-google-recaptcha": "^3.1.0",
|
||||||
"react-modal-video": "^2.0.1",
|
"react-modal-video": "^2.0.1",
|
||||||
"sass": "^1.66.1",
|
"sass": "^1.66.1",
|
||||||
|
"selenium-webdriver": "^4.38.0",
|
||||||
"swiper": "^10.2.0",
|
"swiper": "^10.2.0",
|
||||||
"wowjs": "^1.1.3"
|
"wowjs": "^1.1.3",
|
||||||
|
"xml2js": "^0.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"next-export-optimize-images": "^4.7.0",
|
||||||
"sitemap": "^8.0.0"
|
"sitemap": "^8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -39,6 +42,12 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@bazel/runfiles": {
|
||||||
|
"version": "6.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-6.5.0.tgz",
|
||||||
|
"integrity": "sha512-RzahvqTkfpY2jsDxo8YItPX+/iZ6hbiikw1YhE0bA9EKBR5Og8Pa6FHn9PO9M0zaXRVsr0GFQLKbB/0rzy9SzA==",
|
||||||
|
"license": "Apache-2.0"
|
||||||
|
},
|
||||||
"node_modules/@borewit/text-codec": {
|
"node_modules/@borewit/text-codec": {
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz",
|
||||||
@ -59,6 +68,16 @@
|
|||||||
"tslib": "^2.4.0"
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@img/colour": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@img/sharp-darwin-arm64": {
|
"node_modules/@img/sharp-darwin-arm64": {
|
||||||
"version": "0.33.5",
|
"version": "0.33.5",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
|
||||||
@ -167,6 +186,23 @@
|
|||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@img/sharp-libvips-linux-ppc64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==",
|
||||||
|
"cpu": [
|
||||||
|
"ppc64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@img/sharp-libvips-linux-s390x": {
|
"node_modules/@img/sharp-libvips-linux-s390x": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
|
||||||
@ -275,6 +311,29 @@
|
|||||||
"@img/sharp-libvips-linux-arm64": "1.0.4"
|
"@img/sharp-libvips-linux-arm64": "1.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@img/sharp-linux-ppc64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==",
|
||||||
|
"cpu": [
|
||||||
|
"ppc64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-ppc64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@img/sharp-linux-s390x": {
|
"node_modules/@img/sharp-linux-s390x": {
|
||||||
"version": "0.33.5",
|
"version": "0.33.5",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
|
||||||
@ -382,6 +441,26 @@
|
|||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@img/sharp-win32-arm64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@img/sharp-win32-ia32": {
|
"node_modules/@img/sharp-win32-ia32": {
|
||||||
"version": "0.33.5",
|
"version": "0.33.5",
|
||||||
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
|
||||||
@ -988,6 +1067,16 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/ansi-wrap": {
|
"node_modules/ansi-wrap": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
|
||||||
@ -997,6 +1086,16 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/app-root-path": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/arch": {
|
"node_modules/arch": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
|
||||||
@ -1094,9 +1193,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.11.0",
|
"version": "1.13.2",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
|
||||||
"integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
|
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.6",
|
||||||
@ -1925,6 +2024,19 @@
|
|||||||
"url": "https://paulmillr.com/funding/"
|
"url": "https://paulmillr.com/funding/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/cli-progress": {
|
||||||
|
"version": "3.12.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz",
|
||||||
|
"integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"string-width": "^4.2.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/client-only": {
|
"node_modules/client-only": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
|
||||||
@ -2419,6 +2531,13 @@
|
|||||||
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
|
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
|
||||||
"license": "BSD-3-Clause"
|
"license": "BSD-3-Clause"
|
||||||
},
|
},
|
||||||
|
"node_modules/emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/end-of-stream": {
|
"node_modules/end-of-stream": {
|
||||||
"version": "1.4.5",
|
"version": "1.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
|
||||||
@ -2934,6 +3053,21 @@
|
|||||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
|
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/fs-extra": {
|
||||||
|
"version": "11.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
|
||||||
|
"integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"graceful-fs": "^4.2.0",
|
||||||
|
"jsonfile": "^6.0.1",
|
||||||
|
"universalify": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fs.realpath": {
|
"node_modules/fs.realpath": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||||
@ -3380,6 +3514,12 @@
|
|||||||
"node": ">=14.16"
|
"node": ">=14.16"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/immediate": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
|
||||||
|
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/immutable": {
|
"node_modules/immutable": {
|
||||||
"version": "5.1.3",
|
"version": "5.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
|
||||||
@ -3488,6 +3628,16 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/is-fullwidth-code-point": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/is-glob": {
|
"node_modules/is-glob": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
@ -3677,6 +3827,31 @@
|
|||||||
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
|
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/jsonfile": {
|
||||||
|
"version": "6.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
|
||||||
|
"integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"universalify": "^2.0.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"graceful-fs": "^4.1.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jszip": {
|
||||||
|
"version": "3.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
|
||||||
|
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
|
||||||
|
"license": "(MIT OR GPL-3.0-or-later)",
|
||||||
|
"dependencies": {
|
||||||
|
"lie": "~3.3.0",
|
||||||
|
"pako": "~1.0.2",
|
||||||
|
"readable-stream": "~2.3.6",
|
||||||
|
"setimmediate": "^1.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/junk": {
|
"node_modules/junk": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/junk/-/junk-4.0.1.tgz",
|
||||||
@ -3704,6 +3879,22 @@
|
|||||||
"json-buffer": "3.0.0"
|
"json-buffer": "3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/lie": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"immediate": "~3.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lodash.uniqwith": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/loose-envify": {
|
"node_modules/loose-envify": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||||
@ -3948,6 +4139,489 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/next-export-optimize-images": {
|
||||||
|
"version": "4.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/next-export-optimize-images/-/next-export-optimize-images-4.7.0.tgz",
|
||||||
|
"integrity": "sha512-j4DlEg50emzcB6bxIswSqNtOtqiR0Gno0BvmI3ndk2owca6vvzipThXcKEtKGjp0JuswkuPbWosbn3yb+8rC2g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-colors": "^4.1.3",
|
||||||
|
"app-root-path": "^3.1.0",
|
||||||
|
"cli-progress": "^3.12.0",
|
||||||
|
"fs-extra": "^11.3.1",
|
||||||
|
"lodash.uniqwith": "^4.5.0",
|
||||||
|
"recursive-readdir": "^2.2.3",
|
||||||
|
"sharp": "^0.34.3"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"next-export-optimize-images": "bin/index.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"next": "14.x || 15.x",
|
||||||
|
"react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0",
|
||||||
|
"react-dom": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-darwin-arm64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-darwin-arm64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-darwin-x64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-darwin-x64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-darwin-arm64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-darwin-x64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linux-arm": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linux-arm64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linux-s390x": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==",
|
||||||
|
"cpu": [
|
||||||
|
"s390x"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linux-x64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linuxmusl-arm64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-libvips-linuxmusl-x64": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linux-arm": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-arm": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linux-arm64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-arm64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linux-s390x": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==",
|
||||||
|
"cpu": [
|
||||||
|
"s390x"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-s390x": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linux-x64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linux-x64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linuxmusl-arm64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-linuxmusl-x64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-wasm32": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==",
|
||||||
|
"cpu": [
|
||||||
|
"wasm32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@emnapi/runtime": "^1.5.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-win32-ia32": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/@img/sharp-win32-x64": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND LGPL-3.0-or-later",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/ansi-colors": {
|
||||||
|
"version": "4.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
|
||||||
|
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/detect-libc": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/semver": {
|
||||||
|
"version": "7.7.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||||
|
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "ISC",
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/next-export-optimize-images/node_modules/sharp": {
|
||||||
|
"version": "0.34.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz",
|
||||||
|
"integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@img/colour": "^1.0.0",
|
||||||
|
"detect-libc": "^2.1.0",
|
||||||
|
"semver": "^7.7.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/libvips"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@img/sharp-darwin-arm64": "0.34.4",
|
||||||
|
"@img/sharp-darwin-x64": "0.34.4",
|
||||||
|
"@img/sharp-libvips-darwin-arm64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-darwin-x64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linux-arm": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linux-arm64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linux-ppc64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linux-s390x": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linux-x64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linuxmusl-arm64": "1.2.3",
|
||||||
|
"@img/sharp-libvips-linuxmusl-x64": "1.2.3",
|
||||||
|
"@img/sharp-linux-arm": "0.34.4",
|
||||||
|
"@img/sharp-linux-arm64": "0.34.4",
|
||||||
|
"@img/sharp-linux-ppc64": "0.34.4",
|
||||||
|
"@img/sharp-linux-s390x": "0.34.4",
|
||||||
|
"@img/sharp-linux-x64": "0.34.4",
|
||||||
|
"@img/sharp-linuxmusl-arm64": "0.34.4",
|
||||||
|
"@img/sharp-linuxmusl-x64": "0.34.4",
|
||||||
|
"@img/sharp-wasm32": "0.34.4",
|
||||||
|
"@img/sharp-win32-arm64": "0.34.4",
|
||||||
|
"@img/sharp-win32-ia32": "0.34.4",
|
||||||
|
"@img/sharp-win32-x64": "0.34.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/nice-try": {
|
"node_modules/nice-try": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||||
@ -4213,6 +4887,12 @@
|
|||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/pako": {
|
||||||
|
"version": "1.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
||||||
|
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
|
||||||
|
"license": "(MIT AND Zlib)"
|
||||||
|
},
|
||||||
"node_modules/path-is-absolute": {
|
"node_modules/path-is-absolute": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||||
@ -4571,6 +5251,19 @@
|
|||||||
"url": "https://paulmillr.com/funding/"
|
"url": "https://paulmillr.com/funding/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/recursive-readdir": {
|
||||||
|
"version": "2.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
|
||||||
|
"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"minimatch": "^3.0.5"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/reserved-identifiers": {
|
"node_modules/reserved-identifiers": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/reserved-identifiers/-/reserved-identifiers-1.0.0.tgz",
|
||||||
@ -4682,7 +5375,6 @@
|
|||||||
"version": "1.4.1",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
|
||||||
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
|
"integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
|
||||||
"dev": true,
|
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/scheduler": {
|
"node_modules/scheduler": {
|
||||||
@ -4707,6 +5399,31 @@
|
|||||||
"seek-table": "bin/seek-bzip-table"
|
"seek-table": "bin/seek-bzip-table"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/selenium-webdriver": {
|
||||||
|
"version": "4.38.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.38.0.tgz",
|
||||||
|
"integrity": "sha512-5/UXXFSQmn7FGQkbcpAqvfhzflUdMWtT7QqpEgkFD6Q6rDucxB5EUfzgjmr6JbUj30QodcW3mDXehzoeS/Vy5w==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/SeleniumHQ"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/selenium"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@bazel/runfiles": "^6.3.1",
|
||||||
|
"jszip": "^3.10.1",
|
||||||
|
"tmp": "^0.2.5",
|
||||||
|
"ws": "^8.18.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 20.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "5.7.2",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
@ -4754,6 +5471,12 @@
|
|||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/setimmediate": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/sharp": {
|
"node_modules/sharp": {
|
||||||
"version": "0.33.5",
|
"version": "0.33.5",
|
||||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
|
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
|
||||||
@ -4947,6 +5670,34 @@
|
|||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/string-width": {
|
||||||
|
"version": "4.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
|
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"emoji-regex": "^8.0.0",
|
||||||
|
"is-fullwidth-code-point": "^3.0.0",
|
||||||
|
"strip-ansi": "^6.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/strip-ansi": {
|
||||||
|
"version": "6.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-regex": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/strip-dirs": {
|
"node_modules/strip-dirs": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
|
||||||
@ -5134,6 +5885,15 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/tmp": {
|
||||||
|
"version": "0.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
|
||||||
|
"integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/to-buffer": {
|
"node_modules/to-buffer": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz",
|
||||||
@ -5274,6 +6034,16 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/universalify": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/url-parse-lax": {
|
"node_modules/url-parse-lax": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
|
||||||
@ -5361,6 +6131,49 @@
|
|||||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/ws": {
|
||||||
|
"version": "8.18.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
||||||
|
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"bufferutil": "^4.0.1",
|
||||||
|
"utf-8-validate": ">=5.0.2"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"bufferutil": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"utf-8-validate": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/xml2js": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
|
||||||
|
"integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"sax": ">=0.6.0",
|
||||||
|
"xmlbuilder": "~11.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/xmlbuilder": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/xtend": {
|
"node_modules/xtend": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
"postbuild": "npm run optimize-images"
|
"postbuild": "npm run optimize-images"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.11.0",
|
"axios": "^1.13.2",
|
||||||
"framer-motion": "^12.23.12",
|
"framer-motion": "^12.23.12",
|
||||||
"imagemin": "^9.0.1",
|
"imagemin": "^9.0.1",
|
||||||
"imagemin-avif": "^0.1.6",
|
"imagemin-avif": "^0.1.6",
|
||||||
@ -28,10 +28,13 @@
|
|||||||
"react-google-recaptcha": "^3.1.0",
|
"react-google-recaptcha": "^3.1.0",
|
||||||
"react-modal-video": "^2.0.1",
|
"react-modal-video": "^2.0.1",
|
||||||
"sass": "^1.66.1",
|
"sass": "^1.66.1",
|
||||||
|
"selenium-webdriver": "^4.38.0",
|
||||||
"swiper": "^10.2.0",
|
"swiper": "^10.2.0",
|
||||||
"wowjs": "^1.1.3"
|
"wowjs": "^1.1.3",
|
||||||
|
"xml2js": "^0.6.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"next-export-optimize-images": "^4.7.0",
|
||||||
"sitemap": "^8.0.0"
|
"sitemap": "^8.0.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
@ -40,4 +43,4 @@
|
|||||||
"last 2 Safari versions",
|
"last 2 Safari versions",
|
||||||
"last 2 Edge versions"
|
"last 2 Edge versions"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
19
public/assets/css/bootstrap.css
vendored
19
public/assets/css/bootstrap.css
vendored
@ -141,15 +141,32 @@ h3, .h3 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.recuression{
|
||||||
|
|
||||||
|
font-size: 1.25rem !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
h4, .h4 {
|
h4, .h4 {
|
||||||
font-size: calc(1.275rem + 0.3vw);
|
font-size: calc(1.275rem + 0.3vw);
|
||||||
}
|
}
|
||||||
@media (min-width: 1200px) {
|
@media (min-width: 1200px) {
|
||||||
h4, .h4 {
|
h4, .h4 {
|
||||||
font-size: 1.5rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h3, .h3 {
|
||||||
|
font-size: calc(1.275rem + 0.3vw);
|
||||||
|
}
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
h3, .h3 {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
h5, .h5 {
|
h5, .h5 {
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
.sec-title .sub-title,
|
.sec-title .sub-title,
|
||||||
.list-style-one li:before,
|
.list-style-one li:before,
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover,
|
.service-block-one .inner-box .lower-content h3 a:hover,
|
||||||
|
.service-block-one .inner-box .lower-content h2 a:hover,
|
||||||
.team-block-one .inner-box .lower-content h3 a:hover,
|
.team-block-one .inner-box .lower-content h3 a:hover,
|
||||||
.pricing-block-one .pricing-table .table-header h5,
|
.pricing-block-one .pricing-table .table-header h5,
|
||||||
.pricing-block-one.active-block .pricing-table .table-header h2,
|
.pricing-block-one.active-block .pricing-table .table-header h2,
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
.sec-title .sub-title,
|
.sec-title .sub-title,
|
||||||
.list-style-one li:before,
|
.list-style-one li:before,
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover,
|
.service-block-one .inner-box .lower-content h3 a:hover,
|
||||||
|
.service-block-one .inner-box .lower-content h2 a:hover,
|
||||||
.team-block-one .inner-box .lower-content h3 a:hover,
|
.team-block-one .inner-box .lower-content h3 a:hover,
|
||||||
.pricing-block-one .pricing-table .table-header h5,
|
.pricing-block-one .pricing-table .table-header h5,
|
||||||
.pricing-block-one.active-block .pricing-table .table-header h2,
|
.pricing-block-one.active-block .pricing-table .table-header h2,
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
.sec-title .sub-title,
|
.sec-title .sub-title,
|
||||||
.list-style-one li:before,
|
.list-style-one li:before,
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover,
|
.service-block-one .inner-box .lower-content h3 a:hover,
|
||||||
|
.service-block-one .inner-box .lower-content h2 a:hover,
|
||||||
.team-block-one .inner-box .lower-content h3 a:hover,
|
.team-block-one .inner-box .lower-content h3 a:hover,
|
||||||
.pricing-block-one .pricing-table .table-header h5,
|
.pricing-block-one .pricing-table .table-header h5,
|
||||||
.pricing-block-one.active-block .pricing-table .table-header h2,
|
.pricing-block-one.active-block .pricing-table .table-header h2,
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
.sec-title .sub-title,
|
.sec-title .sub-title,
|
||||||
.list-style-one li:before,
|
.list-style-one li:before,
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover,
|
.service-block-one .inner-box .lower-content h3 a:hover,
|
||||||
|
.service-block-one .inner-box .lower-content h2 a:hover,
|
||||||
.team-block-one .inner-box .lower-content h3 a:hover,
|
.team-block-one .inner-box .lower-content h3 a:hover,
|
||||||
.pricing-block-one .pricing-table .table-header h5,
|
.pricing-block-one .pricing-table .table-header h5,
|
||||||
.pricing-block-one.active-block .pricing-table .table-header h2,
|
.pricing-block-one.active-block .pricing-table .table-header h2,
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
.sec-title .sub-title,
|
.sec-title .sub-title,
|
||||||
.list-style-one li:before,
|
.list-style-one li:before,
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover,
|
.service-block-one .inner-box .lower-content h3 a:hover,
|
||||||
|
.service-block-one .inner-box .lower-content h2 a:hover,
|
||||||
.team-block-one .inner-box .lower-content h3 a:hover,
|
.team-block-one .inner-box .lower-content h3 a:hover,
|
||||||
.pricing-block-one .pricing-table .table-header h5,
|
.pricing-block-one .pricing-table .table-header h5,
|
||||||
.pricing-block-one.active-block .pricing-table .table-header h2,
|
.pricing-block-one.active-block .pricing-table .table-header h2,
|
||||||
|
|||||||
@ -1,16 +1,18 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'icomoon';
|
font-family: 'icomoon';
|
||||||
src: url('../fonts/icomoon.eot?tin97q');
|
src: url('../fonts/icomoon.eot?tin97q');
|
||||||
src: url('../fonts/icomoon.eot?tin97q#iefix') format('embedded-opentype'),
|
src: url('../fonts/icomoon.eot?tin97q#iefix') format('embedded-opentype'),
|
||||||
url('../fonts/icomoon.ttf?tin97q') format('truetype'),
|
url('../fonts/icomoon.ttf?tin97q') format('truetype'),
|
||||||
url('../fonts/icomoon.woff?tin97q') format('woff'),
|
url('../fonts/icomoon.woff?tin97q') format('woff'),
|
||||||
url('../fonts/icomoon.svg?tin97q#icomoon') format('svg');
|
url('../fonts/icomoon.svg?tin97q#icomoon') format('svg');
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-display: block;
|
/* font-display: block; */
|
||||||
|
font-display: swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
[class^="icon-"], [class*=" icon-"] {
|
[class^="icon-"],
|
||||||
|
[class*=" icon-"] {
|
||||||
/* use !important to prevent issues with browser extensions that change fonts */
|
/* use !important to prevent issues with browser extensions that change fonts */
|
||||||
font-family: 'icomoon' !important;
|
font-family: 'icomoon' !important;
|
||||||
speak: never;
|
speak: never;
|
||||||
@ -28,114 +30,151 @@
|
|||||||
.icon-1:before {
|
.icon-1:before {
|
||||||
content: "\e900";
|
content: "\e900";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-2:before {
|
.icon-2:before {
|
||||||
content: "\e901";
|
content: "\e901";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-3:before {
|
.icon-3:before {
|
||||||
content: "\e902";
|
content: "\e902";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-4:before {
|
.icon-4:before {
|
||||||
content: "\e903";
|
content: "\e903";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-5:before {
|
.icon-5:before {
|
||||||
content: "\e904";
|
content: "\e904";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-6:before {
|
.icon-6:before {
|
||||||
content: "\e905";
|
content: "\e905";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-7:before {
|
.icon-7:before {
|
||||||
content: "\e906";
|
content: "\e906";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-8:before {
|
.icon-8:before {
|
||||||
content: "\e907";
|
content: "\e907";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-9:before {
|
.icon-9:before {
|
||||||
content: "\e908";
|
content: "\e908";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-10:before {
|
.icon-10:before {
|
||||||
content: "\e909";
|
content: "\e909";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-11:before {
|
.icon-11:before {
|
||||||
content: "\e90a";
|
content: "\e90a";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-12:before {
|
.icon-12:before {
|
||||||
content: "\e90b";
|
content: "\e90b";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-13:before {
|
.icon-13:before {
|
||||||
content: "\e90c";
|
content: "\e90c";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-14:before {
|
.icon-14:before {
|
||||||
content: "\e90d";
|
content: "\e90d";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-15:before {
|
.icon-15:before {
|
||||||
content: "\e90e";
|
content: "\e90e";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-16:before {
|
.icon-16:before {
|
||||||
content: "\e90f";
|
content: "\e90f";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-17:before {
|
.icon-17:before {
|
||||||
content: "\e910";
|
content: "\e910";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-18:before {
|
.icon-18:before {
|
||||||
content: "\e911";
|
content: "\e911";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-19:before {
|
.icon-19:before {
|
||||||
content: "\e912";
|
content: "\e912";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-20:before {
|
.icon-20:before {
|
||||||
content: "\e913";
|
content: "\e913";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-21:before {
|
.icon-21:before {
|
||||||
content: "\e914";
|
content: "\e914";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-22:before {
|
.icon-22:before {
|
||||||
content: "\e915";
|
content: "\e915";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-23:before {
|
.icon-23:before {
|
||||||
content: "\e916";
|
content: "\e916";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-24:before {
|
.icon-24:before {
|
||||||
content: "\e917";
|
content: "\e917";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-25:before {
|
.icon-25:before {
|
||||||
content: "\e918";
|
content: "\e918";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-26:before {
|
.icon-26:before {
|
||||||
content: "\e919";
|
content: "\e919";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-27:before {
|
.icon-27:before {
|
||||||
content: "\e91a";
|
content: "\e91a";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-28:before {
|
.icon-28:before {
|
||||||
content: "\e91b";
|
content: "\e91b";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-29:before {
|
.icon-29:before {
|
||||||
content: "\e91c";
|
content: "\e91c";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-30:before {
|
.icon-30:before {
|
||||||
content: "\e91d";
|
content: "\e91d";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-31:before {
|
.icon-31:before {
|
||||||
content: "\e91e";
|
content: "\e91e";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-32:before {
|
.icon-32:before {
|
||||||
content: "\e91f";
|
content: "\e91f";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-33:before {
|
.icon-33:before {
|
||||||
content: "\e920";
|
content: "\e920";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-34:before {
|
.icon-34:before {
|
||||||
content: "\e921";
|
content: "\e921";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-35:before {
|
.icon-35:before {
|
||||||
content: "\e922";
|
content: "\e922";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-36:before {
|
.icon-36:before {
|
||||||
content: "\e923";
|
content: "\e923";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-37:before {
|
.icon-37:before {
|
||||||
content: "\e924";
|
content: "\e924";
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-38:before {
|
.icon-38:before {
|
||||||
content: "\e925";
|
content: "\e925";
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@ -772,24 +772,47 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 376px) and (min-width: 200px) {
|
@media only screen and (max-width: 376px) and (min-width: 200px) {
|
||||||
|
|
||||||
.image_block_three .image-box .icon-box{
|
.image_block_three .image-box .icon-box {
|
||||||
|
|
||||||
display: none !important;
|
display: none !important;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.image_block_two .image-box .icon-box{
|
.image_block_two .image-box .icon-box {
|
||||||
|
|
||||||
display: none !important;
|
display: none !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.image_block_three .image-box{
|
.image_block_three .image-box {
|
||||||
|
|
||||||
margin-right: 0px !important;
|
margin-right: 0px !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-main-image {
|
||||||
|
min-height: 420px
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome-image-home {
|
||||||
|
width: 600px;
|
||||||
|
height: 420px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:768px) {
|
||||||
|
|
||||||
|
.about-main-image {
|
||||||
|
min-height: 300px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:500px) {
|
||||||
|
.welcome-image-home {
|
||||||
|
width: 382px !important;
|
||||||
|
height: 358px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -778,4 +778,55 @@
|
|||||||
padding: 15px 20px !important;
|
padding: 15px 20px !important;
|
||||||
}
|
}
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
.new .logo-box {
|
||||||
|
|
||||||
|
width:8%
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-box{
|
||||||
|
width:10%
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:1500px) {
|
||||||
|
.logo-box{
|
||||||
|
width:9%
|
||||||
|
}
|
||||||
|
.new .logo-box {
|
||||||
|
width:8%
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (max-width:1450px) {
|
||||||
|
.logo-box{
|
||||||
|
width:8%
|
||||||
|
}
|
||||||
|
.new .logo-box {
|
||||||
|
width:8%
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:992px) {
|
||||||
|
.logo-box{
|
||||||
|
width:15%
|
||||||
|
}
|
||||||
|
.new .logo-box {
|
||||||
|
width:12%
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width:500px) {
|
||||||
|
.logo-box{
|
||||||
|
width:30%
|
||||||
|
}
|
||||||
|
.new .logo-box {
|
||||||
|
width:30%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -45,6 +45,15 @@
|
|||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.info-block-one h2{
|
||||||
|
display: block;
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 22px;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.info-block-one .inner-box{
|
.info-block-one .inner-box{
|
||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
|
|||||||
@ -27,6 +27,20 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn h4 {
|
||||||
|
display: block;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 30px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn h3 {
|
||||||
|
display: block;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 30px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
.accordion .acc-btn.active {
|
.accordion .acc-btn.active {
|
||||||
background: var(--theme-color);
|
background: var(--theme-color);
|
||||||
}
|
}
|
||||||
@ -35,6 +49,15 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn.active h4 {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn.active h3 {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.accordion .acc-btn .icon-box {
|
.accordion .acc-btn .icon-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -110,6 +133,20 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn h4 {
|
||||||
|
display: block;
|
||||||
|
font-size: 15px !important;
|
||||||
|
line-height: 30px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion .acc-btn h3 {
|
||||||
|
display: block;
|
||||||
|
font-size: 15px !important;
|
||||||
|
line-height: 30px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
.accordion .acc-btn {
|
.accordion .acc-btn {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 20px 20px 20px 20px !important;
|
padding: 20px 20px 20px 20px !important;
|
||||||
|
|||||||
@ -190,7 +190,8 @@
|
|||||||
|
|
||||||
@media only screen and (max-width: 1024px) {
|
@media only screen and (max-width: 1024px) {
|
||||||
.feature-block-two .inner-box h3 a {
|
.feature-block-two .inner-box h3 a {
|
||||||
font-size: 21px;
|
font-size: 18px;
|
||||||
|
line-height: 30px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: var(--title-color);
|
color: var(--title-color);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 16px;
|
font-size: 15px;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -104,6 +104,19 @@
|
|||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.funfact-block-one .inner-box .text-new{
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 11px !important;
|
||||||
|
line-height: 24px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #ffffff;
|
||||||
|
background: #bc0000;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 12px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 767px) {}
|
@media only screen and (max-width: 767px) {}
|
||||||
@ -117,7 +130,7 @@
|
|||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
line-height: 26px;
|
line-height: 20px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background: #bc0000;
|
background: #bc0000;
|
||||||
|
|||||||
@ -192,6 +192,15 @@
|
|||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content h2 {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
font-size: 26px;
|
||||||
|
line-height: 36px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
.service-block-one .inner-box .lower-content-new h3 {
|
.service-block-one .inner-box .lower-content-new h3 {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: block;
|
display: block;
|
||||||
@ -201,6 +210,15 @@
|
|||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 28px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.service-block-one .inner-box .lower-content h3 a {
|
.service-block-one .inner-box .lower-content h3 a {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: var(--title-color);
|
color: var(--title-color);
|
||||||
@ -216,10 +234,36 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--title-color);
|
||||||
|
transition: color 300ms ease;
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 28px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--title-color);
|
||||||
|
transition: color 300ms ease;
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 28px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.service-block-one .inner-box .lower-content-new h3 a:hover {
|
.service-block-one .inner-box .lower-content-new h3 a:hover {
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a:hover {
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a:hover {
|
||||||
|
color: var(--theme-color);
|
||||||
|
}
|
||||||
|
|
||||||
.service-block-one .inner-box .lower-content h3 a:hover {
|
.service-block-one .inner-box .lower-content h3 a:hover {
|
||||||
color: var(--theme-color);
|
color: var(--theme-color);
|
||||||
}
|
}
|
||||||
@ -345,6 +389,23 @@
|
|||||||
line-height: 28px !important;
|
line-height: 28px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--title-color);
|
||||||
|
transition: color 300ms ease;
|
||||||
|
font-size: 23px !important;
|
||||||
|
line-height: 28px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
display: inline-block;
|
||||||
|
color: var(--title-color);
|
||||||
|
transition: color 300ms ease;
|
||||||
|
font-size: 23px !important;
|
||||||
|
line-height: 28px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -371,6 +432,20 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 20px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 20px !important;
|
||||||
|
line-height: 22px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.text-start{
|
.text-start{
|
||||||
@ -400,6 +475,20 @@
|
|||||||
font-size: 17px !important;
|
font-size: 17px !important;
|
||||||
line-height: 30px !important;
|
line-height: 30px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 17px !important;
|
||||||
|
line-height: 30px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 17px !important;
|
||||||
|
line-height: 30px !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-start{
|
.text-start{
|
||||||
@ -445,6 +534,20 @@
|
|||||||
font-size: 17px !important;
|
font-size: 17px !important;
|
||||||
line-height: 20px !important;
|
line-height: 20px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 17px !important;
|
||||||
|
line-height: 20px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-block-one .inner-box .lower-content-new h2 a {
|
||||||
|
|
||||||
|
font-size: 17px !important;
|
||||||
|
line-height: 20px !important;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,6 +566,10 @@
|
|||||||
.default-sidebar .widget-title h3 {
|
.default-sidebar .widget-title h3 {
|
||||||
font-size: 30px !important;
|
font-size: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.default-sidebar .widget-title h2 {
|
||||||
|
font-size: 30px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 992px) and (max-width: 992px) {
|
@media (min-width: 992px) and (max-width: 992px) {
|
||||||
.service-block-one .inner-box .lower-content h3 {
|
.service-block-one .inner-box .lower-content h3 {
|
||||||
|
|||||||
@ -36,6 +36,13 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.default-sidebar .widget-title h2 {
|
||||||
|
display: block;
|
||||||
|
font-size: 36px;
|
||||||
|
line-height: 46px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
.default-sidebar .widget-content {
|
.default-sidebar .widget-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 30px 30px 40px 45px;
|
padding: 30px 30px 40px 45px;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user