Chore: Contact Sidebar, conversation cleanup (#908)
- Update sidebar design - Move every contact data to contacts module - Revert go to next conversation feature - Fix issues with new conversation in action cable - Escape HTML content - Broadcast event when conversation.contact changes. Co-authored-by: Sojan <sojan@pepalo.com>
This commit is contained in:
parent
8c52a3a953
commit
f78df91dd2
22 changed files with 252 additions and 125 deletions
|
@ -6,15 +6,15 @@
|
|||
>
|
||||
<Thumbnail
|
||||
v-if="!hideThumbnail"
|
||||
:src="chat.meta.sender.thumbnail"
|
||||
:badge="chat.meta.sender.channel"
|
||||
:src="currentContact.thumbnail"
|
||||
:badge="currentContact.channel"
|
||||
class="columns"
|
||||
:username="chat.meta.sender.name"
|
||||
:username="currentContact.name"
|
||||
size="40px"
|
||||
/>
|
||||
<div class="conversation--details columns">
|
||||
<h4 class="conversation--user">
|
||||
{{ chat.meta.sender.name }}
|
||||
{{ currentContact.name }}
|
||||
<span
|
||||
v-if="!hideInboxName && isInboxNameVisible"
|
||||
v-tooltip.bottom="inboxName(chat.inbox_id)"
|
||||
|
@ -25,12 +25,13 @@
|
|||
</h4>
|
||||
<p
|
||||
class="conversation--message"
|
||||
v-html="extractMessageText(lastMessage(chat))"
|
||||
></p>
|
||||
|
||||
v-html="extractMessageText(lastMessageInChat)"
|
||||
/>
|
||||
<div class="conversation--meta">
|
||||
<span class="timestamp">
|
||||
{{ dynamicTime(lastMessage(chat).created_at) }}
|
||||
{{
|
||||
lastMessageInChat ? dynamicTime(lastMessageInChat.created_at) : ''
|
||||
}}
|
||||
</span>
|
||||
<span class="unread">{{ getUnreadCount }}</span>
|
||||
</div>
|
||||
|
@ -78,6 +79,12 @@ export default {
|
|||
accountId: 'getCurrentAccountId',
|
||||
}),
|
||||
|
||||
currentContact() {
|
||||
return this.$store.getters['contacts/getContact'](
|
||||
this.chat.meta.sender.id
|
||||
);
|
||||
},
|
||||
|
||||
isActiveChat() {
|
||||
return this.currentChat.id === this.chat.id;
|
||||
},
|
||||
|
@ -93,6 +100,10 @@ export default {
|
|||
isInboxNameVisible() {
|
||||
return !this.activeInbox;
|
||||
},
|
||||
|
||||
lastMessageInChat() {
|
||||
return this.lastMessage(this.chat);
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
@ -102,6 +113,10 @@ export default {
|
|||
router.push({ path: frontendURL(path) });
|
||||
},
|
||||
extractMessageText(chatItem) {
|
||||
if (!chatItem) {
|
||||
return '';
|
||||
}
|
||||
|
||||
const { content, attachments } = chatItem;
|
||||
|
||||
if (content) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue