fix: Ensure that at least one variant is selected.

This commit is contained in:
Sol Irvine 2023-07-29 18:51:50 +09:00
parent 39cb4202c4
commit d5f609999a

View File

@ -24,12 +24,19 @@ export function AddToCart({
const variant = variants.find((variant: ProductVariant) => const variant = variants.find((variant: ProductVariant) =>
variant.selectedOptions.every( variant.selectedOptions.every(
(option) => option.value === searchParams.get(option.name.toLowerCase()) (option) => option.value === searchParams.get(option.name.toLowerCase())
) )
); );
if (variants?.length > 0 && !!variants?.[0] && !variant) {
setSelectedVariantId(variants?.[0].id);
return;
}
setSelectedVariantId(variant?.id); setSelectedVariantId(variant?.id);
}, [searchParams, variants, setSelectedVariantId]); }, [searchParams, variants, setSelectedVariantId]);
const title = !availableForSale const title = !availableForSale
? 'Out of stock' ? 'Out of stock'
: !selectedVariantId : !selectedVariantId