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

Commit

Permalink
Merge pull request #3757 from matrix-org/dbkr/switch_to_checkdevicetrust
Browse files Browse the repository at this point in the history
Switch to using checkDeviceTrust
  • Loading branch information
dbkr authored Dec 21, 2019
2 parents 24d0d0d + b998e6f commit 8fbd35f
Showing 1 changed file with 24 additions and 8 deletions.
32 changes: 24 additions & 8 deletions src/components/views/right_panel/UserInfo.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,25 +129,28 @@ function verifyDevice(userId, device) {
}

function DeviceItem({userId, device}) {
const cli = useContext(MatrixClientContext);
const deviceTrust = cli.checkDeviceTrust(userId, device.deviceId);

const classes = classNames("mx_UserInfo_device", {
mx_UserInfo_device_verified: device.isVerified(),
mx_UserInfo_device_unverified: !device.isVerified(),
mx_UserInfo_device_verified: deviceTrust.isVerified(),
mx_UserInfo_device_unverified: !deviceTrust.isVerified(),
});
const iconClasses = classNames("mx_E2EIcon", {
mx_E2EIcon_verified: device.isVerified(),
mx_E2EIcon_warning: !device.isVerified(),
mx_E2EIcon_verified: deviceTrust.isVerified(),
mx_E2EIcon_warning: !deviceTrust.isVerified(),
});

const onDeviceClick = () => {
if (!device.isVerified()) {
if (!deviceTrust.isVerified()) {
verifyDevice(userId, device);
}
};

const deviceName = device.ambiguous ?
(device.getDisplayName() ? device.getDisplayName() : "") + " (" + device.deviceId + ")" :
device.getDisplayName();
const trustedLabel = device.isVerified() ? _t("Trusted") : _t("Not trusted");
const trustedLabel = deviceTrust.isVerified() ? _t("Trusted") : _t("Not trusted");
return (<AccessibleButton className={classes} onClick={onDeviceClick}>
<div className={iconClasses} />
<div className="mx_UserInfo_device_name">{deviceName}</div>
Expand All @@ -157,6 +160,7 @@ function DeviceItem({userId, device}) {

function DevicesSection({devices, userId, loading}) {
const Spinner = sdk.getComponent("elements.Spinner");
const cli = useContext(MatrixClientContext);

const [isExpanded, setExpanded] = useState(false);

Expand All @@ -167,9 +171,21 @@ function DevicesSection({devices, userId, loading}) {
if (devices === null) {
return _t("Unable to load device list");
}
const deviceTrusts = devices.map(d => cli.checkDeviceTrust(userId, d.deviceId));

const unverifiedDevices = [];
const verifiedDevices = [];

const unverifiedDevices = devices.filter(d => !d.isVerified());
const verifiedDevices = devices.filter(d => d.isVerified());
for (let i = 0; i < devices.length; ++i) {
const device = devices[i];
const deviceTrust = deviceTrusts[i];

if (deviceTrust.isVerified()) {
verifiedDevices.push(device);
} else {
unverifiedDevices.push(device);
}
}

let expandButton;
if (verifiedDevices.length) {
Expand Down

0 comments on commit 8fbd35f

Please sign in to comment.