diff --git a/native/navigation/invite-link-modal.react.js b/native/navigation/invite-link-modal.react.js --- a/native/navigation/invite-link-modal.react.js +++ b/native/navigation/invite-link-modal.react.js @@ -2,12 +2,13 @@ import invariant from 'invariant'; import * as React from 'react'; -import { View, Text } from 'react-native'; +import { View, Text, ActivityIndicator } from 'react-native'; import { joinThread, joinThreadActionTypes, } from 'lib/actions/thread-actions.js'; +import { createLoadingStatusSelector } from 'lib/selectors/loading-selectors.js'; import type { InviteLinkVerificationResponse } from 'lib/types/link-types.js'; import { useDispatchActionPromise, @@ -105,16 +106,28 @@ const joinCommunity = React.useCallback(() => { dispatchActionPromise(joinThreadActionTypes, createJoinCommunityAction()); }, [createJoinCommunityAction, dispatchActionPromise]); + const joinThreadLoadingStatus = useSelector(joinThreadLoadingStatusSelector); const buttons = React.useMemo(() => { if (invitationDetails.status === 'valid') { + const joinButtonContent = + joinThreadLoadingStatus === 'loading' ? ( + + ) : ( + Accept Invite + ); return ( <>