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,11 +73,9 @@ export const ConversationDetailsActions: React.ComponentType<Props> = ({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
blockGroupNode = (
|
||||||
<>
|
|
||||||
<PanelSection>
|
|
||||||
{leaveGroupNode}
|
|
||||||
<PanelRow
|
<PanelRow
|
||||||
|
disabled={cannotLeaveBecauseYouAreLastAdmin}
|
||||||
onClick={() => setConfirmingBlock(true)}
|
onClick={() => setConfirmingBlock(true)}
|
||||||
icon={
|
icon={
|
||||||
<ConversationDetailsIcon
|
<ConversationDetailsIcon
|
||||||
|
@ -90,6 +89,25 @@ export const ConversationDetailsActions: React.ComponentType<Props> = ({
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
);
|
||||||
|
if (cannotLeaveBecauseYouAreLastAdmin) {
|
||||||
|
blockGroupNode = (
|
||||||
|
<Tooltip
|
||||||
|
content={i18n(
|
||||||
|
'ConversationDetailsActions--leave-group-must-choose-new-admin'
|
||||||
|
)}
|
||||||
|
direction={TooltipPlacement.Top}
|
||||||
|
>
|
||||||
|
{blockGroupNode}
|
||||||
|
</Tooltip>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<PanelSection>
|
||||||
|
{leaveGroupNode}
|
||||||
|
{blockGroupNode}
|
||||||
</PanelSection>
|
</PanelSection>
|
||||||
|
|
||||||
{confirmingLeave && (
|
{confirmingLeave && (
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue