diff --git a/native/account/registration/account-does-not-exist.react.js b/native/account/registration/account-does-not-exist.react.js
--- a/native/account/registration/account-does-not-exist.react.js
+++ b/native/account/registration/account-does-not-exist.react.js
@@ -4,10 +4,10 @@
import { Text, View, Image } from 'react-native';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import type { RegistrationNavigationProp } from './registration-navigator.react.js';
+import LoadingButton from '../../components/loading-button.react.js';
import commSwooshSource from '../../img/comm-swoosh.png';
import {
type NavigationRoute,
@@ -41,7 +41,7 @@
-
+
);
diff --git a/native/account/registration/avatar-selection.react.js b/native/account/registration/avatar-selection.react.js
--- a/native/account/registration/avatar-selection.react.js
+++ b/native/account/registration/avatar-selection.react.js
@@ -10,7 +10,6 @@
} from 'lib/components/edit-user-avatar-provider.react.js';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import { RegistrationContext } from './registration-context.js';
@@ -23,6 +22,7 @@
} from './registration-types.js';
import { enableSIWEBackupCreation } from './registration-types.js';
import EditUserAvatar from '../../avatars/edit-user-avatar.react.js';
+import LoadingButton from '../../components/loading-button.react.js';
import { useCurrentLeafRouteName } from '../../navigation/nav-selectors.js';
import {
type NavigationRoute,
@@ -186,7 +186,7 @@
-
+
);
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
@@ -19,12 +19,12 @@
siweNonceExpired,
} from './ethereum-utils.js';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import { RegistrationContext } from './registration-context.js';
import type { RegistrationNavigationProp } from './registration-navigator.react.js';
import type { CoolOrNerdMode } from './registration-types.js';
+import LoadingButton from '../../components/loading-button.react.js';
import { commRustModule } from '../../native-modules.js';
import {
type NavigationRoute,
@@ -260,7 +260,7 @@
let alreadyConnectedButton;
if (alreadyHasConnected) {
alreadyConnectedButton = (
-
{alreadyConnectedButton}
-
-
{alreadyConnectedButton}
-
-
+
);
diff --git a/native/account/registration/existing-ethereum-account.react.js b/native/account/registration/existing-ethereum-account.react.js
--- a/native/account/registration/existing-ethereum-account.react.js
+++ b/native/account/registration/existing-ethereum-account.react.js
@@ -18,11 +18,11 @@
import { usingCommServicesAccessToken } from 'lib/utils/services-utils.js';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import { RegistrationContext } from './registration-context.js';
import type { RegistrationNavigationProp } from './registration-navigator.react.js';
+import LoadingButton from '../../components/loading-button.react.js';
import type { RootNavigationProp } from '../../navigation/root-navigator.react.js';
import type {
NavigationRoute,
@@ -156,12 +156,12 @@
-
- {errorText}
-
+
);
diff --git a/native/account/registration/password-selection.react.js b/native/account/registration/password-selection.react.js
--- a/native/account/registration/password-selection.react.js
+++ b/native/account/registration/password-selection.react.js
@@ -7,13 +7,13 @@
import sleep from 'lib/utils/sleep.js';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import { RegistrationContext } from './registration-context.js';
import type { RegistrationNavigationProp } from './registration-navigator.react.js';
import RegistrationTextInput from './registration-text-input.react.js';
import type { CoolOrNerdMode } from './registration-types.js';
+import LoadingButton from '../../components/loading-button.react.js';
import {
type NavigationRoute,
AvatarSelectionRouteName,
@@ -218,7 +218,7 @@
{errorText}
-
-
+
);
}
@@ -118,7 +118,7 @@
{useExistingSignatureButton}
-
-
-
+
{siwePanel}
diff --git a/native/account/registration/username-selection.react.js b/native/account/registration/username-selection.react.js
--- a/native/account/registration/username-selection.react.js
+++ b/native/account/registration/username-selection.react.js
@@ -16,13 +16,13 @@
import { isValidEthereumAddress } from 'lib/utils/siwe-utils.js';
import RegistrationButtonContainer from './registration-button-container.react.js';
-import RegistrationButton from './registration-button.react.js';
import RegistrationContainer from './registration-container.react.js';
import RegistrationContentContainer from './registration-content-container.react.js';
import { RegistrationContext } from './registration-context.js';
import type { RegistrationNavigationProp } from './registration-navigator.react.js';
import RegistrationTextInput from './registration-text-input.react.js';
import type { CoolOrNerdMode } from './registration-types.js';
+import LoadingButton from '../../components/loading-button.react.js';
import { commRustModule } from '../../native-modules.js';
import {
type NavigationRoute,
@@ -201,7 +201,7 @@
{errorText}
-
-
{errorMessage}
-
- mixed,
+label: string,
+variant?: 'enabled' | 'disabled' | 'loading' | 'outline',
};
-function RegistrationButton(props: Props): React.Node {
+function LoadingButton(props: Props): React.Node {
const { onPress, label, variant } = props;
const styles = useStyles(unboundStyles);
@@ -98,4 +98,4 @@
},
};
-export default RegistrationButton;
+export default LoadingButton;
diff --git a/native/profile/farcaster-account-settings.react.js b/native/profile/farcaster-account-settings.react.js
--- a/native/profile/farcaster-account-settings.react.js
+++ b/native/profile/farcaster-account-settings.react.js
@@ -6,10 +6,10 @@
import { useCurrentUserFID, useUnlinkFID } from 'lib/utils/farcaster-utils.js';
import type { ProfileNavigationProp } from './profile.react.js';
-import RegistrationButton from '../account/registration/registration-button.react.js';
import FarcasterPrompt from '../components/farcaster-prompt.react.js';
import FarcasterWebView from '../components/farcaster-web-view.react.js';
import type { FarcasterWebViewState } from '../components/farcaster-web-view.react.js';
+import LoadingButton from '../components/loading-button.react.js';
import type { NavigationRoute } from '../navigation/route-names.js';
import { useStyles } from '../themes/colors.js';
import { unknownErrorAlertDetails } from '../utils/alert-messages.js';
@@ -77,7 +77,7 @@
const button = React.useMemo(() => {
if (fid) {
return (
-