diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardAvatar.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardAvatar.vue new file mode 100644 index 000000000..1b9b62349 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardAvatar.vue @@ -0,0 +1,58 @@ + + + + + + + + + + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardContent.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardContent.vue new file mode 100644 index 000000000..77b07bcec --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardContent.vue @@ -0,0 +1,47 @@ + + + + + + + + + {{ $t(`CHAT_LIST.NO_MESSAGES`) }} + + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabelsV5.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabelsV5.vue new file mode 100644 index 000000000..416c7ac82 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabelsV5.vue @@ -0,0 +1,175 @@ + + + + + + + + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardStatusIcon.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardStatusIcon.vue new file mode 100644 index 000000000..c16372ac5 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardStatusIcon.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardExpanded.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardExpanded.vue new file mode 100644 index 000000000..5a6324902 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardExpanded.vue @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ chat.id }} + + + + + + + {{ currentContact.name }} + + + + + + + + + + + + + + + + + + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/MessagePreview.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/MessagePreview.vue new file mode 100644 index 000000000..5cce3cde2 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/MessagePreview.vue @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + {{ $t('CHAT_LIST.ATTACHMENTS.image.CONTENT') }} + + + + {{ parsedLastMessage }} + + + + + + {{ $t(attachmentMessageContent) }} + + + + + {{ defaultEmptyMessage || $t('CHAT_LIST.NO_CONTENT') }} + + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/UnreadBadge.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/UnreadBadge.vue new file mode 100644 index 000000000..7fa4e7787 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/UnreadBadge.vue @@ -0,0 +1,28 @@ + + + + + {{ displayCount }} + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/VoiceCallStatus.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/VoiceCallStatus.vue new file mode 100644 index 000000000..e6bd3c272 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/VoiceCallStatus.vue @@ -0,0 +1,69 @@ + + + + + + + {{ $t(labelKey) }} + + + diff --git a/app/javascript/dashboard/components-next/Conversation/InboxName.vue b/app/javascript/dashboard/components-next/Conversation/InboxName.vue new file mode 100644 index 000000000..c6a081c75 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/InboxName.vue @@ -0,0 +1,19 @@ + + + + + + + {{ inbox.name }} + + + diff --git a/app/javascript/dashboard/components-next/Conversation/Sla/SLACardLabel.vue b/app/javascript/dashboard/components-next/Conversation/Sla/SLACardLabel.vue new file mode 100644 index 000000000..98a79c921 --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/Sla/SLACardLabel.vue @@ -0,0 +1,82 @@ + + + + + + + + + + + + diff --git a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue index f867fc3fe..3ce9aec86 100644 --- a/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue +++ b/app/javascript/dashboard/components-next/NewConversation/components/ActionButtons.vue @@ -221,7 +221,7 @@ useEventListener(document, 'paste', onPaste); /> diff --git a/app/javascript/dashboard/components/ChatList.vue b/app/javascript/dashboard/components/ChatList.vue index f311de4b2..ddc350811 100644 --- a/app/javascript/dashboard/components/ChatList.vue +++ b/app/javascript/dashboard/components/ChatList.vue @@ -1,15 +1,5 @@ - + + + + + + + + + diff --git a/app/javascript/dashboard/components/ConversationList.vue b/app/javascript/dashboard/components/ConversationList.vue new file mode 100644 index 000000000..f02a0b801 --- /dev/null +++ b/app/javascript/dashboard/components/ConversationList.vue @@ -0,0 +1,94 @@ + + + + + + + + + + + + {{ $t('CHAT_LIST.EOF') }} + + + + diff --git a/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue b/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue index f50485723..ae0f3109c 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ConversationCard.vue @@ -1,98 +1,41 @@ { :status="currentContact.availability_status" :class="!showInboxName ? 'mt-4' : 'mt-8'" hide-offline-status - rounded-full > { :style="{ width: `${size}px`, height: `${size}px` }" @click.stop > - + - + { :conversation-id="chat.id" /> - - {{ unreadCount > 9 ? '9+' : unreadCount }} - + { - - - diff --git a/app/javascript/dashboard/constants/globals.js b/app/javascript/dashboard/constants/globals.js index 4fbc8174b..889ece96a 100644 --- a/app/javascript/dashboard/constants/globals.js +++ b/app/javascript/dashboard/constants/globals.js @@ -45,6 +45,7 @@ export default { WHATSAPP_EMBEDDED_SIGNUP_DOCS_URL: 'https://developers.facebook.com/docs/whatsapp/embedded-signup/custom-flows/onboarding-business-app-users#limitations', SMALL_SCREEN_BREAKPOINT: 768, + LARGE_SCREEN_BREAKPOINT: 1024, AVAILABILITY_STATUS_KEYS: ['online', 'busy', 'offline'], SNOOZE_OPTIONS: { UNTIL_NEXT_REPLY: 'until_next_reply', diff --git a/app/javascript/dashboard/i18n/locale/en/chatlist.json b/app/javascript/dashboard/i18n/locale/en/chatlist.json index 0e8e87a04..1384dae2b 100644 --- a/app/javascript/dashboard/i18n/locale/en/chatlist.json +++ b/app/javascript/dashboard/i18n/locale/en/chatlist.json @@ -140,6 +140,7 @@ "HIDE_QUOTED_TEXT": "Hide Quoted Text", "SHOW_QUOTED_TEXT": "Show Quoted Text", "MESSAGE_READ": "Read", - "SENDING": "Sending" + "SENDING": "Sending", + "UNREAD_COUNT_OVERFLOW": "9+" } } diff --git a/app/javascript/dashboard/i18n/locale/en/conversation.json b/app/javascript/dashboard/i18n/locale/en/conversation.json index 835a7e512..1a2edb2b0 100644 --- a/app/javascript/dashboard/i18n/locale/en/conversation.json +++ b/app/javascript/dashboard/i18n/locale/en/conversation.json @@ -71,7 +71,8 @@ "REPLY_MESSAGE_NOT_FOUND": "Message not available", "CARD": { "SHOW_LABELS": "Show labels", - "HIDE_LABELS": "Hide labels" + "HIDE_LABELS": "Hide labels", + "LABELS_COUNT": "{count} labels" }, "VOICE_CALL": { "INCOMING_CALL": "Incoming call", diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue index 734950f69..50268db62 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactConversations.vue @@ -1,49 +1,131 @@ - @@ -53,18 +135,43 @@ export default { {{ $t('CONTACT_PANEL.CONVERSATIONS.NO_RECORDS_FOUND') }} - + + + + diff --git a/theme/icons.js b/theme/icons.js index 37b0121e4..18d6c47f3 100644 --- a/theme/icons.js +++ b/theme/icons.js @@ -148,10 +148,59 @@ export const icons = { width: 7, height: 11, }, + 'empty-assignee': { + body: ` + `, + width: 24, + height: 24, + }, + party: { + body: ``, + width: 16, + height: 16, + }, + 'expand-list': { + body: ``, + width: 16, + height: 16, + }, + hash: { + body: ``, + width: 14, + height: 14, + }, + + /** Conversation Status Starts */ + 'status-empty': { + body: ``, + width: 24, + height: 24, + }, + 'status-pending': { + body: ``, + width: 24, + height: 24, + }, + 'status-open': { + body: ``, + width: 24, + height: 24, + }, + 'status-snoozed': { + body: ``, + width: 24, + height: 24, + }, + 'status-resolved': { + body: ``, + width: 24, + height: 24, + }, + /** Ends */ /** Conversation Priority Starts */ 'priority-empty': { - body: ``, + body: ``, width: 24, height: 24, },
+ {{ $t('CHAT_LIST.EOF') }} +