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

33 lines
1.3 KiB
TypeScript

// Metro module 11026 (f11027).
import { isGuildOwner } from "../../records/GuildRecord";
import GuildStore from "../../stores/GuildStore";
import PermissionStore from "../../stores/PermissionStore";
import UserStore from "../../stores/UserStore";
import { Permissions } from "../../Constants";
import { can } from "../../utils/PermissionUtils";
import { useStateFromStores } from "../../_bundle/Module589";
const canToggleCommunicationDisableOnUser = function canToggleCommunicationDisableOnUser(id, a1, r5 = [UserStore, GuildStore, PermissionStore]) {
const [r36, r8, r10] = r5;
const guild = r8.getGuild(id);
const user = r36.getUser(a1);
let r49 = guild != null && user != null;
if (r49) {
const isNonUserBot = user.isNonUserBot();
let r52 = !isNonUserBot;
if (!isNonUserBot) {
const r54 = isGuildOwner(guild, user) || can({
permission: Permissions.ADMINISTRATOR,
user,
context: guild
});
r52 = r54 ? !r54 : r10.canManageUser(Permissions.MODERATE_MEMBERS, user, guild);
}
r49 = r52;
}
return r49;
};
export default function useCanToggleCommunicationDisableOnUser(a0, a1) {
return useStateFromStores([UserStore, GuildStore, PermissionStore], () => canToggleCommunicationDisableOnUser(a0, a1, [UserStore, GuildStore, PermissionStore]), [a0, a1]);
};
export { canToggleCommunicationDisableOnUser };