Merged in fix/LOY-369-Redeem-tier-rewards (pull request #2822)
fix(LOY-369): Able to redeem tier rewards * fix(LOY-369): able to redeem on site tier rewards * fix(LOY-369): single mutation call * fix(LOY-369): apply coupon check for all tier rewards Approved-by: Linus Flood Approved-by: Matilda Landström
This commit is contained in:
@@ -5,7 +5,7 @@ import { createContext, useCallback, useContext, useEffect } from "react"
|
||||
import { logger } from "@scandic-hotels/common/logger"
|
||||
import { trpc } from "@scandic-hotels/trpc/client"
|
||||
|
||||
import { getFirstRedeemableCoupon } from "@/utils/rewards"
|
||||
import { getFirstRedeemableCoupon, isTierType } from "@/utils/rewards"
|
||||
|
||||
import type { Reward } from "@scandic-hotels/trpc/types/rewards"
|
||||
|
||||
@@ -34,9 +34,21 @@ export default function useRedeemFlow() {
|
||||
|
||||
const onRedeem = useCallback(
|
||||
(reward: Reward) => {
|
||||
const coupon = getFirstRedeemableCoupon(reward)
|
||||
let couponCode: string | undefined
|
||||
|
||||
if (isTierType(reward.rewardType)) {
|
||||
couponCode = undefined
|
||||
} else {
|
||||
const coupon = getFirstRedeemableCoupon(reward)
|
||||
if (!coupon) {
|
||||
logger.error("No redeemable coupon found for reward", reward)
|
||||
return
|
||||
}
|
||||
couponCode = coupon.couponCode
|
||||
}
|
||||
|
||||
update.mutate(
|
||||
{ rewardId: reward.id, couponCode: coupon.couponCode },
|
||||
{ rewardId: reward.id, couponCode },
|
||||
{
|
||||
onSuccess() {
|
||||
setRedeemStep("redeemed")
|
||||
|
||||
Reference in New Issue
Block a user