99 lines
3.9 KiB
TypeScript
99 lines
3.9 KiB
TypeScript
// Metro module 5658 (f5659).
|
|
import ImpersonateStore from "../impersonate/ImpersonateStore";
|
|
import ChannelStore from "../../stores/ChannelStore";
|
|
import GuildStore from "../../stores/GuildStore";
|
|
import GuildOnboardingHomeSettingsStore from "./GuildOnboardingHomeSettingsStore";
|
|
import { GuildFeatures, ME } from "../../Constants";
|
|
import { ChannelFlags } from "../channel/ChannelConstants";
|
|
import useIsNewMember from "./useIsNewMember";
|
|
import { useStateFromStores } from "../../_bundle/defaultAreStatesEqual";
|
|
import { isFavoritesGuildId } from "../favorites/FavoritesUtils";
|
|
import { isGuildOnboardingSettingsAvailable } from "../guild_onboarding/GuildOnboardingUtils";
|
|
import guildHasOnboardingHome from "./guildHasOnboardingHome";
|
|
import { $forInKeys } from "../../_hermes/prelude";
|
|
export function useCanSeeOnboardingHome(a0) {
|
|
const isNewMember = useIsNewMember(a0);
|
|
let c14982_1 = isNewMember;
|
|
return useStateFromStores([ChannelStore, GuildStore, ImpersonateStore], () => {
|
|
let r34, hasFlag;
|
|
if (a0 !== ME && !isFavoritesGuildId(a0)) {
|
|
const guild = GuildStore.getGuild(a0);
|
|
let r27 = !!(guild == null ? void 0 : guild.features.has(GuildFeatures.COMMUNITY));
|
|
if (r27) {
|
|
if (ImpersonateStore.isFullServerPreview(a0)) {
|
|
const id = guild.id;
|
|
let r55 = GuildOnboardingHomeSettingsStore.getNewMemberActions(id);
|
|
if (r55 == null) {
|
|
r55 = [];
|
|
}
|
|
let r58 = r55.length > 0;
|
|
const enabled = GuildOnboardingHomeSettingsStore.getEnabled(id);
|
|
if (r58) {
|
|
r58 = guild.features.has(GuildFeatures.COMMUNITY);
|
|
}
|
|
if (r58) {
|
|
r58 = !(guild.features.has(GuildFeatures.GUILD_ONBOARDING) && !enabled);
|
|
}
|
|
r34 = r58;
|
|
} else {
|
|
r34 = isGuildOnboardingSettingsAvailable(a0) || !!guildHasOnboardingHome(guild);
|
|
if (r34) {
|
|
let r40 = c14982_1;
|
|
if (!r40) {
|
|
const mutableGuildChannelsForGuild = ChannelStore.getMutableGuildChannelsForGuild(a0);
|
|
let r45 = false;
|
|
const r46 = $forInKeys(mutableGuildChannelsForGuild);
|
|
let r1 = 0;
|
|
const length = r46.length;
|
|
if (r46 !== void 0) {
|
|
do {
|
|
r45 = false;
|
|
const r47 = r1 < length ? r46[r1++] : void 0;
|
|
if (r47 === void 0) {
|
|
break;
|
|
}
|
|
hasFlag = mutableGuildChannelsForGuild[r47].hasFlag(ChannelFlags.IS_GUILD_RESOURCE_CHANNEL);
|
|
r45 = true;
|
|
} while (!hasFlag);
|
|
}
|
|
r40 = r45;
|
|
}
|
|
r34 = r40;
|
|
}
|
|
}
|
|
r27 = r34;
|
|
}
|
|
return r27;
|
|
}
|
|
return false;
|
|
}, [a0, isNewMember]);
|
|
}
|
|
export function canSeeOnboardingHome(a0) {
|
|
const guild = GuildStore.getGuild(a0);
|
|
const isFullServerPreview = ImpersonateStore.isFullServerPreview(a0);
|
|
if (guild == null) {
|
|
return false;
|
|
}
|
|
if (a0 !== ME && !isFavoritesGuildId(a0)) {
|
|
if (isFullServerPreview) {
|
|
const id = guild.id;
|
|
let r44 = GuildOnboardingHomeSettingsStore.getNewMemberActions(id);
|
|
if (r44 == null) {
|
|
r44 = [];
|
|
}
|
|
let r46 = r44.length > 0;
|
|
const enabled = GuildOnboardingHomeSettingsStore.getEnabled(id);
|
|
if (r46) {
|
|
r46 = guild.features.has(GuildFeatures.COMMUNITY);
|
|
}
|
|
if (r46) {
|
|
r46 = !(guild.features.has(GuildFeatures.GUILD_ONBOARDING) && !enabled);
|
|
}
|
|
return r46;
|
|
}
|
|
const r21 = isGuildOnboardingSettingsAvailable(a0) && guild.features.has(GuildFeatures.GUILD_ONBOARDING) && guild.features.has(GuildFeatures.GUILD_SERVER_GUIDE);
|
|
return (guild.features.has(GuildFeatures.GUILD_ONBOARDING) && guild.features.has(GuildFeatures.GUILD_SERVER_GUIDE) || r21) && guild.features.has(GuildFeatures.COMMUNITY);
|
|
}
|
|
return false;
|
|
}
|