Fix hasNonMasterVariants

This commit is contained in:
tniezg 2021-07-28 17:23:56 +02:00
parent cfa72b080e
commit cc0da75a60

View File

@ -39,27 +39,27 @@ const normalizeProduct = (
// Currently, the Spree API doesn't return it.
const hasNonMasterVariants =
(spreeProduct.relationships.variants.data as RelationType[]).length > 0
(spreeProduct.relationships.variants.data as RelationType[]).length > 1
let variants: ProductVariant[]
let options: ProductOption[] = []
if (hasNonMasterVariants) {
const spreeVariantRecords = findIncludedOfType(
spreeSuccessResponse,
spreeProduct,
'variants'
)
const spreeVariantRecords = findIncludedOfType(
spreeSuccessResponse,
spreeProduct,
'variants'
)
variants = spreeVariantRecords.map((spreeVariantRecord) => {
variants = spreeVariantRecords.map((spreeVariantRecord) => {
let variantOptions: ProductOption[] = []
if (hasNonMasterVariants) {
const spreeOptionValues = findIncludedOfType(
spreeSuccessResponse,
spreeVariantRecord,
'option_values'
)
let variantOptions: ProductOption[] = []
// Only include options which are used by variants.
spreeOptionValues.forEach((spreeOptionValue) => {
@ -71,15 +71,13 @@ const normalizeProduct = (
options = expandOptions(spreeSuccessResponse, spreeOptionValue, options)
})
}
return {
id: spreeVariantRecord.id,
options: variantOptions,
}
})
} else {
variants = []
}
return {
id: spreeVariantRecord.id,
options: variantOptions,
}
})
const slug = spreeProduct.attributes.slug
const path = `/${spreeProduct.attributes.slug}`