203 lines
6.9 KiB
TypeScript
203 lines
6.9 KiB
TypeScript
// Metro module 16257 (f16258).
|
|
import PhoneStore from "../../phone/PhoneStore";
|
|
import ConnectedAccountsStore from "../../../stores/ConnectedAccountsStore";
|
|
import UserStore from "../../../stores/UserStore";
|
|
import NewUserStore from "../NewUserStore";
|
|
import { NewUserTypes } from "../NUFConstants";
|
|
import { PlatformTypes } from "../../../Constants";
|
|
import { HUBS_IN_ONBOARDING_COUNTRIES } from "../../hub/HubConstants";
|
|
import { openAddAvatarModal } from "../../avatar/native/AddAvatarModalActionCreators";
|
|
import { openContactSyncModalOnboarding } from "../../contact_sync/native/ContactSyncModalActionCreators";
|
|
import { openDiscoverabilityModal, transitionToHubEmailConnectionModal, transitionToNUFGuildTemplatesModal } from "./NUFActionCreators";
|
|
import { ModalAnimation } from "../../../ConstantsIOS";
|
|
import { hasDeferredInvite } from "../../instant_invite/native/InstantInviteUtils";
|
|
import Dispatcher from "../../../Dispatcher";
|
|
import AutomaticLifecycleManager from "../../../lib/AutomaticLifecycleManager";
|
|
import { trackNUFStep } from "./NewUserAnalyticsUtils";
|
|
import { setNewUserFlowCompleted } from "../NUFActionCreators";
|
|
const r36 = {
|
|
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"
|
|
};
|
|
let c11685_11 = [{
|
|
key: r36.ADD_AVATAR,
|
|
shouldShowStep: () => UserStore.getCurrentUser()?.avatar == null,
|
|
transitionToStep: openAddAvatarModal
|
|
}, {
|
|
key: r36.DISCOVERABILITY,
|
|
shouldShowStep: () => ConnectedAccountsStore.getLocalAccount(PlatformTypes.CONTACTS) == null,
|
|
transitionToStep: openDiscoverabilityModal
|
|
}, {
|
|
key: r36.CONTACT_SYNC,
|
|
shouldShowStep: () => {
|
|
const friendSync = ConnectedAccountsStore.getLocalAccount(PlatformTypes.CONTACTS)?.friendSync;
|
|
return friendSync ? !friendSync : UserStore.getCurrentUser()?.phone != null;
|
|
},
|
|
transitionToStep: openContactSyncModalOnboarding
|
|
}, {
|
|
key: r36.STUDENT_HUB,
|
|
shouldShowStep: () => {
|
|
if (NewUserStore.getType() !== NewUserTypes.ORGANIC_REGISTERED) {
|
|
return false;
|
|
}
|
|
return HUBS_IN_ONBOARDING_COUNTRIES.includes(PhoneStore.getCountryCode()?.alpha2);
|
|
},
|
|
transitionToStep: () => {
|
|
transitionToHubEmailConnectionModal(ModalAnimation.SLIDE_IN, true);
|
|
}
|
|
}, {
|
|
key: r36.GUILD_TEMPLATE,
|
|
shouldShowStep: () => NewUserStore.getType() === NewUserTypes.ORGANIC_REGISTERED,
|
|
transitionToStep: () => transitionToNUFGuildTemplatesModal(ModalAnimation.SLIDE_IN)
|
|
}, {
|
|
key: r36.ACCEPT_INVITE,
|
|
shouldShowStep: hasDeferredInvite,
|
|
transitionToStep: () => {
|
|
Dispatcher.dispatch({
|
|
type: "DEFERRED_INVITE_SHOW"
|
|
});
|
|
}
|
|
}];
|
|
class NewUserManager extends AutomaticLifecycleManager {
|
|
constructor() {
|
|
let c22926_0, c22926_1;
|
|
super(...arguments);
|
|
const _this = this;
|
|
this._onboardingStepIndex = -1;
|
|
this._lastStep = null;
|
|
this.actions = {
|
|
ONBOARDING_STEP: (a0) => {
|
|
_this.handleOnboardingStep(a0);
|
|
}
|
|
};
|
|
c22926_0 = void 0;
|
|
c22926_1 = this;
|
|
c22926_0 = async (c31010_0) => {
|
|
let r10, back, skipAttempt;
|
|
let key, key2, c31010_4;
|
|
let c31804_0, c31804_1, c31804_2, c31804_3, c31804_4, c31804_5, c31804_6, c31804_7, c31804_8, c31804_9, c31804_10;
|
|
L37: {
|
|
L32: {
|
|
L16: {
|
|
L13: {
|
|
L14: {
|
|
L10: {
|
|
c31010_4 = void 0;
|
|
c31804_0 = void 0;
|
|
c31804_1 = void 0;
|
|
c31804_2 = void 0;
|
|
r10 = c31010_0;
|
|
const skip = r10.skip;
|
|
if (skip !== void 0) {
|
|
c31804_0 = skip;
|
|
skipAttempt = r10.skipAttempt;
|
|
if (skipAttempt !== void 0) {
|
|
break L10;
|
|
}
|
|
} else {
|
|
c31804_0 = false;
|
|
skipAttempt = r10.skipAttempt;
|
|
if (skipAttempt !== void 0) {
|
|
break L10;
|
|
}
|
|
}
|
|
c31804_1 = false;
|
|
back = r10.back;
|
|
if (back !== void 0) {
|
|
break L13;
|
|
}
|
|
break L14;
|
|
}
|
|
c31804_1 = skipAttempt;
|
|
back = r10.back;
|
|
if (back !== void 0) {
|
|
break L13;
|
|
}
|
|
}
|
|
c31804_2 = false;
|
|
c31804_3 = void 0;
|
|
c31804_4 = void 0;
|
|
c31804_5 = void 0;
|
|
c31804_6 = void 0;
|
|
c31804_7 = void 0;
|
|
c31804_8 = void 0;
|
|
c31804_9 = void 0;
|
|
c31804_10 = void 0;
|
|
break L16;
|
|
}
|
|
c31804_2 = back;
|
|
c31804_3 = void 0;
|
|
c31804_4 = void 0;
|
|
c31804_5 = void 0;
|
|
c31804_6 = void 0;
|
|
c31804_7 = void 0;
|
|
c31804_8 = void 0;
|
|
c31804_9 = void 0;
|
|
c31804_10 = void 0;
|
|
}
|
|
await void 0;
|
|
c31804_3 = c22926_1._onboardingStepIndex;
|
|
if (c31804_2) {
|
|
const key3 = c11685_11[c31804_3]?.key;
|
|
key = key3;
|
|
if (key3 == null) {
|
|
key = null;
|
|
}
|
|
c22926_1._lastStep = key;
|
|
c22926_1._onboardingStepIndex = c22926_1._onboardingStepIndex - 1;
|
|
c31804_4 = c11685_11[c22926_1._onboardingStepIndex];
|
|
c31804_5 = c31804_4.key;
|
|
c31804_6 = c31804_4.transitionToStep;
|
|
trackNUFStep(c22926_1._lastStep, c31804_5, {
|
|
back: true
|
|
});
|
|
(0, c31804_6)();
|
|
break L37;
|
|
}
|
|
c22926_1._onboardingStepIndex = c22926_1._onboardingStepIndex + 1;
|
|
if (c22926_1._onboardingStepIndex >= c11685_11.length) {
|
|
trackNUFStep(c22926_1._lastStep, "NUF Complete", {
|
|
skip_attempt: c31804_1
|
|
});
|
|
setNewUserFlowCompleted();
|
|
break L32;
|
|
}
|
|
c31804_7 = c11685_11[c22926_1._onboardingStepIndex];
|
|
c31804_8 = c31804_7.key;
|
|
c31804_9 = c31804_7.shouldShowStep;
|
|
c31804_10 = c31804_7.transitionToStep;
|
|
if (await (0, c31804_9)()) {
|
|
trackNUFStep(c22926_1._lastStep, c31804_8, {
|
|
skip: c31804_0,
|
|
skip_attempt: c31804_1
|
|
});
|
|
key2 = c11685_11[c31804_3]?.key;
|
|
if (key2 == null) {
|
|
key2 = null;
|
|
}
|
|
c22926_1._lastStep = key2;
|
|
(0, c31804_10)();
|
|
} else {
|
|
c22926_1.handleOnboardingStep({
|
|
skip: c31804_0
|
|
});
|
|
}
|
|
return void 0;
|
|
}
|
|
return void 0;
|
|
}
|
|
};
|
|
this.handleOnboardingStep = function() {
|
|
return c22926_0.apply(this, arguments);
|
|
};
|
|
}
|
|
}
|
|
const newUserManager = new NewUserManager();
|
|
export default newUserManager;
|