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

71 lines
3.0 KiB
TypeScript

// Metro module 12614 (f12615).
import ImpersonateStore from "../impersonate/ImpersonateStore";
import GuildStore from "../../stores/GuildStore";
import { GuildFeatures } from "../../Constants";
import * as _useIsCreatorMonetizationEnabledGuild from "../creator_monetization_eligibility/useIsCreatorMonetizationEnabledGuild";
import useHasRoleSubscriptionInGuild, { computeHasRoleSubscriptionsInGuild } from "./useHasRoleSubscriptionInGuild";
import { useStateFromStores } from "../../_bundle/Module589";
import { useShouldHideGuildPurchaseEntryPoints } from "../creator_monetization_review/CreatorMonetizationRestrictionsHooks";
import { useGuildEligibleForGuildProducts } from "../guild_products/GuildProductsEligibility";
function $mk90116($env) {
return () => {
const r5 = $env.$parent;
return (0, r5[6])($env[0], [r5[4], r5[3]]);
};
}
let env8701 = {};
const computeCanEveryoneInGuildSeeRoleSubscriptions = function computeCanEveryoneInGuildSeeRoleSubscriptions(a0, r5 = [GuildStore, ImpersonateStore]) {
const [r27, r28] = r5;
const guild = r27.getGuild(a0);
if (guild == null) {
return false;
}
const isCreatorMonetizationEnabledGuild = _useIsCreatorMonetizationEnabledGuild.isCreatorMonetizationEnabledGuild(guild);
const r44 = guild.features.has(GuildFeatures.ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE);
const r45 = isCreatorMonetizationEnabledGuild ? !r44 : !isCreatorMonetizationEnabledGuild;
return r45 ? !!r28.isViewingServerShop(a0) : !r45;
};
export function areRoleSubscriptionsVisibleInGuild(a0, a1) {
return !!computeCanEveryoneInGuildSeeRoleSubscriptions(a0) || computeHasRoleSubscriptionsInGuild(a0, a1);
}
export function useRoleSubscriptionsVisibleInGuild(a0) {
let env19925;
const r2 = env19925 = {
$parent: env8701
};
env19925[0] = a0;
const hasRoleSubscriptionInGuild = useHasRoleSubscriptionInGuild(a0);
let r18 = useStateFromStores([GuildStore, ImpersonateStore], $mk90116(r2), [a0]);
const shouldHideGuildPurchaseEntryPoints = useShouldHideGuildPurchaseEntryPoints(a0).shouldHideGuildPurchaseEntryPoints;
let r24 = !shouldHideGuildPurchaseEntryPoints;
if (!shouldHideGuildPurchaseEntryPoints) {
if (!r18) {
r18 = hasRoleSubscriptionInGuild;
}
r24 = r18;
}
return r24;
}
export function useShowRoleSubscriptionsInChannelList(a0) {
let env19926;
const r2 = env19926 = {
$parent: env8701
};
env19926[0] = a0;
const hasRoleSubscriptionInGuild = useHasRoleSubscriptionInGuild(a0);
let r19 = useStateFromStores([GuildStore, ImpersonateStore], $mk90116(r2), [a0]);
const shouldHideGuildPurchaseEntryPoints = useShouldHideGuildPurchaseEntryPoints(a0).shouldHideGuildPurchaseEntryPoints;
let r25 = !shouldHideGuildPurchaseEntryPoints;
if (!shouldHideGuildPurchaseEntryPoints) {
if (!r19) {
r19 = hasRoleSubscriptionInGuild;
}
r25 = r19;
}
const guildEligibleForGuildProducts = useGuildEligibleForGuildProducts(a0);
if (r25) {
r25 = guildEligibleForGuildProducts ? true : !guildEligibleForGuildProducts;
}
return r25;
}