responsive issues fixed
This commit is contained in:
parent
3b28c6907d
commit
76b28c32ee
@ -4,15 +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-export-optimizer';;
|
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
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],
|
||||||
@ -84,7 +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}
|
// 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
|
||||||
@ -95,7 +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}
|
// 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
|
||||||
@ -105,7 +102,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -145,7 +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}
|
// 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
|
||||||
@ -167,7 +164,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}
|
// 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
|
||||||
@ -307,7 +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}
|
// 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
|
||||||
@ -318,7 +315,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -2,8 +2,7 @@
|
|||||||
import Layout from "@/components/layout/Layout";
|
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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
import { teamMembers } from "@/utils/constant.utils";
|
import { teamMembers } from "@/utils/constant.utils";
|
||||||
@ -33,7 +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}
|
// 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
|
||||||
|
|||||||
198
app/layout.js
198
app/layout.js
@ -10,81 +10,72 @@ import Script from "next/script";
|
|||||||
|
|
||||||
export const metadata = {
|
export const metadata = {
|
||||||
title: "Best Pain Relief & Physiotherapy - Repharehab Clinic",
|
title: "Best Pain Relief & Physiotherapy - Repharehab Clinic",
|
||||||
description: "Rapharehab offers trusted physiotherapy and pain relief treatments with professional care tailored to restore your health and mobility.",
|
description:
|
||||||
|
"Rapharehab offers trusted physiotherapy and pain relief treatments with professional care tailored to restore your health and mobility.",
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({ children }) {
|
export default function RootLayout({ children }) {
|
||||||
|
|
||||||
const siteUrl = "https://rapharehab.ca";
|
const siteUrl = "https://rapharehab.ca";
|
||||||
const logoUrl = `${siteUrl}/assets/images/logo.png`;
|
const logoUrl = `${siteUrl}/assets/images/logo.png`;
|
||||||
const ogImage = `${siteUrl}/assets/images/logo.jpg`;
|
const ogImage = `${siteUrl}/assets/images/logo.jpg`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang="en" className={`${poppins.variable}`}>
|
<html lang="en" className={`${poppins.variable}`}>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
{/* ✅ Preload critical font */}
|
{/* ✅ Preload critical font */}
|
||||||
<link
|
{/* <link
|
||||||
rel="preload"
|
rel="preload"
|
||||||
href="/fonts/poppins.woff2"
|
href="/fonts/poppins.woff2"
|
||||||
as="font"
|
as="font"
|
||||||
type="font/woff2"
|
type="font/woff2"
|
||||||
crossOrigin="anonymous"
|
crossOrigin="anonymous"
|
||||||
/>
|
/> */}
|
||||||
|
|
||||||
{/* ✅ Canonical Tag */}
|
{/* ✅ Canonical Tag */}
|
||||||
<link rel="canonical" href="https://rapharehab.ca/" />
|
<link rel="canonical" href={siteUrl} />
|
||||||
|
|
||||||
{/* ✅ Open Graph Meta Tags */}
|
{/* ✅ Open Graph Meta */}
|
||||||
<meta
|
<meta property="og:title" content="Rapha Rehab – Physiotherapy Clinic" />
|
||||||
property="og:title"
|
|
||||||
content="Rapha Rehab – Your Trusted Physiotherapy & Rehabilitation Clinic in Etobicoke"
|
|
||||||
/>
|
|
||||||
<meta
|
<meta
|
||||||
property="og:description"
|
property="og:description"
|
||||||
content="Rapha Rehab provides evidence-based physiotherapy, sports injury rehab, massage therapy, chiropractic care, orthotics and more in Etobicoke. Regain mobility, reduce pain and live healthier."
|
content="Trusted physiotherapy, pain relief and rehab clinic in Etobicoke. Book your appointment now."
|
||||||
/>
|
/>
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content={siteUrl} />
|
<meta property="og:url" content={siteUrl} />
|
||||||
<meta property="og:site_name" content="Rapha Rehab" />
|
|
||||||
<meta property="og:image" content={ogImage} />
|
<meta property="og:image" content={ogImage} />
|
||||||
<meta
|
<meta property="og:site_name" content="Rapha Rehab" />
|
||||||
property="og:image:alt"
|
|
||||||
content="Rapha Rehab clinic interior – physiotherapy treatment in progress"
|
|
||||||
/>
|
|
||||||
<meta property="og:locale" content="en_CA" />
|
<meta property="og:locale" content="en_CA" />
|
||||||
|
|
||||||
{/* ✅ Twitter Card Meta Tags */}
|
{/* ✅ Twitter Meta */}
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
<meta
|
<meta
|
||||||
name="twitter:title"
|
name="twitter:title"
|
||||||
content="Rapha Rehab – Physiotherapy & Rehabilitation Clinic in Etobicoke"
|
content="Rapha Rehab – Physiotherapy & Rehab Clinic in Etobicoke"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
name="twitter:description"
|
name="twitter:description"
|
||||||
content="Experience expert physiotherapy, sports rehab, massage therapy, chiropractic care, and orthotics at Rapha Rehab in Etobicoke. Get personalized treatment to restore your strength and mobility."
|
content="Expert physiotherapy and pain relief treatments tailored to you."
|
||||||
/>
|
/>
|
||||||
<meta name="twitter:image" content={ogImage} />
|
<meta name="twitter:image" content={ogImage} />
|
||||||
<meta
|
|
||||||
name="twitter:image:alt"
|
|
||||||
content="Physiotherapy session at Rapha Rehab Clinic, Etobicoke"
|
|
||||||
/>
|
|
||||||
<meta name="twitter:site" content="@YourTwitterHandle" />
|
<meta name="twitter:site" content="@YourTwitterHandle" />
|
||||||
<meta name="twitter:url" content={siteUrl} />
|
|
||||||
|
|
||||||
{/* Microsoft Clarity */}
|
{/* ✅ Preconnect — Faster 3rd-party requests */}
|
||||||
<Script id="clarity-script" strategy="afterInteractive">
|
<link rel="preconnect" href="https://www.googletagmanager.com" />
|
||||||
{`
|
<link rel="preconnect" href="https://connect.facebook.net" />
|
||||||
(function(c,l,a,r,i,t,y){
|
<link rel="preconnect" href="https://www.facebook.com" />
|
||||||
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
<link rel="preconnect" href="https://scripts.clarity.ms" />
|
||||||
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");
|
|
||||||
`}
|
|
||||||
</Script>
|
|
||||||
|
|
||||||
{/* Google Tag Manager */}
|
{/* ✅ fetchpriority for LCP Image */}
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
as="image"
|
||||||
|
href="/assets/images/banner/mobile-banner/4.webp"
|
||||||
|
fetchpriority="high"
|
||||||
|
/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{/* ✅ 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){
|
||||||
@ -100,107 +91,46 @@ export default function RootLayout({ children }) {
|
|||||||
`}
|
`}
|
||||||
</Script>
|
</Script>
|
||||||
|
|
||||||
{/* ✅ Facebook Meta Pixel */}
|
{/* ✅ Microsoft Clarity — lazy load to reduce LCP impact */}
|
||||||
<Script id="facebook-pixel" strategy="afterInteractive">
|
<Script id="clarity-script" strategy="lazyOnload">
|
||||||
{`
|
{`
|
||||||
!function(f,b,e,v,n,t,s)
|
window.onload = function() {
|
||||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
setTimeout(() => {
|
||||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
(function(c,l,a,r,i,t,y){
|
||||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
||||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/th7p0lr1ca";
|
||||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
})(window, document, "clarity", "script", "th7p0lr1ca");
|
||||||
'https://connect.facebook.net/en_US/fbevents.js');
|
}, 3000);
|
||||||
fbq('init', '1133141855537200');
|
};
|
||||||
fbq('track', 'PageView');
|
|
||||||
`}
|
`}
|
||||||
</Script>
|
</Script>
|
||||||
|
|
||||||
{/* PhysiotherapyClinic Schema Markup */}
|
{/* ✅ Facebook Pixel — lazy load to avoid blocking */}
|
||||||
<Script
|
<Script id="facebook-pixel" strategy="lazyOnload">
|
||||||
id="schema-physiotherapy"
|
{`
|
||||||
type="application/ld+json"
|
setTimeout(() => {
|
||||||
strategy="afterInteractive"
|
!function(f,b,e,v,n,t,s){
|
||||||
>
|
if(f.fbq)return;
|
||||||
{JSON.stringify({
|
n=f.fbq=function(){n.callMethod?
|
||||||
"@context": "https://schema.org",
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
"@type": "PhysiotherapyClinic",
|
if(!f._fbq)f._fbq=n;
|
||||||
name: "Repharehab Clinic",
|
n.push=n;
|
||||||
image: logoUrl,
|
n.loaded=!0;
|
||||||
"@id": siteUrl,
|
n.version='2.0';
|
||||||
url: siteUrl,
|
n.queue=[];
|
||||||
telephone: "+16477223434",
|
t=b.createElement(e);t.async=!0;
|
||||||
priceRange: "$$",
|
t.src=v;
|
||||||
medicalSpecialty: "PhysicalTherapy",
|
s=b.getElementsByTagName(e)[0];
|
||||||
address: {
|
s.parentNode.insertBefore(t,s)
|
||||||
"@type": "PostalAddress",
|
}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');
|
||||||
streetAddress: "5 – 4335 Bloor Street West",
|
fbq('init', '1133141855537200');
|
||||||
addressLocality: "Etobicoke",
|
fbq('track', 'PageView');
|
||||||
addressRegion: "ON",
|
}, 4000);
|
||||||
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>
|
</Script>
|
||||||
|
|
||||||
</head>
|
{/* ✅ Facebook & GTM noscript fallback */}
|
||||||
|
|
||||||
<body>
|
|
||||||
{/* 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"
|
||||||
@ -208,10 +138,6 @@ export default function RootLayout({ children }) {
|
|||||||
width="0"
|
width="0"
|
||||||
style={{ display: "none", visibility: "hidden" }}
|
style={{ display: "none", visibility: "hidden" }}
|
||||||
></iframe>
|
></iframe>
|
||||||
</noscript>
|
|
||||||
|
|
||||||
{/* ✅ Facebook Pixel noscript fallback */}
|
|
||||||
<noscript>
|
|
||||||
<img
|
<img
|
||||||
height="1"
|
height="1"
|
||||||
width="1"
|
width="1"
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import Layout from "@/components/layout/Layout"
|
import Layout from "@/components/layout/Layout"
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -21,7 +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}
|
// 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
|
||||||
@ -40,7 +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}
|
// 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
|
||||||
@ -50,7 +49,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -69,7 +68,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -79,7 +78,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -5,8 +5,7 @@ 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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
import { teamMembers } from "@/utils/constant.utils";
|
import { teamMembers } from "@/utils/constant.utils";
|
||||||
@ -352,7 +351,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}
|
// 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
|
||||||
@ -368,7 +367,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}
|
// 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
|
||||||
@ -491,7 +490,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}
|
// 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
|
||||||
@ -501,7 +500,7 @@ export default function Home() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import Link from "next/link"
|
import Link from "next/link"
|
||||||
import Layout from "@/components/layout/Layout"
|
import Layout from "@/components/layout/Layout"
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -27,7 +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}
|
// 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
|
||||||
@ -37,7 +36,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -56,7 +55,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -66,7 +65,7 @@ export default function About() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
'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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ export default function Team() {
|
|||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<div className="pattern-1">
|
<div className="pattern-1">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-13.webp"
|
src="/assets/images/shape/shape-13.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -38,7 +37,7 @@ export default function Team() {
|
|||||||
|
|
||||||
<div className="pattern-2">
|
<div className="pattern-2">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-14.webp"
|
src="/assets/images/shape/shape-14.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -88,7 +87,7 @@ export default function Team() {
|
|||||||
<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
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -170,7 +169,7 @@ export default function Team() {
|
|||||||
<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}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/why-us/bg.webp"
|
src="/assets/images/why-us/bg.webp"
|
||||||
alt=" Physiotherapy at Rapharehab "
|
alt=" Physiotherapy at Rapharehab "
|
||||||
fill
|
fill
|
||||||
@ -183,7 +182,7 @@ export default function Team() {
|
|||||||
<div className="inner-box">
|
<div className="inner-box">
|
||||||
<div className="shape new-arrow">
|
<div className="shape new-arrow">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-17.png"
|
src="/assets/images/shape/shape-17.png"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
|
|||||||
33
components/layout/OnepageMenu.js
Normal file
33
components/layout/OnepageMenu.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import Link from "next/link"
|
||||||
|
// import { useRouter } from "next/router"
|
||||||
|
|
||||||
|
export default function Menu() {
|
||||||
|
// const router = useRouter()
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
|
||||||
|
{/* <ul className="sub-menu">
|
||||||
|
<Link className={router.pathname == "/" ? "active" : ""}>Home Default</Link>
|
||||||
|
<Link className={router.pathname == "/index-2" ? "active" : ""}>Home Interior</Link>
|
||||||
|
</ul> */}
|
||||||
|
|
||||||
|
<ul className="navigation clearfix">
|
||||||
|
<li className=" dropdown"><Link href="/">Home</Link>
|
||||||
|
<ul>
|
||||||
|
<li><Link href="/">Home Page One</Link></li>
|
||||||
|
<li><Link href="/index-2">Home Page Two</Link></li>
|
||||||
|
<li><Link href="/index-3">Home Page Three</Link></li>
|
||||||
|
<li><Link href="/onepage">OnePage Home</Link></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><Link href="#about">About</Link></li>
|
||||||
|
<li><Link href="#service">Service</Link></li>
|
||||||
|
<li><Link href="#team">Team</Link></li>
|
||||||
|
<li><Link href="#news">News</Link></li>
|
||||||
|
<li><Link href="#footer">Footer</Link></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
59
components/layout/Sidebar.js
Normal file
59
components/layout/Sidebar.js
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
import Link from "next/link"
|
||||||
|
|
||||||
|
export default function Sidebar({ isSidebar, handleSidebar }) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
|
||||||
|
|
||||||
|
<div className={`xs-sidebar-group info-group info-sidebar ${isSidebar ? "isActive" : ""}`} >
|
||||||
|
<div className="xs-overlay xs-bg-black"></div>
|
||||||
|
<div className="xs-overlay xs-overlay-2 xs-bg-black" onClick={handleSidebar}></div>
|
||||||
|
<div className="xs-overlay xs-overlay-3 xs-bg-black" onClick={handleSidebar}></div>
|
||||||
|
<div className="xs-overlay xs-overlay-4 xs-bg-black" onClick={handleSidebar}></div>
|
||||||
|
<div className="xs-overlay xs-overlay-5 xs-bg-black" onClick={handleSidebar}></div>
|
||||||
|
<div className="xs-sidebar-widget">
|
||||||
|
<div className="sidebar-widget-container">
|
||||||
|
<div className="widget-heading">
|
||||||
|
<a className="close-side-widget" onClick={handleSidebar}><i className="fa fa-times"></i></a>
|
||||||
|
</div>
|
||||||
|
<div className="sidebar-textwidget">
|
||||||
|
<div className="sidebar-info-contents">
|
||||||
|
<div className="content-inner">
|
||||||
|
<div className="logo">
|
||||||
|
<Link href="/"><img src="/assets/images/logo.png" alt="rapharehab" /></Link>
|
||||||
|
</div>
|
||||||
|
<div className="content-box">
|
||||||
|
<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>Research oriented solutions for Data Science and Machine Learning business needs.</p>
|
||||||
|
<Link href="#" className="theme-btn btn-one"><span>About Us</span></Link>
|
||||||
|
</div>
|
||||||
|
<div className="contact-info">
|
||||||
|
<h4>Contact Info</h4>
|
||||||
|
<ul>
|
||||||
|
<li>Chicago 12, Melborne 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>
|
||||||
|
<ul className="social-box">
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@ -1,7 +1,6 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from "next-image-export-optimizer";
|
import Image from "next/image";
|
||||||
import exportableLoader from "next-image-export-optimizer";
|
|
||||||
|
|
||||||
export default function AboutSection() {
|
export default function AboutSection() {
|
||||||
return (
|
return (
|
||||||
@ -16,7 +15,7 @@ export default function AboutSection() {
|
|||||||
style={{ width: "120px", height: "120px" }}
|
style={{ width: "120px", height: "120px" }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-8.webp"
|
src="/assets/images/shape/shape-8.webp"
|
||||||
alt="Decorative Shape"
|
alt="Decorative Shape"
|
||||||
width={120}
|
width={120}
|
||||||
@ -33,7 +32,7 @@ export default function AboutSection() {
|
|||||||
style={{ width: "60px", height: "60px" }}
|
style={{ width: "60px", height: "60px" }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-9.webp"
|
src="/assets/images/shape/shape-9.webp"
|
||||||
alt="Decorative Shape"
|
alt="Decorative Shape"
|
||||||
width={60}
|
width={60}
|
||||||
@ -50,7 +49,7 @@ export default function AboutSection() {
|
|||||||
style={{ width: "150px", height: "150px" }}
|
style={{ width: "150px", height: "150px" }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-11.webp"
|
src="/assets/images/shape/shape-11.webp"
|
||||||
alt="Decorative Shape"
|
alt="Decorative Shape"
|
||||||
width={150}
|
width={150}
|
||||||
@ -82,7 +81,7 @@ export default function AboutSection() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-26.webp"
|
src="/assets/images/shape/shape-26.webp"
|
||||||
alt="Background Shape"
|
alt="Background Shape"
|
||||||
width={600}
|
width={600}
|
||||||
@ -105,7 +104,7 @@ export default function AboutSection() {
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/welcome/home-welcome.webp"
|
src="/assets/images/home/welcome/home-welcome.webp"
|
||||||
alt="Physiotherapy at Rapha Rehab"
|
alt="Physiotherapy at Rapha Rehab"
|
||||||
width={600}
|
width={600}
|
||||||
@ -115,7 +114,7 @@ export default function AboutSection() {
|
|||||||
priority
|
priority
|
||||||
quality={70} // ✅ reduce file size without visible loss
|
quality={70} // ✅ reduce file size without visible loss
|
||||||
placeholder="blur"
|
placeholder="blur"
|
||||||
blurDataURL="/assets/images/home/welcome/home-welcome-blur.webp"
|
blurDataURL="/assets/images/home/welcome/home-welcome.webp"
|
||||||
style={{ width: "100%", height: "auto", borderRadius: "8px", display: "block" }}
|
style={{ width: "100%", height: "auto", borderRadius: "8px", display: "block" }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -127,7 +126,7 @@ export default function AboutSection() {
|
|||||||
style={{ width: "80px", height: "80px" }}
|
style={{ width: "80px", height: "80px" }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/welcome/top-icon.webp"
|
src="/assets/images/home/welcome/top-icon.webp"
|
||||||
alt="Physiotherapy Icon"
|
alt="Physiotherapy Icon"
|
||||||
width={80}
|
width={80}
|
||||||
@ -145,7 +144,7 @@ export default function AboutSection() {
|
|||||||
style={{ width: "80px", height: "80px" }}
|
style={{ width: "80px", height: "80px" }}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/home/welcome/bottom-icon.webp"
|
src="/assets/images/home/welcome/bottom-icon.webp"
|
||||||
alt="Physiotherapy Icon"
|
alt="Physiotherapy Icon"
|
||||||
width={80}
|
width={80}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
import { areaOfInjuryData } from '@/utils/AreaOfInjery.utils';
|
import { areaOfInjuryData } from '@/utils/AreaOfInjery.utils';
|
||||||
@ -23,7 +22,7 @@ export default function AreaOfInjury() {
|
|||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<div className="pattern-1">
|
<div className="pattern-1">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-13.webp"
|
src="/assets/images/shape/shape-13.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
@ -33,7 +32,7 @@ export default function AreaOfInjury() {
|
|||||||
|
|
||||||
<div className="pattern-2">
|
<div className="pattern-2">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// loader={exportableLoader}
|
||||||
src="/assets/images/shape/shape-14.webp"
|
src="/assets/images/shape/shape-14.webp"
|
||||||
alt="Physiotherapy at Rapharehab"
|
alt="Physiotherapy at Rapharehab"
|
||||||
fill
|
fill
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
'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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
@ -39,7 +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}
|
// 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
|
||||||
@ -49,7 +48,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-2">
|
<div className="shape-2">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -68,7 +67,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-4">
|
<div className="shape-4">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -78,7 +77,7 @@ export default function FaqSection() {
|
|||||||
|
|
||||||
<div className="shape-5">
|
<div className="shape-5">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -12,7 +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}
|
// 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
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -9,7 +8,7 @@ export default function ProcessSection() {
|
|||||||
<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
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -29,7 +28,7 @@ export default function ProcessSection() {
|
|||||||
<div className="inner-container">
|
<div className="inner-container">
|
||||||
<div className="arrow-shape">
|
<div className="arrow-shape">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,8 +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 React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -12,7 +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}
|
// 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
|
||||||
@ -22,7 +21,7 @@ export default function ServicesSection() {
|
|||||||
|
|
||||||
<div className="pattern-2 ">
|
<div className="pattern-2 ">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Image from 'next-image-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -10,7 +9,7 @@ export default function WhyChooseUsSection() {
|
|||||||
<section className="chooseus-section">
|
<section className="chooseus-section">
|
||||||
<div className="bg-layer">
|
<div className="bg-layer">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
@ -21,7 +20,7 @@ export default function WhyChooseUsSection() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -11,7 +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}
|
// 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
|
||||||
@ -21,7 +20,7 @@ export default function Testimonial() {
|
|||||||
|
|
||||||
<div className="pattern-layer">
|
<div className="pattern-layer">
|
||||||
<Image
|
<Image
|
||||||
loader={exportableLoader}
|
// 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
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
'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-export-optimizer';
|
import Image from "next/image";
|
||||||
import exportableLoader from 'next-image-export-optimizer';
|
|
||||||
|
|
||||||
|
|
||||||
import ModalVideo from 'react-modal-video'
|
import ModalVideo from 'react-modal-video'
|
||||||
@ -13,7 +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}
|
// 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
|
||||||
|
|||||||
@ -1,35 +1,35 @@
|
|||||||
// /** @type {import('next').NextConfig} */
|
/** @type {import('next').NextConfig} */
|
||||||
// const nextConfig = {
|
const nextConfig = {
|
||||||
// output: "export", // keep: needed for next export
|
output: "export", // keep: needed for next export
|
||||||
// trailingSlash: true,
|
trailingSlash: true,
|
||||||
// images: {
|
images: {
|
||||||
// unoptimized: true, // ✅ needed
|
unoptimized: true, // ✅ needed
|
||||||
|
},
|
||||||
|
swcMinify: true, // explicit SWC minify
|
||||||
|
// experimental: {
|
||||||
|
// forceSwcTransforms: true, // use SWC only
|
||||||
|
// modern: true, // ✅ enable modern build (ES6+ for modern browsers)
|
||||||
|
// polyfillsOptimization: true // ✅ remove unnecessary polyfills
|
||||||
// },
|
// },
|
||||||
// swcMinify: true, // explicit SWC minify
|
};
|
||||||
// // experimental: {
|
|
||||||
// // forceSwcTransforms: true, // use SWC only
|
|
||||||
// // modern: true, // ✅ enable modern build (ES6+ for modern browsers)
|
|
||||||
// // polyfillsOptimization: true // ✅ remove unnecessary polyfills
|
|
||||||
// // },
|
|
||||||
// };
|
|
||||||
|
|
||||||
// module.exports = nextConfig;
|
// module.exports = nextConfig;
|
||||||
// next.config.js
|
// next.config.js
|
||||||
/** @type {import('next').NextConfig} */
|
// /** @type {import('next').NextConfig} */
|
||||||
const nextConfig = {
|
// const nextConfig = {
|
||||||
output: 'export', // static HTML export
|
// output: 'export', // static HTML export
|
||||||
trailingSlash: true,
|
// trailingSlash: true,
|
||||||
images: {
|
// images: {
|
||||||
// loader: 'custom', // required by next-image-export-optimizer
|
// // loader: 'custom', // required by next-image-export-optimizer
|
||||||
unoptimized: true, // prevents runtime optimization
|
// unoptimized: true, // prevents runtime optimization
|
||||||
},
|
// },
|
||||||
transpilePackages: ['next-image-export-optimizer'],
|
// transpilePackages: ['next-image-export-optimizer'],
|
||||||
env: {
|
// env: {
|
||||||
nextImageExportOptimizer_imageFolderPath: 'public/assets/images',
|
// nextImageExportOptimizer_imageFolderPath: '/assets/images',
|
||||||
nextImageExportOptimizer_exportFolderPath: 'out',
|
// nextImageExportOptimizer_exportFolderPath: 'out',
|
||||||
nextImageExportOptimizer_quality: '65',
|
// nextImageExportOptimizer_quality: '65',
|
||||||
nextImageExportOptimizer_storePicturesInWEBP: 'true',
|
// nextImageExportOptimizer_storePicturesInWEBP: 'true',
|
||||||
},
|
// },
|
||||||
};
|
// };
|
||||||
|
|
||||||
module.exports = nextConfig;
|
// module.exports = nextConfig;
|
||||||
|
|||||||
34
package-lock.json
generated
34
package-lock.json
generated
@ -18,7 +18,6 @@
|
|||||||
"isotope-layout": "^3.0.6",
|
"isotope-layout": "^3.0.6",
|
||||||
"keen-slider": "^6.8.6",
|
"keen-slider": "^6.8.6",
|
||||||
"next": "^14.0.4-canary.36",
|
"next": "^14.0.4-canary.36",
|
||||||
"next-image-export-optimizer": "^1.19.0",
|
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"react-dom": "18.2.0",
|
"react-dom": "18.2.0",
|
||||||
"react-google-recaptcha": "^3.1.0",
|
"react-google-recaptcha": "^3.1.0",
|
||||||
@ -3949,26 +3948,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/next-image-export-optimizer": {
|
|
||||||
"version": "1.19.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/next-image-export-optimizer/-/next-image-export-optimizer-1.19.0.tgz",
|
|
||||||
"integrity": "sha512-DHecMn1FE3xPyABXf9CUelJwzFrHgGt2RQIQLIB9kN1wUfm+6lEjZD4beku8T9NXG2heWHku3AU+ohZV+tGYFw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"sharp": "^0.33.1",
|
|
||||||
"typescript": "^5.2.2"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"next-image-export-optimizer": "dist/optimizeImages.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=16.0.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"next": "^14.2.18 || ^15.0.3",
|
|
||||||
"react": "^18.2.0 || ^19.0.0-0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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",
|
||||||
@ -5261,19 +5240,6 @@
|
|||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
|
||||||
"version": "5.9.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
||||||
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"bin": {
|
|
||||||
"tsc": "bin/tsc",
|
|
||||||
"tsserver": "bin/tsserver"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14.17"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/uint8array-extras": {
|
"node_modules/uint8array-extras": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz",
|
||||||
|
|||||||
@ -23,7 +23,6 @@
|
|||||||
"isotope-layout": "^3.0.6",
|
"isotope-layout": "^3.0.6",
|
||||||
"keen-slider": "^6.8.6",
|
"keen-slider": "^6.8.6",
|
||||||
"next": "^14.0.4-canary.36",
|
"next": "^14.0.4-canary.36",
|
||||||
"next-image-export-optimizer": "^1.19.0",
|
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"react-dom": "18.2.0",
|
"react-dom": "18.2.0",
|
||||||
"react-google-recaptcha": "^3.1.0",
|
"react-google-recaptcha": "^3.1.0",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user