From de0b78e27304072c3a662c6c77dbc08e2709216c Mon Sep 17 00:00:00 2001 From: iamsivin Date: Fri, 20 Feb 2026 15:23:37 +0530 Subject: [PATCH] feat(v5): New expanded layout for chat list --- .../ConversationCard/CardAvatar.vue | 58 ++ .../ConversationCard/CardContent.vue | 47 ++ .../ConversationCard/CardHeader.vue | 23 + .../ConversationCard/CardLabels.vue | 232 ++++-- .../ConversationCard/CardMetaSection.vue | 103 +++ .../ConversationCard/CardPriorityIcon.vue | 225 +----- .../ConversationCard/CardStatusIcon.vue | 42 + .../ConversationCardCompact.vue | 135 ++++ .../ConversationCardExpanded.vue | 182 +++++ .../ConversationCard/ConversationCardV5.vue | 294 +++++++ .../ConversationCard/MessagePreview.vue | 156 ++++ .../ConversationCard/UnreadBadge.vue | 28 + .../ConversationCard/VoiceCallStatus.vue | 69 ++ .../Conversation/InboxName.vue | 19 + .../Conversation/SidepanelSwitch.vue | 8 +- .../Conversation/Sla/SLACardLabel.vue | 100 +++ .../Conversation/Sla/SLAEventItem.vue | 36 + .../Conversation/Sla/SLAPopoverCard.vue | 86 ++ .../dropdown-menu/DropdownMenu.vue | 101 ++- .../filter/ActiveFilterPreview.vue | 34 +- .../filter/ConversationFilter.vue | 140 ++-- .../components-next/filter/SaveCustomView.vue | 6 +- .../filter/inputs/MultiSelect.vue | 10 +- .../dashboard/components/ChatList.vue | 752 +++--------------- .../dashboard/components/ChatListFilters.vue | 309 +++++++ .../dashboard/components/ChatListHeader.vue | 79 +- .../dashboard/components/ConversationItem.vue | 220 +++-- .../dashboard/components/ConversationList.vue | 276 +++++++ .../dashboard/components/ui/Tabs/TabsItem.vue | 12 +- .../components/widgets/ChatTypeTabs.vue | 4 +- .../ConversationActiveFiltersPreview.vue | 151 ++++ .../conversation/ConversationBasicFilter.vue | 14 +- .../widgets/conversation/ConversationCard.vue | 2 +- .../conversationBulkActions/AgentSelector.vue | 254 ------ .../BulkAgentActions.vue | 195 +++++ .../BulkLabelActions.vue | 151 ++++ .../BulkTeamActions.vue | 164 ++++ .../BulkUpdateActions.vue | 109 +++ .../conversationBulkActions/Index.vue | 459 ++++------- .../conversationBulkActions/LabelActions.vue | 141 ---- .../conversationBulkActions/TeamActions.vue | 145 ---- .../conversationBulkActions/UpdateActions.vue | 109 --- .../composables/chatlist/useBulkActions.js | 12 +- app/javascript/dashboard/constants/globals.js | 1 + .../i18n/locale/en/advancedFilters.json | 8 +- .../dashboard/i18n/locale/en/bulkActions.json | 10 +- .../dashboard/i18n/locale/en/chatlist.json | 2 +- .../i18n/locale/en/conversation.json | 3 +- .../components/ContactsBulkActionBar.vue | 62 +- .../conversation/ConversationView.vue | 312 ++++---- .../conversation/search/SwitchLayout.vue | 16 +- .../specs/useNumberFormatter.spec.js | 73 ++ .../shared/composables/useNumberFormatter.js | 29 + package.json | 2 +- pnpm-lock.yaml | 56 +- theme/icons.js | 77 ++ 56 files changed, 3989 insertions(+), 2354 deletions(-) create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/CardAvatar.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/CardContent.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/CardHeader.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/CardMetaSection.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/CardStatusIcon.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardCompact.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardExpanded.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/ConversationCardV5.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/MessagePreview.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/UnreadBadge.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/ConversationCard/VoiceCallStatus.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/InboxName.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/Sla/SLACardLabel.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/Sla/SLAEventItem.vue create mode 100644 app/javascript/dashboard/components-next/Conversation/Sla/SLAPopoverCard.vue create mode 100644 app/javascript/dashboard/components/ChatListFilters.vue create mode 100644 app/javascript/dashboard/components/ConversationList.vue create mode 100644 app/javascript/dashboard/components/widgets/conversation/ConversationActiveFiltersPreview.vue delete mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/AgentSelector.vue create mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/BulkAgentActions.vue create mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/BulkLabelActions.vue create mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/BulkTeamActions.vue create mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/BulkUpdateActions.vue delete mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue delete mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/TeamActions.vue delete mode 100644 app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/UpdateActions.vue 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 @@ + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardHeader.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardHeader.vue new file mode 100644 index 000000000..e39fcff2b --- /dev/null +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardHeader.vue @@ -0,0 +1,23 @@ + + + diff --git a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabels.vue b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabels.vue index dfd4115e8..aa2c526b0 100644 --- a/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabels.vue +++ b/app/javascript/dashboard/components-next/Conversation/ConversationCard/CardLabels.vue @@ -1,95 +1,191 @@