Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
/* Metro module 14208; source: modules/mfa/MFAActionCreators.tsx; dependencies: [14209, 14210, 14219, 2] */
function _fun107452(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107452, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14405:6, offset: 0x022fd127, size: 117 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(14209) /* metro dependency 14209: MFAConstants */).SELECT_NAMES;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/MFAActionCreators.tsx');
exports.openMFAModal = openMFAModal;
}
function openMFAModal(a0, a1, a2) { // fn#107453, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14405:201, offset: 0x022fd19c, size: 91 bytes, params: 4, frame: 16
const env0_0 = a1;
const methods = a0.methods;
a0.methods = methods.filter(function(a0) {
var Object = global.Object;
return Object.hasOwn(SELECT_NAMES, a0.type);
});
(require(14210) /* metro dependency 14210: MFAModal */).openMFAModal(a0, _fun107455, a2);
}
function _fun107455(a0) { // fn#107455, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14405:311, offset: 0x022fd21c, size: 49 bytes, params: 2, frame: 13
const value = environment.__proto__;
return (require(14219) /* metro dependency 14219: MFA */).trySubmit(a0, require);
}
+26
View File
@@ -0,0 +1,26 @@
/* Metro module 14209; source: modules/mfa/MFAConstants.tsx; dependencies: [1244, 2] */
function _fun107456(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107456, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14406:6, offset: 0x022fd24d, size: 176 bytes, params: 8, frame: 18
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object2 = {};
Object.defineProperty(object2, 'webauthn', {get: function() {
return require(dependencyMap[0]).intl.string(require(dependencyMap[0]).t.gTH4Dp);
}, set: undefined, enumerable: true, configurable: true});
Object.defineProperty(object2, 'totp', {get: function() {
return require(dependencyMap[0]).intl.string(require(dependencyMap[0]).t.nXKmyf);
}, set: undefined, enumerable: true, configurable: true});
Object.defineProperty(object2, 'sms', {get: function() {
return require(dependencyMap[0]).intl.string(require(dependencyMap[0]).t.ZbVwZW);
}, set: undefined, enumerable: true, configurable: true});
Object.defineProperty(object2, 'password', {get: function() {
return require(dependencyMap[0]).intl.string(require(dependencyMap[0]).t['8F6hKS']);
}, set: undefined, enumerable: true, configurable: true});
Object.defineProperty(object2, 'backup', {get: function() {
return require(dependencyMap[0]).intl.string(require(dependencyMap[0]).t.vhSRKf);
}, set: undefined, enumerable: true, configurable: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/MFAConstants.tsx');
exports.SELECT_NAMES = object2;
}
+263
View File
@@ -0,0 +1,263 @@
/* Metro module 14210; source: modules/mfa/native/MFAModal.tsx; dependencies: [5, 31, 27, 33, 8980, 5080, 1244, 14211, 5277, 8160, 5282, 14212, 14213, 14218, 14221, 14222, 14223, 5280, 4496, 2] */
function _fun107462(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107462, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:6, offset: 0x022fd438, size: 234 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = MFAModal;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const value = require(27) /* metro dependency 27 */;
const env0_5 = value.Keyboard;
const LogBox = value.LogBox;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
LogBox.ignoreLogs(['Non-serializable values were found in the navigation state']);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/MFAModal.tsx');
exports.MFAModal = closure;
exports.openMFAModal = openMFAModal_107480;
}
function MFAModal(a0) { // fn#107463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:264, offset: 0x022fd522, size: 386 bytes, params: 2, frame: 23
const mfaChallenge = a0.mfaChallenge;
const finish = a0.finish;
const cancel = a0.cancel;
const handleOnClose = a0.handleOnClose;
let ignoreKeyboard = a0.ignoreKeyboard;
ignoreKeyboard = !(ignoreKeyboard === undefined) && ignoreKeyboard;
const env0_4 = ignoreKeyboard;
const object2 = {'mfaChallenge': 0, 'finish': 0, 'cancel': 0, 'handleOnClose': 0, 'ignoreKeyboard': 0};
silentSetPrototypeOf(object2, null, undefined);
const value = copyDataProperties({}, a0, object2, finish);
const value3 = env0_4.useMemo(_fun107464, [mfaChallenge]);
const value5 = env0_4.useCallback(_fun107466(), [finish, value3.ticket]);
const value6 = env0_4.useCallback(_fun107470, [cancel, handleOnClose]);
const value7 = env0_4.useMemo(_fun107471, [value3, value5]);
const value8 = env0_4.useMemo(_fun107472, [value6, value3.methods, ignoreKeyboard]);
const Navigator = (require(5280) /* metro dependency 5280: NavigatorNative */).Navigator;
return (
<Navigator
screens={value8}
initialRouteStack={value7}
onWillFocus={Keyboard.dismiss}
{...value}
/>
);
}
function openMFAModal_107480(a0, a1, a2) { // fn#107480, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:2917, offset: 0x022fdf45, size: 95 bytes, params: 4, frame: 19
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).push(MFAModal, {mfaChallenge: a0, finish: a1,
cancel: a2}, env0_7);
(importDefault(4496) /* metro dependency 4496: AlertActionCreators */).close();
}
function _fun107464() { // fn#107464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:376, offset: 0x022fd6a4, size: 94 bytes, params: 1, frame: 14
var environment;
var r0;
var object2;
const value = environment.__proto__;
const hasWebAuthn = (require(8980) /* metro dependency 8980: MFAUtils */).hasWebAuthn;
const mfaChallengeBinding = mfaChallenge;
if (hasWebAuthn) {
r0 = mfaChallengeBinding;
} else {
object2 = {};
copyDataProperties(object2, mfaChallengeBinding, undefined);
object2['methods'] = mfaChallengeBinding.methods.filter(function(a0) {
return a0.type !== 'webauthn';
});
r0 = object2;
}
return r0;
}
function _fun107466() { // fn#107466, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:482, offset: 0x022fd714, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107468);
return _fun107469;
}
function _fun107470() { // fn#107470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:685, offset: 0x022fd7cf, size: 172 bytes, params: 1, frame: 16
var value2;
var cancelBinding;
var Error;
var intl;
var value;
if (handleOnClose == null) {
value2 = environment.__proto__;
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).popWithKey(env1_7);
cancelBinding = cancel;
if (cancelBinding != null) {
cancelBinding = cancel;
Error = global.Error;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
value = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.N2yb9a);
cancelBinding(new Error());
}
} else {
handleOnClose();
}
}
function _fun107471() { // fn#107471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:809, offset: 0x022fd87b, size: 161 bytes, params: 1, frame: 14
let value = environment.__proto__;
value = undefined;
const MfaScreens = (require(14211) /* metro dependency 14211: MfaStepsTypes */).MfaScreens;
const SELECT = MfaScreens.SELECT;
const property = env0_5.methods[0];
const type = property == null ? value : property.type;
return value === type ? [{name: SELECT, params: {mfaChallenge: env0_5, finish: env0_6}}] : [{name: type,
params: {mfaChallenge: env0_5, finish: env0_6}}];
}
function _fun107472() { // fn#107472, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:1015, offset: 0x022fd91c, size: 1156 bytes, params: 1, frame: 30
var r20;
var r15;
var moduleValue3;
var moduleValue5;
var moduleValue7;
var moduleValue9;
const closure = headerRight_107473;
const object9 = {'fullscreen': true, 'ignoreKeyboard': null, 'headerTitle': ''};
object9.ignoreKeyboard = ignoreKeyboard;
const object10 = {};
const value3 = undefined;
const MfaScreens = (require(14211) /* metro dependency 14211: MfaStepsTypes */).MfaScreens;
const SELECT = MfaScreens.SELECT;
const object11 = {};
copyDataProperties(object11, object9, r20);
object11['headerLeft'] = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
object11['headerRight'] = closure;
object11['render'] = render_107474;
object10[SELECT] = object11;
const WEBAUTHN = MfaScreens.WEBAUTHN;
const object12 = {};
copyDataProperties(object12, object9, r20);
let property = env0_5.methods[0];
if ((property == null ? value3 : property.type) === 'webauthn') {
moduleValue3 = require(5282) /* metro dependency 5282: NavigatorHeaderNative */;
r15 = moduleValue3.getHeaderCloseButton(env0_7);
r20 = moduleValue3;
} else {
r15 = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
}
object12['headerLeft'] = r15;
property = env0_5.methods[0];
object12['headerRight'] = (property == null ? value3 : property.type) === 'webauthn' ? value3 : closure;
object12['render'] = render_107475;
object10[WEBAUTHN] = object12;
const TOTP = MfaScreens.TOTP;
const object13 = {};
copyDataProperties(object13, object9, r20);
property = env0_5.methods[0];
if ((property == null ? value3 : property.type) === 'totp') {
moduleValue5 = require(5282) /* metro dependency 5282: NavigatorHeaderNative */;
r15 = moduleValue5.getHeaderCloseButton(env0_7);
r20 = moduleValue5;
} else {
r15 = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
}
object13['headerLeft'] = r15;
property = env0_5.methods[0];
object13['headerRight'] = (property == null ? value3 : property.type) === 'totp' ? value3 : closure;
object13['render'] = render_107476;
object10[TOTP] = object13;
const BACKUP = MfaScreens.BACKUP;
const object14 = {};
copyDataProperties(object14, object9, r20);
property = env0_5.methods[0];
if ((property == null ? value3 : property.type) === 'backup') {
moduleValue7 = require(5282) /* metro dependency 5282: NavigatorHeaderNative */;
r15 = moduleValue7.getHeaderCloseButton(env0_7);
r20 = moduleValue7;
} else {
r15 = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
}
object14['headerLeft'] = r15;
property = env0_5.methods[0];
object14['headerRight'] = (property == null ? value3 : property.type) === 'backup' ? value3 : closure;
object14['render'] = render_107477;
object10[BACKUP] = object14;
const SMS = MfaScreens.SMS;
const object15 = {};
copyDataProperties(object15, object9, r20);
property = env0_5.methods[0];
if ((property == null ? value3 : property.type) === 'sms') {
moduleValue9 = require(5282) /* metro dependency 5282: NavigatorHeaderNative */;
r15 = moduleValue9.getHeaderCloseButton(env0_7);
r20 = moduleValue9;
} else {
r15 = (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
}
object15['headerLeft'] = r15;
property = env0_5.methods[0];
object15['headerRight'] = (property == null ? value3 : property.type) === 'sms' ? value3 : closure;
object15['render'] = render_107478;
object10[SMS] = object15;
const PASSWORD = MfaScreens.PASSWORD;
const object16 = {};
copyDataProperties(object16, object9, r20);
property = env0_5.methods[0];
object16['headerLeft'] = (property == null ? value3 : property.type) === 'password' ? (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderCloseButton(env0_7) : (require(5282) /* metro dependency 5282: NavigatorHeaderNative */).getHeaderBackButton();
property = env0_5.methods[0];
object16['headerRight'] = (property == null ? value3 : property.type) === 'password' ? value3 : closure;
object16['render'] = render_107479;
object10[PASSWORD] = object16;
return object10;
}
async function _fun107468({mfaType, data}) { // fn#107468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:502, offset: 0x022fd74c, size: 131 bytes, params: 2, frame: 16
if (true) {
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
await importDefault({mfaType: mfaType, data: data, ticket: Keyboard.ticket});
if (false) {
return undefined;
}
value = environment.__proto__.__proto__.__proto__;
env3_1(env3_2[5]).popWithKey(env3_7);
}
}
function headerRight_107473() { // fn#107473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:1056, offset: 0x022fdda0, size: 127 bytes, params: 1, frame: 19
const HeaderActionButton = (require(5277) /* metro dependency 5277: HeaderActionButtonNative */).HeaderActionButton;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return (
<HeaderActionButton
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq)}
onPress={env1_7}
source={importDefault(8160) /* metro dependency 8160 */}
/>
);
}
function render_107474(a0) { // fn#107474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:1338, offset: 0x022fde1f, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14212) /* metro dependency 14212: SelectScreen */);
}
function render_107475(a0) { // fn#107475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:1614, offset: 0x022fde50, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14213) /* metro dependency 14213: WebAuthnScreen */);
}
function render_107476(a0) { // fn#107476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:1878, offset: 0x022fde81, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14218) /* metro dependency 14218: TotpScreen */);
}
function render_107477(a0) { // fn#107477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:2148, offset: 0x022fdeb2, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14221) /* metro dependency 14221: BackupScreen */);
}
function render_107478(a0) { // fn#107478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:2409, offset: 0x022fdee3, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14222) /* metro dependency 14222: SmsScreen */);
}
function render_107479(a0) { // fn#107479, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14407:2685, offset: 0x022fdf14, size: 49 bytes, params: 2, frame: 14
const value = environment.__proto__.__proto__;
return ((Component) => <Component {...a0} />)(importDefault(14223) /* metro dependency 14223: PasswordScreen */);
}
@@ -0,0 +1,51 @@
/* Metro module 14215; source: modules/mfa/native/MfaScreenUtils.tsx; dependencies: [4501, 5314, 697, 2] */
function _fun107501(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107501, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14412:6, offset: 0x022fede9, size: 131 bytes, params: 8, frame: 18
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object2 = {};
object2.useScreenStyles = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun107502);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/MfaScreenUtils.tsx');
exports.default = object2;
}
function _fun107502(a0) { // fn#107502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14412:137, offset: 0x022fee6c, size: 536 bytes, params: 2, frame: 19
const object3 = {};
const object6 = {};
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
object6.marginTop = a0 ? NAV_BAR_HEIGHT : NAV_BAR_HEIGHT - (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).STATUS_BAR_HEIGHT;
let space = (importDefault(697) /* metro dependency 697: native */).space;
object6.marginLeft = a0 ? space.PX_24 : space.PX_16;
space = (importDefault(697) /* metro dependency 697: native */).space;
object6.marginRight = a0 ? space.PX_24 : space.PX_16;
space = (importDefault(697) /* metro dependency 697: native */).space;
object6.paddingBottom = a0 ? space.PX_24 : space.PX_16;
object6.flex = 1;
object6.flexDirection = 'column';
object6.justifyContent = 'space-between';
object6.alignItems = 'stretch';
object3.contentContainer = object6;
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.mfaContainerHeader = {'flexDirection': 'column', 'alignItems': 'center', paddingBottom: PX_24};
const object7 = {};
const value3 = 0;
const PX_32 = a0 ? value3 : (importDefault(697) /* metro dependency 697: native */).space.PX_32;
object7.marginHorizontal = PX_32;
const PX_12 = a0 ? value3 : (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object7.marginTop = PX_12;
object7.textAlign = 'center';
object3.mfaContainerHeaderText = object7;
object3.inputContainer = {'flexDirection': 'column', 'alignSelf': 'stretch'};
object3.smsContainer = {'flexDirection': 'column', 'alignSelf': 'stretch'};
object3.smsInput = {'flexDirection': 'row', 'alignSelf': 'stretch'};
const object8 = {};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object8.backgroundColor = BACKGROUND_SURFACE_HIGH;
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
object3.radioItem = object8;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.submit = {paddingTop: PX_24};
return object3;
}
@@ -0,0 +1,9 @@
/* Metro module 14211; source: modules/mfa/native/MfaStepsTypes.tsx; dependencies: [2] */
function _fun107481(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14408:6, offset: 0x022fdfa4, size: 140 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/MfaStepsTypes.tsx');
exports.MfaScreens = {BACKUP: 'backup', PASSWORD: 'password', SELECT: 'select', SMS: 'sms', TOTP: 'totp',
WEBAUTHN: 'webauthn'};
}
@@ -0,0 +1,28 @@
/* Metro module 14216; source: modules/mfa/native/components/BackButton.tsx; dependencies: [33, 1484, 14217, 1244, 14211, 2] */
function _fun107503(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14413:6, offset: 0x022ff084, size: 123 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/components/BackButton.tsx');
exports.default = BackButton;
}
function BackButton({props}) { // fn#107504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14413:198, offset: 0x022ff0ff, size: 155 bytes, params: 2, frame: 19
const env0_1 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const button = importDefault(14217) /* metro dependency 14217: button */;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const Tot4EC = (require(1244) /* metro dependency 1244: indexNative */).t.Tot4EC;
return ((Component) => <Component variant="secondary" text={Reflect.apply(string, intl,
[Tot4EC])} onPress={onPress_107505} />)(button);
}
function BackButtonOnPress() { // fn#107505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14413:348, owner: BackButton.onPress, offset: 0x022ff19a, size: 61 bytes, params: 1, frame: 15
const binding = env0_1;
const push = binding.push;
const MfaScreens = (require(14211) /* metro dependency 14211: MfaStepsTypes */).MfaScreens;
const SELECT = MfaScreens.SELECT;
Reflect.apply(push, binding, [SELECT, props]);
}
@@ -0,0 +1,115 @@
/* Metro module 14220; source: modules/mfa/native/components/ClipboardCopyInput.tsx; dependencies: [5, 31, 27, 7030, 661, 33, 4501, 566, 8994, 5459, 6797, 7981, 2] */
function _fun107527(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107527, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:6, offset: 0x022ffaad, size: 264 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const appStateStore = importDefault(7030) /* metro dependency 7030: AppStateStore */;
const env0_7 = (require(661) /* metro dependency 661: Constants */).AppStates;
const env0_8 = (require(33) /* metro dependency 33 */).jsx;
const env0_9 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({inputContainer: {'flexDirection': 'column',
'alignSelf': 'stretch'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/components/ClipboardCopyInput.tsx');
exports.default = ClipboardCopyInput;
}
function ClipboardCopyInput({label, placeholder, isValidClipboardCode, maxLength, onChangeCode, error, textContentType, autoComplete, keyboardType, isDisabled, autoFocus}) { // fn#107528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:358, offset: 0x022ffbb5, size: 403 bytes, params: 2, frame: 32
autoFocus = autoFocus === undefined || autoFocus;
const styles = useStyles();
const binding = env0_4;
let env0_0 = binding.useRef(null);
const value2 = binding.useRef(null);
binding.useEffect(function() {
var env0_0 = _fun107531;
if (state === AppStates.ACTIVE) {
_fun107536();
}
}, [(require(566) /* metro dependency 566: flux */).useStateFromStores([AppStateStore], function() {
return AppStateStore.getState();
}), (importDefault(8994) /* metro dependency 8994: useStableCallback */)(isValidClipboardCode),
(importDefault(8994) /* metro dependency 8994: useStableCallback */)(onChangeCode)]);
const TextInput = (require(7981) /* metro dependency 7981: TextInputNative */).TextInput;
return (
<View style={styles.inputContainer}>
<TextInput
ref={value2}
autoFocus={autoFocus}
autoCorrect={false}
autoCapitalize="none"
errorMessage={error}
maxLength={maxLength}
onChange={onChangeCode}
label={label}
accessibilityLabel={label}
placeholder={placeholder}
isClearable
textContentType={textContentType}
autoComplete={autoComplete}
keyboardType={keyboardType}
isDisabled={isDisabled}
/>
</View>
);
}
function _fun107530() { // fn#107530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:688, offset: 0x022ffd48, size: 54 bytes, params: 1, frame: 10
const stateBinding = state;
const ACTIVE = AppStates.ACTIVE;
if (stateBinding === ACTIVE) {
(function() {
return _run.apply(this, arguments);
})();
}
}
function _run() { // fn#107531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:693, offset: 0x022ffd7e, size: 53 bytes, params: 1, frame: 13
var environment;
const value = environment.__proto__.__proto__;
return env2_3(_fun107533).apply(this, arguments);
}
function* _fun107533() { // fn#107533, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:724, offset: 0x022ffdbe, size: 240 bytes, params: 1, frame: 16
var environment;
if (true) {
var Promise = global.Promise;
var promise = new Promise(function(a0) {
return (0, global.setTimeout)(a0, 500);
});
yield promise;
if (false) {
return undefined;
}
Promise = global.Promise;
promise = new Promise(_fun107535);
yield promise;
if (false) {
return undefined;
}
promise = environment.__proto__.__proto__.__proto__.__proto__;
promise = env4_0(env4_2[10]);
var getString = promise.getString;
yield Reflect.apply(getString, promise, []);
if (false) {
return undefined;
}
promise = promise.trim();
var current = require.current;
if (promise !== current) {
require.current = promise;
if (env3_3(promise)) {
current = importDefault.current;
if (current != null) {
current.setText(promise);
}
}
}
}
}
function _fun107535(a0) { // fn#107535, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14417:803, offset: 0x022ffec9, size: 41 bytes, params: 2, frame: 11
const value = environment.__proto__.__proto__.__proto__.__proto__.__proto__;
return env5_0(env5_2[9]).runAfterInteractions(a0);
}
@@ -0,0 +1,17 @@
/* Metro module 13262; source: modules/mfa/native/components/KeyImage.tsx; dependencies: [27, 33, 4501, 13263, 2] */
function _fun101130(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#101130, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13452:6, offset: 0x022091f3, size: 187 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(27) /* metro dependency 27 */).Image;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
const env0_4 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({icon: {'width': 128,
'height': 128, 'marginBottom': 8}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/components/KeyImage.tsx');
exports.KeyImage = KeyImage;
}
function KeyImage() { // fn#101131, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13452:282, offset: 0x022092ae, size: 64 bytes, params: 1, frame: 17
const styles = useStyles();
return <Image source={importDefault(13263) /* metro dependency 13263 */} style={styles.icon} />;
}
@@ -0,0 +1,16 @@
/* Metro module 14217; source: modules/mfa/native/components/button.tsx; dependencies: [31, 33, 4578, 2] */
function _fun107506(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14414:6, offset: 0x022ff1d7, size: 131 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_2 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/components/button.tsx');
exports.default = MFAButton;
}
function MFAButton(a0) { // fn#107507, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14414:202, offset: 0x022ff25a, size: 62 bytes, params: 2, frame: 14
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
return <Button size="lg" {...a0} />;
}
@@ -0,0 +1,229 @@
/* Metro module 14221; source: modules/mfa/native/screens/BackupScreen.tsx; dependencies: [5, 57, 31, 33, 14219, 4573, 1244, 8973, 14214, 14220, 14217, 2] */
function _fun107537(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:6, offset: 0x022ffef2, size: 215 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsxs;
const env0_7 = value.jsx;
const env0_8 = value.Fragment;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/BackupScreen.tsx');
exports.default = BackupScreen;
}
function isValidClipboardCode_107538(a0) { // fn#107538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:166, offset: 0x022fffc9, size: 80 bytes, params: 2, frame: 15
const length = a0.length;
const BACKUP_CODE_MIN_LENGTH = (require(14219) /* metro dependency 14219: MFA */).BACKUP_CODE_MIN_LENGTH;
return length >= BACKUP_CODE_MIN_LENGTH && a0.length <= (require(14219) /* metro dependency 14219: MFA */).BACKUP_CODE_MAX_LENGTH;
}
function getFormattedExplainer(a0) { // fn#107539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:289, offset: 0x02300019, size: 328 bytes, params: 2, frame: 21
var object;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var items2;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
if (a0 > 0) {
object = {variant: 'text-md/normal', children: [intl.string(t.RRtlLg), intl.format(t.tsWkAE, {countdown: a0})]};
} else {
string = intl.string;
items2 = [Reflect.apply(string, intl, [t.RRtlLg])];
string = intl.string;
items2[1] = Reflect.apply(string, intl, [t.v3a6Pd]);
object = {variant: 'text-md/normal', children: items2};
}
return <Text {...object} />;
}
function BackupScreen({mfaChallenge, finish}) { // fn#107540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:680, offset: 0x02300161, size: 852 bytes, params: 2, frame: 37
var object2;
const value2 = (importDefault(8973) /* metro dependency 8973: useWideAuthView */)();
const binding = env0_5;
let useState = binding.useState;
const value3 = Reflect.apply(useState, binding, [false]);
const binding2 = env0_4;
const value4 = binding2(value3, 2);
const property = value4[0];
const env0_1 = value4[1];
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, ['']), 2);
const property2 = value5[0];
const env0_3 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, [undefined]), 2);
const property3 = value6[0];
var env0_4 = value6[1];
useState = binding.useState;
const value7 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property4 = value7[0];
var env0_5 = value7[1];
useState = binding.useState;
const value8 = binding2(Reflect.apply(useState, binding, [10]), 2);
const property5 = value8[0];
const env0_7 = value8[1];
binding.useEffect(_fun107541, [property5]);
const env0_8 = binding.useCallback(_fun107545(), [finish]);
const MfaOptionScreen = importDefault(14214) /* metro dependency 14214: MfaOptionScreen */;
object2 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const B2T1HD = (require(1244) /* metro dependency 1244: indexNative */).t.B2T1HD;
object2.headerText = Reflect.apply(string, intl, [B2T1HD]);
object2.subtitle = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.c5J7O0);
const jsxRuntimeEnv0_8Binding = jsxRuntimeEnv0_8;
const formattedExplainer = getFormattedExplainer(property5);
const ClipboardCopyInput = importDefault(14220) /* metro dependency 14220: ClipboardCopyInput */;
const clipboardCopyInputProps = {label: intl.string((require(1244) /* metro dependency 1244: indexNative */).t['C/ZAw/']),
placeholder: intl.string((require(1244) /* metro dependency 1244: indexNative */).t.fZSi1D),
isValidClipboardCode: isValidClipboardCode_107538};
const BACKUP_CODE_MAX_LENGTH = (require(14219) /* metro dependency 14219: MFA */).BACKUP_CODE_MAX_LENGTH;
clipboardCopyInputProps.maxLength = BACKUP_CODE_MAX_LENGTH;
clipboardCopyInputProps.onChangeCode = onChangeCode;
clipboardCopyInputProps.error = property3;
clipboardCopyInputProps.isDisabled = property || property4;
clipboardCopyInputProps.autoFocus = !value2;
object2.input = <>{formattedExplainer}<ClipboardCopyInput {...clipboardCopyInputProps} /></>;
const defaultImport3 = importDefault(14217) /* metro dependency 14217: button */;
const defaultImport3Props = {variant: 'primary',
text: intl.string((require(1244) /* metro dependency 1244: indexNative */).t.geKm7t),
loading: property || property4, onPress: onPress_107550};
let r9 = property || property4;
r9 = !r9 ? property2.length < (require(14219) /* metro dependency 14219: MFA */).BACKUP_CODE_MIN_LENGTH : r9;
r9 = !r9 ? property5 > 0 : r9;
defaultImport3Props.disabled = r9;
object2.submit = ((Component) => <Component {...defaultImport3Props} />)(defaultImport3);
object2.screenProps = {mfaChallenge: mfaChallenge, finish: finish};
object2.mfaMethod = 'backup';
return <MfaOptionScreen {...object2} />;
}
function _fun107541() { // fn#107541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:962, offset: 0x023004b5, size: 61 bytes, params: 1, frame: 14
if (env0_6 <= 0) {
return undefined;
}
const env0_0 = global.setTimeout(_fun107542, 1000);
return _fun107544;
}
function _fun107545() { // fn#107545, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:1075, offset: 0x0230050b, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107547);
return _fun107548;
}
function onChangeCode(a0) { // fn#107549, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:1685, owner: BackupScreen.onChangeCode, offset: 0x023005e8, size: 28 bytes, params: 2, frame: 12
env0_3(a0);
env0_4(undefined);
}
function BackupScreenOnPress() { // fn#107550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:1856, owner: BackupScreen.onPress, offset: 0x02300604, size: 20 bytes, params: 1, frame: 11
return env0_8(env0_2);
}
function _fun107542() { // fn#107542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:997, offset: 0x023004f2, size: 25 bytes, params: 1, frame: 11
env1_7(function(a0) {
return a0 - 1;
});
}
function* _fun107547(a0) { // fn#107547, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14418:1095, offset: 0x0230053a, size: 174 bytes, params: 2, frame: 19
var message;
var r3;
var object2;
var moduleValue;
var value4;
var value5;
var binding;
var error;
var body;
let value = undefined;
if (true) {
value = undefined;
env2_4(value);
importDefault(true);
reducibleJoin3: while (true) {
reduciblePort20: while (true) {
exceptionLanding14: while (true) {
try {
} catch (error) {
break exceptionLanding14;
}
break reducibleJoin3;
}
binding = env2_4;
reducibleJoin17: while (true) {
if (error == null) {
message = value;
break reducibleJoin17;
}
body = error.body;
if (body == null) {
message = value;
break reducibleJoin17;
}
message = body.message;
break reducibleJoin17;
}
reducibleJoin19: while (true) {
if (message != null) {
r3 = message;
break reducibleJoin19;
}
message = error.message;
r3 = message;
break reducibleJoin19;
}
binding(r3);
break reduciblePort20;
}
importDefault(false);
return value;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding14;
}
try {
object2.mfaType = 'backup';
} catch (error) {
break exceptionLanding14;
}
try {
object2.data = a0;
} catch (error) {
break exceptionLanding14;
}
try {
moduleValue = require(object2);
} catch (error) {
break exceptionLanding14;
}
yield moduleValue;
try {
value4 = undefined;
value5 = false;
} catch (error) {
break exceptionLanding14;
}
if (value5) {
return value4;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding14;
}
try {
binding(true);
} catch (error) {
break exceptionLanding14;
}
importDefault(false);
}
return value;
}
@@ -0,0 +1,38 @@
/* Metro module 14214; source: modules/mfa/native/screens/MfaOptionScreen.tsx; dependencies: [27, 33, 8973, 14215, 6618, 4572, 4573, 14216, 8584, 2] */
function _fun107499(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14411:6, offset: 0x022fea71, size: 164 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(27) /* metro dependency 27 */).ScrollView;
const value = require(33) /* metro dependency 33 */;
const env0_4 = value.jsx;
const env0_5 = value.jsxs;
const env0_6 = value.Fragment;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/MfaOptionScreen.tsx');
exports.default = MFAOptionScreen;
}
function MFAOptionScreen({headerText, headerImage, subtitle, input, submit, screenProps, mfaMethod, error, content}) { // fn#107500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14411:247, offset: 0x022feb15, size: 724 bytes, params: 2, frame: 36
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const value3 = (importDefault(8973) /* metro dependency 8973: useWideAuthView */)();
const value4 = (importDefault(14215) /* metro dependency 14215: MfaScreenUtils */).useScreenStyles(value3);
const value5 = screenProps.mfaChallenge.methods[0]?.type === mfaMethod;
const SafeAreaPaddingView = (require(6618) /* metro dependency 6618: SafeAreaView */).SafeAreaPaddingView;
const value6 = !value3;
const contentContainer = value4.contentContainer;
const Stack = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const Stack2 = (require(4572) /* metro dependency 4572: StackNative */).Stack;
const mfaContainerHeader = value4.mfaContainerHeader;
const items2 = [headerImage != null && headerImage];
items2[1] = <Text variant="heading-xl/extrabold" style={value4.mfaContainerHeaderText}>{headerText}</Text>;
items2[2] = subtitle != null && <Text variant="heading-sm/normal" color="text-default">{subtitle}</Text>;
items2[3] = error != null && <Text variant="text-sm/normal" color="text-feedback-critical">{error}</Text>;
const safeAreaPaddingView = <SafeAreaPaddingView bottom={value6} top={value6} style={contentContainer}><Stack><Stack2 style={mfaContainerHeader} spacing={4}>{items2}</Stack2>{input}</Stack>{content}<Stack style={value4.submit}>{submit}{value5 && ((Component) => <Component props={screenProps} />)(importDefault(14216) /* metro dependency 14216: BackButton */)}</Stack></SafeAreaPaddingView>;
return (
<>
{((Component) => <Component backgroundImageCover={false} />)(importDefault(8584) /* metro dependency 8584: BackgroundImage */)}
{value3 ? <ScrollView keyboardShouldPersistTaps="handled">{safeAreaPaddingView}</ScrollView> : safeAreaPaddingView}
</>
);
}
@@ -0,0 +1,159 @@
/* Metro module 14223; source: modules/mfa/native/screens/PasswordScreen.tsx; dependencies: [5, 57, 31, 27, 33, 8973, 14215, 14214, 1244, 7981, 14217, 2] */
function _fun107565(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14420:6, offset: 0x02300ebf, size: 195 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const env0_7 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/PasswordScreen.tsx');
exports.default = PasswordScreen;
}
function PasswordScreen({mfaChallenge, finish}) { // fn#107566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14420:245, offset: 0x02300f82, size: 670 bytes, params: 2, frame: 35
const value3 = (importDefault(14215) /* metro dependency 14215: MfaScreenUtils */).useScreenStyles((importDefault(8973) /* metro dependency 8973: useWideAuthView */)());
const binding = env0_5;
let useState = binding.useState;
const value4 = Reflect.apply(useState, binding, [null]);
const binding2 = env0_4;
const value5 = binding2(value4, 2);
const property = value5[0];
const env0_1 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, ['']), 2);
const property2 = value6[0];
const property3 = value6[1];
useState = binding.useState;
const value7 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property4 = value7[0];
const env0_3 = value7[1];
useState = binding.useState;
const value8 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property5 = value8[0];
var env0_4 = value8[1];
const value9 = _fun107567();
const MfaOptionScreen = importDefault(14214) /* metro dependency 14214: MfaOptionScreen */;
const object2 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const Rw1XuM = (require(1244) /* metro dependency 1244: indexNative */).t.Rw1XuM;
object2.headerText = Reflect.apply(string, intl, [Rw1XuM]);
const inputContainer = value3.inputContainer;
const TextInput = (require(7981) /* metro dependency 7981: TextInputNative */).TextInput;
object2.input = <View style={inputContainer}><TextInput autoFocus required textContentType="password" label={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['CIGa+7'])} placeholder={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['CIGa+7'])} autoComplete="current-password" errorMessage={property} returnKeyType="done" onChange={property3} onSubmitEditing={value9} isDisabled={property4 || property5} isClearable secureTextEntry /></View>;
const defaultImport3 = importDefault(14217) /* metro dependency 14217: button */;
string = intl.string;
const geKm7t = (require(1244) /* metro dependency 1244: indexNative */).t.geKm7t;
let r13 = property4 || property5;
r13 = !r13 ? property2.length === 0 : r13;
object2.submit = ((Component) => <Component text={Reflect.apply(string, intl,
[geKm7t])} disabled={r13} loading={property4 || property5} onPress={value9} />)(defaultImport3);
object2.screenProps = {mfaChallenge: mfaChallenge, finish: finish};
object2.mfaMethod = 'password';
return <MfaOptionScreen {...object2} />;
}
function _fun107567() { // fn#107567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14420:505, offset: 0x02301220, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107569);
return _fun107570;
}
function* _fun107569() { // fn#107569, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14420:525, offset: 0x0230124f, size: 163 bytes, params: 1, frame: 19
var message;
var r3;
var object2;
var moduleValue;
var value4;
var value5;
var binding;
var error;
var body;
let value = undefined;
if (true) {
value = undefined;
importDefault(null);
env2_3(true);
reducibleJoin3: while (true) {
reduciblePort20: while (true) {
exceptionLanding15: while (true) {
try {
} catch (error) {
break exceptionLanding15;
}
break reducibleJoin3;
}
body = error.body;
reducibleJoin17: while (true) {
if (body == null) {
message = value;
break reducibleJoin17;
}
message = body.message;
break reducibleJoin17;
}
reducibleJoin19: while (true) {
if (message != null) {
r3 = message;
break reducibleJoin19;
}
message = error.message;
r3 = message;
break reducibleJoin19;
}
importDefault(r3);
break reduciblePort20;
}
env2_3(false);
return value;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding15;
}
try {
object2.mfaType = 'password';
} catch (error) {
break exceptionLanding15;
}
try {
} catch (error) {
break exceptionLanding15;
}
try {
object2.data = dependencyMap;
} catch (error) {
break exceptionLanding15;
}
try {
moduleValue = require(object2);
} catch (error) {
break exceptionLanding15;
}
yield moduleValue;
try {
value4 = undefined;
value5 = false;
} catch (error) {
break exceptionLanding15;
}
if (value5) {
return value4;
}
try {
binding = env2_4;
} catch (error) {
break exceptionLanding15;
}
try {
binding(true);
} catch (error) {
break exceptionLanding15;
}
env2_3(false);
}
return value;
}
@@ -0,0 +1,70 @@
/* Metro module 14212; source: modules/mfa/native/screens/SelectScreen.tsx; dependencies: [31, 27, 14209, 33, 4501, 5314, 7975, 8973, 1484, 6618, 4573, 1244, 2] */
function _fun107482(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:6, offset: 0x022fe030, size: 223 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const env0_4 = (require(14209) /* metro dependency 14209: MFAConstants */).SELECT_NAMES;
const value = require(33) /* metro dependency 33 */;
const env0_5 = value.jsx;
const env0_6 = value.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun107483);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/SelectScreen.tsx');
exports.default = SelectScreen;
}
function _fun107483(a0) { // fn#107483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:193, offset: 0x022fe10f, size: 108 bytes, params: 2, frame: 16
const NAV_BAR_HEIGHT = (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).NAV_BAR_HEIGHT;
return {container: {'marginLeft': 16, 'marginRight': 16}, selectContainer: {'marginTop': null, 'marginLeft': 16,
'marginRight': 16, 'display': 'flex', 'alignItems': 'center',
marginTop: a0 ? NAV_BAR_HEIGHT : NAV_BAR_HEIGHT - (require(5314) /* metro dependency 5314: NavigatorConstantsNative */).STATUS_BAR_HEIGHT}};
}
function SelectScreen(a0) { // fn#107484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:497, offset: 0x022fe17b, size: 412 bytes, params: 2, frame: 27
const env0_0 = a0;
const value2 = (importDefault(8973) /* metro dependency 8973: useWideAuthView */)();
const styles = useStyles(value2);
const env0_1 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const SafeAreaPaddingView = (require(6618) /* metro dependency 6618: SafeAreaView */).SafeAreaPaddingView;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const S9b9bX = (require(1244) /* metro dependency 1244: indexNative */).t.S9b9bX;
let value = <Text variant="heading-xl/extrabold">{Reflect.apply(string, intl, [S9b9bX])}</Text>;
string = intl.string;
const Jz1lXO = (require(1244) /* metro dependency 1244: indexNative */).t.Jz1lXO;
value = <View style={styles.selectContainer}>{value}<Text variant="text-sm/medium">{Reflect.apply(string, intl,
[Jz1lXO])}</Text></View>;
return (
<SafeAreaPaddingView top={!value2} style={styles.container}>
{value}
<View style={{'marginTop': 16, 'gap': 8}}>
{a0.mfaChallenge.methods.map(_fun107485)}
</View>
</SafeAreaPaddingView>
);
}
function _fun107485(a0) { // fn#107485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:947, offset: 0x022fe317, size: 34 bytes, params: 2, frame: 15
return getOptionButton(env0_0, a0, env0_1);
}
function getOptionButton(a0, a1, a2) { // fn#107486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:950, offset: 0x022fe339, size: 102 bytes, params: 4, frame: 18
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const RowButton = (require(7975) /* metro dependency 7975: RowButtonNative */).RowButton;
return (
<RowButton
label={SELECT_NAMES[a1.type]}
onPress={onPress_107487}
key={a1.type}
/>
);
}
function getOptionButtonOnPress() { // fn#107487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14409:1034, owner: getOptionButton.onPress, offset: 0x022fe39f, size: 35 bytes, params: 1, frame: 13
importDefault.push(require.type, env0_0);
}
@@ -0,0 +1,675 @@
/* Metro module 14222; source: modules/mfa/native/screens/SmsScreen.tsx; dependencies: [5, 57, 31, 27, 661, 33, 8973, 14215, 1244, 507, 14219, 14214, 7981, 4578, 14217, 2] */
function _fun107551(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:6, offset: 0x02300618, size: 226 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(27) /* metro dependency 27 */).View;
const env0_7 = (require(661) /* metro dependency 661: Constants */).Endpoints;
const value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/SmsScreen.tsx');
exports.default = SmsScreen;
}
function SmsScreen({mfaChallenge, finish}) { // fn#107552, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:281, offset: 0x023006fa, size: 972 bytes, params: 2, frame: 35
const value3 = (importDefault(14215) /* metro dependency 14215: MfaScreenUtils */).useScreenStyles((importDefault(8973) /* metro dependency 8973: useWideAuthView */)());
const binding = env0_5;
let useState = binding.useState;
const value4 = Reflect.apply(useState, binding, [null]);
const binding2 = env0_4;
const value5 = binding2(value4, 2);
const property = value5[0];
const env0_2 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property2 = value6[0];
const env0_3 = value6[1];
useState = binding.useState;
const value7 = binding2(Reflect.apply(useState, binding, ['']), 2);
const property3 = value7[0];
var env0_5 = value7[1];
useState = binding.useState;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const LQdCQE = (require(1244) /* metro dependency 1244: indexNative */).t.LQdCQE;
const value8 = binding2(Reflect.apply(useState, binding, [Reflect.apply(string, intl, [LQdCQE])]), 2);
const property4 = value8[0];
const env0_6 = value8[1];
useState = binding.useState;
const value9 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property5 = value9[0];
const env0_7 = value9[1];
binding.useEffect(_fun107553, [mfaChallenge.ticket]);
const value10 = _fun107556();
const value11 = _fun107560();
const MfaOptionScreen = importDefault(14214) /* metro dependency 14214: MfaOptionScreen */;
const mfaOptionScreenProps = {headerText: intl.string((require(1244) /* metro dependency 1244: indexNative */).t.o4JNrO),
subtitle: property4};
const inputContainer = value3.inputContainer;
const TextInput = (require(7981) /* metro dependency 7981: TextInputNative */).TextInput;
const object = {'autoFocus': true, 'autoCapitalize': 'characters', 'maxLength': null, 'autoComplete': 'sms-otp',
'textContentType': 'oneTimeCode', 'keyboardType': 'number-pad'};
const SMS_CODE_LENGTH = (require(14219) /* metro dependency 14219: MFA */).SMS_CODE_LENGTH;
object.maxLength = SMS_CODE_LENGTH;
object.onChange = value10;
object.label = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['/sHnXc']);
string = intl.string;
const HZPBOd = (require(1244) /* metro dependency 1244: indexNative */).t.HZPBOd;
object.accessibilityLabel = Reflect.apply(string, intl, [HZPBOd]);
object.placeholder = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.tARzgo);
object.errorMessage = property;
const textInput = <TextInput {...object} />;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
string = intl.string;
const WbaP3r = (require(1244) /* metro dependency 1244: indexNative */).t.WbaP3r;
mfaOptionScreenProps.input = <View style={inputContainer}>{textInput}<Button text={Reflect.apply(string, intl,
[WbaP3r])} variant="secondary" size="sm" onPress={value11} /></View>;
const defaultImport3 = importDefault(14217) /* metro dependency 14217: button */;
const defaultImport3Props = {variant: 'primary',
text: intl.string((require(1244) /* metro dependency 1244: indexNative */).t.geKm7t),
loading: property2 || property5, onPress: onPress_107564};
let r8 = property2 || property5;
r8 = !r8 ? property3.length !== (require(14219) /* metro dependency 14219: MFA */).SMS_CODE_LENGTH : r8;
defaultImport3Props.disabled = r8;
mfaOptionScreenProps.submit = ((Component) => <Component {...defaultImport3Props} />)(defaultImport3);
mfaOptionScreenProps.screenProps = {mfaChallenge: mfaChallenge, finish: finish};
mfaOptionScreenProps.mfaMethod = 'sms';
return <MfaOptionScreen {...mfaOptionScreenProps} />;
}
function _fun107553() { // fn#107553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:624, offset: 0x02300ac6, size: 144 bytes, params: 1, frame: 15
env0_2(null);
const HTTP = (require(507) /* metro dependency 507: HTTPUtils */).HTTP;
const post = HTTP.post;
const LOGIN_SMS_SEND = Endpoints.LOGIN_SMS_SEND;
let value = Reflect.apply(post, HTTP, [{url: LOGIN_SMS_SEND, body: {ticket: mfaChallenge.ticket},
oldFormErrors: true, rejectWithError: false}]);
value = value.then(_fun107554);
value.catch(_fun107555);
}
function _fun107556() { // fn#107556, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:949, offset: 0x02300bf0, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107558);
return _fun107559;
}
function _fun107560() { // fn#107560, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:1225, offset: 0x02300cf6, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107562);
return _fun107563;
}
function SmsScreenOnPress() { // fn#107564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:2380, owner: SmsScreen.onPress, offset: 0x02300eab, size: 20 bytes, params: 1, frame: 11
env0_8(env0_4);
}
function _fun107554({body}) { // fn#107554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:745, offset: 0x02300b56, size: 96 bytes, params: 2, frame: 16
const binding = env1_6;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
binding(intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['8r6h7+'],
{phoneNumber: body.phone}));
}
function _fun107555(a0) { // fn#107555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:845, offset: 0x02300bb6, size: 58 bytes, params: 2, frame: 16
const binding = env1_2;
const body = a0.body;
const value2 = undefined;
let message = body == null ? value2 : body.message;
message = message ?? a0.message;
binding(message);
env1_6(value2);
return value2;
}
function* _fun107558(a0) { // fn#107558, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:969, offset: 0x02300c1f, size: 215 bytes, params: 2, frame: 20
var message;
var r3;
var object2;
var defaultImport;
var value5;
var value6;
var error;
var body;
let value = undefined;
if (true) {
value = undefined;
env2_5(a0);
var length = a0.length;
var SMS_CODE_LENGTH = env3_0(env3_2[10]).SMS_CODE_LENGTH;
if (length === SMS_CODE_LENGTH) {
dependencyMap(null);
env2_3(true);
reducibleJoin4: while (true) {
reduciblePort20: while (true) {
exceptionLanding15: while (true) {
try {
} catch (error) {
break exceptionLanding15;
}
break reducibleJoin4;
}
body = error.body;
reducibleJoin17: while (true) {
if (body == null) {
message = value;
break reducibleJoin17;
}
message = body.message;
break reducibleJoin17;
}
reducibleJoin19: while (true) {
if (message != null) {
r3 = message;
break reducibleJoin19;
}
message = error.message;
r3 = message;
break reducibleJoin19;
}
dependencyMap(r3);
break reduciblePort20;
}
env2_3(false);
return value;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding15;
}
try {
object2.mfaType = 'sms';
} catch (error) {
break exceptionLanding15;
}
try {
object2.data = a0;
} catch (error) {
break exceptionLanding15;
}
try {
defaultImport = importDefault(object2);
} catch (error) {
break exceptionLanding15;
}
yield defaultImport;
try {
value5 = undefined;
value6 = false;
} catch (error) {
break exceptionLanding15;
}
if (value6) {
return value5;
}
try {
} catch (error) {
break exceptionLanding15;
}
try {
Endpoints(true);
} catch (error) {
break exceptionLanding15;
}
env2_3(false);
}
}
return value;
}
function* _fun107562() { // fn#107562, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14419:1245, offset: 0x02300d25, size: 390 bytes, params: 1, frame: 24
var message;
var r1;
var value;
var value2;
var value3;
var value4;
var binding;
var binding2;
var intl;
var string;
var t;
var LQdCQE;
var binding3;
var property;
var value5;
var HTTP;
var post;
var object3;
var LOGIN_SMS_SEND;
var object4;
var ticket;
var value6;
var value7;
var value8;
var binding4;
var value9;
var formatToPlainString;
var value10;
var body;
var phone;
var value11;
var error;
var value12;
var value13;
exceptionLanding61: while (true) {
value = undefined;
value2 = false;
if (value2) {
return value;
}
value = undefined;
value3 = environment.__proto__.__proto__;
dependencyMap(null);
env2_3(true);
value4 = environment.__proto__.__proto__.__proto__;
binding = env3_0;
binding2 = env3_2;
intl = binding(binding2[8]).intl;
string = intl.string;
t = binding(binding2[8]).t;
LQdCQE = t.LQdCQE;
View(Reflect.apply(string, intl, [LQdCQE]));
reducibleJoin3: while (true) {
reduciblePort60: while (true) {
exceptionLanding44: while (true) {
try {
try {
binding = env3_0;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
break reducibleJoin3;
}
try {
} catch (error) {
break exceptionLanding61;
}
try {
message = error.message;
} catch (error) {
break exceptionLanding61;
}
try {
value12 = message != null;
} catch (error) {
break exceptionLanding61;
}
if (value12) {
r1 = message;
} else {
try {
body = error.body;
} catch (error) {
break exceptionLanding61;
}
try {
value13 = body == null;
} catch (error) {
break exceptionLanding61;
}
reducibleJoin55: while (true) {
if (value13) {
message = value;
break reducibleJoin55;
}
try {
message = body.message;
} catch (error) {
break exceptionLanding61;
}
break reducibleJoin55;
}
r1 = message;
}
try {
dependencyMap(r1);
} catch (error) {
break exceptionLanding61;
}
try {
} catch (error) {
break exceptionLanding61;
}
try {
View(value);
} catch (error) {
break exceptionLanding61;
}
break reduciblePort60;
}
env2_3(false);
return value;
}
try {
try {
binding3 = env3_2;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
property = binding3[9];
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
value5 = binding(property);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
HTTP = value5.HTTP;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
post = HTTP.post;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3 = {};
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
binding = env3_7;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
LOGIN_SMS_SEND = binding.LOGIN_SMS_SEND;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3.url = LOGIN_SMS_SEND;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object4 = {};
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
ticket = require.ticket;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object4.ticket = ticket;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3.body = object4;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3.oldFormErrors = true;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3.rejectWithError = false;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
value6 = Reflect.apply(post, HTTP, [object3]);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
yield value6;
try {
try {
value7 = undefined;
value8 = false;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
if (value8) {
env2_3(false);
return value7;
}
try {
try {
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
binding = env3_0;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
binding4 = env3_2;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
property = binding4[8];
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
value9 = binding(property);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
intl = value9.intl;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
formatToPlainString = intl.formatToPlainString;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
property = binding4[8];
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
value10 = binding(property);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
t = value10.t;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
property = t['8r6h7+'];
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3 = {};
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
body = value7.body;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
phone = body.phone;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
object3.phoneNumber = phone;
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
value11 = Reflect.apply(formatToPlainString, intl, [property, object3]);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
try {
try {
View(value11);
} catch (error) {
break exceptionLanding44;
}
} catch (error) {
break exceptionLanding61;
}
env2_3(false);
return value;
}
env2_3(false);
throw error;
}
@@ -0,0 +1,186 @@
/* Metro module 14218; source: modules/mfa/native/screens/TotpScreen.tsx; dependencies: [5, 57, 31, 33, 14219, 14214, 1244, 14220, 14217, 2] */
function _fun107508(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107508, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:6, offset: 0x022ff298, size: 185 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/TotpScreen.tsx');
exports.default = TotpScreen;
}
function isValidClipboardCode(a0) { // fn#107509, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:140, offset: 0x022ff351, size: 72 bytes, params: 2, frame: 13
const length = a0.length;
const TOTP_CODE_LENGTH = (require(14219) /* metro dependency 14219: MFA */).TOTP_CODE_LENGTH;
return length === TOTP_CODE_LENGTH && RegExp('^\\d+$', '').test(a0);
}
function TotpScreen({mfaChallenge, finish}) { // fn#107510, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:318, offset: 0x022ff399, size: 691 bytes, params: 2, frame: 30
var object4;
const binding = env0_5;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [false]);
const binding2 = env0_4;
const value3 = binding2(value2, 2);
const property = value3[0];
const env0_1 = value3[1];
useState = binding.useState;
const value4 = binding2(Reflect.apply(useState, binding, ['']), 2);
const property2 = value4[0];
const env0_3 = value4[1];
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, [undefined]), 2);
const property3 = value5[0];
var env0_4 = value5[1];
useState = binding.useState;
const value6 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property4 = value6[0];
var env0_5 = value6[1];
const value8 = binding.useCallback(_fun107511(), [finish]);
const MfaOptionScreen = importDefault(14214) /* metro dependency 14214: MfaOptionScreen */;
object4 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
object4.headerText = Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t.uc00u5]);
const ClipboardCopyInput = importDefault(14220) /* metro dependency 14220: ClipboardCopyInput */;
const object3 = {};
string = intl.string;
const HZPBOd = (require(1244) /* metro dependency 1244: indexNative */).t.HZPBOd;
object3.label = Reflect.apply(string, intl, [HZPBOd]);
object3.placeholder = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.tARzgo);
object3.isValidClipboardCode = isValidClipboardCode;
const TOTP_CODE_LENGTH = (require(14219) /* metro dependency 14219: MFA */).TOTP_CODE_LENGTH;
object3.maxLength = TOTP_CODE_LENGTH;
object3.onChangeCode = value8;
object3.error = property3;
object3.isDisabled = property || property4;
object3.textContentType = 'oneTimeCode';
object3.autoComplete = 'one-time-code';
object3.keyboardType = 'number-pad';
object4.input = <ClipboardCopyInput {...object3} />;
const defaultImport3 = importDefault(14217) /* metro dependency 14217: button */;
const defaultImport3Props = {variant: 'primary',
text: intl.string((require(1244) /* metro dependency 1244: indexNative */).t.geKm7t),
loading: property || property4, onPress: onPress_107515};
let r9 = property || property4;
r9 = !r9 ? property2.length !== (require(14219) /* metro dependency 14219: MFA */).TOTP_CODE_LENGTH : r9;
defaultImport3Props.disabled = r9;
object4.submit = ((Component) => <Component {...defaultImport3Props} />)(defaultImport3);
object4.screenProps = {mfaChallenge: mfaChallenge, finish: finish};
object4.mfaMethod = 'totp';
return <MfaOptionScreen {...object4} />;
}
function _fun107511() { // fn#107511, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:549, offset: 0x022ff64c, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun107513);
return _fun107514;
}
function TotpScreenOnPress() { // fn#107515, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:1308, owner: TotpScreen.onPress, offset: 0x022ff747, size: 20 bytes, params: 1, frame: 11
env0_6(env0_2);
}
function* _fun107513(a0) { // fn#107513, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14415:569, offset: 0x022ff67b, size: 204 bytes, params: 2, frame: 19
var message;
var r3;
var object2;
var moduleValue;
var value5;
var value6;
var binding;
var error;
var body;
let value = undefined;
if (true) {
value = undefined;
env2_3(a0);
if (env3_7(a0)) {
env2_4(value);
importDefault(true);
reducibleJoin4: while (true) {
reduciblePort21: while (true) {
exceptionLanding15: while (true) {
try {
} catch (error) {
break exceptionLanding15;
}
break reducibleJoin4;
}
binding = env2_4;
reducibleJoin18: while (true) {
if (error == null) {
message = value;
break reducibleJoin18;
}
body = error.body;
if (body == null) {
message = value;
break reducibleJoin18;
}
message = body.message;
break reducibleJoin18;
}
reducibleJoin20: while (true) {
if (message != null) {
r3 = message;
break reducibleJoin20;
}
message = error.message;
r3 = message;
break reducibleJoin20;
}
binding(r3);
break reduciblePort21;
}
importDefault(false);
return value;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding15;
}
try {
object2.mfaType = 'totp';
} catch (error) {
break exceptionLanding15;
}
try {
object2.data = a0;
} catch (error) {
break exceptionLanding15;
}
try {
moduleValue = require(object2);
} catch (error) {
break exceptionLanding15;
}
yield moduleValue;
try {
value5 = undefined;
value6 = false;
} catch (error) {
break exceptionLanding15;
}
if (value6) {
return value5;
}
try {
binding = env2_5;
} catch (error) {
break exceptionLanding15;
}
try {
binding(true);
} catch (error) {
break exceptionLanding15;
}
importDefault(false);
}
}
return value;
}
@@ -0,0 +1,157 @@
/* Metro module 14213; source: modules/mfa/native/screens/WebAuthnScreen.tsx; dependencies: [57, 31, 27, 33, 4501, 697, 1244, 1305, 477, 507, 8980, 14214, 13262, 8978, 14217, 2] */
function _fun107488(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#107488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:6, offset: 0x022fe3c2, size: 367 bytes, params: 8, frame: 25
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const NativeModules = (require(27) /* metro dependency 27 */).NativeModules;
const env0_5 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object5 = {};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object5.backgroundColor = BACKGROUND_SURFACE_HIGH;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
const env0_6 = Reflect.apply(createStyles, createStylesModule, [{radioItem: object5}]);
object4 = {AUTHENTICATE: 0};
object4[0] = 'AUTHENTICATE';
object4.ANDROID_PASSKEY = 1;
object4[1] = 'ANDROID_PASSKEY';
const object6 = {};
const AUTHENTICATE = object4.AUTHENTICATE;
let DCDSecurityKeyManager = NativeModules.DCDSecurityKeyManager;
object6[AUTHENTICATE] = DCDSecurityKeyManager.authenticate;
const ANDROID_PASSKEY = object4.ANDROID_PASSKEY;
DCDSecurityKeyManager = NativeModules.DCDSecurityKeyManager;
object6[ANDROID_PASSKEY] = DCDSecurityKeyManager.authenticatePasskey;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/mfa/native/screens/WebAuthnScreen.tsx');
exports.default = WebAuthnScreen;
exports.AuthenticatorOption = object4;
}
function AndroidAuthRadioGroup({authenticatorSelection, setAuthenticator, inProgress}) { // fn#107489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:504, offset: 0x022fe531, size: 268 bytes, params: 2, frame: 22
const styles = useStyles();
let object2 = {};
const ANDROID_PASSKEY = env0_7.ANDROID_PASSKEY;
object2.value = ANDROID_PASSKEY;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const PVVXRI = (require(1244) /* metro dependency 1244: indexNative */).t.PVVXRI;
object2.name = Reflect.apply(string, intl, [PVVXRI]);
const items2 = [object2];
object2 = {};
const AUTHENTICATE = env0_7.AUTHENTICATE;
object2.value = AUTHENTICATE;
string = intl.string;
const TKop3X = (require(1244) /* metro dependency 1244: indexNative */).t.TKop3X;
object2.name = Reflect.apply(string, intl, [TKop3X]);
items2[1] = object2;
const RadioGroup = (require(1305) /* metro dependency 1305: native */).RadioGroup;
return (
<RadioGroup
style={styles.radioItem}
options={items2}
onChange={function({value}) {
return setAuthenticator(value);
}}
value={authenticatorSelection}
disabled={inProgress}
withSpacing
/>
);
}
function WebAuthnScreen({mfaChallenge, finish}) { // fn#107491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:954, offset: 0x022fe63d, size: 729 bytes, params: 2, frame: 29
var object2;
let env0_4 = undefined;
let binding = env0_4;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [false]);
const binding2 = undefined;
const value3 = binding2(value2, 2);
const property = value3[0];
const env0_1 = value3[1];
useState = binding.useState;
const value4 = binding2(Reflect.apply(useState, binding, [undefined]), 2);
const property2 = value4[0];
const env0_2 = value4[1];
useState = binding.useState;
const isAndroid2 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid();
const binding3 = env0_7;
const value5 = Reflect.apply(useState, binding, [isAndroid2 ? binding3.ANDROID_PASSKEY : binding3.AUTHENTICATE]);
binding = undefined;
const value6 = binding(value5, 2);
const property3 = value6[0];
const property4 = value6[1];
const binding4 = env0_4;
useState = binding4.useState;
const value7 = binding(Reflect.apply(useState, binding4, [false]), 2);
const property5 = value7[0];
env0_4 = value7[1];
const methods = mfaChallenge.methods;
const challenge = methods.find(function(a0) {
return a0.type === 'webauthn';
}).challenge;
const useMemo = binding4.useMemo;
const value9 = binding4.useCallback(_fun107494, [Reflect.apply(useMemo, binding4, [_fun107493, [property3]]),
challenge, finish]);
const MfaOptionScreen = importDefault(14214) /* metro dependency 14214: MfaOptionScreen */;
object2 = {};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
object2.headerText = Reflect.apply(string, intl,
[(require(1244) /* metro dependency 1244: indexNative */).t.saHocI]);
string = intl.string;
const YpMrqM = (require(1244) /* metro dependency 1244: indexNative */).t.YpMrqM;
object2.subtitle = Reflect.apply(string, intl, [YpMrqM]);
const KeyImage = (require(13262) /* metro dependency 13262: KeyImage */).KeyImage;
object2.headerImage = <KeyImage />;
object2.content = (importDefault(8978) /* metro dependency 8978: NativeCeremonies */).shouldDisplayAndroidFidoSelector && <AndroidAuthRadioGroup authenticatorSelection={property3} setAuthenticator={property4} inProgress={property || property5} />;
const defaultImport2 = importDefault(14217) /* metro dependency 14217: button */;
string = intl.string;
const Xr3Eks = (require(1244) /* metro dependency 1244: indexNative */).t.Xr3Eks;
object2.submit = ((Component) => <Component variant="primary" text={Reflect.apply(string, intl,
[Xr3Eks])} loading={property || property5} disabled={property || property5} onPress={value9} />)(defaultImport2);
object2.screenProps = {mfaChallenge: mfaChallenge, finish: finish};
object2.mfaMethod = 'webauthn';
object2.error = property2;
return <MfaOptionScreen {...object2} />;
}
function _fun107493() { // fn#107493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:1289, offset: 0x022fe928, size: 20 bytes, params: 1, frame: 2
return env1_8[env0_3];
}
function _fun107494() { // fn#107494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:1321, offset: 0x022fe93c, size: 112 bytes, params: 1, frame: 13
env0_2(undefined);
env0_1(true);
let value = env0_6(challenge);
value = value.then(function(a0) {
return finish({mfaType: 'webauthn', data: a0});
});
value = value.then(_fun107496);
value = value.catch(_fun107497);
value.finally(_fun107498);
}
function _fun107497(a0) { // fn#107497, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14410:1414, offset: 0x022fe9ce, size: 163 bytes, params: 2, frame: 16
var binding;
var value2;
var intl;
let value = environment.__proto__.__proto__;
const HTTPResponseError = (require(507) /* metro dependency 507: HTTPUtils */).HTTPResponseError;
if (a0 instanceof HTTPResponseError) {
value2 = environment.__proto__;
binding = env1_2;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
binding(intl.string((require(1244) /* metro dependency 1244: indexNative */).t.xSCvBf));
} else {
value = require(8980) /* metro dependency 8980: MFAUtils */;
value.captureWebAuthnException(a0, {});
value = environment.__proto__;
env1_2(a0.message);
}
}