feat: add discounts and remove console.log

This commit is contained in:
DuvCharles 2023-03-10 17:56:58 +01:00 committed by Hadrien Lucas
parent 7ab1d9a50d
commit c355725fa9
4 changed files with 24 additions and 5 deletions

View File

@ -34,7 +34,6 @@ export const handler: MutationHook<any> = {
return useCallback(
async function removeItem(input) {
const data = await fetch({ input: { itemId: input.id } })
console.log('remove item', data)
await mutate(data, false)
return data
},

View File

@ -69,7 +69,6 @@ export const handler: MutationHook<any> = {
itemId,
},
})
console.log('update quantity', data)
await mutate(data, false)
return data
},

View File

@ -10,6 +10,10 @@ export interface SyliusOrder {
taxTotal: number
itemsTotal: number
total: number
taxExcludedTotal: number
taxIncludedTotal: number
shippingTotal: number
orderPromotionTotal: number
items: SyliusOrderItem[]
}
@ -22,4 +26,12 @@ export interface SyliusOrderItem {
variant: SyliusProductVariant
optionValues: SyliusProductOptionValue[]
product: SyliusProduct
adjustments: SyliusAdjustment[]
}
export interface SyliusAdjustment {
id: number
type: string
label: string
amount: number
}

View File

@ -4,7 +4,8 @@ import {
SelectedOption,
} from '@vercel/commerce/types/cart'
import { LineItem } from '@vercel/commerce/types/cart'
import { SyliusOrder, SyliusOrderItem } from 'types/cart'
import { Discount } from '@vercel/commerce/types/common'
import { SyliusAdjustment, SyliusOrder, SyliusOrderItem } from 'types/cart'
import {
SyliusProduct,
SyliusProductOption,
@ -18,7 +19,7 @@ export const normalizeCart = (syliusOrder: SyliusOrder): Cart => {
id: syliusOrder.id.toString(),
createdAt: '',
currency: { code: syliusOrder.currencyCode },
taxesIncluded: syliusOrder.taxTotal > 0,
taxesIncluded: syliusOrder.total !== syliusOrder.taxExcludedTotal,
lineItems: syliusOrder.items.map((item) => normalizeOrderItem(item)),
lineItemsSubtotalPrice: syliusOrder.itemsTotal / 100,
subtotalPrice: syliusOrder.itemsTotal / 100,
@ -33,7 +34,6 @@ const normalizeOrderItem = (syliusOrderItem: SyliusOrderItem): LineItem => {
productId: syliusOrderItem.product.id.toString(),
name: syliusOrderItem.productName,
quantity: syliusOrderItem.quantity,
discounts: [],
path: syliusOrderItem.product.slug,
variant: normalizeOrderItemVariant(
syliusOrderItem.variant,
@ -45,6 +45,9 @@ const normalizeOrderItem = (syliusOrderItem: SyliusOrderItem): LineItem => {
syliusOrderItem.product.options
)
),
discounts: syliusOrderItem.adjustments.map((adjustment) =>
normalizeAdjustment(adjustment)
),
}
}
@ -80,3 +83,9 @@ const normalizeOrderItemOptionValue = (
value: optionValue.value,
}
}
const normalizeAdjustment = (adjustment: SyliusAdjustment): Discount => {
return {
value: adjustment.amount / 100,
}
}