Untitled
Anonymous
plain_text
02/11/2026 6:32 AM
8.0 KB
12
Indexable
"use client";
import { Swiper, SwiperSlide } from "swiper/react";
import { Autoplay, Navigation } from "swiper/modules";
import "swiper/css";
import "swiper/css/navigation";
import Image from "next/image";
import { useState, useRef } from "react";
import { useRouter } from "next/navigation";
import banner1 from "@/public/Aboutus/aboutus-banner1.webp";
import banner2 from "@/public/Aboutus/aboutus-banner2.webp";
import banner3 from "@/public/Aboutus/aboutus-banner3.webp";
import banner4 from "@/public/Aboutus/aboutus-banner4.webp";
import banner5 from "@/public/Aboutus/aboutus-banner5.webp";
import { ArrowRight } from "lucide-react";
// Use the 5 new images
const slides = [
{ image: banner1, label: "Collaboration", description: "Fostering teamwork and collective growth." },
{ image: banner2, label: "Workspace", description: "Designing environments that inspire creativity." },
{ image: banner3, label: "Leadership", description: "Guiding wiht vision and empathy." },
{ image: banner4, label: "Environment", description: "Sustainable practices for a better future." },
{ image: banner5, label: "Team", description: "Our greatest asset, driving success together." },
];
export default function HeroSection() {
const [currentIndex, setCurrentIndex] = useState(0);
const swiperRef = useRef(null);
const router = useRouter();
const handleSlideChange = (swiper) => {
setCurrentIndex(swiper.realIndex);
};
const currentData = slides[currentIndex];
return (
<div className="relative h-auto pt-[50px] md:pt-[100px] pb-10 overflow-hidden bg-white">
{/* Header Text */}
<section className="relative w-full flex flex-col items-center justify-center text-center mb-10 mt-20 px-4 md:px-12 lg:px-24">
<header className="max-w-4xl mx-auto">
<h1 className="text-3xl md:text-5xl lg:text-[52px] font-bold text-[#3C3C3C] mb-8 leading-[1.2]">
Co-Powering Enterprise Growth Through Intelligence And Empathy
</h1>
{/* CTA Buttons */}
<div className="flex flex-col sm:flex-row gap-4 justify-center items-center">
<div className="pl-6 pr-2 py-2 group bg-[#6666FF] rounded-full flex gap-3 items-center justify-center cursor-pointer hover:bg-[#5555ee] transition-all shadow-lg hover:shadow-xl">
<p className="font-bold text-white text-sm md:text-base">Discover Our Story</p>
<div className="rounded-full group-hover:translate-x-1 transition-transform bg-white w-8 h-8 md:w-10 md:h-10 flex items-center justify-center">
<ArrowRight size={16} color="#6666FF" />
</div>
</div>
<button
onClick={() => router.push("/contact-us")}
className="px-8 py-3 border border-[#6666FF] text-[#6666FF] rounded-full font-bold hover:bg-[#6666FF] hover:text-white transition-all cursor-pointer text-sm md:text-base shadow-sm hover:shadow-md"
>
Connect With Us →
</button>
</div>
</header>
</section>
{/* Swiper with Timeline Effect */}
<div className="relative w-full md:h-[500px] lg:h-[600px] overflow-hidden bg-white mt-10">
<div className="absolute inset-0 px-0">
<Swiper
modules={[Navigation, Autoplay]}
spaceBetween={20}
slidesPerView={1.5}
centeredSlides={true}
loop={true}
speed={800}
autoplay={{
delay: 3000,
disableOnInteraction: false,
}}
onSlideChange={handleSlideChange}
onSwiper={(swiper) => {
swiperRef.current = swiper;
}}
slideToClickedSlide={false}
className="h-full w-full"
breakpoints={{
768: {
slidesPerView: 1.8,
spaceBetween: 20,
},
1024: {
slidesPerView: 2.2,
spaceBetween: 30,
},
1280: {
slidesPerView: 2.5,
spaceBetween: 40,
},
}}
>
{slides.map((item, index) => (
<SwiperSlide key={index} className="h-full">
{({ isActive }) => (
<div
className={`h-full transition-all duration-500 relative ${isActive
? "opacity-100 scale-100"
: "opacity-50 scale-95"
}`}
>
<Image
src={item.image}
alt={item.label}
fill
className={`transition-all duration-500 ${isActive ? 'object-cover' : 'object-cover'}`}
sizes="(max-width: 768px) 100vw, (max-width: 1200px) 50vw, 33vw"
/>
</div>
)}
</SwiperSlide>
))}
</Swiper>
</div>
{/* Top Curved SVG Overlay */}
<div className="absolute top-[-5%] left-[-10%] w-[120%] pointer-events-none z-30">
<img
src="/Gallery/curv.svg"
alt=""
className="w-full object-cover h-[120px] lg:h-[150px]"
/>
</div>
{/* Bottom Curved SVG Overlay */}
<div className="absolute bottom-0 left-[-10%] w-[120%] pointer-events-none z-30">
<img
src="/Gallery/curv2.svg"
alt=""
className="w-full object-cover h-[120px] lg:h-[150px]"
/>
</div>
</div>
<style jsx global>{`
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-fadeIn {
animation: fadeIn 0.5s ease-out;
}
`}</style>
</div>
);
}Editor is loading...
Leave a Comment