diff --git a/native/account/logged-out-modal.react.js b/native/account/logged-out-modal.react.js --- a/native/account/logged-out-modal.react.js +++ b/native/account/logged-out-modal.react.js @@ -1,6 +1,7 @@ // @flow import Icon from '@expo/vector-icons/FontAwesome.js'; +import { useNavigation } from '@react-navigation/core'; import * as React from 'react'; import { View, @@ -49,7 +50,7 @@ type NavigationRoute, LoggedOutModalRouteName, RegistrationRouteName, - SignInNavigatorRouteName, + QRCodeScreenRouteName, } from '../navigation/route-names.js'; import { useSelector } from '../redux/redux-utils.js'; import { derivedDimensionsInfoSelector } from '../selectors/dimensions-selectors.js'; @@ -203,6 +204,7 @@ +navigation: RootNavigationProp<'LoggedOutModal'>, +route: NavigationRoute<'LoggedOutModal'>, }; +// eslint-disable-next-line no-unused-vars function LoggedOutModal(props: Props) { const mountedRef = React.useRef(false); React.useEffect(() => { @@ -397,9 +399,11 @@ combinedSetMode('log-in'); }, [combinedSetMode]); - const { navigate } = props.navigation; + const { navigate } = useNavigation(); const onPressQRCodeSignIn = React.useCallback(() => { - navigate(SignInNavigatorRouteName); + navigate(RegistrationRouteName, { + screen: QRCodeScreenRouteName, + }); }, [navigate]); const onPressNewRegister = React.useCallback(() => { diff --git a/native/account/qr-code-screen.react.js b/native/account/qr-code-screen.react.js --- a/native/account/qr-code-screen.react.js +++ b/native/account/qr-code-screen.react.js @@ -13,14 +13,14 @@ import AuthButtonContainer from './auth-components/auth-button-container.react.js'; import AuthContainer from './auth-components/auth-container.react.js'; import AuthContentContainer from './auth-components/auth-content-container.react.js'; -import type { SignInNavigationProp } from './sign-in-navigator.react.js'; +import type { RegistrationNavigationProp } from './sign-in-navigator.react.js'; import LinkButton from '../components/link-button.react.js'; import type { NavigationRoute } from '../navigation/route-names.js'; import { RestorePromptScreenRouteName } from '../navigation/route-names.js'; import { useStyles } from '../themes/colors.js'; type QRCodeScreenProps = { - +navigation: SignInNavigationProp<'QRCodeScreen'>, + +navigation: RegistrationNavigationProp<'QRCodeScreen'>, +route: NavigationRoute<'QRCodeScreen'>, }; diff --git a/native/account/registration/registration-navigator.react.js b/native/account/registration/registration-navigator.react.js --- a/native/account/registration/registration-navigator.react.js +++ b/native/account/registration/registration-navigator.react.js @@ -34,6 +34,7 @@ import RegistrationTerms from './registration-terms.react.js'; import { CreateSIWEBackupMessage } from './siwe-backup-message-creation.react.js'; import UsernameSelection from './username-selection.react.js'; +import RestoreSIWEBackup from '../../backup/restore-siwe-backup.react.js'; import RegistrationUserAvatarCameraModal from '../../media/registration-user-avatar-camera-modal.react.js'; import type { RootNavigationProp } from '../../navigation/root-navigator.react.js'; import { @@ -52,7 +53,16 @@ AccountDoesNotExistRouteName, type ScreenParamList, type RegistrationParamList, + QRCodeScreenRouteName, + RestorePromptScreenRouteName, + RestorePasswordAccountScreenRouteName, + RestoreBackupScreenRouteName, + RestoreSIWEBackupRouteName, } from '../../navigation/route-names.js'; +import QRCodeScreen from '../qr-code-screen.react.js'; +import RestoreBackupScreen from '../restore-backup-screen.react.js'; +import RestorePasswordAccountScreen from '../restore-password-account-screen.react.js'; +import RestorePromptScreen from '../restore-prompt-screen.react.js'; export type RegistrationNavigationHelpers< ParamList: ParamListBase = ParamListBase, @@ -198,6 +208,26 @@ name={AccountDoesNotExistRouteName} component={AccountDoesNotExist} /> + + + + + ); } diff --git a/native/account/restore-backup-screen.react.js b/native/account/restore-backup-screen.react.js --- a/native/account/restore-backup-screen.react.js +++ b/native/account/restore-backup-screen.react.js @@ -9,8 +9,8 @@ import AuthContainer from './auth-components/auth-container.react.js'; import AuthContentContainer from './auth-components/auth-content-container.react.js'; import { setNativeCredentials } from './native-credentials.js'; +import type { RegistrationNavigationProp } from './registration/registration-navigator.react.js'; import { useRestore } from './restore.js'; -import type { SignInNavigationProp } from './sign-in-navigator.react.js'; import { commCoreModule } from '../native-modules.js'; import type { NavigationRoute } from '../navigation/route-names.js'; import { useColors, useStyles } from '../themes/colors.js'; @@ -22,7 +22,7 @@ import Alert from '../utils/alert.js'; type Props = { - +navigation: SignInNavigationProp<'RestoreBackupScreen'>, + +navigation: RegistrationNavigationProp<'RestoreBackupScreen'>, +route: NavigationRoute<'RestoreBackupScreen'>, }; diff --git a/native/account/restore-password-account-screen.react.js b/native/account/restore-password-account-screen.react.js --- a/native/account/restore-password-account-screen.react.js +++ b/native/account/restore-password-account-screen.react.js @@ -15,8 +15,8 @@ } from './native-credentials.js'; import type { UserCredentials } from './native-credentials.js'; import PromptButton from './prompt-button.react.js'; +import type { RegistrationNavigationProp } from './registration/registration-navigator.react'; import RegistrationTextInput from './registration/registration-text-input.react.js'; -import type { SignInNavigationProp } from './sign-in-navigator.react.js'; import { useClientBackup } from '../backup/use-client-backup.js'; import type { NavigationRoute } from '../navigation/route-names.js'; import { RestoreBackupScreenRouteName } from '../navigation/route-names.js'; @@ -29,7 +29,7 @@ import Alert from '../utils/alert.js'; type Props = { - +navigation: SignInNavigationProp<'RestorePasswordAccountScreen'>, + +navigation: RegistrationNavigationProp<'RestorePasswordAccountScreen'>, +route: NavigationRoute<'RestorePasswordAccountScreen'>, }; diff --git a/native/account/restore-prompt-screen.react.js b/native/account/restore-prompt-screen.react.js --- a/native/account/restore-prompt-screen.react.js +++ b/native/account/restore-prompt-screen.react.js @@ -11,7 +11,7 @@ import AuthContainer from './auth-components/auth-container.react.js'; import AuthContentContainer from './auth-components/auth-content-container.react.js'; import PromptButton from './prompt-button.react.js'; -import type { SignInNavigationProp } from './sign-in-navigator.react'; +import type { RegistrationNavigationProp } from './registration/registration-navigator.react.js'; import { useSIWEPanelState } from './siwe-hooks.js'; import SIWEPanel from './siwe-panel.react.js'; import { useClientBackup } from '../backup/use-client-backup.js'; @@ -29,7 +29,7 @@ import RestoreIcon from '../vectors/restore-icon.react.js'; type Props = { - +navigation: SignInNavigationProp<'RestorePromptScreen'>, + +navigation: RegistrationNavigationProp<'RestorePromptScreen'>, +route: NavigationRoute<'RestorePromptScreen'>, }; diff --git a/native/account/sign-in-navigator.react.js b/native/account/sign-in-navigator.react.js deleted file mode 100644 --- a/native/account/sign-in-navigator.react.js +++ /dev/null @@ -1,84 +0,0 @@ -// @flow - -import type { - StackNavigationProp, - StackNavigationHelpers, -} from '@react-navigation/core'; -import { createStackNavigator } from '@react-navigation/stack'; -import * as React from 'react'; - -import QRCodeScreen from './qr-code-screen.react.js'; -import RestoreBackupScreen from './restore-backup-screen.react.js'; -import RestorePasswordAccountScreen from './restore-password-account-screen.react.js'; -import RestorePromptScreen from './restore-prompt-screen.react.js'; -import RestoreSIWEBackup from '../backup/restore-siwe-backup.react.js'; -import type { RootNavigationProp } from '../navigation/root-navigator.react.js'; -import { - type ScreenParamList, - type SignInParamList, - QRCodeScreenRouteName, - RestorePromptScreenRouteName, - RestorePasswordAccountScreenRouteName, - RestoreBackupScreenRouteName, - RestoreSIWEBackupRouteName, -} from '../navigation/route-names.js'; -import { useColors } from '../themes/colors.js'; - -export type SignInNavigationProp> = - StackNavigationProp; - -const SignInStack = createStackNavigator< - ScreenParamList, - SignInParamList, - StackNavigationHelpers, ->(); - -type SignInNavigatorProps = { - +navigation: RootNavigationProp<'SignInNavigator'>, - ... -}; - -// eslint-disable-next-line no-unused-vars -function SignInNavigator(props: SignInNavigatorProps): React.Node { - const colors = useColors(); - - const screenOptions = React.useMemo( - () => ({ - headerTransparent: true, - headerBackTitleVisible: false, - headerTitle: '', - headerTintColor: colors.panelForegroundLabel, - headerLeftContainerStyle: { - paddingLeft: 12, - }, - }), - [colors.panelForegroundLabel], - ); - - return ( - - - - - - - - ); -} - -export default SignInNavigator; diff --git a/native/navigation/root-navigator.react.js b/native/navigation/root-navigator.react.js --- a/native/navigation/root-navigator.react.js +++ b/native/navigation/root-navigator.react.js @@ -49,7 +49,6 @@ InviteLinkNavigatorRouteName, CommunityCreationRouteName, RolesNavigatorRouteName, - SignInNavigatorRouteName, UserProfileBottomSheetNavigatorRouteName, KeyserverSelectionBottomSheetRouteName, ConnectFarcasterBottomSheetRouteName, @@ -62,7 +61,6 @@ import QRAuthNavigator from '../account/qr-auth/qr-auth-navigator.react.js'; import CreateMissingSIWEBackupMessage from '../account/registration/missing-registration-data/missing-siwe-backup-message.react.js'; import RegistrationNavigator from '../account/registration/registration-navigator.react.js'; -import SignInNavigator from '../account/sign-in-navigator.react.js'; import TermsAndPrivacyModal from '../account/terms-and-privacy-modal.react.js'; import ThreadPickerModal from '../calendar/thread-picker-modal.react.js'; import ImagePasteModal from '../chat/image-paste-modal.react.js'; @@ -213,11 +211,6 @@ component={RegistrationNavigator} options={disableGesturesScreenOptions} /> - > = RouteProp; -export const accountModals = [ - LoggedOutModalRouteName, - RegistrationRouteName, - SignInNavigatorRouteName, -]; +export const accountModals = [LoggedOutModalRouteName, RegistrationRouteName]; export const scrollBlockingModals = [ ImageModalRouteName,