// 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 };