285 lines
10 KiB
TypeScript
285 lines
10 KiB
TypeScript
// Metro module 16188 (f16189).
|
|
import _slicedToArray from "../../../_bundle/_slicedToArray";
|
|
import ImpersonateStore from "../../impersonate/ImpersonateStore";
|
|
import AuthenticationStore from "../../../stores/AuthenticationStore";
|
|
import ChannelStore from "../../../stores/ChannelStore";
|
|
import GuildMemberStore from "../../../stores/GuildMemberStore";
|
|
import GuildStore from "../../../stores/GuildStore";
|
|
import SelectedGuildStore from "../../../stores/SelectedGuildStore";
|
|
import GuildOnboardingHomeSettingsStore from "../GuildOnboardingHomeSettingsStore";
|
|
import GuildOnboardingMemberActionStore from "../GuildOnboardingMemberActionStore";
|
|
import { GuildMemberFlags } from "../../guild_member/GuildMemberConstants";
|
|
import AutomaticLifecycleManager from "../../../lib/AutomaticLifecycleManager";
|
|
import * as _Module1384 from "../../../_bundle/Module1384";
|
|
import ModalActionCreators from "../../../actions/ModalActionCreators";
|
|
import { NEW_MEMBER_ACTION_COMPLETE_MODAL_KEY, NewMemberActionTypes } from "../GuildOnboardingHomeTypes";
|
|
import { ModalAnimation } from "../../../ConstantsIOS";
|
|
import { completeNewMemberAction, fetchGuildHomeSettings, fetchNewMemberActions } from "../GuildOnboardingHomeActionCreators";
|
|
import * as _OnboardingHomeUtils from "../OnboardingHomeUtils";
|
|
import { getIsNewMember } from "../useIsNewMember";
|
|
function $mk118530($env) {
|
|
return (a0) => a0.channelId === $env[1];
|
|
}
|
|
function $mk118531($env) {
|
|
return (a0) => a0.channelId === $env[1];
|
|
}
|
|
class GuildOnboardingHomeManager extends AutomaticLifecycleManager {
|
|
constructor() {
|
|
let c22855_0, c22855_1;
|
|
let c22856_0, c22856_1;
|
|
let c22857_0, c22857_1;
|
|
let c22858_0;
|
|
let c22859_0;
|
|
super(...arguments);
|
|
const _this = this;
|
|
this.onboardingCompleteGuilds = new Set();
|
|
this.actions = {
|
|
POST_CONNECTION_OPEN: () => _this.handlePostConnectionOpen(),
|
|
GUILD_MEMBER_UPDATE: (a0) => _this.handleGuildMemberUpdate(a0),
|
|
GUILD_DELETE: (a0) => _this.handleGuildDelete(a0),
|
|
CHANNEL_SELECT: (a0) => _this.handleChannelSelect(a0),
|
|
MESSAGE_CREATE: (a0) => _this.handleMessageSend(a0),
|
|
THREAD_CREATE: (a0) => _this.handleThreadCreate(a0)
|
|
};
|
|
this.handlePostConnectionOpen = () => {
|
|
const guilds = GuildStore.getGuilds();
|
|
for (const key in guilds) {
|
|
let r23 = GuildMemberStore.getSelfMember(key)?.flags;
|
|
if (r23 == null) {
|
|
r23 = 0;
|
|
}
|
|
if (_Module1384.hasFlag(r23, GuildMemberFlags.COMPLETED_HOME_ACTIONS)) {
|
|
_this.onboardingCompleteGuilds.add(key);
|
|
}
|
|
}
|
|
const guildId = SelectedGuildStore.getGuildId();
|
|
if (guildId != null) {
|
|
_this._getOrLoadOnboardingMemberActions(guildId);
|
|
}
|
|
};
|
|
this.handleGuildMemberUpdate = (a0) => {
|
|
let flags2 = a0.flags;
|
|
const { user, guildId } = a0;
|
|
if (user.id === AuthenticationStore.getId()) {
|
|
if (!_this.onboardingCompleteGuilds.has(guildId)) {
|
|
if (flags2 == null) {
|
|
flags2 = 0;
|
|
}
|
|
if (_Module1384.hasFlag(flags2, GuildMemberFlags.COMPLETED_HOME_ACTIONS)) {
|
|
_this.onboardingCompleteGuilds.add(guildId);
|
|
let numActions = GuildOnboardingHomeSettingsStore.getNewMemberActions(guildId)?.length;
|
|
if (numActions == null) {
|
|
numActions = 0;
|
|
}
|
|
if (numActions === 0) {
|
|
return void 0;
|
|
}
|
|
ModalActionCreators.pushLazy(import("./NewMemberActionsCompletedModal"), {
|
|
initialPercent: (numActions - 1) / numActions,
|
|
numActions
|
|
}, NEW_MEMBER_ACTION_COMPLETE_MODAL_KEY, {
|
|
animation: ModalAnimation.FADE
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
this.handleGuildDelete = (a0) => {
|
|
_this.onboardingCompleteGuilds.delete(a0.guild.id);
|
|
};
|
|
c22855_0 = void 0;
|
|
c22855_1 = this;
|
|
c22855_0 = async (c30981_0) => {
|
|
let c30981_2;
|
|
let env31793;
|
|
c30981_2 = void 0;
|
|
const r9 = env31793 = {};
|
|
let c30981_1 = r9;
|
|
env31793[0] = void 0;
|
|
env31793[1] = void 0;
|
|
env31793[0] = c30981_0.guildId;
|
|
env31793[1] = c30981_0.channelId;
|
|
env31793[2] = void 0;
|
|
env31793[3] = void 0;
|
|
env31793[4] = void 0;
|
|
env31793[5] = void 0;
|
|
await void 0;
|
|
if (env31793[0] != null && env31793[1] != null) {
|
|
env31793[2] = await c22855_1._getOrLoadOnboardingMemberActions(env31793[0]);
|
|
env31793[3] = env31793[2].memberActions;
|
|
env31793[4] = env31793[2].completedActions;
|
|
const r13 = env31793[3];
|
|
env31793[5] = r13 == null ? void 0 : r13.find($mk118530(c30981_1));
|
|
const r12 = env31793[4];
|
|
if ((r12 == null ? void 0 : r12[env31793[1]]) !== true && env31793[5] != null && env31793[5].actionType === NewMemberActionTypes.VIEW) {
|
|
completeNewMemberAction(env31793[0], env31793[1]);
|
|
}
|
|
}
|
|
};
|
|
this.handleChannelSelect = function() {
|
|
return c22855_0.apply(this, arguments);
|
|
};
|
|
this.handleMessageSend = ({ guildId, channelId, message }) => {
|
|
if (guildId != null && channelId != null) {
|
|
if (message.author?.id === AuthenticationStore.getId()) {
|
|
const channel = ChannelStore.getChannel(channelId);
|
|
if ((channel == null ? void 0 : channel.isForumPost()) && channel?.parent_id != null) {
|
|
_this._completeChatAction(guildId, channel.parent_id);
|
|
}
|
|
_this._completeChatAction(guildId, channelId);
|
|
}
|
|
}
|
|
};
|
|
this.handleThreadCreate = (a0) => {
|
|
const channel = a0.channel;
|
|
let r6 = a0.isNewlyCreated && channel.parent_id != null;
|
|
if (r6) {
|
|
const channel2 = ChannelStore.getChannel(channel.parent_id);
|
|
r6 = channel2 == null ? void 0 : channel2.isForumLikeChannel();
|
|
}
|
|
if (r6) {
|
|
r6 = channel.ownerId === AuthenticationStore.getId();
|
|
}
|
|
if (r6) {
|
|
_this._completeChatAction(channel.guild_id, channel.parent_id);
|
|
}
|
|
};
|
|
c22856_0 = void 0;
|
|
c22856_1 = this;
|
|
c22856_0 = async (c30982_0, c30982_1) => {
|
|
let c30982_3;
|
|
let env31794;
|
|
c30982_3 = void 0;
|
|
const r11 = env31794 = {};
|
|
let c30982_2 = r11;
|
|
env31794[0] = c30982_0;
|
|
env31794[1] = c30982_1;
|
|
env31794[2] = void 0;
|
|
env31794[3] = void 0;
|
|
env31794[4] = void 0;
|
|
env31794[5] = void 0;
|
|
env31794[2] = await c22856_1._getOrLoadOnboardingMemberActions(c30982_0);
|
|
env31794[3] = env31794[2].memberActions;
|
|
env31794[4] = env31794[2].completedActions;
|
|
const r12 = env31794[3];
|
|
env31794[5] = r12 == null ? void 0 : r12.find($mk118531(c30982_2));
|
|
const r51 = env31794[4];
|
|
if ((r51 == null ? void 0 : r51[env31794[1]]) !== true && env31794[5] != null && env31794[5].actionType === NewMemberActionTypes.CHAT) {
|
|
completeNewMemberAction(env31794[0], env31794[1]);
|
|
}
|
|
};
|
|
this._completeChatAction = function() {
|
|
return c22856_0.apply(this, arguments);
|
|
};
|
|
c22857_0 = void 0;
|
|
c22857_1 = this;
|
|
c22857_0 = async (c30983_0) => {
|
|
let r78;
|
|
let c30983_2;
|
|
let c31795_0, c31795_1;
|
|
L17: {
|
|
L16: {
|
|
L10: {
|
|
c30983_2 = void 0;
|
|
c31795_0 = void 0;
|
|
c31795_1 = void 0;
|
|
const canSeeOnboardingHome = _OnboardingHomeUtils.canSeeOnboardingHome(c30983_0);
|
|
const isFullServerPreview = ImpersonateStore.isFullServerPreview(c30983_0);
|
|
if (!canSeeOnboardingHome && !isFullServerPreview) {
|
|
break L10;
|
|
}
|
|
const selfMember = GuildMemberStore.getSelfMember(c30983_0);
|
|
if (selfMember == null) {
|
|
break L17;
|
|
}
|
|
if (!getIsNewMember(c30983_0)) {
|
|
break L17;
|
|
}
|
|
const r45 = Promise;
|
|
c31795_0 = await r45.all([c22857_1._getOrLoadOnboardingHomeSettings(c30983_0), c22857_1._getOrLoadMemberActions(c30983_0, selfMember)]);
|
|
c31795_1 = (0, _slicedToArray)(c31795_0, 2);
|
|
r78 = {
|
|
memberActions: c31795_1[0],
|
|
completedActions: c31795_1[1]
|
|
};
|
|
break L16;
|
|
}
|
|
return {};
|
|
}
|
|
return r78;
|
|
}
|
|
return {};
|
|
};
|
|
this._getOrLoadOnboardingMemberActions = function() {
|
|
return c22857_0.apply(this, arguments);
|
|
};
|
|
c22858_0 = void 0;
|
|
c22858_0 = async (c30984_0) => {
|
|
let r57, newMemberActions;
|
|
let c31796_0;
|
|
L16: {
|
|
L15: {
|
|
c31796_0 = void 0;
|
|
newMemberActions = GuildOnboardingHomeSettingsStore.getNewMemberActions(c30984_0);
|
|
const isLoading = GuildOnboardingHomeSettingsStore.getIsLoading(c30984_0);
|
|
if (newMemberActions != null) {
|
|
break L16;
|
|
}
|
|
if (isLoading) {
|
|
break L16;
|
|
}
|
|
if (!getIsNewMember(c30984_0)) {
|
|
break L16;
|
|
}
|
|
c31796_0 = await fetchGuildHomeSettings(c30984_0);
|
|
const r54 = c31796_0;
|
|
const r56 = r54 == null;
|
|
r57 = void 0;
|
|
if (r56) {
|
|
break L15;
|
|
}
|
|
r57 = r54.newMemberActions;
|
|
}
|
|
return r57;
|
|
}
|
|
return newMemberActions;
|
|
};
|
|
this._getOrLoadOnboardingHomeSettings = function() {
|
|
return c22858_0.apply(this, arguments);
|
|
};
|
|
c22859_0 = void 0;
|
|
c22859_0 = async (c30985_0, c30985_1) => {
|
|
let r8;
|
|
let flags;
|
|
L15: {
|
|
const state = GuildOnboardingMemberActionStore.getState(c30985_0);
|
|
const { completedActions, loading } = state;
|
|
r8 = completedActions;
|
|
if (completedActions != null) {
|
|
break L15;
|
|
}
|
|
r8 = completedActions;
|
|
if (loading) {
|
|
break L15;
|
|
}
|
|
flags = c30985_1.flags;
|
|
if (flags == null) {
|
|
flags = 0;
|
|
}
|
|
const hasFlag = _Module1384.hasFlag(flags, GuildMemberFlags.STARTED_HOME_ACTIONS);
|
|
r8 = completedActions;
|
|
if (!hasFlag) {
|
|
break L15;
|
|
}
|
|
return await fetchNewMemberActions(c30985_0);
|
|
}
|
|
return r8;
|
|
};
|
|
this._getOrLoadMemberActions = function() {
|
|
return c22859_0.apply(this, arguments);
|
|
};
|
|
}
|
|
}
|
|
const guildOnboardingHomeManager = new GuildOnboardingHomeManager();
|
|
export default guildOnboardingHomeManager;
|