Skip to content

Commit 8749259

Browse files
authored
Merge pull request #53920 from bernhardoj/fix/53897-approves-button-becomes-green-when-selected
Fix on hold expense action button on the search page becomes green when selected
2 parents 665fa04 + 8ca40f2 commit 8749259

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

src/components/SelectionList/Search/ActionCell.tsx

+15-7
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, {useCallback} from 'react';
22
import {View} from 'react-native';
33
import Badge from '@components/Badge';
44
import Button from '@components/Button';
@@ -36,7 +36,7 @@ type ActionCellProps = {
3636

3737
function ActionCell({
3838
action = CONST.SEARCH.ACTION_TYPES.VIEW,
39-
shouldUseSuccessStyle = true,
39+
shouldUseSuccessStyle: shouldUseSuccessStyleProp = true,
4040
isLargeScreenWidth = true,
4141
isSelected = false,
4242
goToItem,
@@ -52,6 +52,16 @@ function ActionCell({
5252

5353
const text = translate(actionTranslationsMap[action]);
5454

55+
const getButtonInnerStyles = useCallback(
56+
(shouldUseSuccessStyle: boolean) => {
57+
if (!isSelected) {
58+
return {};
59+
}
60+
return shouldUseSuccessStyle ? styles.buttonSuccessHovered : styles.buttonDefaultHovered;
61+
},
62+
[isSelected, styles],
63+
);
64+
5565
const shouldUseViewAction = action === CONST.SEARCH.ACTION_TYPES.VIEW || (parentAction === CONST.SEARCH.ACTION_TYPES.PAID && action === CONST.SEARCH.ACTION_TYPES.PAID);
5666

5767
if ((parentAction !== CONST.SEARCH.ACTION_TYPES.PAID && action === CONST.SEARCH.ACTION_TYPES.PAID) || action === CONST.SEARCH.ACTION_TYPES.DONE) {
@@ -78,30 +88,28 @@ function ActionCell({
7888
}
7989

8090
if (action === CONST.SEARCH.ACTION_TYPES.VIEW || shouldUseViewAction) {
81-
const buttonInnerStyles = isSelected ? styles.buttonDefaultHovered : {};
8291
return isLargeScreenWidth ? (
8392
<Button
8493
text={translate(actionTranslationsMap[CONST.SEARCH.ACTION_TYPES.VIEW])}
8594
onPress={goToItem}
8695
small
8796
style={[styles.w100]}
88-
innerStyles={buttonInnerStyles}
97+
innerStyles={getButtonInnerStyles(false)}
8998
link={isChildListItem}
9099
shouldUseDefaultHover={!isChildListItem}
91100
/>
92101
) : null;
93102
}
94103

95-
const buttonInnerStyles = isSelected ? styles.buttonSuccessHovered : {};
96104
return (
97105
<Button
98106
text={text}
99107
onPress={goToItem}
100108
small
101109
style={[styles.w100]}
102-
innerStyles={buttonInnerStyles}
110+
innerStyles={getButtonInnerStyles(shouldUseSuccessStyleProp)}
103111
isLoading={isLoading}
104-
success={shouldUseSuccessStyle}
112+
success={shouldUseSuccessStyleProp}
105113
isDisabled={isOffline}
106114
/>
107115
);

0 commit comments

Comments
 (0)