Disallow sending to rooms with insufficient powerlevel

Fixes #123
This commit is contained in:
Gero Gerke 2021-09-30 16:16:43 +02:00
parent 83c6914a50
commit ecc4a40eea
2 changed files with 14 additions and 0 deletions

View file

@ -327,7 +327,15 @@ function RoomViewInput({
if (file !== null) roomsInput.setAttachment(roomId, file); if (file !== null) roomsInput.setAttachment(roomId, file);
} }
const myPowerlevel = roomTimeline.room.getMember(mx.getUserId()).powerLevel;
const canISend = roomTimeline.room.currentState.hasSufficientPowerLevelFor('events_default', myPowerlevel);
function renderInputs() { function renderInputs() {
if (!canISend) {
return (
<p className="room-input__disallowed">You do not have permission to post to this room</p>
);
}
return ( return (
<> <>
<div className={`room-input__option-container${attachment === null ? '' : ' room-attachment__option'}`}> <div className={`room-input__option-container${attachment === null ? '' : ' room-attachment__option'}`}>

View file

@ -3,6 +3,12 @@
display: flex; display: flex;
min-height: 48px; min-height: 48px;
&__disallowed {
color: var(--tc-surface-low);
flex: 1;
text-align: center;
}
&__space { &__space {
min-width: 0; min-width: 0;
align-self: center; align-self: center;