diff --git a/src/logic/collectibles/store/actions/fetchCollectibles.ts b/src/logic/collectibles/store/actions/fetchCollectibles.ts index 40d3e6a5..6c70bba4 100644 --- a/src/logic/collectibles/store/actions/fetchCollectibles.ts +++ b/src/logic/collectibles/store/actions/fetchCollectibles.ts @@ -4,7 +4,7 @@ import { Dispatch } from 'redux' import { getConfiguredSource } from 'src/logic/collectibles/sources' import { addNftAssets, addNftTokens } from 'src/logic/collectibles/store/actions/addCollectibles' -const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): Promise => { +export const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): Promise => { try { const source = getConfiguredSource() const collectibles = await source.fetchCollectibles(safeAddress) @@ -17,5 +17,3 @@ const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): P console.log('Error fetching collectibles:', error) } } - -export default fetchCollectibles diff --git a/src/logic/collectibles/store/selectors/index.ts b/src/logic/collectibles/store/selectors/index.ts index 3a922048..e8940dcc 100644 --- a/src/logic/collectibles/store/selectors/index.ts +++ b/src/logic/collectibles/store/selectors/index.ts @@ -16,11 +16,18 @@ export const nftAssetsListSelector = createSelector(nftAssets, (assets): NFTAsse return assets ? Object.values(assets) : [] }) +export const availableNftAssetsAddresses = createSelector(nftTokensSelector, (userNftTokens): string[] => { + return Array.from(new Set(userNftTokens.map((nftToken) => nftToken.assetAddress))) +}) + export const activeNftAssetsListSelector = createSelector( nftAssetsListSelector, safeActiveAssetsSelector, - (assets, activeAssetsList): NFTAsset[] => { - return assets.filter(({ address }) => activeAssetsList.has(address)) + availableNftAssetsAddresses, + (assets, activeAssetsList, availableNftAssetsAddresses): NFTAsset[] => { + return assets + .filter(({ address }) => activeAssetsList.has(address)) + .filter(({ address }) => availableNftAssetsAddresses.includes(address)) }, ) diff --git a/src/logic/safe/hooks/useFetchTokens.tsx b/src/logic/safe/hooks/useFetchTokens.tsx index 2932d16a..7d19e373 100644 --- a/src/logic/safe/hooks/useFetchTokens.tsx +++ b/src/logic/safe/hooks/useFetchTokens.tsx @@ -2,7 +2,7 @@ import { useMemo } from 'react' import { batch, useDispatch } from 'react-redux' import { useLocation } from 'react-router-dom' -import fetchCollectibles from 'src/logic/collectibles/store/actions/fetchCollectibles' +import { fetchCollectibles } from 'src/logic/collectibles/store/actions/fetchCollectibles' import { fetchSelectedCurrency } from 'src/logic/currencyValues/store/actions/fetchSelectedCurrency' import activateAssetsByBalance from 'src/logic/tokens/store/actions/activateAssetsByBalance' import fetchSafeTokens from 'src/logic/tokens/store/actions/fetchSafeTokens' diff --git a/src/logic/safe/hooks/useSafeScheduledUpdates.tsx b/src/logic/safe/hooks/useSafeScheduledUpdates.tsx index 66c474a2..61c1ae2d 100644 --- a/src/logic/safe/hooks/useSafeScheduledUpdates.tsx +++ b/src/logic/safe/hooks/useSafeScheduledUpdates.tsx @@ -1,7 +1,7 @@ import { useEffect, useRef } from 'react' import { batch, useDispatch } from 'react-redux' -import fetchCollectibles from 'src/logic/collectibles/store/actions/fetchCollectibles' +import { fetchCollectibles } from 'src/logic/collectibles/store/actions/fetchCollectibles' import fetchSafeTokens from 'src/logic/tokens/store/actions/fetchSafeTokens' import fetchEtherBalance from 'src/logic/safe/store/actions/fetchEtherBalance' import { checkAndUpdateSafe } from 'src/logic/safe/store/actions/fetchSafe'