import { useLocale } from "next-intl";
import Image from "next/image";
import Link from "next/link";

interface ProductCardProps {
  title: string;
  image: string;
  slug: string;
  getProduct: () => void;
}

export default function ProductCard({
  title,
  image,
  slug,
  getProduct,
}: ProductCardProps) {
  const locale = useLocale();

  return (
    <Link href={`/${locale}/catalog_page/products/${slug}`} onClick={getProduct}>
      <article className="group transition-all duration-300 hover:cursor-pointer max-sm:max-w-100 max-sm:mx-auto max-sm:w-full">
        {/* Image Container */}
        <div className="relative rounded-2xl h-45 sm:h-55 md:h-65 lg:w-[95%] w-[90%] mx-auto overflow-hidden">
          <Image
            src={image || "/placeholder.svg"}
            alt={title}
            fill
            className="object-contain transition-transform duration-300 group-hover:scale-105"
            sizes="(max-width: 640px) 90vw, (max-width: 1024px) 45vw, 30vw"
          />
        </div>

        {/* Content Container */}
        <div className="p-6 sm:p-4">
          <h3 className="text-lg text-center font-unbounded font-bold text-white mb-4 line-clamp-3 group-hover:text-red-400 transition-colors duration-300">
            {title}
          </h3>
        </div>
      </article>
    </Link>
  );
}
