@@ -62,6 +62,8 @@ export const FeeTargets = ({
62
62
const [ options , setOptions ] = useState < TOptions [ ] | null > ( null ) ;
63
63
const [ noFeeTargets , setNoFeeTargets ] = useState < boolean > ( false ) ;
64
64
65
+ const feeTargets = useLoad ( ( ) => accountApi . getFeeTargetList ( accountCode ) ) ;
66
+
65
67
const inputRef = useRef < HTMLInputElement & { autofocus : boolean } > ( null ) ;
66
68
67
69
const focusInput = useCallback ( ( ) => {
@@ -70,32 +72,30 @@ export const FeeTargets = ({
70
72
}
71
73
} , [ disabled ] ) ;
72
74
75
+
73
76
useEffect ( ( ) => {
74
- accountApi . getFeeTargetList ( accountCode )
75
- . then ( ( { feeTargets, defaultFeeTarget } ) => {
76
- if ( config ) {
77
- const expert = config . frontend . expertFee || feeTargets . length === 0 ;
78
- const options = feeTargets . map ( ( { code, feeRateInfo } ) => ( {
79
- value : code ,
80
- text : t ( `send.feeTarget.label.${ code } ` ) + ( expert && feeRateInfo ? ` (${ feeRateInfo } )` : '' ) ,
81
- } ) ) ;
82
- if ( expert ) {
83
- options . push ( {
84
- value : 'custom' ,
85
- text : t ( 'send.feeTarget.label.custom' ) ,
86
- } ) ;
87
- }
88
- setOptions ( options ) ;
89
- setFeeTarget ( defaultFeeTarget ) ;
90
- onFeeTargetChange ( defaultFeeTarget ) ;
91
- if ( feeTargets . length === 0 ) {
92
- setNoFeeTargets ( true ) ;
93
- }
94
- }
95
- } )
96
- . catch ( console . error ) ;
77
+ if ( ! config || ! feeTargets ) {
78
+ return ;
79
+ }
80
+ const expert = config . frontend . expertFee || feeTargets . feeTargets . length === 0 ;
81
+ const options = feeTargets . feeTargets . map ( ( { code, feeRateInfo } ) => ( {
82
+ value : code ,
83
+ text : t ( `send.feeTarget.label.${ code } ` ) + ( expert && feeRateInfo ? ` (${ feeRateInfo } )` : '' ) ,
84
+ } ) ) ;
85
+ if ( expert ) {
86
+ options . push ( {
87
+ value : 'custom' ,
88
+ text : t ( 'send.feeTarget.label.custom' ) ,
89
+ } ) ;
90
+ }
91
+ setOptions ( options ) ;
92
+ setFeeTarget ( feeTargets . defaultFeeTarget ) ;
93
+ onFeeTargetChange ( feeTargets . defaultFeeTarget ) ;
94
+ if ( feeTargets . feeTargets . length === 0 ) {
95
+ setNoFeeTargets ( true ) ;
96
+ }
97
97
focusInput ( ) ;
98
- } , [ t , focusInput , accountCode , config , onFeeTargetChange ] ) ;
98
+ } , [ t , feeTargets , focusInput , accountCode , config , onFeeTargetChange ] ) ;
99
99
100
100
const handleFeeTargetChange = ( event : React . SyntheticEvent ) => {
101
101
const target = event . target as HTMLSelectElement ;
@@ -232,4 +232,3 @@ export const FeeTargets = ({
232
232
)
233
233
) ;
234
234
} ;
235
-
0 commit comments