Files
discord-decomp/sources/modules/nuf/native/NewUserManager.tsx
T
2026-07-27 16:20:00 +03:00

258 lines
13 KiB
TypeScript

/* 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;
}