33 lines
1.3 KiB
TypeScript
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 };
|