// Metro module 11024 (f11025). import { memo, Fragment } from "react"; import GuildMemberStore from "../../../stores/GuildMemberStore"; import GuildStore from "../../../stores/GuildStore"; import PermissionStore from "../../../stores/PermissionStore"; import UserStore from "../../../stores/UserStore"; import { Permissions } from "../../../Constants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import { useStateFromStores, useStateFromStoresObject } from "../../../_bundle/Module589"; import { canKickMember, canBanMember } from "../../guild_member/GuildMemberUtils"; import { canToggleCommunicationDisableOnUser } from "../../guild_communication_disabled/useCanToggleCommunicationDisableOnUser"; import NicknameUtils from "../../../utils/NicknameUtils"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import { ActionSheetRow } from "../../../design/components/Sheet/native/ActionSheetRow.native"; import { intl, t } from "../../../intl/index.native"; import { SettingsIcon } from "../../../design/components/Icon/native/redesign/generated/SettingsIcon"; import ModalActionCreators from "../../../actions/ModalActionCreators"; import showModerateUserActionSheet from "./showModerateUserActionSheet"; import * as _CommunicationDisabledUtils from "../../guild_communication_disabled/CommunicationDisabledUtils"; import { ClockWarningIcon } from "../../../design/components/Icon/native/redesign/generated/ClockWarningIcon"; import { openEnableCommunication, openDisableCommunication } from "../../guild_communication_disabled/GuildDisableCommunicationActionCreators.native"; import { UserMinusIcon } from "../../../design/components/Icon/native/redesign/generated/UserMinusIcon"; import showKickConfirmModal from "../../guild_moderation/native/showKickConfirmModal"; import { HammerIcon } from "../../../design/components/Icon/native/redesign/generated/HammerIcon"; import showBanConfirmModal from "../../guild_moderation/native/showBanConfirmModal"; import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native"; import { BottomSheetTitleHeader } from "../../../design/components/Sheet/native/BottomSheetTitleHeader.native"; import MemberRolesList from "../../../components_native/MemberRolesList"; import { TableRowGroup } from "../../../design/components/TableRow/native/TableRowGroup.native"; const useStyles = createStyles({ container: { padding: 16, gap: 16 }, memberRoles: { justifyContent: "flex-start" } }); const r39 = memo(function({ user, guild }) { let hideActionSheet, isMemberCommunicationDisabled; hideActionSheet = void 0; isMemberCommunicationDisabled = void 0; const styles = useStyles(); const stateFromStores = useStateFromStores([GuildMemberStore], () => GuildMemberStore.getMember(guild?.id, user.id), [user, guild]); const userRoles = stateFromStores != null ? stateFromStores.roles : []; const stateFromStoresObject = useStateFromStoresObject([PermissionStore, UserStore, GuildStore], () => ({ canKickUser: guild != null && canKickMember(user, guild), canBanUser: guild != null && canBanMember(user, guild), canChangeNick: guild != null && PermissionStore.canManageUser(Permissions.MANAGE_NICKNAMES, user, guild), canManageRoles: guild != null && PermissionStore.can(Permissions.MANAGE_ROLES, guild), canModerateMembers: guild != null && canToggleCommunicationDisableOnUser(guild.id, user.id, [UserStore, GuildStore, PermissionStore]) }), [user, guild]); const { canKickUser, canBanUser, canChangeNick, canManageRoles, canModerateMembers } = stateFromStoresObject; if (guild != null && stateFromStores != null) { const name = NicknameUtils.getName(guild.id, void 0, user); hideActionSheet = ActionSheetActionCreators.hideActionSheet; const r47 = stateFromStores != null && ((canKickUser ? canKickUser : canBanUser) || canChangeNick || canManageRoles) && !user.isNonUserBot(); const r51 = []; if (r47) { r51.push(} onPress={() => { hideActionSheet(); ModalActionCreators.pushLazy(import("../../guild_settings/native/GuildSettingsModalMemberEdit"), { userId: user.id, guildId: guild.id, onClose: () => { ModalActionCreators.pop(); showModerateUserActionSheet({ guild, user }); }, onRemove: () => { ModalActionCreators.pop(); } }); }} />); } if (stateFromStores != null && canModerateMembers) { isMemberCommunicationDisabled = _CommunicationDisabledUtils.isMemberCommunicationDisabled(stateFromStores); r51.push(} onPress={() => { hideActionSheet(); if (isMemberCommunicationDisabled) { openEnableCommunication({ guildId: stateFromStores.guildId, userId: stateFromStores.userId }); } else { openDisableCommunication({ guildId: stateFromStores.guildId, userId: stateFromStores.userId }); } }} />); } if (stateFromStores != null && canKickUser) { r51.push(} variant="danger" onPress={() => { showKickConfirmModal({ guildId: guild.id, userId: user.id, cancelButtonCallback: () => showModerateUserActionSheet({ guild, user }) }); }} />); } if (stateFromStores != null && canBanUser) { r51.push(} variant="danger" onPress={() => { showBanConfirmModal({ guildId: guild.id, userId: user.id, cancelButtonCallback: () => showModerateUserActionSheet({ guild, user }) }); }} />); } return } bodyStyles={styles.container}> {r51.map((item, index) => {item} )} ; } return null; }); export default r39;