54 lines
2.1 KiB
TypeScript
54 lines
2.1 KiB
TypeScript
// Metro module 10265 (f10266).
|
|
import PermissionStore from "../../stores/PermissionStore";
|
|
import GuildIncidentsStore from "./GuildIncidentsStore";
|
|
import { EMPTY_STRING_SNOWFLAKE_ID, Permissions } from "../../Constants";
|
|
import { useStateFromStores } from "../../_bundle/Module589";
|
|
import { hasDetectedActivity } from "./GuildAntiRaidUtils";
|
|
import { useIsMentionRaidExperimentEnabled } from "../guild_automod/ExperimentUtils";
|
|
export function canReportRaid(a0, r3 = PermissionStore) {
|
|
let r8 = r3.can(Permissions.BAN_MEMBERS, a0);
|
|
const r9 = r3;
|
|
if (!r8) {
|
|
r8 = r9.can(Permissions.KICK_MEMBERS, a0);
|
|
}
|
|
if (!r8) {
|
|
r8 = r9.can(Permissions.MODERATE_MEMBERS, a0);
|
|
}
|
|
if (!r8) {
|
|
r8 = r9.can(Permissions.MANAGE_GUILD, a0);
|
|
}
|
|
return r8;
|
|
}
|
|
export function useCanReportRaid(a0) {
|
|
const stateFromStores = useStateFromStores([PermissionStore], () => {
|
|
if (PermissionStore !== void 0) {
|
|
return PermissionStore.can(Permissions.BAN_MEMBERS, a0) || PermissionStore.can(Permissions.KICK_MEMBERS, a0) || PermissionStore.can(Permissions.MODERATE_MEMBERS, a0) || PermissionStore.can(Permissions.MANAGE_GUILD, a0);
|
|
}
|
|
}, [a0]);
|
|
const stateFromStores2 = useStateFromStores([GuildIncidentsStore], () => a0 != null ? GuildIncidentsStore.getGuildIncident(a0.id) : null, [a0]);
|
|
const r23 = stateFromStores2 != null && hasDetectedActivity(stateFromStores2);
|
|
return r23 ? !r23 : stateFromStores;
|
|
}
|
|
export function canEnableRaidAlerts(a0, r4 = PermissionStore) {
|
|
return r4.can(Permissions.MANAGE_GUILD, a0);
|
|
}
|
|
export function useCanEnableRaidAlerts(a0) {
|
|
return useStateFromStores([PermissionStore], () => {
|
|
if (PermissionStore !== void 0) {
|
|
return PermissionStore.can(Permissions.MANAGE_GUILD, a0);
|
|
}
|
|
}, [a0]);
|
|
}
|
|
export function useShowMentionRaidLimitUpsell(a0) {
|
|
const stateFromStores = useStateFromStores([PermissionStore], () => {
|
|
if (PermissionStore !== void 0) {
|
|
return PermissionStore.can(Permissions.MANAGE_GUILD, a0);
|
|
}
|
|
}, [a0]);
|
|
let r19 = a0?.id;
|
|
if (r19 == null) {
|
|
r19 = EMPTY_STRING_SNOWFLAKE_ID;
|
|
}
|
|
return useIsMentionRaidExperimentEnabled(r19, false) && stateFromStores;
|
|
}
|