'use client' import React, { useState, useEffect } from 'react'; import Link from "next/link"; import { Autoplay, Navigation, Pagination } from "swiper/modules"; import { Swiper, SwiperSlide } from "swiper/react"; import { motion, AnimatePresence } from "framer-motion"; import "swiper/css"; import "swiper/css/navigation"; import "swiper/css/pagination"; const swiperOptions = { modules: [Autoplay, Pagination, Navigation], slidesPerView: 1, spaceBetween: 0, autoplay: { delay: 10000, disableOnInteraction: false, }, loop: true, navigation: { nextEl: '.h1n', prevEl: '.h1p', }, pagination: { el: '.swiper-pagination', clickable: true, }, }; const variants = { topToBottom: { initial: { y: '-100vh', opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: '100vh', opacity: 0 } }, bottomToTop: { initial: { y: '100vh', opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: '-100vh', opacity: 0 } }, leftToRight: { initial: { x: '-100vw', opacity: 0 }, animate: { x: 0, opacity: 1 }, exit: { x: '100vw', opacity: 0 } }, rightToLeft: { initial: { x: '100vw', opacity: 0 }, animate: { x: 0, opacity: 1 }, exit: { x: '-100vw', opacity: 0 } }, }; const transition = { type: "tween", ease: [0.4, 0.0, 0.2, 1], duration: 1.2 }; export default function MobileBanner() { const [activeIndex, setActiveIndex] = useState(0); const [isMobile, setIsMobile] = useState(false); useEffect(() => { const handleResize = () => setIsMobile(window.innerWidth <= 768); handleResize(); window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); const slides = [ // { // id: 0, // variant: 'topToBottom', // bgImage: '/assets/images/banner/mobile-banner/mbl-view-banner-1.png', // upperText: 'Begin Your Health Journey', // title: 'Better', // titleSpan: 'health', // titleEnd: 'Forever', // subtitle: 'Expert Physiotherapy in Mississauga for You.', // description: 'Our expert physiotherapists help you restore movement, reduce pain, and live healthier with personalized care in Mississauga.', // buttonText: 'Book Your Appointment', // buttonLink: 'tel:+647-722-3434', // contentStyle: 'mobile-style' // }, { id: 0, variant: 'topToBottom', bgImage: '/assets/images/banner/mobile-banner/banner-1.webp', hideContent: true }, { id: 1, variant: 'bottomToTop', bgImage: '/assets/images/banner/mobile-banner/mbl-view-banner-2.png', upperText: 'Care That Heals Gently', title: 'Relaxing', titleSpan: 'Massage', titleEnd: 'Therapy', // subtitle: 'Expert Hand Massage Techniques for Relief', description: 'Experience soothing massage techniques that release tension, promote circulation, and support your overall wellness.', buttonText: 'Schedule a Massage', buttonLink: '/contact', // contentStyle: 'with-background' }, { id: 2, variant: 'leftToRight', bgImage: '/assets/images/banner/mobile-banner/mbl-view-banner-3.png', upperText: 'Wellness Near You Always', title: 'Trusted', titleSpan: 'Physio', titleEnd: 'Experts', // subtitle: 'Physiotherapy Etobicoke & Rehab Care.', description: 'Comprehensive physiotherapy and rehab services designed to restore your strength, mobility, and long-term wellness.', buttonText: 'Explore Our Service', buttonLink: '/etobicoke-treatment-service', // contentStyle: 'with-background' }, { id: 3, variant: 'rightToLeft', bgImage: '/assets/images/banner/mobile-banner/mbl-view-banner-4.png', upperText: 'Healing With Caring Hands', title: 'Holistic', titleSpan: 'Wellness', titleEnd: 'Care', // subtitle: 'Waterfront Physio and Rehab Services.', description: 'Discover holistic physiotherapy and rehab services designed to restore balance, ease pain, and support long-term recovery.', buttonText: 'Visit Our Location', buttonLink: '/contact', // contentStyle: 'with-background' } ]; if (!isMobile) return null; return (
setActiveIndex(swiper.realIndex || 0)} onSlideChange={(swiper) => setActiveIndex(swiper.realIndex || 0)} > {slides.map((slide, index) => ( {activeIndex === index && ( {/* full-height background */}
{/* centered content */}
{!slide.hideContent && (
{slide.upperText}

{slide.title} {slide.titleSpan} {slide.titleEnd}

{slide.subtitle}

{slide.description}

{slide.buttonText}
)}
)} ))}
); };