feat: Shows agent avatar for message sent by agent (#3884)
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
c0276d252a
commit
1f3c5002b3
@@ -228,8 +228,14 @@
|
|||||||
@include flex-align(right, null);
|
@include flex-align(right, null);
|
||||||
|
|
||||||
.wrap {
|
.wrap {
|
||||||
|
align-items: flex-end;
|
||||||
|
display: flex;
|
||||||
margin-right: $space-normal;
|
margin-right: $space-normal;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
|
||||||
|
.sender--info {
|
||||||
|
padding: var(--space-small) 0 var(--space-smaller) var(--space-small);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bubble {
|
.bubble {
|
||||||
|
|||||||
@@ -57,22 +57,26 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<spinner v-if="isPending" size="tiny" />
|
<spinner v-if="isPending" size="tiny" />
|
||||||
<a
|
<div
|
||||||
v-if="isATweet && isIncoming && sender"
|
v-if="showAvatar"
|
||||||
|
v-tooltip.top="tooltipForSender"
|
||||||
class="sender--info"
|
class="sender--info"
|
||||||
:href="twitterProfileLink"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer nofollow"
|
|
||||||
>
|
>
|
||||||
<woot-thumbnail
|
<woot-thumbnail
|
||||||
:src="sender.thumbnail"
|
:src="sender.thumbnail"
|
||||||
:username="sender.name"
|
:username="sender.name"
|
||||||
size="16px"
|
size="16px"
|
||||||
/>
|
/>
|
||||||
<div class="sender--available-name">
|
<a
|
||||||
|
v-if="isATweet && isIncoming"
|
||||||
|
class="sender--available-name"
|
||||||
|
:href="twitterProfileLink"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer nofollow"
|
||||||
|
>
|
||||||
{{ sender.name }}
|
{{ sender.name }}
|
||||||
</div>
|
</a>
|
||||||
</a>
|
</div>
|
||||||
<div v-if="isFailed" class="message-failed--alert">
|
<div v-if="isFailed" class="message-failed--alert">
|
||||||
<woot-button
|
<woot-button
|
||||||
v-tooltip.top-end="$t('CONVERSATION.TRY_AGAIN')"
|
v-tooltip.top-end="$t('CONVERSATION.TRY_AGAIN')"
|
||||||
@@ -113,7 +117,6 @@ import BubbleActions from './bubble/Actions';
|
|||||||
import Spinner from 'shared/components/Spinner';
|
import Spinner from 'shared/components/Spinner';
|
||||||
import ContextMenu from 'dashboard/modules/conversations/components/MessageContextMenu';
|
import ContextMenu from 'dashboard/modules/conversations/components/MessageContextMenu';
|
||||||
|
|
||||||
import { isEmptyObject } from 'dashboard/helper/commons';
|
|
||||||
import alertMixin from 'shared/mixins/alertMixin';
|
import alertMixin from 'shared/mixins/alertMixin';
|
||||||
import contentTypeMixin from 'shared/mixins/contentTypeMixin';
|
import contentTypeMixin from 'shared/mixins/contentTypeMixin';
|
||||||
import { MESSAGE_TYPE, MESSAGE_STATUS } from 'shared/constants/messages';
|
import { MESSAGE_TYPE, MESSAGE_STATUS } from 'shared/constants/messages';
|
||||||
@@ -242,6 +245,9 @@ export default {
|
|||||||
isIncoming() {
|
isIncoming() {
|
||||||
return this.data.message_type === MESSAGE_TYPE.INCOMING;
|
return this.data.message_type === MESSAGE_TYPE.INCOMING;
|
||||||
},
|
},
|
||||||
|
isOutgoing() {
|
||||||
|
return this.data.message_type === MESSAGE_TYPE.OUTGOING;
|
||||||
|
},
|
||||||
emailHeadAttributes() {
|
emailHeadAttributes() {
|
||||||
return {
|
return {
|
||||||
email: this.contentAttributes.email,
|
email: this.contentAttributes.email,
|
||||||
@@ -258,6 +264,15 @@ export default {
|
|||||||
hasText() {
|
hasText() {
|
||||||
return !!this.data.content;
|
return !!this.data.content;
|
||||||
},
|
},
|
||||||
|
tooltipForSender() {
|
||||||
|
const { name = this.$t('CONVERSATION.BOT') } = this.sender || {};
|
||||||
|
return this.data.message_type === MESSAGE_TYPE.OUTGOING
|
||||||
|
? {
|
||||||
|
content: `${this.$t('CONVERSATION.SENT_BY')} ${name}`,
|
||||||
|
classes: 'top',
|
||||||
|
}
|
||||||
|
: false;
|
||||||
|
},
|
||||||
messageToolTip() {
|
messageToolTip() {
|
||||||
if (this.isMessageDeleted) {
|
if (this.isMessageDeleted) {
|
||||||
return false;
|
return false;
|
||||||
@@ -265,13 +280,7 @@ export default {
|
|||||||
if (this.isFailed) {
|
if (this.isFailed) {
|
||||||
return this.$t(`CONVERSATION.SEND_FAILED`);
|
return this.$t(`CONVERSATION.SEND_FAILED`);
|
||||||
}
|
}
|
||||||
const { sender } = this;
|
return false;
|
||||||
return this.data.message_type === 1 && !isEmptyObject(sender)
|
|
||||||
? {
|
|
||||||
content: `${this.$t('CONVERSATION.SENT_BY')} ${sender.name}`,
|
|
||||||
classes: 'top',
|
|
||||||
}
|
|
||||||
: false;
|
|
||||||
},
|
},
|
||||||
wrapClass() {
|
wrapClass() {
|
||||||
return {
|
return {
|
||||||
@@ -313,6 +322,12 @@ export default {
|
|||||||
const { meta } = this.data;
|
const { meta } = this.data;
|
||||||
return meta ? meta.error : '';
|
return meta ? meta.error : '';
|
||||||
},
|
},
|
||||||
|
showAvatar() {
|
||||||
|
if (this.isOutgoing) {
|
||||||
|
return this.sender;
|
||||||
|
}
|
||||||
|
return this.isATweet && this.isIncoming && this.sender;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_FILE_UPLOAD_SIZE} attachment limit",
|
"FILE_SIZE_LIMIT": "File exceeds the {MAXIMUM_FILE_UPLOAD_SIZE} attachment limit",
|
||||||
"MESSAGE_ERROR": "Unable to send this message, please try again later",
|
"MESSAGE_ERROR": "Unable to send this message, please try again later",
|
||||||
"SENT_BY": "Sent by:",
|
"SENT_BY": "Sent by:",
|
||||||
|
"BOT": "Bot",
|
||||||
"SEND_FAILED": "Couldn't send message! Try again",
|
"SEND_FAILED": "Couldn't send message! Try again",
|
||||||
"TRY_AGAIN": "retry",
|
"TRY_AGAIN": "retry",
|
||||||
"ASSIGNMENT": {
|
"ASSIGNMENT": {
|
||||||
|
|||||||
Reference in New Issue
Block a user