1
- import { Button , Card , Paragraph , Spinner , Theme , ThemeName , XStack , YStack } from '@my/ui'
1
+ import { Button , Card , Paragraph , Spinner , Theme , XStack , YStack } from '@my/ui'
2
2
import formatAmount from 'app/utils/formatAmount'
3
3
4
4
import { ChevronLeft , ChevronRight } from '@tamagui/lucide-icons'
@@ -101,20 +101,18 @@ function InvestmentsAggregate() {
101
101
. map ( ( c ) => c . coingeckoTokenId )
102
102
103
103
const { data : marketData , isLoading, isError } = useMultipleTokensMarketData ( tokenIds )
104
- const { investmentsDailyAggregate , sign } = useMemo ( ( ) => {
105
- if ( ! marketData ?. length ) return { investmentsDailyAggregate : 0 , sign : null } as const
104
+ const aggregatePercentage = useMemo ( ( ) => {
105
+ if ( ! marketData ?. length ) return 0
106
106
107
107
// Simple average of percentage changes
108
108
const aggregatePercentage =
109
109
marketData . reduce ( ( total , coin ) => {
110
110
return total + ( coin ?. price_change_percentage_24h ?? 0 )
111
111
} , 0 ) / marketData . length
112
112
113
- return {
114
- investmentsDailyAggregate : Number ( aggregatePercentage . toFixed ( 2 ) ) ,
115
- sign : aggregatePercentage > 0 ? 'positive' : aggregatePercentage < 0 ? 'negative' : 'zero' ,
116
- } as const
113
+ return Number ( aggregatePercentage . toFixed ( 2 ) )
117
114
} , [ marketData ] )
115
+
118
116
if ( tokenIds . length === 0 )
119
117
return (
120
118
< XStack gap = "$2" ai = "center" >
@@ -136,21 +134,21 @@ function InvestmentsAggregate() {
136
134
</ XStack >
137
135
)
138
136
139
- if ( sign === 'positive' )
137
+ if ( aggregatePercentage > 0 )
140
138
return (
141
139
< Theme name = { 'green_active' } >
142
- < Paragraph fontSize = { '$4' } > +{ investmentsDailyAggregate } %</ Paragraph >
140
+ < Paragraph fontSize = { '$4' } > +{ aggregatePercentage } %</ Paragraph >
143
141
</ Theme >
144
142
)
145
- if ( sign === 'negative' )
143
+ if ( aggregatePercentage < 0 )
146
144
return (
147
145
< Theme name = { 'red_active' } >
148
- < Paragraph fontSize = { '$4' } > { investmentsDailyAggregate } %</ Paragraph >
146
+ < Paragraph fontSize = { '$4' } > { aggregatePercentage } %</ Paragraph >
149
147
</ Theme >
150
148
)
151
149
return (
152
150
< Paragraph fontSize = { '$4' } color = "$color10" >
153
- { investmentsDailyAggregate } %
151
+ { aggregatePercentage } %
154
152
</ Paragraph >
155
153
)
156
154
}
0 commit comments