@@ -5,12 +5,15 @@ import { useTheme } from '@material-ui/core/styles';
55import ChevronRightIcon from '@material-ui/icons/ChevronRight' ;
66import ChevronLeftIcon from '@material-ui/icons/ChevronLeft' ;
77import { StakingInfo } from 'types' ;
8- import { useStakingInfo , getBulkPairData } from 'state/stake/hooks' ;
8+ import {
9+ useStakingInfo ,
10+ getBulkPairData ,
11+ useDualStakingInfo ,
12+ } from 'state/stake/hooks' ;
913import RewardSliderItem from './RewardSliderItem' ;
1014import { useActiveWeb3React } from 'hooks' ;
1115import { getOneYearFee } from 'utils' ;
1216import 'components/styles/RewardSlider.scss' ;
13- import { useDefaultFarmList } from 'state/farms/hooks' ;
1417import { ChainId } from '@uniswap/sdk' ;
1518
1619const RewardSlider : React . FC = ( ) => {
@@ -19,26 +22,25 @@ const RewardSlider: React.FC = () => {
1922 const tabletWindowSize = useMediaQuery ( theme . breakpoints . down ( 'md' ) ) ;
2023 const mobileWindowSize = useMediaQuery ( theme . breakpoints . down ( 'sm' ) ) ;
2124 const defaultChainId = chainId ?? ChainId . MATIC ;
22- const rewardItems = useStakingInfo ( defaultChainId , null , 0 , 5 ) ;
25+ const lprewardItems = useStakingInfo ( defaultChainId , null , 0 , 2 ) ;
26+ const dualrewardItems = useDualStakingInfo ( defaultChainId , null , 0 , 1 ) ;
2327 const [ bulkPairs , setBulkPairs ] = useState < any > ( null ) ;
24- const farms = useDefaultFarmList ( ) [ defaultChainId ] ;
2528
2629 const stakingPairLists = useMemo ( ( ) => {
27- return Object . values ( farms )
28- . filter ( ( item ) => ! item . ended )
29- . slice ( 0 , 5 )
30- . map ( ( item ) => item . pair ) ;
31- } , [ farms ] ) ;
30+ return lprewardItems
31+ . map ( ( item ) => item . pair )
32+ . concat ( dualrewardItems . map ( ( item ) => item . pair ) ) ;
33+ } , [ dualrewardItems , lprewardItems ] ) ;
3234
3335 useEffect ( ( ) => {
3436 getBulkPairData ( stakingPairLists ) . then ( ( data ) => setBulkPairs ( data ) ) ;
3537 } , [ stakingPairLists ] ) ;
3638
3739 const stakingAPYs = useMemo ( ( ) => {
38- if ( bulkPairs && rewardItems . length > 0 ) {
39- return rewardItems . map ( ( info : StakingInfo ) => {
40- const oneDayVolume = bulkPairs [ info . pair ] ?. oneDayVolumeUSD ;
41- const reserveUSD = bulkPairs [ info . pair ] ?. reserveUSD ;
40+ if ( bulkPairs && stakingPairLists . length > 0 ) {
41+ return stakingPairLists . map ( ( pair ) => {
42+ const oneDayVolume = bulkPairs [ pair ] ?. oneDayVolumeUSD ;
43+ const reserveUSD = bulkPairs [ pair ] ?. reserveUSD ;
4244 if ( oneDayVolume && reserveUSD ) {
4345 return getOneYearFee ( oneDayVolume , reserveUSD ) ;
4446 } else {
@@ -48,7 +50,7 @@ const RewardSlider: React.FC = () => {
4850 } else {
4951 return [ ] ;
5052 }
51- } , [ bulkPairs , rewardItems ] ) ;
53+ } , [ bulkPairs , stakingPairLists ] ) ;
5254
5355 const rewardSliderSettings = {
5456 dots : false ,
@@ -62,7 +64,14 @@ const RewardSlider: React.FC = () => {
6264
6365 return (
6466 < Slider { ...rewardSliderSettings } className = 'rewardsSlider' >
65- { rewardItems . map ( ( item , index ) => (
67+ { lprewardItems . map ( ( item , index ) => (
68+ < RewardSliderItem
69+ key = { index }
70+ stakingAPY = { stakingAPYs [ index ] }
71+ info = { item }
72+ />
73+ ) ) }
74+ { dualrewardItems . map ( ( item , index ) => (
6675 < RewardSliderItem
6776 key = { index }
6877 stakingAPY = { stakingAPYs [ index ] }
0 commit comments