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