// Metro module 9224 (f9225). import { useState, useCallback } from "react"; import { ScrollView, View } from "react-native"; import UserStore from "../../../../stores/UserStore"; import { ChangeEmailFields, useChangeEmailError, useChangeEmailStore } from "../../ChangeEmailStore"; import { AnalyticEvents } from "../../../../Constants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import Module712 from "../../../../_bundle/Module712"; import { useNavigation } from "../../../../design/components/Navigator/native/useNavigation.native"; import { useStateFromStores } from "../../../../_bundle/Module589"; import { VerificationModalScenes } from "../../../../ConstantsIOS"; import { saveEmail, finishChangeEmailFlow, finishVerifyEmailFlow } from "../ChangeEmailUtils"; import AnalyticsUtils from "../../../../utils/AnalyticsUtils"; import { Text } from "../../../../design/components/Text/native/Text"; import { intl, t } from "../../../../intl/index.native"; import FreeFormInputGroup from "../../../../design/void/Form/native/FreeFormInputGroup"; import { Button } from "../../../../design/components/Button/native/Button.native"; const useStyles = createStyles({ background: { backgroundColor: Module712.colors.BACKGROUND_BASE_LOW }, container: { paddingVertical: 12, paddingHorizontal: 16 }, title: { textAlign: "center" }, prompt: { marginTop: 8, lineHeight: 18, textAlign: "center" }, input: { marginTop: 24, marginBottom: 16 } }); export default function EnterEmail(props) { let state, c17076_5, emailToken, callback; const { isChangeEmail, changeEmailReason } = props; state = void 0; c17076_5 = void 0; emailToken = void 0; callback = void 0; const styles = useStyles(); const navigation = useNavigation(); const stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser()); let onChangeText; [state, onChangeText] = useState(""); const [error, r13] = useChangeEmailError(ChangeEmailFields.EMAIL); c17076_5 = r13; emailToken = useChangeEmailStore().emailToken; callback = useCallback((c26394_0) => navigation.getState().routes.findIndex((route) => route.name === c26394_0), [navigation]); const callback2 = useCallback(() => { const VERIFY_PASSWORD = VerificationModalScenes.VERIFY_PASSWORD; let c26395_0 = async (password) => { let r27; L11: { const r26 = stateFromStores == null; r27 = null; if (r26) { break L11; } c17076_5(null); return await saveEmail({ email: state, password, emailToken }, navigation, callback); } return r27; }; navigation.push(VERIFY_PASSWORD, { onSubmit: function() { return c26395_0.apply(this, arguments); }, onSuccess: () => { if (isChangeEmail) { AnalyticsUtils.track(AnalyticEvents.USER_ACCOUNT_EMAIL_CHANGE_SAVE_NEW_EMAIL, { change_email_reason_enum: changeEmailReason }); finishChangeEmailFlow(navigation, state); } else { finishVerifyEmailFlow(navigation, callback); } }, hideUnverifiedBanner: true }); }, [navigation, stateFromStores, r13, state, emailToken, callback, isChangeEmail, changeEmailReason]); return stateFromStores == null ? null : {stateFromStores.email != null ? intl.string(t.Vm8akB) : intl.string(t["CDTD/K"])} {stateFromStores.email != null ? intl.formatToPlainString(t.Z7CaI7, { email: stateFromStores.email }) : intl.string(t.YXXMxK)}