1
1
import React , { useEffect , useRef , useState } from 'react' ;
2
2
import classnames from 'classnames' ;
3
3
import PropTypes from 'prop-types' ;
4
+ import { useSelector } from 'react-redux' ;
4
5
import {
5
6
AlignItems ,
6
7
BackgroundColor ,
@@ -10,6 +11,8 @@ import {
10
11
Display ,
11
12
JustifyContent ,
12
13
TextColor ,
14
+ Size ,
15
+ IconColor ,
13
16
} from '../../../helpers/constants/design-system' ;
14
17
import {
15
18
AvatarNetwork ,
@@ -23,6 +26,7 @@ import { useI18nContext } from '../../../hooks/useI18nContext';
23
26
import { getAvatarNetworkColor } from '../../../helpers/utils/accounts' ;
24
27
import Tooltip from '../../ui/tooltip/tooltip' ;
25
28
import { NetworkListItemMenu } from '../network-list-item-menu' ;
29
+ import { getLocalNetworkMenuRedesignFeatureFlag } from '../../../helpers/utils/feature-flags' ;
26
30
27
31
const MAXIMUM_CHARACTERS_WITHOUT_TOOLTIP = 20 ;
28
32
@@ -43,9 +47,42 @@ export const NetworkListItem = ({
43
47
const setNetworkListItemMenuRef = ( ref ) => {
44
48
setNetworkListItemMenuElement ( ref ) ;
45
49
} ;
46
-
47
50
const [ networkOptionsMenuOpen , setNetworkOptionsMenuOpen ] = useState ( false ) ;
51
+ const networkMenuRedesign = useSelector (
52
+ getLocalNetworkMenuRedesignFeatureFlag ,
53
+ ) ;
54
+
55
+ const renderButton = ( ) => {
56
+ if ( networkMenuRedesign ) {
57
+ return onDeleteClick || onEditClick ? (
58
+ < ButtonIcon
59
+ iconName = { IconName . MoreVertical }
60
+ ref = { setNetworkListItemMenuRef }
61
+ data-testid = "network-list-item-options-button"
62
+ ariaLabel = { t ( 'networkOptions' ) }
63
+ onClick = { ( e ) => {
64
+ e . stopPropagation ( ) ;
65
+ setNetworkOptionsMenuOpen ( true ) ;
66
+ } }
67
+ size = { ButtonIconSize . Sm }
68
+ />
69
+ ) : null ;
70
+ }
48
71
72
+ return onDeleteClick ? (
73
+ < ButtonIcon
74
+ className = "multichain-network-list-item__delete"
75
+ color = { IconColor . errorDefault }
76
+ iconName = { IconName . Trash }
77
+ ariaLabel = { t ( 'deleteNetwork' ) }
78
+ size = { Size . SM }
79
+ onClick = { ( e ) => {
80
+ e . stopPropagation ( ) ;
81
+ onDeleteClick ( ) ;
82
+ } }
83
+ />
84
+ ) : null ;
85
+ } ;
49
86
useEffect ( ( ) => {
50
87
if ( networkRef . current && focus ) {
51
88
networkRef . current . focus ( ) ;
@@ -112,19 +149,7 @@ export const NetworkListItem = ({
112
149
) }
113
150
</ Text >
114
151
</ Box >
115
- { onDeleteClick || onEditClick ? (
116
- < ButtonIcon
117
- iconName = { IconName . MoreVertical }
118
- ref = { setNetworkListItemMenuRef }
119
- data-testid = "network-list-item-options-button"
120
- ariaLabel = { t ( 'networkOptions' ) }
121
- onClick = { ( e ) => {
122
- e . stopPropagation ( ) ;
123
- setNetworkOptionsMenuOpen ( true ) ;
124
- } }
125
- size = { ButtonIconSize . Sm }
126
- />
127
- ) : null }
152
+ { renderButton ( ) }
128
153
< NetworkListItemMenu
129
154
anchorElement = { networkListItemMenuElement }
130
155
isOpen = { networkOptionsMenuOpen }
0 commit comments