@@ -43,9 +43,17 @@ const LiveAggregatePrice = ({
4343 if ( current === undefined ) {
4444 return < Price /> ;
4545 } else if ( current . status === PriceStatus . Trading ) {
46- return < Price current = { current . price } prev = { prev ?. price } /> ;
46+ return (
47+ < Price
48+ current = { current . price }
49+ prev = { prev ?. price }
50+ exponent = { current . exponent }
51+ />
52+ ) ;
4753 } else {
48- return < Price current = { current . previousPrice } /> ;
54+ return (
55+ < Price current = { current . previousPrice } exponent = { current . exponent } />
56+ ) ;
4957 }
5058} ;
5159
@@ -63,15 +71,24 @@ const LiveComponentPrice = ({
6371 feedKey ,
6472 publisherKey ,
6573 ) ;
66- return < Price current = { current ?. latest . price } prev = { prev ?. latest . price } /> ;
74+ const { current : priceData } = useLivePriceData ( cluster , feedKey ) ;
75+ return (
76+ < Price
77+ current = { current ?. latest . price }
78+ prev = { prev ?. latest . price }
79+ exponent = { priceData ?. exponent }
80+ />
81+ ) ;
6782} ;
6883
6984const Price = ( {
7085 prev,
7186 current,
87+ exponent,
7288} : {
7389 prev ?: number | undefined ;
7490 current ?: number | undefined ;
91+ exponent ?: number | undefined ;
7592} ) =>
7693 current === undefined ? (
7794 < Skeleton width = { SKELETON_WIDTH } />
@@ -80,7 +97,7 @@ const Price = ({
8097 className = { styles . price }
8198 data-direction = { prev ? getChangeDirection ( prev , current ) : "flat" }
8299 >
83- < FormattedPriceValue n = { current } />
100+ < FormattedPriceValue n = { current } exponent = { exponent } />
84101 </ span >
85102 ) ;
86103
@@ -114,6 +131,7 @@ const LiveAggregateConfidence = ({
114131 ? current . confidence
115132 : current . previousConfidence )
116133 }
134+ exponent = { current ?. exponent }
117135 />
118136 ) ;
119137} ;
@@ -128,24 +146,42 @@ const LiveComponentConfidence = ({
128146 cluster : Cluster ;
129147} ) => {
130148 const { current } = useLivePriceComponent ( cluster , feedKey , publisherKey ) ;
131- return < Confidence confidence = { current ?. latest . confidence } /> ;
149+ const { current : priceData } = useLivePriceData ( cluster , feedKey ) ;
150+ return (
151+ < Confidence
152+ confidence = { current ?. latest . confidence }
153+ exponent = { priceData ?. exponent }
154+ />
155+ ) ;
132156} ;
133157
134- const Confidence = ( { confidence } : { confidence ?: number | undefined } ) => (
158+ const Confidence = ( {
159+ confidence,
160+ exponent,
161+ } : {
162+ confidence ?: number | undefined ;
163+ exponent ?: number | undefined ;
164+ } ) => (
135165 < span className = { styles . confidence } >
136166 < PlusMinus className = { styles . plusMinus } />
137167 { confidence === undefined ? (
138168 < Skeleton width = { SKELETON_WIDTH } />
139169 ) : (
140170 < span >
141- < FormattedPriceValue n = { confidence } />
171+ < FormattedPriceValue n = { confidence } exponent = { exponent } />
142172 </ span >
143173 ) }
144174 </ span >
145175) ;
146176
147- const FormattedPriceValue = ( { n } : { n : number } ) => {
148- const formatter = usePriceFormatter ( ) ;
177+ const FormattedPriceValue = ( {
178+ n,
179+ exponent,
180+ } : {
181+ n : number ;
182+ exponent ?: number | undefined ;
183+ } ) => {
184+ const formatter = usePriceFormatter ( exponent ) ;
149185
150186 return useMemo ( ( ) => formatter . format ( n ) , [ n , formatter ] ) ;
151187} ;
0 commit comments