Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 684141d

Browse files
authored
Add tooltip to disabled invite button due to lack of permissions (#10869)
1 parent 01238c1 commit 684141d

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

src/components/views/rooms/MemberList.tsx

+20-10
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import { shouldShowComponent } from "../../../customisations/helpers/UIComponent
4646
import { UIComponent } from "../../../settings/UIFeature";
4747
import PosthogTrackers from "../../../PosthogTrackers";
4848
import { SDKContext } from "../../../contexts/SDKContext";
49+
import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
4950

5051
const INITIAL_LOAD_NUM_MEMBERS = 30;
5152
const INITIAL_LOAD_NUM_INVITED = 5;
@@ -349,23 +350,32 @@ export default class MemberList extends React.Component<IProps, IState> {
349350

350351
const cli = MatrixClientPeg.get();
351352
const room = cli.getRoom(this.props.roomId);
352-
let inviteButton;
353+
let inviteButton: JSX.Element | undefined;
353354

354355
if (room?.getMyMembership() === "join" && shouldShowComponent(UIComponent.InviteUsers)) {
355356
let inviteButtonText = _t("Invite to this room");
356357
if (room.isSpaceRoom()) {
357358
inviteButtonText = _t("Invite to this space");
358359
}
359360

360-
inviteButton = (
361-
<AccessibleButton
362-
className="mx_MemberList_invite"
363-
onClick={this.onInviteButtonClick}
364-
disabled={!this.state.canInvite}
365-
>
366-
<span>{inviteButtonText}</span>
367-
</AccessibleButton>
368-
);
361+
if (this.state.canInvite) {
362+
inviteButton = (
363+
<AccessibleButton className="mx_MemberList_invite" onClick={this.onInviteButtonClick}>
364+
<span>{inviteButtonText}</span>
365+
</AccessibleButton>
366+
);
367+
} else {
368+
inviteButton = (
369+
<AccessibleTooltipButton
370+
className="mx_MemberList_invite"
371+
onClick={null}
372+
disabled
373+
tooltip={_t("You do not have permission to invite users")}
374+
>
375+
<span>{inviteButtonText}</span>
376+
</AccessibleTooltipButton>
377+
);
378+
}
369379
}
370380

371381
let invitedHeader;

src/i18n/strings/en_EN.json

+1
Original file line numberDiff line numberDiff line change
@@ -1947,6 +1947,7 @@
19471947
"and %(count)s others...|one": "and one other...",
19481948
"Invite to this room": "Invite to this room",
19491949
"Invite to this space": "Invite to this space",
1950+
"You do not have permission to invite users": "You do not have permission to invite users",
19501951
"Invited": "Invited",
19511952
"Filter room members": "Filter room members",
19521953
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (power %(powerLevelNumber)s)",

0 commit comments

Comments
 (0)