import React, { useState } from 'react';
import { FaChevronLeft, FaChevronRight, FaTimes, FaExpand } from 'react-icons/fa';
import { getImageUrl, getPlaceholderImage } from '../utils/imageUtils';
const ImageGallery = ({ images = [], title = "Gallery" }) => {
const [currentIndex, setCurrentIndex] = useState(0);
const [isModalOpen, setIsModalOpen] = useState(false);
if (!images || images.length === 0) {
return (
);
}
const nextImage = () => {
setCurrentIndex((prev) => (prev + 1) % images.length);
};
const prevImage = () => {
setCurrentIndex((prev) => (prev - 1 + images.length) % images.length);
};
const openModal = (index) => {
setCurrentIndex(index);
setIsModalOpen(true);
};
const closeModal = () => {
setIsModalOpen(false);
};
return (
{/* Main Image */}

openModal(currentIndex)}
onError={(e) => {
e.target.src = getPlaceholderImage(600, 400, 'Image Not Available');
}}
/>
{/* Expand Button */}
{/* Navigation Arrows */}
{images.length > 1 && (
<>
>
)}
{/* Image Counter */}
{images.length > 1 && (
{currentIndex + 1} / {images.length}
)}
{/* Thumbnail Strip */}
{images.length > 1 && (
{images.map((image, index) => (
))}
)}
{/* Fullscreen Modal */}
{isModalOpen && (

{/* Close Button */}
{/* Modal Navigation */}
{images.length > 1 && (
<>
>
)}
{/* Modal Counter */}
{currentIndex + 1} / {images.length}
)}
);
};
export default ImageGallery;