diff --git a/native/account/registration/connect-ethereum.react.js b/native/account/registration/connect-ethereum.react.js --- a/native/account/registration/connect-ethereum.react.js +++ b/native/account/registration/connect-ethereum.react.js @@ -7,6 +7,7 @@ exactSearchUser, exactSearchUserActionTypes, } from 'lib/actions/user-actions.js'; +import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; import type { SIWEResult } from 'lib/types/siwe-types.js'; import { useServerCall, @@ -24,10 +25,15 @@ ExistingEthereumAccountRouteName, UsernameSelectionRouteName, } from '../../navigation/route-names.js'; +import { useSelector } from '../../redux/redux-utils.js'; import { useStyles } from '../../themes/colors.js'; import EthereumLogoDark from '../../vectors/ethereum-logo-dark.react.js'; import SIWEPanel from '../siwe-panel.react.js'; +const exactSearchUserLoadingStatusSelector = createLoadingStatusSelector( + exactSearchUserActionTypes, +); + export type ConnectEthereumParams = { +userSelections: { +coolOrNerdMode: CoolOrNerdMode, @@ -151,6 +157,14 @@ ); } + const exactSearchUserCallLoading = useSelector( + state => exactSearchUserLoadingStatusSelector(state) === 'loading', + ); + const connectButtonVariant = + exactSearchUserCallLoading || panelState === 'opening' + ? 'loading' + : 'enabled'; + return ( <> @@ -167,7 +181,7 @@