ConversationDetails: Prevent block/leave of group if only admin
This commit is contained in:
parent
84ac7dd2df
commit
5fb78e1986
1 changed files with 32 additions and 14 deletions
|
@ -33,6 +33,7 @@ export const ConversationDetailsActions: React.ComponentType<Props> = ({
|
||||||
const [confirmingBlock, setConfirmingBlock] = React.useState<boolean>(false);
|
const [confirmingBlock, setConfirmingBlock] = React.useState<boolean>(false);
|
||||||
|
|
||||||
let leaveGroupNode: ReactNode;
|
let leaveGroupNode: ReactNode;
|
||||||
|
let blockGroupNode: ReactNode;
|
||||||
if (!left) {
|
if (!left) {
|
||||||
leaveGroupNode = (
|
leaveGroupNode = (
|
||||||
<PanelRow
|
<PanelRow
|
||||||
|
@ -72,24 +73,41 @@ export const ConversationDetailsActions: React.ComponentType<Props> = ({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blockGroupNode = (
|
||||||
|
<PanelRow
|
||||||
|
disabled={cannotLeaveBecauseYouAreLastAdmin}
|
||||||
|
onClick={() => setConfirmingBlock(true)}
|
||||||
|
icon={
|
||||||
|
<ConversationDetailsIcon
|
||||||
|
ariaLabel={i18n('ConversationDetailsActions--block-group')}
|
||||||
|
icon="block"
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
label={
|
||||||
|
<div className="module-conversation-details__block-group">
|
||||||
|
{i18n('ConversationDetailsActions--block-group')}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
if (cannotLeaveBecauseYouAreLastAdmin) {
|
||||||
|
blockGroupNode = (
|
||||||
|
<Tooltip
|
||||||
|
content={i18n(
|
||||||
|
'ConversationDetailsActions--leave-group-must-choose-new-admin'
|
||||||
|
)}
|
||||||
|
direction={TooltipPlacement.Top}
|
||||||
|
>
|
||||||
|
{blockGroupNode}
|
||||||
|
</Tooltip>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<PanelSection>
|
<PanelSection>
|
||||||
{leaveGroupNode}
|
{leaveGroupNode}
|
||||||
<PanelRow
|
{blockGroupNode}
|
||||||
onClick={() => setConfirmingBlock(true)}
|
|
||||||
icon={
|
|
||||||
<ConversationDetailsIcon
|
|
||||||
ariaLabel={i18n('ConversationDetailsActions--block-group')}
|
|
||||||
icon="block"
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
label={
|
|
||||||
<div className="module-conversation-details__block-group">
|
|
||||||
{i18n('ConversationDetailsActions--block-group')}
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</PanelSection>
|
</PanelSection>
|
||||||
|
|
||||||
{confirmingLeave && (
|
{confirmingLeave && (
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue