From 7569fd16053196ef168b06e9510ef7504873627b Mon Sep 17 00:00:00 2001 From: Stevche Radevski Date: Thu, 1 Aug 2024 10:46:11 +0200 Subject: [PATCH] fix: Updating product prices removed existing prices (#8388) RESOLVES #8376 CLOSES CC-288 --- .../products/common/variant-pricing-form.tsx | 4 ++-- .../products/product-prices/pricing-edit.tsx | 19 ++++++------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/packages/admin-next/dashboard/src/routes/products/common/variant-pricing-form.tsx b/packages/admin-next/dashboard/src/routes/products/common/variant-pricing-form.tsx index f88bf6fbb8..a7f31959b7 100644 --- a/packages/admin-next/dashboard/src/routes/products/common/variant-pricing-form.tsx +++ b/packages/admin-next/dashboard/src/routes/products/common/variant-pricing-form.tsx @@ -20,10 +20,10 @@ type VariantPricingFormProps = { export const VariantPricingForm = ({ form }: VariantPricingFormProps) => { const { store } = useStore() const { regions } = useRegions({ limit: 9999 }) - const { setCloseOnEscape } = useRouteModal() - const { price_preferences: pricePreferences } = usePricePreferences({}) + const { setCloseOnEscape } = useRouteModal() + const columns = useVariantPriceGridColumns({ currencies: store?.supported_currencies, regions, diff --git a/packages/admin-next/dashboard/src/routes/products/product-prices/pricing-edit.tsx b/packages/admin-next/dashboard/src/routes/products/product-prices/pricing-edit.tsx index 33bbebab46..f01a9d94bc 100644 --- a/packages/admin-next/dashboard/src/routes/products/product-prices/pricing-edit.tsx +++ b/packages/admin-next/dashboard/src/routes/products/product-prices/pricing-edit.tsx @@ -35,6 +35,7 @@ export const PricingEdit = ({ }) => { const { t } = useTranslation() const { handleSuccess } = useRouteModal() + const { mutateAsync, isPending } = useUpdateProductVariantsBatch(product.id) const { regions } = useRegions({ limit: 9999 }) const regionsCurrencyMap = useMemo(() => { @@ -70,8 +71,6 @@ export const PricingEdit = ({ resolver: zodResolver(UpdateVariantPricesSchema, {}), }) - const { mutateAsync, isPending } = useUpdateProductVariantsBatch(product.id) - const handleSubmit = form.handleSubmit(async (values) => { const reqData = values.variants.map((variant, ind) => ({ id: variants[ind].id, @@ -100,18 +99,12 @@ export const PricingEdit = ({ const amount = castNumber(value) - const pricePayload = existingId - ? { - id: existingId, - amount, - } - : { currency_code: currencyCode, amount } - - if (regionId && !existingId) { - pricePayload.rules = { region_id: regionId } + return { + id: existingId, + currency_code: currencyCode, + amount, + ...(regionId ? { rules: { region_id: regionId } } : {}), } - - return pricePayload } ), }))