Files
discord-decomp/sources/modules/guild_onboarding_home/OnboardingHomeUtils.tsx
T
2026-07-27 16:20:00 +03:00

130 lines
5.9 KiB
TypeScript

/* Metro module 5103; source: modules/guild_onboarding_home/OnboardingHomeUtils.tsx; dependencies: [1937, 1379, 1867, 4869, 661, 1386, 5104, 632, 5105, 4871, 2] */
function _fun44543(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#44543, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5281:6, offset: 0x0117343e, size: 257 bytes, params: 8, frame: 19
let env0_0 = require;
const hasResourceChannels = function(a0, a1) {
var propertyName;
var propertyName2;
var property;
var value = a1.getMutableGuildChannelsForGuild(a0);
var properties = Object.keys(value);
var properties2 = 0;
var properties3 = properties.length;
if (properties === undefined) {
return false;
}
var r4 = properties2;
loopExit1: while (true) {
propertyName = properties[r4];
propertyName2 = r4 + 1;
if (propertyName === undefined) {
return false;
}
property = value[propertyName];
if (property.hasFlag(ChannelFlags.IS_GUILD_RESOURCE_CHANNEL)) {
break loopExit1;
}
r4 = propertyName2;
continue;
}
return true;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const impersonateStore = importDefault(1937) /* metro dependency 1937: ImpersonateStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const guildOnboardingHomeSettingsStore = importDefault(4869) /* metro dependency 4869: GuildOnboardingHomeSettingsStore */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_7 = constantsModule.FAVORITES;
const env0_8 = constantsModule.GuildFeatures;
const env0_9 = constantsModule.ME;
const env0_10 = (require(1386) /* metro dependency 1386: ChannelConstants */).ChannelFlags;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_onboarding_home/OnboardingHomeUtils.tsx');
exports.useCanSeeOnboardingHome = function(a0) {
var env0_0 = a0;
var value2 = importDefault(dependencyMap[6])(a0);
var env0_1 = value2;
return require(dependencyMap[7]).useStateFromStores([ChannelStore, GuildStore, ImpersonateStore], _fun44547,
[a0,
value2]);
};
exports.canSeeOnboardingHome = canSeeOnboardingHome;
}
function canSeeOnboardingHomeInPreview(a0) { // fn#44544, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5281:208, offset: 0x0117353f, size: 131 bytes, params: 2, frame: 15
var features;
const id = a0.id;
var value;
let r0 = GuildOnboardingHomeSettingsStore.getNewMemberActions(id) ?? [];
const value3 = r0.length > 0;
const enabled = GuildOnboardingHomeSettingsStore.getEnabled(id);
if (value3) {
features = a0.features;
r0 = features.has(GuildFeatures.COMMUNITY);
} else {
r0 = value3;
}
if (r0) {
features = a0.features;
value = features.has(GuildFeatures.GUILD_ONBOARDING);
value = !(value && !enabled);
r0 = value;
}
return r0;
}
function useCanSeeOnboardingHome(a0) { // fn#44546, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5281:685, offset: 0x01173611, size: 118 bytes, params: 2, frame: 18
const env0_0 = a0;
return (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([ChannelStore, GuildStore,
ImpersonateStore], _fun44547, [a0, (importDefault(5104) /* metro dependency 5104: useIsNewMember */)(a0)]);
}
function canSeeOnboardingHome(a0) { // fn#44548, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5281:1065, offset: 0x0117377f, size: 277 bytes, params: 2, frame: 15
const guild = GuildStore.getGuild(a0);
const isFullServerPreview2 = ImpersonateStore.isFullServerPreview(a0);
if (guild == null) {
return false;
}
if (a0 === ME) {
return false;
}
if (a0 === FAVORITES) {
return false;
}
if (isFullServerPreview2) {
return canSeeOnboardingHomeInPreview(guild);
}
const r3 = (require(5105) /* metro dependency 5105: GuildOnboardingUtils */).isGuildOnboardingSettingsAvailable(a0) && guild.features.has(GuildFeatures.GUILD_ONBOARDING) && guild.features.has(GuildFeatures.GUILD_SERVER_GUIDE);
const features = guild.features;
const has = features.has;
const GUILD_ONBOARDING = GuildFeatures.GUILD_ONBOARDING;
let r1 = Reflect.apply(has, features, [GUILD_ONBOARDING]) && guild.features.has(GuildFeatures.GUILD_SERVER_GUIDE);
r1 = (!r1 ? r3 : r1) && guild.features.has(GuildFeatures.COMMUNITY);
return r1;
}
function _fun44547() { // fn#44547, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5281:781, offset: 0x01173687, size: 248 bytes, params: 1, frame: 18
var r0;
if (env0_0 === ME) {
return false;
}
if (env0_0 === FAVORITES) {
return false;
}
const guild = GuildStore.getGuild(env0_0);
let r1 = guild == null || !guild.features.has(GuildFeatures.COMMUNITY);
if (r1) {
r0 = !r1;
} else {
if (ImpersonateStore.isFullServerPreview(env0_0)) {
r1 = canSeeOnboardingHomeInPreview(guild);
} else {
r1 = (require(5105) /* metro dependency 5105: GuildOnboardingUtils */).isGuildOnboardingSettingsAvailable(env0_0) || !!(importDefault(4871) /* metro dependency 4871: guildHasOnboardingHome */)(guild);
r1 = r1 && (env0_1 || hasResourceChannels(env0_0, ChannelStore));
}
r0 = r1;
}
return r0;
}