Files
discord-decomp/modules/verification/native/components/PhoneVerificationModal.tsx
T
2026-11-01 12:12:55 +02:00

112 lines
4.0 KiB
TypeScript

// Metro module 9232 (f9233).
import { VerificationModalScenes } from "../../../../Constants";
import { PHONE_VERIFICATION_MODAL_KEY } from "../../../phone/PhoneConstants";
import { getHeaderNoTitle, getHeaderCloseButton } from "../../../../design/components/Navigator/native/NavigatorHeader.native";
import AddPhone from "./AddPhone";
import PhoneActionCreators from "../../../phone/PhoneActionCreators";
import ModalActionCreators from "../../../../actions/ModalActionCreators";
import { ImpressionNames } from "../../../../_bundle/Module503";
import VerifyPhone from "./VerifyPhone";
import UserSettingsConfirmPassword from "../../../user_settings/account/native/UserSettingsConfirmPassword";
import { Navigator } from "../../../../design/components/Navigator/native/Navigator.native";
import { intl, t } from "../../../../intl/index.native";
export default function PhoneVerificationModal(props) {
let c17080_0 = props;
const screens = {};
screens[VerificationModalScenes.ADD_PHONE] = {
headerTitle: getHeaderNoTitle(),
headerLeft: getHeaderCloseButton(props.onClose),
render: (a0, c26398_1) => {
let c26398_0 = a0;
let reason = a0?.reason;
if (reason == null) {
reason = c17080_0.reason;
}
return <AddPhone {...a0} reason={reason} onComplete={(event) => c26398_1.push(VerificationModalScenes.VERIFY_PHONE, {
phone: event,
onVerified: (c31496_0) => {
c26398_1.push(VerificationModalScenes.VERIFY_PASSWORD, {
hideUnverifiedBanner: true,
onSubmit: (a0) => {
let r13 = c26398_0?.reason;
if (r13 == null) {
r13 = c17080_0.reason;
}
return PhoneActionCreators.addPhone(c31496_0, a0, r13);
},
onSuccess: () => {
ModalActionCreators.popWithKey(PHONE_VERIFICATION_MODAL_KEY);
}
});
}
})} onDeletePhone={c17080_0.allowDeletePhone ? () => {
c26398_1.push(VerificationModalScenes.VERIFY_PASSWORD, {
hideUnverifiedBanner: true,
onSubmit: (a0) => {
let r11 = c26398_0?.reason;
if (r11 == null) {
r11 = c17080_0.reason;
}
return PhoneActionCreators.removePhone(a0, r11);
},
onSuccess: () => {
ModalActionCreators.pop();
}
});
} : null} />;
}
};
screens[VerificationModalScenes.VERIFY_PHONE] = {
headerTitle: getHeaderNoTitle(),
impressionName: ImpressionNames.USER_VERIFY_PHONE,
render: (a0, c26399_0) => <VerifyPhone {...a0} disableKeyboardAvoidingView onVerified={(c30067_0) => {
const VERIFY_PASSWORD = VerificationModalScenes.VERIFY_PASSWORD;
let c30067_1 = async (c31497_0) => {
let r40;
let value;
let c31497_4 = 0;
try {
c31497_4 = 1;
r40 = await PhoneActionCreators.addPhone(c30067_0, c31497_0, c17080_0.reason);
c31497_4 = 0;
} catch ($e) {
const r27 = $e;
let r7 = r27;
value = r27;
if (c31497_4 !== 0) {
while (true) {
try {
c31497_4 = 0;
} catch (r56) {
r7 = r56;
value = r56;
if (c31497_4 === 0) {
break;
}
continue;
}
return value;
}
}
throw r7;
}
return r40;
};
c26399_0.push(VERIFY_PASSWORD, {
hideUnverifiedBanner: true,
onSubmit: function() {
return c30067_1.apply(this, arguments);
},
onSuccess: () => {
ModalActionCreators.popWithKey(PHONE_VERIFICATION_MODAL_KEY);
}
});
}} />
};
screens[VerificationModalScenes.VERIFY_PASSWORD] = {
headerTitle: getHeaderNoTitle(),
render: (a0) => <UserSettingsConfirmPassword {...a0} />
};
return <Navigator screens={screens} initialRouteName={VerificationModalScenes.ADD_PHONE} headerBackTitle={intl.string(t["13/7kX"])} />;
};