diff --git a/native/navigation/route-names.js b/native/navigation/route-names.js --- a/native/navigation/route-names.js +++ b/native/navigation/route-names.js @@ -148,6 +148,7 @@ export const KeyserverSelectionBottomSheetRouteName = 'KeyserverSelectionBottomSheet'; export const AccountDoesNotExistRouteName = 'AccountDoesNotExist'; +export const FarcasterAccountSettingsRouteName = 'FarcasterAccountSettings'; export type RootParamList = { +LoggedOutModal: void, @@ -246,6 +247,7 @@ +TunnelbrokerMenu: void, +KeyserverSelectionList: void, +AddKeyserver: void, + +FarcasterAccountSettings: void, }; export type CommunityDrawerParamList = { +TabNavigator: void }; diff --git a/native/profile/farcaster-account-settings.react.js b/native/profile/farcaster-account-settings.react.js new file mode 100644 --- /dev/null +++ b/native/profile/farcaster-account-settings.react.js @@ -0,0 +1,18 @@ +// @flow + +import * as React from 'react'; + +import type { ProfileNavigationProp } from './profile.react.js'; +import type { NavigationRoute } from '../navigation/route-names.js'; + +type Props = { + +navigation: ProfileNavigationProp<'FarcasterAccountSettings'>, + +route: NavigationRoute<'FarcasterAccountSettings'>, +}; + +// eslint-disable-next-line no-unused-vars +function FarcasterAccountSettings(props: Props): React.Node { + return null; +} + +export default FarcasterAccountSettings; diff --git a/native/profile/profile-screen.react.js b/native/profile/profile-screen.react.js --- a/native/profile/profile-screen.react.js +++ b/native/profile/profile-screen.react.js @@ -13,6 +13,7 @@ useDispatchActionPromise, type DispatchActionPromise, } from 'lib/utils/redux-promise-utils.js'; +import { usingCommServicesAccessToken } from 'lib/utils/services-utils.js'; import type { ProfileNavigationProp } from './profile.react.js'; import { deleteNativeCredentialsFor } from '../account/native-credentials.js'; @@ -36,6 +37,7 @@ BackupMenuRouteName, KeyserverSelectionListRouteName, TunnelbrokerMenuRouteName, + FarcasterAccountSettingsRouteName, } from '../navigation/route-names.js'; import { useSelector } from '../redux/redux-utils.js'; import { type Colors, useColors, useStyles } from '../themes/colors.js'; @@ -234,6 +236,16 @@ ); } + let farcasterAccountSettings; + if (usingCommServicesAccessToken || __DEV__) { + farcasterAccountSettings = ( + + ); + } + return ( + {farcasterAccountSettings} {linkedDevices} {keyserverSelection} @@ -375,6 +388,10 @@ this.props.navigation.navigate({ name: DeleteAccountRouteName }); }; + onPressFaracsterAccount = () => { + this.props.navigation.navigate({ name: FarcasterAccountSettingsRouteName }); + }; + onPressDevices = () => { this.props.navigation.navigate({ name: LinkedDevicesRouteName }); }; diff --git a/native/profile/profile.react.js b/native/profile/profile.react.js --- a/native/profile/profile.react.js +++ b/native/profile/profile.react.js @@ -19,6 +19,7 @@ import DevTools from './dev-tools.react.js'; import EditPassword from './edit-password.react.js'; import EmojiUserAvatarCreation from './emoji-user-avatar-creation.react.js'; +import FarcasterAccountSettings from './farcaster-account-settings.react.js'; import KeyserverSelectionListHeaderRightButton from './keyserver-selection-list-header-right-button.react.js'; import KeyserverSelectionList from './keyserver-selection-list.react.js'; import LinkedDevicesHeaderRightButton from './linked-devices-header-right-button.react.js'; @@ -49,6 +50,7 @@ BackupMenuRouteName, KeyserverSelectionListRouteName, AddKeyserverRouteName, + FarcasterAccountSettingsRouteName, type ScreenParamList, type ProfileParamList, TunnelbrokerMenuRouteName, @@ -86,6 +88,7 @@ const friendListOptions = { headerTitle: 'Friend list' }; const blockListOptions = { headerTitle: 'Block list' }; const defaultNotificationsOptions = { headerTitle: 'Default Notifications' }; +const farcasterSettingsOptions = { headerTitle: 'Farcaster account' }; export type ProfileNavigationProp< RouteName: $Keys = $Keys, @@ -225,6 +228,11 @@ component={RelationshipList} options={blockListOptions} /> +