"use client"; import { useState } from "react"; import { projectsData } from "@/data/projects"; import React from "react"; import Image from "next/image"; import AnimatedText from "../common/AnimatedText"; import Lightbox from "yet-another-react-lightbox"; import "yet-another-react-lightbox/styles.css"; const tabOptions = [ { key: "desiccated", label: "Coconut Milk Extraction" }, { key: "virgin", label: "Coconut Dryer Projects" }, { key: "pare", label: "Coconut Pulverizing & Grinding" }, ]; export default function ProjectsData() { const [activeTab, setActiveTab] = useState("desiccated"); const [lightboxOpen, setLightboxOpen] = useState(false); const [lightboxImages, setLightboxImages] = useState([]); const [currentImageIndex, setCurrentImageIndex] = useState(0); // Filtered projects based on active tab const filteredProjects = projectsData.filter( (project) => project.category && project.category.toLowerCase().includes(activeTab) ); // Collect unique images from filtered projects const displayedImages = Array.from( new Set( filteredProjects.map((project) => project.images[0]) // Only first image ) ); // Open lightbox const handleImageClick = (imageSrc) => { const index = displayedImages.findIndex((img) => img === imageSrc); const slides = displayedImages.map((img) => ({ src: img })); setLightboxImages(slides); setCurrentImageIndex(index >= 0 ? index : 0); setLightboxOpen(true); }; return (
Our Global Footprint


{/* Tabs */}
{tabOptions.map((tab) => ( ))}
{filteredProjects.map((project) => (
handleImageClick(project.images[0])} > {project.title}
))}
{/* Lightbox */} {lightboxOpen && ( setLightboxOpen(false)} slides={lightboxImages} index={currentImageIndex} /> )}
); }