Add tooltip to disabled invite button due to lack of permissions (#10869)

This commit is contained in:
Michael Telatynski 2023-05-12 11:25:16 +01:00 committed by GitHub
parent 01238c1c38
commit 684141d310
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 10 deletions

View file

@ -46,6 +46,7 @@ import { shouldShowComponent } from "../../../customisations/helpers/UIComponent
import { UIComponent } from "../../../settings/UIFeature"; import { UIComponent } from "../../../settings/UIFeature";
import PosthogTrackers from "../../../PosthogTrackers"; import PosthogTrackers from "../../../PosthogTrackers";
import { SDKContext } from "../../../contexts/SDKContext"; import { SDKContext } from "../../../contexts/SDKContext";
import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
const INITIAL_LOAD_NUM_MEMBERS = 30; const INITIAL_LOAD_NUM_MEMBERS = 30;
const INITIAL_LOAD_NUM_INVITED = 5; const INITIAL_LOAD_NUM_INVITED = 5;
@ -349,7 +350,7 @@ export default class MemberList extends React.Component<IProps, IState> {
const cli = MatrixClientPeg.get(); const cli = MatrixClientPeg.get();
const room = cli.getRoom(this.props.roomId); const room = cli.getRoom(this.props.roomId);
let inviteButton; let inviteButton: JSX.Element | undefined;
if (room?.getMyMembership() === "join" && shouldShowComponent(UIComponent.InviteUsers)) { if (room?.getMyMembership() === "join" && shouldShowComponent(UIComponent.InviteUsers)) {
let inviteButtonText = _t("Invite to this room"); let inviteButtonText = _t("Invite to this room");
@ -357,15 +358,24 @@ export default class MemberList extends React.Component<IProps, IState> {
inviteButtonText = _t("Invite to this space"); inviteButtonText = _t("Invite to this space");
} }
inviteButton = ( if (this.state.canInvite) {
<AccessibleButton inviteButton = (
className="mx_MemberList_invite" <AccessibleButton className="mx_MemberList_invite" onClick={this.onInviteButtonClick}>
onClick={this.onInviteButtonClick} <span>{inviteButtonText}</span>
disabled={!this.state.canInvite} </AccessibleButton>
> );
<span>{inviteButtonText}</span> } else {
</AccessibleButton> inviteButton = (
); <AccessibleTooltipButton
className="mx_MemberList_invite"
onClick={null}
disabled
tooltip={_t("You do not have permission to invite users")}
>
<span>{inviteButtonText}</span>
</AccessibleTooltipButton>
);
}
} }
let invitedHeader; let invitedHeader;

View file

@ -1947,6 +1947,7 @@
"and %(count)s others...|one": "and one other...", "and %(count)s others...|one": "and one other...",
"Invite to this room": "Invite to this room", "Invite to this room": "Invite to this room",
"Invite to this space": "Invite to this space", "Invite to this space": "Invite to this space",
"You do not have permission to invite users": "You do not have permission to invite users",
"Invited": "Invited", "Invited": "Invited",
"Filter room members": "Filter room members", "Filter room members": "Filter room members",
"%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (power %(powerLevelNumber)s)", "%(userName)s (power %(powerLevelNumber)s)": "%(userName)s (power %(powerLevelNumber)s)",