Skip to content

Commit 66dda95

Browse files
committed
Update suggestions
1 parent c08653d commit 66dda95

File tree

1 file changed

+25
-27
lines changed

1 file changed

+25
-27
lines changed

ui/pages/confirmations/hooks/useTransactionFocusEffect.ts

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,24 @@ import { setTransactionActive } from '../../../store/actions';
55
import { useWindowFocus } from '../../../hooks/useWindowFocus';
66
import { useConfirmContext } from '../context/confirm';
77

8-
const shouldSetFocusedForType = (type: TransactionType) => {
9-
return (
10-
type === TransactionType.contractInteraction ||
11-
type === TransactionType.deployContract ||
12-
type === TransactionType.simpleSend ||
13-
type === TransactionType.smart ||
14-
type === TransactionType.tokenMethodTransfer ||
15-
type === TransactionType.tokenMethodTransferFrom ||
16-
type === TransactionType.tokenMethodSafeTransferFrom
17-
);
18-
};
8+
const FOCUSABLE_TYPES: Set<TransactionType> = new Set([
9+
TransactionType.contractInteraction,
10+
TransactionType.deployContract,
11+
TransactionType.simpleSend,
12+
TransactionType.smart,
13+
TransactionType.tokenMethodTransfer,
14+
TransactionType.tokenMethodTransferFrom,
15+
TransactionType.tokenMethodSafeTransferFrom,
16+
]);
1917

2018
export const useTransactionFocusEffect = () => {
2119
const { currentConfirmation } = useConfirmContext();
2220
const { id, type } = currentConfirmation ?? {};
2321
const isWindowFocused = useWindowFocus();
2422
const dispatch = useDispatch();
25-
const [focusedConfirmation, setFocusedConfirmation] = useState<string | null>(
26-
null,
27-
);
23+
const [focusedConfirmationId, setFocusedConfirmationId] = useState<
24+
string | null
25+
>(null);
2826

2927
const setTransactionFocus = useCallback(
3028
async (transactionId: string, isFocused: boolean) => {
@@ -34,32 +32,32 @@ export const useTransactionFocusEffect = () => {
3432
);
3533

3634
useEffect(() => {
37-
const shouldBeMarked = shouldSetFocusedForType(type as TransactionType);
35+
const isFocusable = FOCUSABLE_TYPES.has(type as TransactionType);
3836

39-
if (!shouldBeMarked) {
37+
if (!isFocusable) {
4038
// If the transaction type is not one of the types that should be focused,
4139
// we need to unfocus the previous focused confirmation and reset the focused confirmation
42-
if (focusedConfirmation) {
43-
setTransactionFocus(focusedConfirmation, false);
44-
setFocusedConfirmation(null);
40+
if (focusedConfirmationId) {
41+
setTransactionFocus(focusedConfirmationId, false);
42+
setFocusedConfirmationId(null);
4543
}
4644
return;
4745
}
4846

49-
if (isWindowFocused && focusedConfirmation !== id) {
47+
if (isWindowFocused && focusedConfirmationId !== id) {
5048
// If the window is focused and the focused confirmation is not the current one,
5149
// we need to unfocus the previous focused confirmation and focus the current one
52-
if (focusedConfirmation) {
53-
setTransactionFocus(focusedConfirmation, false);
50+
if (focusedConfirmationId) {
51+
setTransactionFocus(focusedConfirmationId, false);
5452
}
5553
// Set the focused confirmation to the current one
56-
setFocusedConfirmation(id);
54+
setFocusedConfirmationId(id);
5755
setTransactionFocus(id, true);
58-
} else if (!isWindowFocused && focusedConfirmation) {
56+
} else if (!isWindowFocused && focusedConfirmationId) {
5957
// If the window is not focused and there is a focused confirmation,
6058
// we need to unfocus the focused confirmation
61-
setTransactionFocus(focusedConfirmation, false);
62-
setFocusedConfirmation(null);
59+
setTransactionFocus(focusedConfirmationId, false);
60+
setFocusedConfirmationId(null);
6361
}
64-
}, [focusedConfirmation, id, isWindowFocused, setTransactionFocus, type]);
62+
}, [focusedConfirmationId, id, isWindowFocused, setTransactionFocus, type]);
6563
};

0 commit comments

Comments
 (0)