/* Metro module 15776; source: modules/nuf/native/NewUserManager.tsx; dependencies: [5, 7, 6, 15, 17, 18, 8972, 5040, 1878, 4256, 12022, 661, 9445, 15777, 11993, 12021, 676, 9151, 694, 12000, 12043, 4860, 2] */ function _fun121230(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#121230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:6, offset: 0x025419de, size: 768 bytes, params: 8, frame: 21 var object5; 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(7) /* metro dependency 7 */; const env0_5 = importDefault(6) /* metro dependency 6 */; const env0_6 = importDefault(15) /* metro dependency 15 */; const env0_7 = importDefault(17) /* metro dependency 17 */; const env0_8 = importDefault(18) /* metro dependency 18 */; const phoneStore = importDefault(8972) /* metro dependency 8972: PhoneStore */; const connectedAccountsStore = importDefault(5040) /* metro dependency 5040: ConnectedAccountsStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const newUserStore = importDefault(4256) /* metro dependency 4256: NewUserStore */; const env0_13 = (require(12022) /* metro dependency 12022: NUFConstants */).NewUserTypes; const env0_14 = (require(661) /* metro dependency 661: Constants */).PlatformTypes; const env0_15 = (require(9445) /* metro dependency 9445: HubConstants */).HUBS_IN_ONBOARDING_COUNTRIES; object5 = {REGISTRATION: 'Registration', ADD_AVATAR: 'Add Avatar', CONTACT_SYNC: 'Contact Sync', GUILD_TEMPLATE: 'Guild Template', STUDENT_HUB: 'Student Hub', NEW_USER_INTENT: 'New User Intent', ACCEPT_INVITE: 'Accept Invite', DISCOVERABILITY: 'Discoverability'}; const object6 = {}; const ADD_AVATAR = object5.ADD_AVATAR; object6.key = ADD_AVATAR; object6.shouldShowStep = shouldShowStep; object6.transitionToStep = (require(15777) /* metro dependency 15777: AddAvatarModalActionCreators */).openAddAvatarModal; const object8 = {}; const CONTACT_SYNC = object5.CONTACT_SYNC; object8.key = CONTACT_SYNC; object8.shouldShowStep = shouldShowStep_121235; object8.transitionToStep = (require(11993) /* metro dependency 11993: ContactSyncModalActionCreators */).openContactSyncModalOnboarding; const items2 = [object6]; const object9 = {}; const DISCOVERABILITY = object5.DISCOVERABILITY; object9.key = DISCOVERABILITY; object9.shouldShowStep = shouldShowStep_121236; object9.transitionToStep = (require(12021) /* metro dependency 12021: NUFActionCreators */).openDiscoverabilityModal; items2[1] = object9; items2[2] = object8; const STUDENT_HUB = object5.STUDENT_HUB; items2[3] = {key: STUDENT_HUB, shouldShowStep: shouldShowStep_121237, transitionToStep: transitionToStep}; const GUILD_TEMPLATE = object5.GUILD_TEMPLATE; items2[4] = {key: GUILD_TEMPLATE, shouldShowStep: function() { return NewUserStore.getType() === NewUserTypes.ORGANIC_REGISTERED; }, transitionToStep: transitionToStep_121240}; const object10 = {}; const ACCEPT_INVITE = object5.ACCEPT_INVITE; object10.key = ACCEPT_INVITE; object10.shouldShowStep = (require(9151) /* metro dependency 9151: InstantInviteUtils */).hasDeferredInvite; object10.transitionToStep = transitionToStep_121241; items2[5] = object10; let value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */; value = _fun121242(value); value = new value(); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/nuf/native/NewUserManager.tsx'); exports.default = value; } function _isNativeReflectConstruct_121231() { // fn#121231, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:287, offset: 0x02541cde, size: 98 bytes, params: 1, frame: 18 var Boolean; var prototype; var valueOf; var call; var Reflect; var construct; var closure; var value; var error; try { Boolean = global.Boolean; prototype = Boolean.prototype; valueOf = prototype.valueOf; call = valueOf.call; Reflect = global.Reflect; construct = Reflect.construct; Boolean = global.Boolean; closure = function() { }; value = Reflect.apply(construct, Reflect, [Boolean, [], closure]); value = Reflect.apply(call, valueOf, [value]); var result = !value; } catch (error) { } return (_isNativeReflectConstruct_121231_isNativeReflectConstruct = function() { return !!result; })(); } function shouldShowStep() { // fn#121234, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:802, offset: 0x02541d40, size: 39 bytes, params: 1, frame: 11 return UserStore.getCurrentUser()?.avatar == null; } function shouldShowStep_121235() { // fn#121235, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:957, offset: 0x02541d67, size: 83 bytes, params: 1, frame: 13 var value; const getLocalAccount = ConnectedAccountsStore.getLocalAccount; const CONTACTS = PlatformTypes.CONTACTS; const value2 = Reflect.apply(getLocalAccount, ConnectedAccountsStore, [CONTACTS]); let r0 = value2 == null || !value2.friendSync; if (r0) { value = UserStore.getCurrentUser(); value = value?.phone != null; r0 = value; } return r0; } function shouldShowStep_121236() { // fn#121236, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1186, offset: 0x02541dba, size: 36 bytes, params: 1, frame: 11 const getLocalAccount = ConnectedAccountsStore.getLocalAccount; const CONTACTS = PlatformTypes.CONTACTS; return Reflect.apply(getLocalAccount, ConnectedAccountsStore, [CONTACTS]) == null; } function shouldShowStep_121237() { // fn#121237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1314, offset: 0x02541dde, size: 82 bytes, params: 1, frame: 13 const type = NewUserStore.getType(); const ORGANIC_REGISTERED = NewUserTypes.ORGANIC_REGISTERED; if (type !== ORGANIC_REGISTERED) { return false; } return HUBS_IN_ONBOARDING_COUNTRIES.includes(PhoneStore.getCountryCode()?.alpha2); } function transitionToStep() { // fn#121238, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1452, offset: 0x02541e30, size: 65 bytes, params: 1, frame: 15 const value = require(12021) /* metro dependency 12021: NUFActionCreators */; const transitionToHubEmailConnectionModal = value.transitionToHubEmailConnectionModal; const ModalAnimation = (require(676) /* metro dependency 676: ConstantsIOS */).ModalAnimation; const SLIDE_IN = ModalAnimation.SLIDE_IN; Reflect.apply(transitionToHubEmailConnectionModal, value, [SLIDE_IN, true]); } function transitionToStep_121240() { // fn#121240, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1634, offset: 0x02541e92, size: 62 bytes, params: 1, frame: 14 const value = require(12021) /* metro dependency 12021: NUFActionCreators */; const transitionToNUFGuildTemplatesModal = value.transitionToNUFGuildTemplatesModal; const ModalAnimation = (require(676) /* metro dependency 676: ConstantsIOS */).ModalAnimation; const SLIDE_IN = ModalAnimation.SLIDE_IN; return Reflect.apply(transitionToNUFGuildTemplatesModal, value, [SLIDE_IN]); } function transitionToStep_121241() { // fn#121241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1797, offset: 0x02541ed0, size: 49 bytes, params: 1, frame: 13 (importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'DEFERRED_INVITE_SHOW'}); } function _fun121242(a0) { // fn#121242, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1856, offset: 0x02541f01, size: 42 bytes, params: 2, frame: 14 const closure = NewUserManager; env0_8(closure, a0); return env0_4(closure); } function NewUserManager(a0) { // fn#121243, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:1868, offset: 0x02541f2b, size: 191 bytes, params: 2, frame: 20 var r0; var Reflect; let value = copyRestArgs(0, undefined); let binding = env1_5; binding(this, NewUserManager); const items = []; arraySpread(items, value, 0, items); value = env1_7(NewUserManager); binding = env1_6; if (_isNativeReflectConstruct_121231()) { Reflect = global.Reflect; value = Reflect.construct(value, items, env1_7(this).constructor); r0 = value; } else { value = value.apply(this, items); r0 = value; } value = binding(this, r0); value._onboardingStepIndex = -1; value._lastStep = null; value.actions = {ONBOARDING_STEP: ONBOARDING_STEP}; value.handleOnboardingStep = _fun121245(); return value; } function ONBOARDING_STEP(a0) { // fn#121244, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:2166, owner: NewUserManager.ONBOARDING_STEP, offset: 0x02541fea, size: 25 bytes, params: 2, frame: 11 env0_0.handleOnboardingStep(a0); } function _fun121245() { // fn#121245, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:2221, offset: 0x02542003, size: 36 bytes, params: 1, frame: 12 const env0_0 = env2_3(_fun121247); return _fun121248; } async function _fun121247({skip, skipAttempt, back}) { // fn#121247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15984:2241, offset: 0x0254203b, size: 556 bytes, params: 2, frame: 27 var key; var binding; var property; var transitionToStep; var value12; var value13; var binding2; var value14; var value16; var value17; var value18; if (false) { return undefined; } value = undefined; skip = !(skip === value) && skip; skipAttempt = !(skipAttempt === value) && skipAttempt; back = !(back === value) && back; await value; if (false) { return undefined; } let _onboardingStepIndex = NewUserManager._onboardingStepIndex; if (back) { value16 = environment.__proto__.__proto__.__proto__.__proto__; property = env4_16[_onboardingStepIndex]; value17 = null; key = value17 == property ? value : property.key; NewUserManager._lastStep = value17 != key ? key : value17; _onboardingStepIndex = NewUserManager._onboardingStepIndex; NewUserManager._onboardingStepIndex = _onboardingStepIndex - 1; binding = env4_16; _onboardingStepIndex = NewUserManager._onboardingStepIndex; property = binding[_onboardingStepIndex]; key = property.key; transitionToStep = property.transitionToStep; binding = env4_0; value18 = binding(env4_2[19]); value18.trackNUFStep(NewUserManager._lastStep, key, {back: true}); transitionToStep(); } else { NewUserManager._onboardingStepIndex = NewUserManager._onboardingStepIndex + 1; if (NewUserManager._onboardingStepIndex >= env4_16.length) { binding = env4_0; binding2 = env4_2; value14 = binding(binding2[19]); value14.trackNUFStep(NewUserManager._lastStep, 'NUF Complete', {skip_attempt: skipAttempt}); binding(binding2[20]).setNewUserFlowCompleted(); return value; } property = env4_16[NewUserManager._onboardingStepIndex]; key = property.key; var shouldShowStep = property.shouldShowStep; transitionToStep = property.transitionToStep; await shouldShowStep(); if (false) { return undefined; } if (undefined) { value12 = env4_0(env4_2[19]); value12.trackNUFStep(NewUserManager._lastStep, key, {skip: skip, skip_attempt: skipAttempt}); property = env4_16[_onboardingStepIndex]; value13 = null; key = value13 == property ? value : property.key; NewUserManager._lastStep = value13 != key ? key : value13; transitionToStep(); } else { NewUserManager.handleOnboardingStep({skip: skip}); } } return value; }