UI Fixes and DeviceList changes

This commit is contained in:
N-Pex 2025-05-12 18:21:48 +02:00
parent d766f9a0e3
commit a1d729d812
5 changed files with 38 additions and 48 deletions

View file

@ -16,9 +16,9 @@
<v-btn icon>
<v-icon
:color="
device.isBlocked()
device.isBlocked
? 'red'
: device.isVerified()
: device.isVerified
? 'green'
: 'grey-lighten-1'
"
@ -32,6 +32,8 @@
</template>
<script>
import { DeviceVerification } from 'matrix-js-sdk';
export default {
name: "DeviceList",
props: {
@ -53,7 +55,7 @@ export default {
handler(member, ignoredOldVal) {
this.updateDevices();
if (member) {
this.$matrix.matrixClient.downloadKeys([member.userId]).then(() => {
this.$matrix.matrixClient.downloadKeysForUsers([member.userId]).then(() => {
this.updateDevices();
});
}
@ -66,23 +68,36 @@ export default {
this.devices = [];
return;
}
this.devices = this.$matrix.matrixClient.getStoredDevicesForUser(
this.member.userId
);
this.$matrix.matrixClient.getCrypto().getUserDeviceInfo(
[this.member.userId], true
).then(deviceMap => {
if (deviceMap && deviceMap.get(this.member.userId)) {
const userDevices = deviceMap.get(this.member.userId);
const devices = [...userDevices.keys()].map(k => {
return userDevices.get(k);
}).map(d => ({
deviceId: d.deviceId,
displayName: d.displayName,
isBlocked: d.verified == DeviceVerification.Blocked,
isVerified: d.verified == DeviceVerification.Verified
}));
this.devices = devices;
}
})
},
displayName(device) {
var name = device.deviceId;
if (device.getDisplayName()) {
name += " - " + device.getDisplayName();
if (device.displayName) {
name += " - " + device.displayName;
}
return name;
},
verificationStatus(device) {
if (device.isBlocked()) {
if (device.isBlocked) {
return this.$t('device_list.blocked');
} else if (device.isVerified()) {
} else if (device.isVerified) {
return this.$t('device_list.verified');
} else {
return this.$t('device_list.not_verified');