add "unverify user" action to user info
This commit is contained in:
parent
29216ef668
commit
e32a948d5d
2 changed files with 23 additions and 1 deletions
|
@ -64,6 +64,17 @@ const _getE2EStatus = (devices) => {
|
||||||
return hasUnverifiedDevice ? "warning" : "verified";
|
return hasUnverifiedDevice ? "warning" : "verified";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
async function unverifyUser(matrixClient, userId) {
|
||||||
|
const devices = await matrixClient.getStoredDevicesForUser(userId);
|
||||||
|
for (const device of devices) {
|
||||||
|
if (device.isVerified()) {
|
||||||
|
matrixClient.setDeviceVerified(
|
||||||
|
userId, device.deviceId, false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function useIsEncrypted(cli, room) {
|
function useIsEncrypted(cli, room) {
|
||||||
const [isEncrypted, setIsEncrypted] = useState(cli.isRoomEncrypted(room.roomId));
|
const [isEncrypted, setIsEncrypted] = useState(cli.isRoomEncrypted(room.roomId));
|
||||||
|
|
||||||
|
@ -124,7 +135,7 @@ function openDMForUser(cli, userId) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const UserOptionsSection = withLegacyMatrixClient(({matrixClient: cli, member, isIgnored, canInvite}) => {
|
const UserOptionsSection = withLegacyMatrixClient(({matrixClient: cli, member, isIgnored, canInvite, devices}) => {
|
||||||
let ignoreButton = null;
|
let ignoreButton = null;
|
||||||
let insertPillButton = null;
|
let insertPillButton = null;
|
||||||
let inviteUserButton = null;
|
let inviteUserButton = null;
|
||||||
|
@ -234,6 +245,14 @@ const UserOptionsSection = withLegacyMatrixClient(({matrixClient: cli, member, i
|
||||||
</AccessibleButton>
|
</AccessibleButton>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
let unverifyButton;
|
||||||
|
if (devices && devices.some(device => device.isVerified())) {
|
||||||
|
unverifyButton = (
|
||||||
|
<AccessibleButton onClick={() => unverifyUser(cli, member.userId)} className="mx_UserInfo_field">
|
||||||
|
{ _t('Unverify user') }
|
||||||
|
</AccessibleButton>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx_UserInfo_container">
|
<div className="mx_UserInfo_container">
|
||||||
|
@ -245,6 +264,7 @@ const UserOptionsSection = withLegacyMatrixClient(({matrixClient: cli, member, i
|
||||||
{ insertPillButton }
|
{ insertPillButton }
|
||||||
{ ignoreButton }
|
{ ignoreButton }
|
||||||
{ inviteUserButton }
|
{ inviteUserButton }
|
||||||
|
{ unverifyButton }
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1140,6 +1160,7 @@ const UserInfo = withLegacyMatrixClient(({matrixClient: cli, user, groupId, room
|
||||||
<AutoHideScrollbar className="mx_UserInfo_scrollContainer">
|
<AutoHideScrollbar className="mx_UserInfo_scrollContainer">
|
||||||
{ devicesSection }
|
{ devicesSection }
|
||||||
<UserOptionsSection
|
<UserOptionsSection
|
||||||
|
devices={devices}
|
||||||
canInvite={roomPermissions.canInvite}
|
canInvite={roomPermissions.canInvite}
|
||||||
isIgnored={isIgnored}
|
isIgnored={isIgnored}
|
||||||
member={user} />
|
member={user} />
|
||||||
|
|
|
@ -1069,6 +1069,7 @@
|
||||||
"Trust & Devices": "Trust & Devices",
|
"Trust & Devices": "Trust & Devices",
|
||||||
"Direct messages": "Direct messages",
|
"Direct messages": "Direct messages",
|
||||||
"Direct message": "Direct message",
|
"Direct message": "Direct message",
|
||||||
|
"Unverify user": "Unverify user",
|
||||||
"Options": "Options",
|
"Options": "Options",
|
||||||
"Remove from community": "Remove from community",
|
"Remove from community": "Remove from community",
|
||||||
"Disinvite this user from community?": "Disinvite this user from community?",
|
"Disinvite this user from community?": "Disinvite this user from community?",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue