Mapped options to variants

This commit is contained in:
royderks 2021-04-29 18:27:36 +02:00 committed by Zaiste
parent e3a9fd6c51
commit f7796b9683
No known key found for this signature in database
GPG Key ID: 15DF7EBC7F2FFE35
2 changed files with 7 additions and 9 deletions

View File

@ -9,9 +9,7 @@ export function getVariant(product: Product, opts: SelectedOptions) {
option.__typename === 'MultipleChoiceOption' &&
option.displayName.toLowerCase() === key.toLowerCase()
) {
return option.values.find((v) => {
return v.label.toLowerCase() === value
})
return option.values.find((v) => v.label.toLowerCase() === value)
}
})
)

View File

@ -35,7 +35,6 @@ const normalizeProductOptions = (options: ProductVariant[]) => {
return {
__typename: 'MultipleChoiceOption',
id: 123,
// next-commerce can only display labels for options with displayName 'size', or colors
displayName: displayName?.toLowerCase().includes('size')
? 'size'
@ -48,7 +47,8 @@ const normalizeProductOptions = (options: ProductVariant[]) => {
}
const normalizeProductVariants = (variants: ProductVariant[]) =>
variants?.map(({ id, sku, name, pricing }) => {
variants?.map((variant) => {
const { id, sku, name, pricing } = variant
const price = pricing?.price?.net && money(pricing.price.net)?.value
return {
@ -58,7 +58,7 @@ const normalizeProductVariants = (variants: ProductVariant[]) =>
price,
listPrice: price,
requiresShipping: true,
options: normalizeProductOptions(variants),
options: normalizeProductOptions([variant]),
}
})
@ -74,13 +74,13 @@ export function normalizeProduct(productNode: SaleorProduct): Product {
...rest
} = productNode
const { blocks } = JSON.parse(description)
const product = {
id,
name,
vendor: '',
description: blocks[0]?.data.text,
description: description
? JSON.parse(description)?.blocks[0]?.data.text
: '',
path: `/${slug}`,
slug: slug?.replace(/^\/+|\/+$/g, ''),
price: