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] = [] }