fix: handle non loaded surprises in case they're returned as null from server

This commit is contained in:
Christian Andolf
2025-05-19 10:58:14 +02:00
parent 3c0204eb2c
commit 6fad2a6022

View File

@@ -28,7 +28,6 @@ import Slide from "./Slide"
import styles from "./surprises.module.css" import styles from "./surprises.module.css"
import type { SurprisesProps } from "@/types/components/blocks/surprises" import type { SurprisesProps } from "@/types/components/blocks/surprises"
import type { Surprise } from "@/types/components/myPages/rewards"
const MotionModal = motion.create(Modal) const MotionModal = motion.create(Modal)
@@ -43,9 +42,7 @@ export default function SurprisesNotification({
const [showSurprises, setShowSurprises] = useState(false) const [showSurprises, setShowSurprises] = useState(false)
const utils = trpc.useUtils() const utils = trpc.useUtils()
const { data: surprises } = trpc.contentstack.rewards.surprises.useQuery< const { data } = trpc.contentstack.rewards.surprises.useQuery(
Surprise[]
>(
{ {
lang, lang,
}, },
@@ -56,6 +53,8 @@ export default function SurprisesNotification({
} }
) )
const surprises = data ?? []
const unwrap = trpc.contentstack.rewards.unwrap.useMutation({ const unwrap = trpc.contentstack.rewards.unwrap.useMutation({
onSuccess: () => { onSuccess: () => {
utils.contentstack.rewards.current.invalidate({ lang }) utils.contentstack.rewards.current.invalidate({ lang })