Files
discord-decomp/modules/guild_badge/GuildTraits.tsx
T
2026-11-01 12:12:55 +02:00

45 lines
1.8 KiB
TypeScript

// Metro module 8462 (f8463).
import { BoostedGuildTiers, GuildFeatures } from "../../Constants";
import { isGuildRecord } from "../../utils/GuildRecordUtils";
let c5421_4 = {
PUBLIC: "PUBLIC",
INVITE_ONLY: "INVITE_ONLY",
APPLY_TO_JOIN: "APPLY_TO_JOIN"
};
export { c5421_4 as GuildVisibility };
export function getGuildTraits(a0) {
const set = new Set(a0.features);
let INVITE_ONLY = c5421_4.INVITE_ONLY;
if (set.has(GuildFeatures.COMMUNITY) && set.has(GuildFeatures.DISCOVERABLE)) {
INVITE_ONLY = c5421_4.PUBLIC;
} else if (set.has(GuildFeatures.MEMBER_VERIFICATION_MANUAL_APPROVAL) && set.has(GuildFeatures.MEMBER_VERIFICATION_GATE_ENABLED)) {
INVITE_ONLY = c5421_4.APPLY_TO_JOIN;
}
const premium = a0 != null && (isGuildRecord(a0) ? a0.premiumSubscriberCount > 0 || a0.premiumTier > BoostedGuildTiers.NONE : a0.premiumSubscriptionCount != null && a0.premiumSubscriptionCount > 0);
let premiumSubscriberCount = 0;
if (premium) {
let r51 = isGuildRecord(a0) ? a0.premiumSubscriberCount : a0.premiumSubscriptionCount;
if (r51 == null) {
r51 = 0;
}
premiumSubscriberCount = r51;
}
const premiumTier = isGuildRecord(a0) ? a0.premiumTier : BoostedGuildTiers.NONE;
return {
verified: set.has(GuildFeatures.VERIFIED),
partnered: set.has(GuildFeatures.PARTNERED),
community: set.has(GuildFeatures.COMMUNITY),
staff: set.has(GuildFeatures.INTERNAL_EMPLOYEE_ONLY),
visibility: INVITE_ONLY,
premium,
premiumSubscriberCount,
premiumTier
};
}
export function isPremiumGuild(a0) {
return a0 != null && (isGuildRecord(a0) ? a0.premiumSubscriberCount > 0 || a0.premiumTier > BoostedGuildTiers.NONE : a0.premiumSubscriptionCount != null && a0.premiumSubscriptionCount > 0);
}
export function isDiscoverableGuild(a0) {
return a0 != null && new Set(a0.features).has(GuildFeatures.DISCOVERABLE);
}