import s from './ProductSidebar.module.css'; import { useAddItem } from '@framework/cart'; import { FC, useEffect, useState } from 'react'; import { ProductOptions } from '@components/product'; import type { Product } from '@commerce/types/product'; import { Button, Text, Rating, Collapse, useUI } from '@components/ui'; import { getProductVariant, selectDefaultOptionFromProduct, SelectedOptions, } from '../helpers'; interface ProductSidebarProps { product: Product; className?: string; } const ProductSidebar: FC = ({ product, className }) => { const addItem = useAddItem(); const { openSidebar } = useUI(); const [loading, setLoading] = useState(false); const [selectedOptions, setSelectedOptions] = useState({}); useEffect(() => { selectDefaultOptionFromProduct(product, setSelectedOptions); }, [product]); const variant = getProductVariant(product, selectedOptions); const addToCart = async () => { setLoading(true); try { await addItem({ productId: String(product.id), variantId: String(variant ? variant.id : product.variants[0]?.id), }); openSidebar(); setLoading(false); } catch (err) { setLoading(false); } }; return (
36 reviews
{process.env.COMMERCE_CART_ENABLED && ( )}
This is a limited edition production run. Printing starts when the drop ends. This is a limited edition production run. Printing starts when the drop ends. Reminder: Bad Boys For Life. Shipping may take 10+ days due to COVID-19.
); }; export default ProductSidebar;