"use client"; import React, { useState, useEffect } from 'react'; import { getProductRecommendations } from '@/hooks/use-shopify-products'; import ProductCard from '../ProductCard'; interface ProductRecommendationsProps { productId: string; } const ProductRecommendations: React.FC = ({ productId }) => { const [recommendedProducts, setRecommendedProducts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchRecommendations = async () => { if (!productId) return; try { setLoading(true); setError(null); const recommendations = await getProductRecommendations(productId); setRecommendedProducts(recommendations); } catch (err) { console.error('Error fetching product recommendations:', err); setError(err instanceof Error ? err.message : 'Failed to load recommendations'); } finally { setLoading(false); } }; fetchRecommendations(); }, [productId]); // Don't show section if we're not loading and have no recommendations if (!loading && (!recommendedProducts || recommendedProducts.length === 0)) { return null; } return (

You Might Also Like

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

Recommendations could not be loaded

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