108 lines
5.1 KiB
TypeScript
108 lines
5.1 KiB
TypeScript
// Metro module 9178 (f9179).
|
|
import { useState, useMemo } from "react";
|
|
import UserStore from "../../../../stores/UserStore";
|
|
import { resetChangeEmailStore } from "../../ChangeEmailStore";
|
|
import { VerificationModalScenes } from "../../../../Constants";
|
|
import EmailVerificationModalActionCreators from "../../../../actions/native/EmailVerificationModalActionCreators";
|
|
import { ImpressionGroups, ImpressionNames } from "../../../../_bundle/Module503";
|
|
import { getHeaderNoTitle, getHeaderCloseButton } from "../../../../design/components/Navigator/native/NavigatorHeader.native";
|
|
import ChangeEmailCollectReasons from "./ChangeEmailCollectReasons";
|
|
import ChangeEmailWarning from "./ChangeEmailWarning";
|
|
import ResendEmail from "./ResendEmail";
|
|
import ConfirmEmailChangeStart from "./ConfirmEmailChangeStart";
|
|
import ConfirmEmailChangeCode from "./ConfirmEmailChangeCode";
|
|
import EnterEmail from "./EnterEmail";
|
|
import UserSettingsConfirmPassword from "../../../user_settings/account/native/UserSettingsConfirmPassword";
|
|
import ChangeEmailComplete from "./ChangeEmailComplete";
|
|
import { useStateFromStores } from "../../../../_bundle/Module589";
|
|
import useInitialValue from "../../../../hooks/useInitialValue";
|
|
import { Navigator } from "../../../../design/components/Navigator/native/Navigator.native";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
const closeModal = function closeModal() {
|
|
resetChangeEmailStore();
|
|
EmailVerificationModalActionCreators.close();
|
|
};
|
|
export default function EmailVerificationModal(props) {
|
|
let email_verified, state, setState;
|
|
const isChangeEmail = props.isChangeEmail;
|
|
email_verified = void 0;
|
|
state = void 0;
|
|
setState = void 0;
|
|
const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
|
|
let r22 = stateFromStores?.verified;
|
|
if (r22 == null) {
|
|
r22 = false;
|
|
}
|
|
email_verified = useInitialValue(r22);
|
|
[state, setState] = useState();
|
|
return <Navigator screens={useMemo(() => {
|
|
const isChangeEmail2 = isChangeEmail;
|
|
const state2 = state;
|
|
const setState2 = setState;
|
|
const impressionProperties = {
|
|
impression_group: ImpressionGroups.USER_ACCOUNT_EMAIL_CHANGE_FLOW
|
|
};
|
|
const r21 = {};
|
|
r21[VerificationModalScenes.CHANGE_EMAIL_COLLECT_REASONS] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_COLLECT_REASONS,
|
|
impressionProperties,
|
|
render: () => <ChangeEmailCollectReasons changeEmailReason={state2} setChangeEmailReason={setState2} />
|
|
};
|
|
r21[VerificationModalScenes.CHANGE_EMAIL_WARNING] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_WARNING,
|
|
impressionProperties,
|
|
render: () => <ChangeEmailWarning changeEmailReason={state2} />
|
|
};
|
|
r21[VerificationModalScenes.RESEND_EMAIL] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_RESEND_VERIFICATION_EMAIL,
|
|
impressionProperties,
|
|
render: () => <ResendEmail />
|
|
};
|
|
r21[VerificationModalScenes.CONFIRM_EMAIL_CHANGE_START] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_SEND_CODE,
|
|
impressionProperties,
|
|
render: () => <ConfirmEmailChangeStart />
|
|
};
|
|
r21[VerificationModalScenes.CONFIRM_EMAIL_CHANGE_CODE] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_VERIFY_CODE,
|
|
impressionProperties,
|
|
render: () => <ConfirmEmailChangeCode isChangeEmail={isChangeEmail2} />
|
|
};
|
|
r21[VerificationModalScenes.ENTER_EMAIL] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_ENTER_EMAIL,
|
|
impressionProperties: {
|
|
...impressionProperties,
|
|
email_verified
|
|
},
|
|
render: () => <EnterEmail isChangeEmail={isChangeEmail2} changeEmailReason={state2} />
|
|
};
|
|
r21[VerificationModalScenes.VERIFY_PASSWORD] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_PASSWORD_VERIFY,
|
|
impressionProperties,
|
|
render: (a0) => <UserSettingsConfirmPassword {...a0} />
|
|
};
|
|
r21[VerificationModalScenes.CHANGE_EMAIL_COMPLETE] = {
|
|
headerTitle: getHeaderNoTitle(),
|
|
headerLeft: getHeaderCloseButton(closeModal),
|
|
impressionName: ImpressionNames.USER_ACCOUNT_EMAIL_CHANGE_COMPLETE,
|
|
impressionProperties,
|
|
render: (a0) => <ChangeEmailComplete {...a0} />
|
|
};
|
|
return r21;
|
|
}, [state, isChangeEmail, email_verified])} initialRouteName={!isChangeEmail && stateFromStores?.email != null ? VerificationModalScenes.RESEND_EMAIL : stateFromStores?.verified ? VerificationModalScenes.CONFIRM_EMAIL_CHANGE_START : VerificationModalScenes.ENTER_EMAIL} headerBackTitle={intl.string(t["13/7kX"])} />;
|
|
};
|