diff --git a/src/ROUTES.ts b/src/ROUTES.ts
index 2c37116db395..feead4890114 100644
--- a/src/ROUTES.ts
+++ b/src/ROUTES.ts
@@ -139,8 +139,8 @@ export default {
SEARCH: 'search',
TEACHERS_UNITE: 'teachersunite',
I_KNOW_A_TEACHER: 'teachersunite/i-know-a-teacher',
- INTRO_SCHOOL_PRINCIPAL: 'teachersunite/intro-school-principal',
I_AM_A_TEACHER: 'teachersunite/i-am-a-teacher',
+ INTRO_SCHOOL_PRINCIPAL: 'teachersunite/intro-school-principal',
DETAILS: 'details',
getDetailsRoute: (login: string) => `details?login=${encodeURIComponent(login)}`,
PROFILE: 'a/:accountID',
diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators.js b/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
index 5c110264e034..f3939eabe6f7 100644
--- a/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
+++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
@@ -345,7 +345,7 @@ const NewTeachersUniteNavigator = createModalStackNavigator([
},
{
getComponent: () => {
- const IntroSchoolPrincipalPage = require('../../../pages/TeachersUnite/IntroSchoolPrincipalPage').default;
+ const IntroSchoolPrincipalPage = require('../../../pages/TeachersUnite/ImTeacherPage').default;
return IntroSchoolPrincipalPage;
},
name: 'Intro_School_Principal',
diff --git a/src/pages/TeachersUnite/ImTeacherPage.js b/src/pages/TeachersUnite/ImTeacherPage.js
index d4e69dd5dd3b..a938abf81b79 100644
--- a/src/pages/TeachersUnite/ImTeacherPage.js
+++ b/src/pages/TeachersUnite/ImTeacherPage.js
@@ -1,54 +1,36 @@
import React from 'react';
-import ScreenWrapper from '../../components/ScreenWrapper';
-import HeaderWithBackButton from '../../components/HeaderWithBackButton';
-import ROUTES from '../../ROUTES';
-import Navigation from '../../libs/Navigation/Navigation';
-import FixedFooter from '../../components/FixedFooter';
-import styles from '../../styles/styles';
-import Button from '../../components/Button';
-import * as Illustrations from '../../components/Icon/Illustrations';
-import variables from '../../styles/variables';
-import useLocalize from '../../hooks/useLocalize';
-import BlockingView from '../../components/BlockingViews/BlockingView';
+import PropTypes from 'prop-types';
+import {withOnyx} from 'react-native-onyx';
+import ONYXKEYS from '../../ONYXKEYS';
+import * as LoginUtils from '../../libs/LoginUtils';
+import ImTeacherUpdateEmailPage from './ImTeacherUpdateEmailPage';
+import IntroSchoolPrincipalPage from './IntroSchoolPrincipalPage';
-const propTypes = {};
+const propTypes = {
+ /** Current user session */
+ session: PropTypes.shape({
+ /** Current user primary login */
+ email: PropTypes.string.isRequired,
+ }),
+};
-const defaultProps = {};
+const defaultProps = {
+ session: {
+ email: null,
+ },
+};
-function ImTeacherPage() {
- const {translate} = useLocalize();
-
- return (
-
- Navigation.goBack(ROUTES.TEACHERS_UNITE)}
- />
- Navigation.navigate(ROUTES.SETTINGS_CONTACT_METHODS)}
- iconWidth={variables.signInLogoWidthLargeScreen}
- iconHeight={variables.lhnLogoWidth}
- />
-
-
-
- );
+function ImTeacherPage(props) {
+ const isLoggedInEmailPublicDomain = LoginUtils.isEmailPublicDomain(props.session.email);
+ return isLoggedInEmailPublicDomain ? : ;
}
ImTeacherPage.propTypes = propTypes;
ImTeacherPage.defaultProps = defaultProps;
ImTeacherPage.displayName = 'ImTeacherPage';
-export default ImTeacherPage;
+export default withOnyx({
+ session: {
+ key: ONYXKEYS.SESSION,
+ },
+})(ImTeacherPage);
diff --git a/src/pages/TeachersUnite/ImTeacherUpdateEmailPage.js b/src/pages/TeachersUnite/ImTeacherUpdateEmailPage.js
new file mode 100644
index 000000000000..a686fc479548
--- /dev/null
+++ b/src/pages/TeachersUnite/ImTeacherUpdateEmailPage.js
@@ -0,0 +1,54 @@
+import React from 'react';
+import ScreenWrapper from '../../components/ScreenWrapper';
+import HeaderWithBackButton from '../../components/HeaderWithBackButton';
+import ROUTES from '../../ROUTES';
+import Navigation from '../../libs/Navigation/Navigation';
+import FixedFooter from '../../components/FixedFooter';
+import styles from '../../styles/styles';
+import Button from '../../components/Button';
+import * as Illustrations from '../../components/Icon/Illustrations';
+import variables from '../../styles/variables';
+import useLocalize from '../../hooks/useLocalize';
+import BlockingView from '../../components/BlockingViews/BlockingView';
+
+const propTypes = {};
+
+const defaultProps = {};
+
+function ImTeacherUpdateEmailPage() {
+ const {translate} = useLocalize();
+
+ return (
+
+ Navigation.goBack(ROUTES.TEACHERS_UNITE)}
+ />
+ Navigation.navigate(ROUTES.SETTINGS_CONTACT_METHODS)}
+ iconWidth={variables.signInLogoWidthLargeScreen}
+ iconHeight={variables.lhnLogoWidth}
+ />
+
+
+
+ );
+}
+
+ImTeacherUpdateEmailPage.propTypes = propTypes;
+ImTeacherUpdateEmailPage.defaultProps = defaultProps;
+ImTeacherUpdateEmailPage.displayName = 'ImTeacherUpdateEmailPage';
+
+export default ImTeacherUpdateEmailPage;
diff --git a/src/pages/TeachersUnite/IntroSchoolPrincipalPage.js b/src/pages/TeachersUnite/IntroSchoolPrincipalPage.js
index 10bc47c00556..a54c09d41c2a 100644
--- a/src/pages/TeachersUnite/IntroSchoolPrincipalPage.js
+++ b/src/pages/TeachersUnite/IntroSchoolPrincipalPage.js
@@ -34,6 +34,7 @@ const defaultProps = {
function IntroSchoolPrincipalPage(props) {
const {translate} = useLocalize();
+
/**
* @param {Object} values
* @param {String} values.firstName
diff --git a/src/pages/TeachersUnite/SaveTheWorldPage.js b/src/pages/TeachersUnite/SaveTheWorldPage.js
index 0e650b72716e..5f252c960f8c 100644
--- a/src/pages/TeachersUnite/SaveTheWorldPage.js
+++ b/src/pages/TeachersUnite/SaveTheWorldPage.js
@@ -14,15 +14,9 @@ import Text from '../../components/Text';
import MenuItem from '../../components/MenuItem';
import IllustratedHeaderPageLayout from '../../components/IllustratedHeaderPageLayout';
import * as LottieAnimations from '../../components/LottieAnimations';
-import * as LoginUtils from '../../libs/LoginUtils';
import useLocalize from '../../hooks/useLocalize';
const propTypes = {
- /** Current user session */
- session: PropTypes.shape({
- /** Current user primary login */
- email: PropTypes.string.isRequired,
- }),
/** The list of this user's policies */
policy: PropTypes.shape({
/** The user's role in the policy */
@@ -31,25 +25,13 @@ const propTypes = {
};
const defaultProps = {
- session: {
- email: null,
- },
policy: {},
};
function SaveTheWorldPage(props) {
const {translate} = useLocalize();
- const isLoggedInEmailPublicDomain = LoginUtils.isEmailPublicDomain(props.session.email);
const isTeacherAlreadyInvited = !_.isUndefined(props.policy) && props.policy.role === CONST.POLICY.ROLE.USER;
- const handleNavigation = () => {
- if (isLoggedInEmailPublicDomain) {
- Navigation.navigate(ROUTES.I_AM_A_TEACHER);
- } else {
- Navigation.navigate(ROUTES.INTRO_SCHOOL_PRINCIPAL);
- }
- };
-
return (
Navigation.navigate(ROUTES.I_AM_A_TEACHER)}
/>
)}
@@ -85,9 +67,6 @@ SaveTheWorldPage.defaultProps = defaultProps;
SaveTheWorldPage.displayName = 'SaveTheWorldPage';
export default withOnyx({
- session: {
- key: ONYXKEYS.SESSION,
- },
policy: {
key: () => `${ONYXKEYS.COLLECTION.POLICY}${CONST.TEACHERS_UNITE.POLICY_ID}`,
},