fix(LOY-39): refetch rewards when redeemed

update expiration date text

possible to redeem rewards with coupon code
This commit is contained in:
Christian Andolf
2024-12-18 17:43:19 +01:00
parent c701c067b4
commit 633d259ce0
13 changed files with 181 additions and 117 deletions

View File

@@ -2,27 +2,52 @@
import { useRef, useState } from "react"
import { trpc } from "@/lib/trpc/client"
import { RewardIcon } from "@/components/Blocks/DynamicContent/Rewards/RewardIcon"
import ScriptedRewardText from "@/components/Blocks/DynamicContent/Rewards/ScriptedRewardText"
import Pagination from "@/components/MyPages/Pagination"
import Grids from "@/components/TempDesignSystem/Grids"
import Title from "@/components/TempDesignSystem/Text/Title"
import useLang from "@/hooks/useLang"
import Redeem from "../Redeem"
import styles from "./current.module.css"
import type { CurrentRewardsClientProps } from "@/types/components/myPages/myPage/accountPage"
import type {
Reward,
RewardWithRedeem,
} from "@/server/routers/contentstack/reward/output"
export default function ClientCurrentRewards({
rewards,
rewards: initialData,
pageSize,
showRedeem,
membershipNumber,
}: CurrentRewardsClientProps) {
const lang = useLang()
const containerRef = useRef<HTMLDivElement>(null)
const [currentPage, setCurrentPage] = useState(1)
const { data } = trpc.contentstack.rewards.current.useQuery<{
rewards: (Reward | RewardWithRedeem)[]
}>(
{
lang,
},
{
initialData: { rewards: initialData },
}
)
if (!data) {
return null
}
const rewards = data.rewards
const totalPages = Math.ceil(rewards.length / pageSize)
const startIndex = (currentPage - 1) * pageSize
const endIndex = startIndex + pageSize