diff --git a/apps/trading/components/competitions/games-container.tsx b/apps/trading/components/competitions/games-container.tsx index 37356df5c..9d6053942 100644 --- a/apps/trading/components/competitions/games-container.tsx +++ b/apps/trading/components/competitions/games-container.tsx @@ -1,5 +1,8 @@ import { type TransferNode } from '@vegaprotocol/types'; -import { ActiveRewardCard } from '../rewards-container/active-rewards'; +import { + ActiveRewardCard, + isActiveReward, +} from '../rewards-container/active-rewards'; import { useT } from '../../lib/use-t'; import { useAssetsMapProvider } from '@vegaprotocol/assets'; import { useMarketsMapProvider } from '@vegaprotocol/markets'; @@ -14,10 +17,33 @@ export const GamesContainer = ({ const t = useT(); // Re-load markets and assets in the games container to ensure that the // the cards are updated (not grayed out) when the user navigates to the games page - useAssetsMapProvider(); - useMarketsMapProvider(); + const { data: assets } = useAssetsMapProvider(); + const { data: markets } = useMarketsMapProvider(); - if (!data || data.length === 0) { + const enrichedTransfers = data + .filter((node) => isActiveReward(node, currentEpoch)) + .map((node) => { + if (node.transfer.kind.__typename !== 'RecurringTransfer') { + return node; + } + + const asset = + assets && + assets[ + node.transfer.kind.dispatchStrategy?.dispatchMetricAssetId || '' + ]; + + const marketsInScope = + node.transfer.kind.dispatchStrategy?.marketIdsInScope?.map( + (id) => markets && markets[id] + ); + + return { ...node, asset, markets: marketsInScope }; + }); + + if (!enrichedTransfers || !enrichedTransfers.length) return null; + + if (!enrichedTransfers || enrichedTransfers.length === 0) { return (

{t('There are currently no games available.')} @@ -27,7 +53,7 @@ export const GamesContainer = ({ return (

- {data.map((game, i) => { + {enrichedTransfers.map((game, i) => { // TODO: Remove `kind` prop from ActiveRewardCard const { transfer } = game; if ( diff --git a/apps/trading/components/rewards-container/active-rewards.tsx b/apps/trading/components/rewards-container/active-rewards.tsx index 232efa97f..03ea7c171 100644 --- a/apps/trading/components/rewards-container/active-rewards.tsx +++ b/apps/trading/components/rewards-container/active-rewards.tsx @@ -468,7 +468,7 @@ export const ActiveRewardCard = ({ }
{dispatchStrategy?.dispatchMetric && ( - + {t(DispatchMetricDescription[dispatchStrategy?.dispatchMetric])} )}