'use client'; import { useAddProductToBasket } from '../../hooks'; import useFavButton from '../../hooks/use-fav-button'; import { Button } from '@theme/components'; import { useEffect, useState } from 'react'; import { useGetProductByPkQuery } from '@akinon/next/data/client/product'; import { ProductResult } from '@akinon/next/types'; import PriceWrapper from './price-wrapper'; import Variant from './variant'; import { useLocalization } from '@akinon/next/hooks'; import { Image } from '@akinon/next/components/image'; export default function CombineProductCard( props: ProductResult & { index: number } ) { const { t } = useLocalization(); const { index, product, in_stock } = props; const [productPk, setProductPk] = useState(product.pk); const [productVariants, setProductVariants] = useState([]); const [addProduct, { isLoading }] = useAddProductToBasket(); const { data } = useGetProductByPkQuery(productPk); const { FavButton } = useFavButton(productPk); const addProductToCart = () => { addProduct({ product: productPk, quantity: 1, attributes: {} }); }; useEffect(() => { if (data) { setProductVariants(data.variants ?? []); } }, [data]); return (