Fix space invite edge cases

This commit is contained in:
Michael Telatynski 2021-09-29 14:04:02 +01:00
parent c3bac33b9d
commit d6cab320e9
4 changed files with 27 additions and 9 deletions

View file

@ -52,6 +52,7 @@ import {
showAddExistingRooms,
showCreateNewRoom,
showCreateNewSubspace,
showSpaceInvite,
showSpaceSettings,
} from "../../utils/space";
import SpaceHierarchy, { showRoom } from "./SpaceHierarchy";
@ -405,19 +406,19 @@ const SpaceLandingAddButton = ({ space }) => {
</>;
};
const SpaceLanding = ({ space }) => {
const SpaceLanding = ({ space }: { space: Room }) => {
const cli = useContext(MatrixClientContext);
const myMembership = useMyRoomMembership(space);
const userId = cli.getUserId();
let inviteButton;
if (myMembership === "join" && space.canInvite(userId)) {
if ((myMembership === "join" && space.canInvite(userId)) || space.getJoinRule() === JoinRule.Public) {
inviteButton = (
<AccessibleButton
kind="primary"
className="mx_SpaceRoomView_landing_inviteButton"
onClick={() => {
showRoomInviteDialog(space.roomId);
showSpaceInvite(space);
}}
>
{ _t("Invite") }