Client updates completed

This commit is contained in:
akash 2025-09-24 22:04:49 +05:30
parent c1761a3d3b
commit ebcd435e1c
13 changed files with 146 additions and 102 deletions

View File

@ -11,7 +11,7 @@ export default function ContactClient() {
lname: "",
email: "",
phone: "",
subject: "",
service: "",
message: "",
});
@ -39,7 +39,7 @@ export default function ContactClient() {
if (!formData.lname.trim()) errors.lname = "Last Name is required.";
if (!formData.email.trim()) errors.email = "Email is required.";
if (!formData.phone.trim()) errors.phone = "Phone is required.";
if (!formData.subject.trim()) errors.subject = "Subject is required.";
if (!formData.service.trim()) errors.service = "Please select a service.";
if (!formData.message.trim()) errors.message = "Message is required.";
if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
@ -48,8 +48,8 @@ export default function ContactClient() {
const emailData = {
...formData,
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
to: "info@rapharehab.ca",
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
to: "bloor@rapharehab.ca",
senderName: "Rapha Rehab Contact Page",
recaptchaToken: captchaToken,
};
@ -70,7 +70,7 @@ export default function ContactClient() {
lname: "",
email: "",
phone: "",
subject: "",
service: "",
message: "",
});
setCaptchaToken(null);
@ -131,7 +131,7 @@ export default function ContactClient() {
<div className="icon-box">
<img src="/assets/images/icons/icon-2.png" alt="" />
</div>
<p>6 4335 Bloor Street West <br />Etobicoke, M9C5S2</p>
<p>6 4335 Bloor Street West <br />Etobicoke, M9C 2A5</p>
</div>
</div>
</div>
@ -148,7 +148,7 @@ export default function ContactClient() {
<div className="sec-title mb_50">
<h2>How can we help?</h2>
<p className="mt-3">
Please complete the contact information below and let us know your needs.
Please complete the contact information below and let us know your needs.
Upon receipt of your information one of our team members will reach out.
</p>
</div>
@ -181,17 +181,6 @@ export default function ContactClient() {
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>}
</div>
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
<input
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
/>
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
</div>
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
<input
type="text"
@ -203,18 +192,37 @@ export default function ContactClient() {
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
<input
type="text"
name="subject"
placeholder="Subject"
value={formData.subject}
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
/>
{formErrors.subject && <small className="text-danger">{formErrors.subject}</small>}
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
</div>
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
{/* Services Dropdown */}
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
<select
name="service"
value={formData.service}
onChange={handleChange}
className="form-control"
>
<option value="">Select Service</option>
<option value="Physio">Physio</option>
<option value="Chiro">Chiro</option>
<option value="Massage">Massage</option>
<option value="Acupuncture">Acupuncture</option>
<option value="Osteo">Osteo</option>
<option value="Orthotics">Orthotics</option>
</select>
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
</div>
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
<textarea
name="message"
placeholder="Message"

View File

@ -16,31 +16,41 @@ export default function ServicesPage() {
<div className="auto-container">
<div className="row clearfix">
{servicesList.map((item) => (
<div className="col-lg-4 col-md-6 col-sm-12 service-block" key={item.id}>
<div className="service-block-one wow fadeInUp animated" data-wow-delay="00ms" data-wow-duration="1500ms">
<div className="inner-box">
<div className="image-box">
<figure className="image">
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
<img src={item.image} alt={item.title} />
</Link>
</figure>
</div>
<div className="lower-content">
<div className="icon-box">
<img
src={item.icon}
alt={`${item.title} Icon`}
/>
</div>
<h3>
<Link href={`/etobicoke-treatment-service/${item.slug}`}>{item.shortTitle}</Link>
</h3>
<p>{item.shortDescription}</p>
<div className="col-lg-3 col-md-4 col-sm-12 service-block d-flex">
<div className="service-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay="00ms" data-wow-duration="1500ms">
<div className="inner-box d-flex flex-column flex-grow-1">
<div className="image-box">
<figure className="image">
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
<img src={item?.image} alt={item.alt} />
</Link>
</figure>
</div>
<div className="lower-content-new">
<div className="icon-box-new">
<img src={item?.icon} alt="" />
</div>
<h3 className='text-start'>
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
{item?.shortTitle}
</Link>
</h3>
<p
className='text-start'
style={{
overflow: 'hidden',
textOverflow: 'ellipsis',
display: '-webkit-box',
WebkitLineClamp: 2,
WebkitBoxOrient: 'vertical',
}}
>
{item?.shortDescription}
</p>
</div>
</div>
</div>
</div>
))}
</div>
</div>

View File

@ -43,8 +43,8 @@ export default function Home() {
<AreaOfInjury />
<WhyChooseUsSection />
<CounterSection />
<Solution />
<Testimonial />
<Solution />
<Video />
</Layout>

View File

@ -21,6 +21,12 @@ export default function ContactFloat() {
src: "/assets/images/chat.png",
label: "Chat",
},
{
href: "https://wa.me/14379934477",
src: "/assets/images/icons/whatsapp.png",
label: "WhatsApp",
newTab: true,
},
{
href: "https://www.instagram.com/elrapharehab/",
src: "/assets/images/insta.png",
@ -216,7 +222,7 @@ function ChatForm({ onClose }) {
lname: "",
email: "",
phone: "",
subject: "",
service: "",
message: "",
});
const [formErrors, setFormErrors] = useState({});
@ -240,7 +246,7 @@ function ChatForm({ onClose }) {
if (!formData.lname.trim()) errors.lname = "Last Name is required.";
if (!formData.email.trim()) errors.email = "Email is required.";
if (!formData.phone.trim()) errors.phone = "Phone is required.";
if (!formData.subject.trim()) errors.subject = "Subject is required.";
if (!formData.service.trim()) errors.service = "Please select a service.";
if (!formData.message.trim()) errors.message = "Message is required.";
if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
@ -249,8 +255,8 @@ function ChatForm({ onClose }) {
const emailData = {
...formData,
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
to: "info@rapharehab.ca",
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
to: "bloor@rapharehab.ca",
senderName: "Rapha Rehab Chat Form",
recaptchaToken: captchaToken,
};
@ -271,7 +277,7 @@ function ChatForm({ onClose }) {
lname: "",
email: "",
phone: "",
subject: "",
service: "",
message: "",
});
setCaptchaToken(null);
@ -332,16 +338,6 @@ function ChatForm({ onClose }) {
/>
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>}
<input
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
className="form-control mb-2"
/>
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
<input
type="text"
name="phone"
@ -353,14 +349,32 @@ function ChatForm({ onClose }) {
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
<input
type="text"
name="subject"
placeholder="Subject"
value={formData.subject}
type="email"
name="email"
placeholder="Your Email"
value={formData.email}
onChange={handleChange}
className="form-control mb-2"
/>
{formErrors.subject && <small className="text-danger">{formErrors.subject}</small>}
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
<select
name="service"
value={formData.service}
onChange={handleChange}
className="form-control mb-2"
>
<option value="">Select Service</option>
<option value="Physio">Physio</option>
<option value="Chiro">Chiro</option>
<option value="Massage">Massage</option>
<option value="Acupuncture">Acupuncture</option>
<option value="Osteo">Osteo</option>
<option value="Orthotics">Orthotics</option>
</select>
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
<textarea
name="message"

View File

@ -193,7 +193,7 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
<div className="contact-info">
<h4>Contact Info</h4>
<ul>
<li>5 4335 Bloor Street West Etobicoke, M9C5S2</li>
<li>5 4335 Bloor Street West Etobicoke, M9C 2A5</li>
<li>
<Link href="tel:+647-722-3434, +416-622-2873" onClick={closeMenu}>
+647-722-3434, +416-622-2873

View File

@ -158,7 +158,7 @@ export default function Footer2() {
<img
src="/assets/images/icons/icon-1.png"
alt="location"
/>5 4335 Bloor Street West Etobicoke, M9C5S2
/>5 4335 Bloor Street West Etobicoke, M9C 2A5
</li>
<li>
<i className="icon-2"></i>

View File

@ -158,7 +158,7 @@ export default function Footer2() {
<img
src="/assets/images/icons/icon-1.png"
alt="location"
/>5 4335 Bloor Street West Etobicoke, M9C5S2
/>5 4335 Bloor Street West Etobicoke, M9C 2A5
</li>
<li>
<i className="icon-2"></i>

View File

@ -3,7 +3,7 @@ import CounterUp from "@/components/elements/CounterUp"
export default function CounterSection() {
return (
<>
<section className="funfact-section centred" style={{paddingTop:"30px"}}>
<section className="funfact-section centred" style={{paddingTop:"30px",paddingBottom:"70px"}}>
<div className="auto-container">
<div className="inner-container">
<div className="row clearfix">

View File

@ -3,26 +3,34 @@ import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
export default function Testimonial() {
return (
<>
<section className="testimonial-section sec-pad bg-color-1">
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/home/testimonial-left.webp)' }}></div>
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-21.webp)' }}></div>
<div className="auto-container">
<div className="row clearfix">
<div className="col-xl-6 col-lg-12 col-md-12 offset-xl-6 content-column">
<div className="content-box p_relative ml_45">
<div className="sec-title-1 mb_50">
<span className="sub-title-1">Google Revies</span>
<h2>What Our Clients Say About Rapha Rehab</h2>
</div>
<div className="content-box">
<TestimonialSlider1 />
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/home/testimonial-left.webp)' }}></div>
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-21.webp)' }}></div>
<div className="auto-container">
<div className="row clearfix">
<div className="col-xl-6 col-lg-12 col-md-12 offset-xl-6 content-column">
<div className="content-box p_relative ml_45">
<div className="sec-title-1 mb_50">
<span className="sub-title-1 mb-1">Google Reviews</span>
{/* Exact same stars as testimonial */}
<ul className="rating clearfix mb_15 d-flex gap-2">
<li><i className="fas fa-star"></i></li>
<li><i className="fas fa-star"></i></li>
<li><i className="fas fa-star"></i></li>
<li><i className="fas fa-star"></i></li>
<li><i className="fas fa-star-half-alt"></i></li>
</ul>
<h2>What Our Clients Say About Rapha Rehab</h2>
</div>
<div className="content-box">
<TestimonialSlider1 />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
</>
)

View File

@ -117,13 +117,11 @@ export default function Banner() {
onSlideChange={handleSlideChange}
>
{/* ✅ 4th slide moved to 1st position */}
<SwiperSlide>
<AnimatePresence mode="wait">
{activeIndex === 0 && (
<motion.div key="slide-3"
className="slide-item banner-slide"
//variants={variants.rightToLeft}
variants={revealVariants}
initial="initial" animate="animate" exit="exit" transition={transition}>
<div className="bg-layer"
@ -136,7 +134,7 @@ export default function Banner() {
<p className='text-white'> Rehab Strength Training Personalized Care </p>
<div className="btn-box mt-3">
<Link href="/contact" className="theme-btn btn-one">
<span>Visit Our Location</span>
<span>Book Your Appointment</span>
</Link>
</div>
</div>

View File

@ -1994,13 +1994,14 @@ progress {
display: block;
width: 100%;
padding: 0.375rem 0.75rem;
padding: 20px;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
color: #676767;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border: 1px solid rgba(0, 0, 0, 0.1);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;

View File

@ -1172,6 +1172,11 @@
color: #fff;
}
.rating li i {
color: #FFDF00; /* gold/yellow */
}

View File

@ -78,7 +78,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Rebuild strength, flexibility, and confidence safely with beginner-friendly workouts guided by expert physiotherapists at Rapha Rehab.</p>
<h4>Rapha Rehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -159,7 +159,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Ready to Start Your Journey Back to Full Health and Function?</p>
<p>Contact Rapha Rehab today to schedule your consultation!</p>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -242,7 +242,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Chronic pain doesnt have to define your life. At Rapharehab, we help you recover safely and effectively.</p>
<h4>Rapharehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -326,7 +326,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Discover how our blend of hand massage, physiotherapy, and osteopathy can improve your comfort, mobility, and overall wellness.</p>
<h4>Rapharehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -419,7 +419,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Experience how osteopathy combined with physiotherapy and massage therapy can improve balance, reduce discomfort, and support your overall health.</p>
<h4>Rapha Rehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -517,7 +517,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Build strength, restore mobility, and stay injury-free with personalized strength training at Rapha Rehab.</p>
<h4>Rapha Rehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -628,7 +628,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Build upper-body strength safely with expert guidance at Rapha Rehab, protecting joints while improving posture and performance.</p>
<h4>Rapha Rehab Physiotherapy & Massage Therapy in Etobicoke</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -687,7 +687,7 @@ const Blogs = [
<div class="icon-box"><i class="icon-23"></i></div>
<p>Ready to Get Back in the Game?</p>
<h4>Contact us today to schedule a massage therapy session tailored to your sports injury recovery.</h4>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {
@ -745,7 +745,7 @@ const Blogs = [
<blockquote>
<div class="icon-box"><i class="icon-23"></i></div>
<p>Book a consultation at Rapha Rehab in Etobicoke to see if this treatment can help you. Call 416-622-2873 or request an appointment online.</p>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C5S2<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
<span class="designation"> 6 - 4335 Bloor Street West, Etobicoke, M9C 2A5<br/> 647-722-3434<br/>bloor@rapharehab.ca</span>
</blockquote>
`,
meta: {