From 8bcbf749ec52613285617cda87b8bf9288562ef3 Mon Sep 17 00:00:00 2001 From: Jacob Waterman Date: Wed, 18 Sep 2024 17:46:51 -0700 Subject: [PATCH] feat(earn): remove token filter (#6037) ### Description per Kayla's request https://github.com/user-attachments/assets/0a03696e-5169-4c80-b766-4d58c5906c42 ### Test plan updated unit tests, manually tested. --------- Co-authored-by: Tom McGuire --- src/components/FilterChipsCarousel.tsx | 13 ++----- src/components/TokenBottomSheet.tsx | 4 --- src/earn/EarnHome.test.tsx | 37 ++------------------ src/earn/EarnHome.tsx | 47 +------------------------- 4 files changed, 5 insertions(+), 96 deletions(-) diff --git a/src/components/FilterChipsCarousel.tsx b/src/components/FilterChipsCarousel.tsx index c1892737a50..46ef4d5540c 100644 --- a/src/components/FilterChipsCarousel.tsx +++ b/src/components/FilterChipsCarousel.tsx @@ -23,20 +23,11 @@ export interface NetworkFilterChip extends BaseFilterChip { selectedNetworkIds: NetworkId[] } -export interface TokenSelectFilterChip extends BaseFilterChip { - filterFn: (t: T, tokenId?: string) => boolean - selectedTokenId?: string -} - export function isNetworkChip(chip: FilterChip): chip is NetworkFilterChip { return 'allNetworkIds' in chip } -export function isTokenSelectChip(chip: FilterChip): chip is TokenSelectFilterChip { - return 'selectedTokenId' in chip -} - -export type FilterChip = BooleanFilterChip | NetworkFilterChip | TokenSelectFilterChip +export type FilterChip = BooleanFilterChip | NetworkFilterChip interface Props { chips: FilterChip[] @@ -95,7 +86,7 @@ function FilterChipsCarousel({ > {chip.name} - {(isNetworkChip(chip) || isTokenSelectChip(chip)) && ( + {isNetworkChip(chip) && ( { ).toBeFalsy() }) - it('correctly shows correct networks, tokens under filters', () => { - const { getByTestId, getAllByTestId, getByText } = render( + it('correctly shows correct networks under filters', () => { + const { getByTestId, getByText } = render( { fireEvent.press(getByText('tokenBottomSheet.filters.selectNetwork')) expect(getByTestId('Arbitrum Sepolia-icon')).toBeTruthy() - - fireEvent.press(getByText('tokenBottomSheet.filters.tokens')) - expect(getAllByTestId('TokenBalanceItem')).toHaveLength(2) - }) - - it('shows correct pool when filtering by token', () => { - const { getByTestId, getByText, queryByTestId } = render( - - - - ) - - expect( - getByTestId('PoolCard/arbitrum-sepolia:0x460b97bd498e1157530aeb3086301d5225b91216') - ).toBeTruthy() - expect( - getByTestId('PoolCard/ethereum-sepolia:0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8') - ).toBeTruthy() - - fireEvent.press(getByText('tokenBottomSheet.filters.tokens')) - fireEvent.press(getByTestId('USDCSymbol')) - - expect( - getByTestId('PoolCard/arbitrum-sepolia:0x460b97bd498e1157530aeb3086301d5225b91216') - ).toBeTruthy() - expect( - queryByTestId('PoolCard/ethereum-sepolia:0xe50fa9b3c56ffb159cb0fca61f5c9d750e8128c8') - ).toBeFalsy() }) it('shows correct pool when filtering by network', () => { diff --git a/src/earn/EarnHome.tsx b/src/earn/EarnHome.tsx index 72dd0db073d..92adb3bd4fc 100644 --- a/src/earn/EarnHome.tsx +++ b/src/earn/EarnHome.tsx @@ -18,11 +18,8 @@ import Button, { BtnSizes, BtnTypes } from 'src/components/Button' import FilterChipsCarousel, { FilterChip, NetworkFilterChip, - TokenSelectFilterChip, isNetworkChip, - isTokenSelectChip, } from 'src/components/FilterChipsCarousel' -import TokenBottomSheet, { TokenPickerOrigin } from 'src/components/TokenBottomSheet' import NetworkMultiSelectBottomSheet from 'src/components/multiSelect/NetworkMultiSelectBottomSheet' import { TIME_UNTIL_TOKEN_INFO_BECOMES_STALE } from 'src/config' import EarnTabBar from 'src/earn/EarnTabBar' @@ -56,7 +53,6 @@ function useFilterChips(): FilterChip[] { const pools = useSelector(earnPositionsSelector) const supportedNetworkIds = [...new Set(pools.map((pool) => pool.networkId))] - const tokens = [...new Set(pools.flatMap((pool) => pool.tokens))] const networkChipConfig: NetworkFilterChip = { id: 'network-ids', name: t('tokenBottomSheet.filters.selectNetwork'), @@ -67,16 +63,7 @@ function useFilterChips(): FilterChip[] { allNetworkIds: supportedNetworkIds, selectedNetworkIds: supportedNetworkIds, } - - const tokensChipConfig: TokenSelectFilterChip = { - id: 'token-select', - name: t('tokenBottomSheet.filters.tokens'), - filterFn: (token: TokenBalance, tokenId?: string) => !!tokenId && token.tokenId === tokenId, - selectedTokenId: tokens[0] ? tokens[0].tokenId : undefined, - isSelected: false, - } - - return [networkChipConfig, tokensChipConfig] + return [networkChipConfig] } export default function EarnHome({ navigation, route }: Props) { @@ -161,9 +148,6 @@ export default function EarnHome({ navigation, route }: Props) { if (isNetworkChip(filter)) { return filter.filterFn(token, filter.selectedNetworkIds) } - if (isTokenSelectChip(filter)) { - return filter.filterFn(token, filter.selectedTokenId) - } return filter.filterFn(token) }) ) { @@ -204,25 +188,6 @@ export default function EarnHome({ navigation, route }: Props) { }) } - const onTokenPressed = (token: TokenBalance) => { - setFilters((prev) => { - return prev.map((chip) => { - if (isTokenSelectChip(chip)) { - return { - ...chip, - selectedTokenId: token.tokenId, - isSelected: true, - } - } - return { - ...chip, - isSelected: false, - } - }) - }) - tokenBottomSheetRef.current?.close() - } - const handleMeasureListHeadereHeight = (event: LayoutChangeEvent) => { setListHeaderHeight(event.nativeEvent.layout.height) } @@ -346,16 +311,6 @@ export default function EarnHome({ navigation, route }: Props) { forwardedRef={networkChipRef} /> )} - ) }