diff --git a/server/src/internal/products/productUtils/productResponseUtils/getAttachScenario.ts b/server/src/internal/products/productUtils/productResponseUtils/getAttachScenario.ts index f13e0e759..4ddc8fadd 100644 --- a/server/src/internal/products/productUtils/productResponseUtils/getAttachScenario.ts +++ b/server/src/internal/products/productUtils/productResponseUtils/getAttachScenario.ts @@ -54,5 +54,13 @@ export const getAttachScenario = ({ prices2: fullProduct.prices, }); + if ( + !isUpgrade && + !isFreeProduct(curFullProduct.prices) && + isFreeProduct(fullProduct.prices) + ) { + return AttachScenario.Cancel; + } + return isUpgrade ? AttachScenario.Upgrade : AttachScenario.Downgrade; }; diff --git a/vite/src/views/products/rewards/reward-config/CreateReward.tsx b/vite/src/views/products/rewards/reward-config/CreateReward.tsx index 085dddfe7..969a73ed5 100644 --- a/vite/src/views/products/rewards/reward-config/CreateReward.tsx +++ b/vite/src/views/products/rewards/reward-config/CreateReward.tsx @@ -18,10 +18,11 @@ import { useProductsContext } from "../../ProductsContext"; import { RewardService } from "@/services/products/RewardService"; import { RewardConfig } from "./RewardConfig"; import { defaultReward } from "../utils/defaultRewardModels"; +import { useRewardsQuery } from "@/hooks/queries/useRewardsQuery"; function CreateReward() { - const { mutate, env } = useProductsContext(); - const axiosInstance = useAxiosInstance({ env: env }); + const axiosInstance = useAxiosInstance(); + const { refetch } = useRewardsQuery(); const [isLoading, setIsLoading] = useState(false); const [open, setOpen] = useState(false); @@ -42,9 +43,10 @@ function CreateReward() { data: reward, }); - await mutate(); + await refetch(); setOpen(false); } catch (error) { + console.log("Error:", error); toast.error(getBackendErr(error, "Failed to create coupon")); } setIsLoading(false);