Skip to content

Commit

Permalink
feat(earn): remove token filter (#6037)
Browse files Browse the repository at this point in the history
### 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 <Mcgtom10@gmail.com>
  • Loading branch information
jh2oman and MuckT authored Sep 19, 2024
1 parent 3d045e3 commit 8bcbf74
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 96 deletions.
13 changes: 2 additions & 11 deletions src/components/FilterChipsCarousel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,11 @@ export interface NetworkFilterChip<T> extends BaseFilterChip {
selectedNetworkIds: NetworkId[]
}

export interface TokenSelectFilterChip<T> extends BaseFilterChip {
filterFn: (t: T, tokenId?: string) => boolean
selectedTokenId?: string
}

export function isNetworkChip<T>(chip: FilterChip<T>): chip is NetworkFilterChip<T> {
return 'allNetworkIds' in chip
}

export function isTokenSelectChip<T>(chip: FilterChip<T>): chip is TokenSelectFilterChip<T> {
return 'selectedTokenId' in chip
}

export type FilterChip<T> = BooleanFilterChip<T> | NetworkFilterChip<T> | TokenSelectFilterChip<T>
export type FilterChip<T> = BooleanFilterChip<T> | NetworkFilterChip<T>

interface Props<T> {
chips: FilterChip<T>[]
Expand Down Expand Up @@ -95,7 +86,7 @@ function FilterChipsCarousel<T>({
>
{chip.name}
</Text>
{(isNetworkChip(chip) || isTokenSelectChip(chip)) && (
{isNetworkChip(chip) && (
<DownArrowIcon
color={chip.isSelected ? Colors.white : Colors.gray4}
strokeWidth={2}
Expand Down
4 changes: 0 additions & 4 deletions src/components/TokenBottomSheet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import FilterChipsCarousel, {
FilterChip,
NetworkFilterChip,
isNetworkChip,
isTokenSelectChip,
} from 'src/components/FilterChipsCarousel'
import SearchInput from 'src/components/SearchInput'
import NetworkMultiSelectBottomSheet from 'src/components/multiSelect/NetworkMultiSelectBottomSheet'
Expand Down Expand Up @@ -219,9 +218,6 @@ function TokenBottomSheet({
if (isNetworkChip(filter)) {
return filter.filterFn(token, filter.selectedNetworkIds)
}
if (isTokenSelectChip(filter)) {
return filter.filterFn(token, filter.selectedTokenId)
}
return filter.filterFn(token)
})
) {
Expand Down
37 changes: 2 additions & 35 deletions src/earn/EarnHome.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,8 @@ describe('EarnHome', () => {
).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(
<Provider store={getStore()}>
<MockedNavigator
component={EarnHome}
Expand All @@ -171,39 +171,6 @@ describe('EarnHome', () => {

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(
<Provider store={getStore()}>
<MockedNavigator
component={EarnHome}
params={{
activeEarnTab: EarnTabType.AllPools,
}}
/>
</Provider>
)

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', () => {
Expand Down
47 changes: 1 addition & 46 deletions src/earn/EarnHome.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -56,7 +53,6 @@ function useFilterChips(): FilterChip<TokenBalance>[] {

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<TokenBalance> = {
id: 'network-ids',
name: t('tokenBottomSheet.filters.selectNetwork'),
Expand All @@ -67,16 +63,7 @@ function useFilterChips(): FilterChip<TokenBalance>[] {
allNetworkIds: supportedNetworkIds,
selectedNetworkIds: supportedNetworkIds,
}

const tokensChipConfig: TokenSelectFilterChip<TokenBalance> = {
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) {
Expand Down Expand Up @@ -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)
})
) {
Expand Down Expand Up @@ -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)
}
Expand Down Expand Up @@ -346,16 +311,6 @@ export default function EarnHome({ navigation, route }: Props) {
forwardedRef={networkChipRef}
/>
)}
<TokenBottomSheet
forwardedRef={tokenBottomSheetRef}
snapPoints={['90%']}
tokens={tokensInfo}
onTokenSelected={onTokenPressed}
title={t('sendEnterAmountScreen.selectToken')}
origin={TokenPickerOrigin.Earn}
filterChips={[]}
wrapWithModalProvider={false}
/>
</>
)
}
Expand Down

0 comments on commit 8bcbf74

Please sign in to comment.