mirror of
https://github.com/status-im/safe-react.git
synced 2025-02-26 16:30:34 +00:00
* Remove default export with const * Filter collectibles group with user's available nftAsset * Improves filter * Fix duplicated assets
This commit is contained in:
parent
058fec3dbc
commit
4ce8917f34
@ -4,7 +4,7 @@ import { Dispatch } from 'redux'
|
|||||||
import { getConfiguredSource } from 'src/logic/collectibles/sources'
|
import { getConfiguredSource } from 'src/logic/collectibles/sources'
|
||||||
import { addNftAssets, addNftTokens } from 'src/logic/collectibles/store/actions/addCollectibles'
|
import { addNftAssets, addNftTokens } from 'src/logic/collectibles/store/actions/addCollectibles'
|
||||||
|
|
||||||
const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): Promise<void> => {
|
export const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const source = getConfiguredSource()
|
const source = getConfiguredSource()
|
||||||
const collectibles = await source.fetchCollectibles(safeAddress)
|
const collectibles = await source.fetchCollectibles(safeAddress)
|
||||||
@ -17,5 +17,3 @@ const fetchCollectibles = (safeAddress: string) => async (dispatch: Dispatch): P
|
|||||||
console.log('Error fetching collectibles:', error)
|
console.log('Error fetching collectibles:', error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default fetchCollectibles
|
|
||||||
|
@ -16,11 +16,18 @@ export const nftAssetsListSelector = createSelector(nftAssets, (assets): NFTAsse
|
|||||||
return assets ? Object.values(assets) : []
|
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(
|
export const activeNftAssetsListSelector = createSelector(
|
||||||
nftAssetsListSelector,
|
nftAssetsListSelector,
|
||||||
safeActiveAssetsSelector,
|
safeActiveAssetsSelector,
|
||||||
(assets, activeAssetsList): NFTAsset[] => {
|
availableNftAssetsAddresses,
|
||||||
return assets.filter(({ address }) => activeAssetsList.has(address))
|
(assets, activeAssetsList, availableNftAssetsAddresses): NFTAsset[] => {
|
||||||
|
return assets
|
||||||
|
.filter(({ address }) => activeAssetsList.has(address))
|
||||||
|
.filter(({ address }) => availableNftAssetsAddresses.includes(address))
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import { useMemo } from 'react'
|
|||||||
import { batch, useDispatch } from 'react-redux'
|
import { batch, useDispatch } from 'react-redux'
|
||||||
import { useLocation } from 'react-router-dom'
|
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 { fetchSelectedCurrency } from 'src/logic/currencyValues/store/actions/fetchSelectedCurrency'
|
||||||
import activateAssetsByBalance from 'src/logic/tokens/store/actions/activateAssetsByBalance'
|
import activateAssetsByBalance from 'src/logic/tokens/store/actions/activateAssetsByBalance'
|
||||||
import fetchSafeTokens from 'src/logic/tokens/store/actions/fetchSafeTokens'
|
import fetchSafeTokens from 'src/logic/tokens/store/actions/fetchSafeTokens'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { useEffect, useRef } from 'react'
|
import { useEffect, useRef } from 'react'
|
||||||
import { batch, useDispatch } from 'react-redux'
|
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 fetchSafeTokens from 'src/logic/tokens/store/actions/fetchSafeTokens'
|
||||||
import fetchEtherBalance from 'src/logic/safe/store/actions/fetchEtherBalance'
|
import fetchEtherBalance from 'src/logic/safe/store/actions/fetchEtherBalance'
|
||||||
import { checkAndUpdateSafe } from 'src/logic/safe/store/actions/fetchSafe'
|
import { checkAndUpdateSafe } from 'src/logic/safe/store/actions/fetchSafe'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user