@@ -4,6 +4,7 @@ import * as PropTypes from 'prop-types';
4
4
import variables from '../../../utils/variables' ;
5
5
import totalTokens from '../../../assets/userDetails/totalTokens.png' ;
6
6
import stakedTokens from '../../../assets/userDetails/stakedTokens.png' ;
7
+ import NamadaLogo from '../../../assets/masp/namada_logo.svg' ;
7
8
// import unStake from '../../../assets/userDetails/unstake.png';
8
9
import rewardsIcon from '../../../assets/userDetails/rewards.svg' ;
9
10
import { connect } from 'react-redux' ;
@@ -15,6 +16,10 @@ import ClaimButton from './ClaimButton';
15
16
import { config } from '../../../config' ;
16
17
// import { gas } from '../../../defaultGasValues';
17
18
import ChipSkeleton from '../../../components/ChipSkeletonLoader' ;
19
+ import { setIBCTransferType } from 'actions/IBCTransfer' ;
20
+ import { fetchGasEstimation } from 'actions/gasPrice' ;
21
+ import { showTransparentTokensTransferDialog } from 'actions/assets' ;
22
+ import { Button } from '@material-ui/core' ;
18
23
19
24
const TokenDetails = ( props ) => {
20
25
let staked = props . delegatedValidatorList && props . delegatedValidatorList . reduce ( ( accumulator , currentValue ) => {
@@ -76,6 +81,32 @@ const TokenDetails = (props) => {
76
81
}
77
82
} , 0 ) ;
78
83
rewards = rewards ? rewards / 10 ** config . COIN_DECIMALS : 0 ;
84
+
85
+ const handleTransfer = ( ) => {
86
+ const value = {
87
+ name : 'Transparent Namada' ,
88
+ symbol : 'NAM' ,
89
+ logo_URIs : {
90
+ svg : NamadaLogo ,
91
+ } ,
92
+ config : {
93
+ COIN_DENOM : 'NAM' ,
94
+ } ,
95
+ balance : {
96
+ minDenomAmount : available ,
97
+ tokenAddress : config . TOKEN_ADDRESS ,
98
+ }
99
+ } ;
100
+
101
+ props . setIBCTransferType ( 'transparent' ) ;
102
+ const array = [ 'shielding_transfer' ] ;
103
+ if ( props . revealPublicKey && ! props . revealPublicKey . publicKey ) {
104
+ array . push ( 'reveal_pk' ) ;
105
+ }
106
+ props . fetchGasEstimation ( array , value ) ;
107
+ props . showTransparentTokensTransferDialog ( value ) ;
108
+ }
109
+
79
110
return (
80
111
< div className = "token_details" >
81
112
< div className = "chip_info" >
@@ -88,7 +119,13 @@ const TokenDetails = (props) => {
88
119
< p > { available || 0 } </ p >
89
120
</ div >
90
121
) }
91
- < StakeTokensButton />
122
+ < div className = "buttons_div" >
123
+ < Button className = 'outline_button' onClick = { handleTransfer } >
124
+ { variables [ props . lang ] . transfer }
125
+ </ Button >
126
+ < span />
127
+ < StakeTokensButton />
128
+ </ div >
92
129
</ div >
93
130
{ /* <div className="chip_info">
94
131
<p>{variables[props.lang]['shielded_available_tokens']}</p>
@@ -154,6 +191,9 @@ TokenDetails.propTypes = {
154
191
} ) . isRequired ,
155
192
rewardsInProgress : PropTypes . bool . isRequired ,
156
193
unBondingDelegationsInProgress : PropTypes . bool . isRequired ,
194
+ setIBCTransferType : PropTypes . func . isRequired ,
195
+ fetchGasEstimation : PropTypes . func . isRequired ,
196
+ showTransparentTokensTransferDialog : PropTypes . func . isRequired ,
157
197
shieldedBalance : PropTypes . array ,
158
198
shieldedBalanceInProgress : PropTypes . bool ,
159
199
unBondingDelegations : PropTypes . arrayOf (
@@ -165,6 +205,7 @@ TokenDetails.propTypes = {
165
205
) ,
166
206
} ) ,
167
207
) ,
208
+ revealPublicKey : PropTypes . object ,
168
209
} ;
169
210
170
211
const stateToProps = ( state ) => {
@@ -182,7 +223,14 @@ const stateToProps = (state) => {
182
223
rewards : state . accounts . rewards . result ,
183
224
rewardsInProgress : state . accounts . rewards . inProgress ,
184
225
lang : state . language ,
226
+ revealPublicKey : state . accounts . revealPublicKey . result ,
185
227
} ;
186
228
} ;
187
229
188
- export default connect ( stateToProps , null ) ( TokenDetails ) ;
230
+ const actionToProps = {
231
+ setIBCTransferType,
232
+ fetchGasEstimation,
233
+ showTransparentTokensTransferDialog,
234
+ } ;
235
+
236
+ export default connect ( stateToProps , actionToProps ) ( TokenDetails ) ;
0 commit comments