From d583f7d9d7d9fb901d551dbec8adeab51f2fc8ff Mon Sep 17 00:00:00 2001 From: aunali8812 Date: Mon, 16 Feb 2026 23:03:24 +0500 Subject: [PATCH] Used mutate to refresh donation data after campaign donation --- src/features/donation/models/effects/index.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/features/donation/models/effects/index.ts b/src/features/donation/models/effects/index.ts index cb90b423..48b8735f 100644 --- a/src/features/donation/models/effects/index.ts +++ b/src/features/donation/models/effects/index.ts @@ -1,4 +1,5 @@ import axios from "axios"; +import { mutate } from "swr"; import { syncApi } from "@/common/api/indexer"; import { RPC_NODE_URL, walletApi } from "@/common/blockchains/near-protocol/client"; @@ -35,6 +36,11 @@ const getTransactionStatus = ({ params: { wait_until, ...params }, }); +const revalidateCampaignData = (campaignId: number) => { + mutate((key) => Array.isArray(key) && key[0] === "useCampaign" && key[1] === campaignId); + mutate((key) => Array.isArray(key) && key[0] === "useCampaignDonations" && key[1] === campaignId); +}; + export type DonationSubmitCallbacks = { onError: (error: Error) => void; }; @@ -175,6 +181,7 @@ export const effects = (dispatch: AppDispatcher) => ({ .catch(() => {}); } + revalidateCampaignData(campaignId); dispatch.donation.success(result.donation); }) .catch((error) => { @@ -201,6 +208,7 @@ export const effects = (dispatch: AppDispatcher) => ({ .catch(() => {}); } + revalidateCampaignData(campaignId); dispatch.donation.success(result.donation); }) .catch((error) => {