Hide participants: Show option only when available (#2752)
This commit is contained in:
parent
2d7d1a7fd8
commit
22b3b53c58
@ -47,8 +47,8 @@ type StateProps = {
|
|||||||
globalUserIds?: string[];
|
globalUserIds?: string[];
|
||||||
currentUserId?: string;
|
currentUserId?: string;
|
||||||
canDeleteMembers?: boolean;
|
canDeleteMembers?: boolean;
|
||||||
isBasicGroup?: boolean;
|
|
||||||
areParticipantsHidden?: boolean;
|
areParticipantsHidden?: boolean;
|
||||||
|
canHideParticipants?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
const ManageGroupMembers: FC<OwnProps & StateProps> = ({
|
const ManageGroupMembers: FC<OwnProps & StateProps> = ({
|
||||||
@ -66,8 +66,8 @@ const ManageGroupMembers: FC<OwnProps & StateProps> = ({
|
|||||||
searchQuery,
|
searchQuery,
|
||||||
currentUserId,
|
currentUserId,
|
||||||
canDeleteMembers,
|
canDeleteMembers,
|
||||||
isBasicGroup,
|
|
||||||
areParticipantsHidden,
|
areParticipantsHidden,
|
||||||
|
canHideParticipants,
|
||||||
onClose,
|
onClose,
|
||||||
onScreenSelect,
|
onScreenSelect,
|
||||||
onChatMemberSelect,
|
onChatMemberSelect,
|
||||||
@ -192,7 +192,7 @@ const ManageGroupMembers: FC<OwnProps & StateProps> = ({
|
|||||||
<div className="Management">
|
<div className="Management">
|
||||||
{noAdmins && renderSearchField()}
|
{noAdmins && renderSearchField()}
|
||||||
<div className="custom-scroll">
|
<div className="custom-scroll">
|
||||||
{!isBasicGroup && (
|
{canHideParticipants && (
|
||||||
<div className="section">
|
<div className="section">
|
||||||
<ListItem icon="group" ripple onClick={handleToggleParticipantsHidden}>
|
<ListItem icon="group" ripple onClick={handleToggleParticipantsHidden}>
|
||||||
<span>{lang('ChannelHideMembers')}</span>
|
<span>{lang('ChannelHideMembers')}</span>
|
||||||
@ -255,6 +255,12 @@ export default memo(withGlobal<OwnProps>(
|
|||||||
const adminMembersById = chat?.fullInfo?.adminMembersById;
|
const adminMembersById = chat?.fullInfo?.adminMembersById;
|
||||||
const isChannel = chat && isChatChannel(chat);
|
const isChannel = chat && isChatChannel(chat);
|
||||||
const { userIds: localContactIds } = global.contactList || {};
|
const { userIds: localContactIds } = global.contactList || {};
|
||||||
|
const hiddenMembersMinCount = global.appConfig?.hiddenMembersMinCount;
|
||||||
|
|
||||||
|
const canDeleteMembers = chat && (chat.isCreator || getHasAdminRight(chat, 'banUsers'));
|
||||||
|
|
||||||
|
const canHideParticipants = canDeleteMembers && !isChatBasicGroup(chat) && chat.membersCount !== undefined
|
||||||
|
&& hiddenMembersMinCount !== undefined && chat.membersCount >= hiddenMembersMinCount;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
query: searchQuery,
|
query: searchQuery,
|
||||||
@ -263,10 +269,7 @@ export default memo(withGlobal<OwnProps>(
|
|||||||
localUserIds,
|
localUserIds,
|
||||||
} = selectTabState(global).userSearch;
|
} = selectTabState(global).userSearch;
|
||||||
|
|
||||||
const canDeleteMembers = chat && (chat.isCreator || getHasAdminRight(chat, 'banUsers'));
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isBasicGroup: Boolean(chat && isChatBasicGroup(chat)),
|
|
||||||
areParticipantsHidden: Boolean(chat && chat.fullInfo?.areParticipantsHidden),
|
areParticipantsHidden: Boolean(chat && chat.fullInfo?.areParticipantsHidden),
|
||||||
members,
|
members,
|
||||||
adminMembersById,
|
adminMembersById,
|
||||||
@ -279,6 +282,7 @@ export default memo(withGlobal<OwnProps>(
|
|||||||
localUserIds,
|
localUserIds,
|
||||||
canDeleteMembers,
|
canDeleteMembers,
|
||||||
currentUserId: global.currentUserId,
|
currentUserId: global.currentUserId,
|
||||||
|
canHideParticipants,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
)(ManageGroupMembers));
|
)(ManageGroupMembers));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user