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 PrimaryButton from '../../components/primary-button.react.js'; import commSwooshSource from '../../img/comm-swoosh.png'; import { type NavigationRoute, @@ -41,7 +41,7 @@ </View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton onPress={onSubmit} label="Next" variant="enabled" /> + <PrimaryButton onPress={onSubmit} label="Next" variant="enabled" /> </RegistrationButtonContainer> </RegistrationContainer> ); 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 PrimaryButton from '../../components/primary-button.react.js'; import { useCurrentLeafRouteName } from '../../navigation/nav-selectors.js'; import { type NavigationRoute, @@ -186,7 +186,7 @@ </View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton onPress={onProceed} label="Next" /> + <PrimaryButton onPress={onProceed} label="Next" /> </RegistrationButtonContainer> </RegistrationContainer> ); 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 PrimaryButton from '../../components/primary-button.react.js'; import { commRustModule } from '../../native-modules.js'; import { type NavigationRoute, @@ -260,7 +260,7 @@ let alreadyConnectedButton; if (alreadyHasConnected) { alreadyConnectedButton = ( - <RegistrationButton + <PrimaryButton onPress={onUseAlreadyConnectedWallet} label="Use connected Ethereum wallet" variant="enabled" @@ -282,12 +282,12 @@ </RegistrationContentContainer> <RegistrationButtonContainer> {alreadyConnectedButton} - <RegistrationButton + <PrimaryButton onPress={openPanel} label={connectButtonText} variant={connectButtonVariant} /> - <RegistrationButton + <PrimaryButton onPress={onSkip} label="Do not connect" variant="outline" diff --git a/native/account/registration/connect-farcaster.react.js b/native/account/registration/connect-farcaster.react.js --- a/native/account/registration/connect-farcaster.react.js +++ b/native/account/registration/connect-farcaster.react.js @@ -8,7 +8,6 @@ import { 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'; @@ -17,6 +16,7 @@ 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 PrimaryButton from '../../components/primary-button.react.js'; import { type NavigationRoute, ConnectEthereumRouteName, @@ -194,7 +194,7 @@ } return ( - <RegistrationButton + <PrimaryButton onPress={onUseAlreadyConnectedAccount} label="Use connected Farcaster account" variant="enabled" @@ -208,7 +208,7 @@ return undefined; } return ( - <RegistrationButton + <PrimaryButton onPress={onSkip} label="Do not connect" variant="outline" @@ -226,7 +226,7 @@ <FarcasterWebView onSuccess={onSuccess} webViewState={webViewState} /> <RegistrationButtonContainer> {alreadyConnectedButton} - <RegistrationButton + <PrimaryButton onPress={onPressConnectFarcaster} label={connectButtonText} variant={connectButtonVariant} diff --git a/native/account/registration/cool-or-nerd-mode-selection.react.js b/native/account/registration/cool-or-nerd-mode-selection.react.js --- a/native/account/registration/cool-or-nerd-mode-selection.react.js +++ b/native/account/registration/cool-or-nerd-mode-selection.react.js @@ -5,7 +5,6 @@ import { Text } 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 { RegistrationContext } from './registration-context.js'; @@ -15,6 +14,7 @@ RegistrationTileHeader, } from './registration-tile.react.js'; import type { CoolOrNerdMode } from './registration-types.js'; +import PrimaryButton from '../../components/primary-button.react.js'; import { type NavigationRoute, KeyserverSelectionRouteName, @@ -101,11 +101,7 @@ </RegistrationTile> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton - onPress={onSubmit} - label="Next" - variant={buttonState} - /> + <PrimaryButton onPress={onSubmit} label="Next" variant={buttonState} /> </RegistrationButtonContainer> </RegistrationContainer> ); 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 PrimaryButton from '../../components/primary-button.react.js'; import type { RootNavigationProp } from '../../navigation/root-navigator.react.js'; import type { NavigationRoute, @@ -156,12 +156,12 @@ </View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={onProceedToLogIn} label="Log in to account" variant={logInPending ? 'loading' : 'enabled'} /> - <RegistrationButton + <PrimaryButton onPress={goBack} label="Use a different wallet" variant="outline" diff --git a/native/account/registration/keyserver-selection.react.js b/native/account/registration/keyserver-selection.react.js --- a/native/account/registration/keyserver-selection.react.js +++ b/native/account/registration/keyserver-selection.react.js @@ -9,7 +9,6 @@ import { useIsKeyserverURLValid } from 'lib/shared/keyserver-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'; @@ -21,6 +20,7 @@ } from './registration-tile.react.js'; import type { CoolOrNerdMode } from './registration-types.js'; import CommIcon from '../../components/comm-icon.react.js'; +import PrimaryButton from '../../components/primary-button.react.js'; import { type NavigationRoute, ConnectFarcasterRouteName, @@ -201,11 +201,7 @@ <View style={styles.error}>{errorText}</View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton - onPress={onSubmit} - label="Next" - variant={buttonState} - /> + <PrimaryButton onPress={onSubmit} label="Next" variant={buttonState} /> </RegistrationButtonContainer> </RegistrationContainer> ); 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 PrimaryButton from '../../components/primary-button.react.js'; import { type NavigationRoute, AvatarSelectionRouteName, @@ -218,7 +218,7 @@ <View style={styles.error}>{errorText}</View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={onProceed} label="Next" variant={passwordsMatch && !passwordIsEmpty ? 'enabled' : 'disabled'} diff --git a/native/account/registration/registration-terms.react.js b/native/account/registration/registration-terms.react.js --- a/native/account/registration/registration-terms.react.js +++ b/native/account/registration/registration-terms.react.js @@ -7,7 +7,6 @@ import type { SIWEBackupSecrets } from 'lib/types/siwe-types.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'; @@ -17,6 +16,7 @@ AccountSelection, AvatarData, } from './registration-types.js'; +import PrimaryButton from '../../components/primary-button.react.js'; import commSwooshSource from '../../img/comm-swoosh.png'; import { logInActionType } from '../../navigation/action-types.js'; import type { NavigationRoute } from '../../navigation/route-names.js'; @@ -148,7 +148,7 @@ </View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={onProceed} label="Register" variant={registrationInProgress ? 'loading' : 'enabled'} diff --git a/native/account/registration/siwe-backup-message-creation.react.js b/native/account/registration/siwe-backup-message-creation.react.js --- a/native/account/registration/siwe-backup-message-creation.react.js +++ b/native/account/registration/siwe-backup-message-creation.react.js @@ -8,7 +8,6 @@ import { type SIWEResult, SIWEMessageTypes } from 'lib/types/siwe-types.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'; @@ -18,6 +17,7 @@ AccountSelection, AvatarData, } from './registration-types.js'; +import PrimaryButton from '../../components/primary-button.react.js'; import { type NavigationRoute, RegistrationTermsRouteName, @@ -78,7 +78,7 @@ let useExistingSignatureButton; if (onExistingWalletSignature) { useExistingSignatureButton = ( - <RegistrationButton + <PrimaryButton onPress={onExistingWalletSignature} label="Encrypt with existing signature" variant="enabled" @@ -89,7 +89,7 @@ let onSkipButton; if (onSkip) { onSkipButton = ( - <RegistrationButton onPress={onSkip} label="Skip" variant="outline" /> + <PrimaryButton onPress={onSkip} label="Skip" variant="outline" /> ); } @@ -118,7 +118,7 @@ </RegistrationContentContainer> <RegistrationButtonContainer> {useExistingSignatureButton} - <RegistrationButton + <PrimaryButton onPress={openPanel} label={newSignatureButtonText} variant={newSignatureButtonVariant} @@ -280,12 +280,12 @@ </View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={openPanel} label="Decrypt with Ethereum signature" variant="enabled" /> - <RegistrationButton onPress={onSkip} label="Skip" variant="outline" /> + <PrimaryButton onPress={onSkip} label="Skip" variant="outline" /> </RegistrationButtonContainer> </RegistrationContainer> {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 PrimaryButton from '../../components/primary-button.react.js'; import { commRustModule } from '../../native-modules.js'; import { type NavigationRoute, @@ -201,7 +201,7 @@ <View style={styles.error}>{errorText}</View> </RegistrationContentContainer> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={onProceed} label="Next" variant={buttonVariant} diff --git a/native/community-creation/community-configuration.react.js b/native/community-creation/community-configuration.react.js --- a/native/community-creation/community-configuration.react.js +++ b/native/community-creation/community-configuration.react.js @@ -17,7 +17,6 @@ import CommunityCreationKeyserverLabel from './community-creation-keyserver-label.react.js'; import type { CommunityCreationNavigationProp } from './community-creation-navigator.react.js'; import RegistrationButtonContainer from '../account/registration/registration-button-container.react.js'; -import RegistrationButton from '../account/registration/registration-button.react.js'; import RegistrationContainer from '../account/registration/registration-container.react.js'; import RegistrationContentContainer from '../account/registration/registration-content-container.react.js'; import { useNavigateToThread } from '../chat/message-list-types.js'; @@ -26,6 +25,7 @@ ThreadSettingsCategoryHeader, } from '../chat/settings/thread-settings-category.react.js'; import EnumSettingsOption from '../components/enum-settings-option.react.js'; +import PrimaryButton from '../components/primary-button.react.js'; import TextInput from '../components/text-input.react.js'; import { useCalendarQuery } from '../navigation/nav-selectors.js'; import { type NavigationRoute } from '../navigation/route-names.js'; @@ -155,7 +155,7 @@ </View> <ThreadSettingsCategoryFooter type="full" /> <RegistrationButtonContainer> - <RegistrationButton + <PrimaryButton onPress={createNewCommunity} label="Create community" variant={ diff --git a/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js b/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js --- a/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js +++ b/native/community-settings/tag-farcaster-channel/tag-farcaster-channel-by-name.react.js @@ -11,7 +11,7 @@ } from 'lib/shared/community-utils.js'; import type { TagFarcasterChannelNavigationProp } from './tag-farcaster-channel-navigator.react.js'; -import RegistrationButton from '../../account/registration/registration-button.react.js'; +import PrimaryButton from '../../components/primary-button.react.js'; import TextInput from '../../components/text-input.react.js'; import type { NavigationRoute } from '../../navigation/route-names.js'; import { useStyles, useColors } from '../../themes/colors.js'; @@ -96,7 +96,7 @@ /> </View> {errorMessage} - <RegistrationButton + <PrimaryButton onPress={onPressTagChannel} label="Tag channel" variant={submitButtonVariant} diff --git a/native/components/connect-farcaster-bottom-sheet.react.js b/native/components/connect-farcaster-bottom-sheet.react.js --- a/native/components/connect-farcaster-bottom-sheet.react.js +++ b/native/components/connect-farcaster-bottom-sheet.react.js @@ -12,7 +12,7 @@ import FarcasterWebView, { type FarcasterWebViewState, } from './farcaster-web-view.react.js'; -import RegistrationButton from '../account/registration/registration-button.react.js'; +import PrimaryButton from './primary-button.react.js'; import { BottomSheetContext } from '../bottom-sheet/bottom-sheet-provider.react.js'; import BottomSheet from '../bottom-sheet/bottom-sheet.react.js'; import type { RootNavigationProp } from '../navigation/root-navigator.react.js'; @@ -96,7 +96,7 @@ <View style={styles.promptContainer}> <FarcasterPrompt textType="optional" /> </View> - <RegistrationButton + <PrimaryButton onPress={onPressConnect} label="Connect Farcaster account" variant={connectButtonVariant} diff --git a/native/account/registration/registration-button.react.js b/native/components/primary-button.react.js rename from native/account/registration/registration-button.react.js rename to native/components/primary-button.react.js --- a/native/account/registration/registration-button.react.js +++ b/native/components/primary-button.react.js @@ -3,15 +3,15 @@ import * as React from 'react'; import { Text, View, ActivityIndicator } from 'react-native'; -import Button from '../../components/button.react.js'; -import { useColors, useStyles } from '../../themes/colors.js'; +import Button from './button.react.js'; +import { useColors, useStyles } from '../themes/colors.js'; type Props = { +onPress: () => mixed, +label: string, +variant?: 'enabled' | 'disabled' | 'loading' | 'outline', }; -function RegistrationButton(props: Props): React.Node { +function PrimaryButton(props: Props): React.Node { const { onPress, label, variant } = props; const styles = useStyles(unboundStyles); @@ -98,4 +98,4 @@ }, }; -export default RegistrationButton; +export default PrimaryButton; 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 PrimaryButton from '../components/primary-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 ( - <RegistrationButton + <PrimaryButton onPress={onPressDisconnect} label="Disconnect" variant={disconnectButtonVariant} @@ -86,7 +86,7 @@ } return ( - <RegistrationButton + <PrimaryButton onPress={onPressConnectFarcaster} label="Connect Farcaster account" variant={connectButtonVariant}