@@ -15,7 +15,9 @@ import {
15
15
OptionsController ,
16
16
RouterController ,
17
17
SnackController ,
18
- type AppKitFrameProvider
18
+ type AppKitFrameProvider ,
19
+ ConstantsUtil ,
20
+ SwapController
19
21
} from '@reown/appkit-core-react-native' ;
20
22
import {
21
23
Avatar ,
@@ -47,6 +49,7 @@ export function AccountDefaultView() {
47
49
const { caipNetwork } = useSnapshot ( NetworkController . state ) ;
48
50
const { connectedConnector } = useSnapshot ( ConnectorController . state ) ;
49
51
const { connectedSocialProvider } = useSnapshot ( ConnectionController . state ) ;
52
+ const { features } = useSnapshot ( OptionsController . state ) ;
50
53
const { history } = useSnapshot ( RouterController . state ) ;
51
54
const networkImage = AssetUtil . getNetworkImage ( caipNetwork ) ;
52
55
const showCopy = OptionsController . isClipboardAvailable ( ) ;
@@ -118,6 +121,26 @@ export function AccountDefaultView() {
118
121
}
119
122
} ;
120
123
124
+ const onSwapPress = ( ) => {
125
+ if (
126
+ NetworkController . state . caipNetwork ?. id &&
127
+ ! ConstantsUtil . SWAP_SUPPORTED_NETWORKS . includes ( `${ NetworkController . state . caipNetwork . id } ` )
128
+ ) {
129
+ RouterController . push ( 'UnsupportedChain' ) ;
130
+ } else {
131
+ SwapController . resetState ( ) ;
132
+ EventsController . sendEvent ( {
133
+ type : 'track' ,
134
+ event : 'OPEN_SWAP' ,
135
+ properties : {
136
+ network : NetworkController . state . caipNetwork ?. id || '' ,
137
+ isSmartAccount : false
138
+ }
139
+ } ) ;
140
+ RouterController . push ( 'Swap' ) ;
141
+ }
142
+ } ;
143
+
121
144
const onActivityPress = ( ) => {
122
145
RouterController . push ( 'Transactions' ) ;
123
146
} ;
@@ -227,10 +250,24 @@ export function AccountDefaultView() {
227
250
{ caipNetwork ?. name }
228
251
</ Text >
229
252
</ ListItem >
253
+
254
+ { ! isAuth && features ?. swaps && (
255
+ < ListItem
256
+ chevron
257
+ icon = "recycleHorizontal"
258
+ iconColor = "accent-100"
259
+ iconBackgroundColor = "accent-glass-015"
260
+ onPress = { onSwapPress }
261
+ testID = "button-activity"
262
+ style = { styles . actionButton }
263
+ >
264
+ < Text color = "fg-100" > Swap</ Text >
265
+ </ ListItem >
266
+ ) }
230
267
{ ! isAuth && (
231
268
< ListItem
232
269
chevron
233
- icon = "swapHorizontal "
270
+ icon = "clock "
234
271
iconColor = "accent-100"
235
272
iconBackgroundColor = "accent-glass-015"
236
273
onPress = { onActivityPress }
0 commit comments