80 lines
2.5 KiB
TypeScript
80 lines
2.5 KiB
TypeScript
// Metro module 16190 (f16191).
|
|
import GuildMemberStore from "../../../stores/GuildMemberStore";
|
|
import GuildStore from "../../../stores/GuildStore";
|
|
import SelectedGuildStore from "../../../stores/SelectedGuildStore";
|
|
import { GuildFeatures } from "../../../Constants";
|
|
import { GuildMemberFlags } from "../../guild_member/GuildMemberConstants";
|
|
import AutomaticLifecycleManager from "../../../lib/AutomaticLifecycleManager";
|
|
import doGuildOnboarding_native, { discardOnboardingPromise } from "../doGuildOnboarding.native";
|
|
import { hasFlag } from "../../../_bundle/Module1384";
|
|
let c11608_8 = null;
|
|
let c11608_9 = null;
|
|
class GuildOnboardingManager extends AutomaticLifecycleManager {
|
|
actions = {
|
|
CHANNEL_SELECT: (a0) => this.handleChannelSelect(a0),
|
|
GUILD_DELETE: (a0) => this.handleGuildDelete(a0),
|
|
POST_CONNECTION_OPEN: () => this.handleConnectionOpen()
|
|
};
|
|
handleConnectionOpen = () => {
|
|
let r2 = c11608_8;
|
|
if (r2 == null) {
|
|
r2 = SelectedGuildStore.getGuildId();
|
|
}
|
|
if (r2 == null) {
|
|
r2 = null;
|
|
}
|
|
c11608_8 = r2;
|
|
if (r2 != null) {
|
|
this._openOnboardingIfIncomplete(c11608_8);
|
|
}
|
|
};
|
|
handleChannelSelect = (a0) => {
|
|
let guildId = a0.guildId;
|
|
let channelId = a0.channelId;
|
|
if (!(c11608_8 === guildId && c11608_9 === channelId)) {
|
|
if (channelId == null) {
|
|
channelId = null;
|
|
}
|
|
c11608_9 = channelId;
|
|
if (guildId == null) {
|
|
guildId = null;
|
|
}
|
|
c11608_8 = guildId;
|
|
if (guildId != null) {
|
|
this._openOnboardingIfIncomplete(c11608_8);
|
|
}
|
|
}
|
|
};
|
|
handleGuildDelete = (a0) => {
|
|
discardOnboardingPromise(a0.guild.id);
|
|
};
|
|
_openOnboardingIfIncomplete = (a0) => {
|
|
const guild = GuildStore.getGuild(a0);
|
|
if (guild != null && guild.features.has(GuildFeatures.GUILD_ONBOARDING)) {
|
|
const selfMember = GuildMemberStore.getSelfMember(a0);
|
|
let r19 = selfMember != null;
|
|
if (r19) {
|
|
let flags = selfMember.flags;
|
|
if (flags == null) {
|
|
flags = 0;
|
|
}
|
|
r19 = !hasFlag(flags, GuildMemberFlags.COMPLETED_ONBOARDING);
|
|
}
|
|
if (r19) {
|
|
let flags2 = selfMember.flags;
|
|
if (flags2 == null) {
|
|
flags2 = 0;
|
|
}
|
|
r19 = hasFlag(flags2, GuildMemberFlags.STARTED_ONBOARDING);
|
|
}
|
|
if (r19) {
|
|
doGuildOnboarding_native({
|
|
guildId: a0
|
|
});
|
|
}
|
|
}
|
|
};
|
|
}
|
|
const guildOnboardingManager = new GuildOnboardingManager();
|
|
export default guildOnboardingManager;
|