2025-07-14 14:03:36 +05:30

58 lines
1.9 KiB
JavaScript

"use client";
import Link from "next/link";
import AnimatedText from "@/components/common/AnimatedText";
import { projects2 } from "@/data/projects";
import { useRef } from "react";
export default function Projects() {
const parentRefs = useRef([]);
const handleProjectHover = (index) => {
parentRefs.current.forEach((el) => {
el.classList.remove("active");
});
parentRefs.current[index].classList.add("active");
};
return (
<section
id="projects"
className="project-section fix section-padding scrollSpySection"
>
<div className="container">
<div className="section-title text-center">
<h6 className="wow fadeInUp">
<i className="fa-regular fa-arrow-left-long" />
our complete projects
<i className="fa-regular fa-arrow-right-long" />
</h6>
<h2 className="splt-txt wow">
<AnimatedText text="Our Latest Projects" />
</h2>
</div>
</div>
<div className="container-fluid">
<div className="project-wrapper">
<div className="main-box">
{projects2.map((elm, i) => (
<div
onMouseOver={() => handleProjectHover(i)}
ref={(el) => (parentRefs.current[i] = el)}
key={i}
className={`box wow fadeInUp ${elm.bgClass} `}
data-wow-delay={elm.delay}
>
<div className="project-content">
<h3>
<Link href={`/project-details/${elm.id}`}>{elm.title}</Link>
</h3>
<Link href={`/project-details/${elm.id}`} className="icon">
<i className="fa-solid fa-arrow-right" />
</Link>
</div>
</div>
))}
</div>
</div>
</div>
</section>
);
}