"use client";
import { useState } from "react";
function ChevronIcon({ direction, className }: { direction: "prev" | "next"; className?: string }) {
const d = direction === "prev" ? "M14.5 6.5 9 12l5.5 5.5" : "M9.5 6.5 15 12l-5.5 5.5";
return (
);
}
export function ProductGallery({ images, alt }: { images: string[]; alt: string }) {
const [index, setIndex] = useState(0);
const [zoomed, setZoomed] = useState(false);
const [origin, setOrigin] = useState({ x: 50, y: 50 });
const list = images.length > 0 ? images : ["/images/placeholder.svg"];
const hasMultiple = list.length > 1;
const go = (delta: number) => {
setIndex((prev) => (prev + delta + list.length) % list.length);
};
return (
{
const rect = event.currentTarget.getBoundingClientRect();
setOrigin({
x: ((event.clientX - rect.left) / rect.width) * 100,
y: ((event.clientY - rect.top) / rect.height) * 100,
});
}}
onMouseEnter={() => setZoomed(true)}
onMouseLeave={() => setZoomed(false)}
>
{/* eslint-disable-next-line @next/next/no-img-element */}

{hasMultiple && (
<>
>
)}
{hasMultiple && (
{list.map((img, i) => (
))}
)}
);
}