mirror of
https://github.com/vercel/commerce.git
synced 2025-06-29 18:01:21 +00:00
feat: add discounts and remove console.log
This commit is contained in:
parent
7ab1d9a50d
commit
c355725fa9
@ -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
|
||||
},
|
||||
|
@ -69,7 +69,6 @@ export const handler: MutationHook<any> = {
|
||||
itemId,
|
||||
},
|
||||
})
|
||||
console.log('update quantity', data)
|
||||
await mutate(data, false)
|
||||
return data
|
||||
},
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user