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
@@ -39,7 +39,12 @@
} from '../keyboard/keyboard.js';
import { createIsForegroundSelector } from '../navigation/nav-selectors.js';
import { NavContext } from '../navigation/navigation-context.js';
-import { LoggedOutModalRouteName } from '../navigation/route-names.js';
+import type { RootNavigationProp } from '../navigation/root-navigator.react.js';
+import {
+ type NavigationRoute,
+ LoggedOutModalRouteName,
+ RegistrationModalRouteName,
+} from '../navigation/route-names.js';
import { resetUserStateActionType } from '../redux/action-types.js';
import { useSelector } from '../redux/redux-utils.js';
import { usePersistedStateLoaded } from '../selectors/app-state-selectors.js';
@@ -111,7 +116,13 @@
);
}
+type BaseProps = {
+ +navigation: RootNavigationProp<'LoggedOutModal'>,
+ +route: NavigationRoute<'LoggedOutModal'>,
+};
+
type Props = {
+ ...BaseProps,
// Navigation state
+isForeground: boolean,
// Redux state
@@ -125,7 +136,6 @@
+styles: typeof unboundStyles,
// Redux dispatch functions
+dispatch: Dispatch,
- ...
};
type State = {
+mode: LoggedOutMode,
@@ -525,13 +535,13 @@
if (__DEV__) {
registerButtons.push(
- Register
+ Register (new)
,
);
@@ -637,6 +647,11 @@
this.keyboardHeightValue.setValue(-1);
this.setMode('register');
};
+
+ onPressNewRegister = () => {
+ console.log('test');
+ this.props.navigation.navigate(RegistrationModalRouteName);
+ };
}
const unboundStyles = {
@@ -747,39 +762,38 @@
LoggedOutModalRouteName,
);
-const ConnectedLoggedOutModal: React.ComponentType<{ ... }> = React.memo<{
- ...
-}>(function ConnectedLoggedOutModal(props: { ... }) {
- const navContext = React.useContext(NavContext);
- const isForeground = isForegroundSelector(navContext);
+const ConnectedLoggedOutModal: React.ComponentType =
+ React.memo(function ConnectedLoggedOutModal(props: BaseProps) {
+ const navContext = React.useContext(NavContext);
+ const isForeground = isForegroundSelector(navContext);
- const rehydrateConcluded = useSelector(
- state => !!(state._persist && state._persist.rehydrated && navContext),
- );
- const persistedStateLoaded = usePersistedStateLoaded();
- const cookie = useSelector(state => state.cookie);
- const urlPrefix = useSelector(state => state.urlPrefix);
- const loggedIn = useSelector(isLoggedIn);
- const dimensions = useSelector(derivedDimensionsInfoSelector);
- const splashStyle = useSelector(splashStyleSelector);
- const styles = useStyles(unboundStyles);
-
- const dispatch = useDispatch();
- return (
-
- );
-});
+ const rehydrateConcluded = useSelector(
+ state => !!(state._persist && state._persist.rehydrated && navContext),
+ );
+ const persistedStateLoaded = usePersistedStateLoaded();
+ const cookie = useSelector(state => state.cookie);
+ const urlPrefix = useSelector(state => state.urlPrefix);
+ const loggedIn = useSelector(isLoggedIn);
+ const dimensions = useSelector(derivedDimensionsInfoSelector);
+ const splashStyle = useSelector(splashStyleSelector);
+ const styles = useStyles(unboundStyles);
+
+ const dispatch = useDispatch();
+ return (
+
+ );
+ });
export default ConnectedLoggedOutModal;
diff --git a/native/account/registration-modal.react.js b/native/account/registration-modal.react.js
new file mode 100644
--- /dev/null
+++ b/native/account/registration-modal.react.js
@@ -0,0 +1,17 @@
+// @flow
+
+import * as React from 'react';
+
+import type { RootNavigationProp } from '../navigation/root-navigator.react.js';
+import type { NavigationRoute } from '../navigation/route-names.js';
+
+type Props = {
+ +navigation: RootNavigationProp<'RegistrationModal'>,
+ +route: NavigationRoute<'RegistrationModal'>,
+};
+// eslint-disable-next-line no-unused-vars
+function RegistrationModal(props: Props): React.Node {
+ return undefined;
+}
+
+export default RegistrationModal;
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
@@ -38,8 +38,10 @@
type ScreenParamList,
type RootParamList,
TermsAndPrivacyRouteName,
+ RegistrationModalRouteName,
} from './route-names.js';
import LoggedOutModal from '../account/logged-out-modal.react.js';
+import RegistrationModal from '../account/registration-modal.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';
@@ -190,6 +192,11 @@
component={LoggedOutModal}
options={disableGesturesScreenOptions}
/>
+
> =
RouteProp;
-export const accountModals = [LoggedOutModalRouteName];
+export const accountModals = [
+ LoggedOutModalRouteName,
+ RegistrationModalRouteName,
+];
export const scrollBlockingModals = [
ImageModalRouteName,