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