const SubscriptionGiftPick = ({handleFieldChange, active, setActive, subscriptionTypeCode, form}) => { const [products, setProducts] = useState([]); const [orderLink, setOrderLink] = useState(); useEffect(() => { setProducts([]); if (!subscriptionTypeCode) { return; } let link = buildModalLink() setOrderLink(link); fetch( '/api/v1/subscriptions/list-products', { headers: { 'Content-Type': 'application/json' }, method: 'POST', body: JSON.stringify({ subscription_type_code: subscriptionTypeCode, limit: 3 }) } ) .then(response => response.json()) .then(result => { if (!result.products || !result.products.length) { throw new Error(); } setProducts(result.products); }) .catch(() => window.location.href = link); }, [active]); const buildModalLink = () => { let link = form.funnel_url_key + '/' + subscriptionTypeCode; if (subscriptionTypeCode === 'kmenta') { link = '/kmenta/kmenta'; } return link; } const renderProduct = (product) => { return (
) } return products.length ? ( ) : null; }