Skip to content

Commit

Permalink
chore: Integrate filtering logic, to be improved
Browse files Browse the repository at this point in the history
  • Loading branch information
gambinish committed Oct 25, 2024
1 parent c923dfe commit 6a394a2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,19 @@ const NetworkFilter = ({ handleClose }: SortControlProps) => {
handleClose();
};

const allOpts: Record<string, boolean> = {};
Object.keys(allNetworks).forEach((chainId) => {
allOpts[chainId] = true;
});

return (
<>
<SelectableListItem
isSelected={!Object.keys(tokenNetworkFilter).length}
onClick={() => handleFilter({})}
isSelected={
Object.keys(tokenNetworkFilter).length ===
Object.keys(allNetworks).length
}
onClick={() => handleFilter(allOpts)}
>
<Box
display={Display.Flex}
Expand Down Expand Up @@ -106,7 +114,10 @@ const NetworkFilter = ({ handleClose }: SortControlProps) => {
</Box>
</SelectableListItem>
<SelectableListItem
isSelected={tokenNetworkFilter[chainId]}
isSelected={
tokenNetworkFilter[chainId] &&
Object.keys(tokenNetworkFilter).length === 1
}
onClick={() => handleFilter({ [chainId]: true })}
>
<Box
Expand Down
14 changes: 11 additions & 3 deletions ui/components/app/assets/token-list/token-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {
} from '../../../../selectors';
import { getConversionRate } from '../../../../ducks/metamask/metamask';
import { useNativeTokenBalance } from '../asset-list/native-token/use-native-token-balance';
import { filterAssets } from '../util/filter';

type TokenListProps = {
onTokenClick: (arg: string) => void;
Expand Down Expand Up @@ -92,9 +93,16 @@ export default function TokenList({
};

const sortedTokens = useMemo(() => {
const consolidatedTokensWithBalances = consolidatedBalances(); // TODO include nativeTokens in this list
// .filter() // TODO filter assets by networkTokenFilter before sorting
return sortAssets(consolidatedTokensWithBalances, tokenSortConfig);
const consolidatedTokensWithBalances = consolidatedBalances();
const filteredAssets = filterAssets(consolidatedTokensWithBalances, [
{
key: 'chainId',
opts: tokenNetworkFilter,
filterCallback: 'inclusive',
},
]);
const filteredSortedAssets = sortAssets(filteredAssets, tokenSortConfig);
return filteredSortedAssets;
}, [
tokenSortConfig,
tokenNetworkFilter,
Expand Down

0 comments on commit 6a394a2

Please sign in to comment.