'use client'; import React from 'react'; import { useParams } from 'next/navigation'; import { useProduct, useProductRecommendations, } from '@/hooks/use-shopify-products'; import ProductCard from './product-card'; interface ProductRecommendationsProps { productId?: string; title?: string; } const ProductRecommendations: React.FC = ({ productId: productIdProp, title = 'You Might Also Like These Products 2', }) => { const params = useParams(); const handle = params?.handle as string | undefined; const { product } = useProduct(productIdProp ? null : (handle ?? null)); const resolvedProductId = productIdProp || product?.id || ''; const { recommendations, loading, error } = useProductRecommendations( resolvedProductId || null ); if (!loading && (!recommendations || recommendations.length === 0)) { return null; } return (

{title}

{loading ? (
{Array.from({ length: 4 }).map((_, index) => (
))}
) : error ? (

Recommendations could not be loaded

) : (
{recommendations.slice(0, 4).map((recommendedProduct) => ( ))}
)}
); }; export default ProductRecommendations;