Resolve "Add room avatar back to the header as a shortcut to room details"
This commit is contained in:
parent
2117877592
commit
46a36f5ca7
2 changed files with 37 additions and 1 deletions
|
|
@ -59,6 +59,9 @@ body {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.chat-header-avatar {
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
.room-title-row {
|
.room-title-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -901,7 +904,6 @@ body {
|
||||||
height: 64px !important;
|
height: 64px !important;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
.headline {
|
.headline {
|
||||||
font-size: 70 * $chat-text-size !important;
|
font-size: 70 * $chat-text-size !important;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<v-container fluid v-if="room">
|
<v-container fluid v-if="room">
|
||||||
<v-row class="chat-header-row flex-nowrap">
|
<v-row class="chat-header-row flex-nowrap">
|
||||||
|
<v-col
|
||||||
|
cols="auto"
|
||||||
|
class="chat-header-members text-start ma-0 pa-0"
|
||||||
|
>
|
||||||
|
<v-avatar size="40" class="clickable me-2 chat-header-avatar" color="grey" @click.stop="onAvatarClicked">
|
||||||
|
<v-img v-if="roomAvatar" :src="roomAvatar" />
|
||||||
|
<span v-else class="white--text headline">{{
|
||||||
|
room.name.substring(0, 1).toUpperCase()
|
||||||
|
}}</span>
|
||||||
|
</v-avatar>
|
||||||
|
</v-col>
|
||||||
<v-col class="chat-header-name ma-0 pa-0 flex-shrink-1 flex-nowrap" @click.stop="onHeaderClicked">
|
<v-col class="chat-header-name ma-0 pa-0 flex-shrink-1 flex-nowrap" @click.stop="onHeaderClicked">
|
||||||
<div class="room-title-row">
|
<div class="room-title-row">
|
||||||
<div class="room-name-inline text-truncate" :title="room.name">
|
<div class="room-name-inline text-truncate" :title="room.name">
|
||||||
|
|
@ -170,6 +181,25 @@ export default {
|
||||||
});
|
});
|
||||||
return items;
|
return items;
|
||||||
},
|
},
|
||||||
|
roomAvatar() {
|
||||||
|
const room = this.room;
|
||||||
|
if (this.$matrix.isDirectRoom(room)) {
|
||||||
|
if (room.avatar) {
|
||||||
|
return room.avatar;
|
||||||
|
}
|
||||||
|
const membersNotMe = room.getMembers().filter(m => m.userId != this.$matrix.currentUserId);
|
||||||
|
if (membersNotMe && membersNotMe.length == 1) {
|
||||||
|
return membersNotMe[0].getAvatarUrl(
|
||||||
|
this.$matrix.matrixClient.getHomeserverUrl(),
|
||||||
|
40,
|
||||||
|
40,
|
||||||
|
"scale",
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return room.avatar;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
room: {
|
room: {
|
||||||
|
|
@ -201,6 +231,10 @@ export default {
|
||||||
this.$emit("header-click", { event: this.event });
|
this.$emit("header-click", { event: this.event });
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onAvatarClicked() {
|
||||||
|
this.$emit("view-room-details", { event: this.event });
|
||||||
|
},
|
||||||
|
|
||||||
updateMemberCount() {
|
updateMemberCount() {
|
||||||
if (!this.room) {
|
if (!this.room) {
|
||||||
this.memberCount = 0;
|
this.memberCount = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue