From 7d208afb07a2ebf5f6a66b15139e31b03fda1e12 Mon Sep 17 00:00:00 2001 From: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com> Date: Thu, 6 Feb 2025 16:55:11 +0100 Subject: [PATCH] fix(dashboard): Ensure conditional prices are assigned to region (#11335) --- .changeset/small-dodos-attack.md | 5 +++++ .../edit-shipping-options-pricing-form.tsx | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 .changeset/small-dodos-attack.md diff --git a/.changeset/small-dodos-attack.md b/.changeset/small-dodos-attack.md new file mode 100644 index 0000000000..66d9564ad4 --- /dev/null +++ b/.changeset/small-dodos-attack.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +fix(dashboard): Ensure conditional prices are assigned to region diff --git a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/edit-shipping-options-pricing-form.tsx b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/edit-shipping-options-pricing-form.tsx index 8b2659b251..7316bb3ea7 100644 --- a/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/edit-shipping-options-pricing-form.tsx +++ b/packages/admin/dashboard/src/routes/locations/location-service-zone-shipping-option-pricing/components/create-shipping-options-form/edit-shipping-options-pricing-form.tsx @@ -355,13 +355,19 @@ const getDefaultValues = (prices: HttpTypes.AdminShippingOptionPrice[]) => { } if (hasAttributes(price, [REGION_ID_ATTRIBUTE], [ITEM_TOTAL_ATTRIBUTE])) { - const regionId = price.price_rules[0].value + const regionId = price.price_rules.find( + (r) => r.attribute === REGION_ID_ATTRIBUTE + )?.value + region_prices[regionId] = price.amount return } if (hasAttributes(price, [REGION_ID_ATTRIBUTE, ITEM_TOTAL_ATTRIBUTE])) { - const regionId = price.price_rules[0].value + const regionId = price.price_rules.find( + (r) => r.attribute === REGION_ID_ATTRIBUTE + )?.value + if (!conditional_region_prices[regionId]) { conditional_region_prices[regionId] = [] }