+
-
+
{{ $t('BULK_ACTION.ALL_CONVERSATIONS_SELECTED_ALERT') }}
-
-
diff --git a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue
deleted file mode 100644
index f76cdb190..000000000
--- a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/LabelActions.vue
+++ /dev/null
@@ -1,141 +0,0 @@
-
-
-
-
-
-
- {{
- t('BULK_ACTION.LABELS.ASSIGN_LABELS')
- }}
-
-
-
-
-
-
- {{
- t('CONTACTS_BULK_ACTIONS.NO_LABELS_FOUND')
- }}
-
-
-
-
-
-
-
diff --git a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/TeamActions.vue b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/TeamActions.vue
deleted file mode 100644
index 2bb6bd893..000000000
--- a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/TeamActions.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
-
-
diff --git a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/UpdateActions.vue b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/UpdateActions.vue
deleted file mode 100644
index e3280c5af..000000000
--- a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/UpdateActions.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
- {{ $t('BULK_ACTION.UPDATE.CHANGE_STATUS') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/javascript/dashboard/composables/chatlist/useBulkActions.js b/app/javascript/dashboard/composables/chatlist/useBulkActions.js
index 32301990a..a8f5678c0 100644
--- a/app/javascript/dashboard/composables/chatlist/useBulkActions.js
+++ b/app/javascript/dashboard/composables/chatlist/useBulkActions.js
@@ -20,9 +20,15 @@ export function useBulkActions() {
function deSelectConversation(conversationId, inboxId) {
store.dispatch('bulkActions/removeSelectedConversationIds', conversationId);
- selectedInboxes.value = selectedInboxes.value.filter(
- item => item !== inboxId
- );
+ // Only remove one instance of the inboxId, not all
+ // This handles the case where multiple conversations from the same inbox are selected
+ const index = selectedInboxes.value.indexOf(inboxId);
+ if (index > -1) {
+ selectedInboxes.value = [
+ ...selectedInboxes.value.slice(0, index),
+ ...selectedInboxes.value.slice(index + 1),
+ ];
+ }
}
function resetBulkActions() {
diff --git a/app/javascript/dashboard/i18n/locale/en/advancedFilters.json b/app/javascript/dashboard/i18n/locale/en/advancedFilters.json
index a991cb25b..0273ea3b4 100644
--- a/app/javascript/dashboard/i18n/locale/en/advancedFilters.json
+++ b/app/javascript/dashboard/i18n/locale/en/advancedFilters.json
@@ -75,6 +75,11 @@
"ADDITIONAL_FILTERS": "Additional filters",
"CUSTOM_ATTRIBUTES": "Custom attributes"
},
+ "ACTIVE_FILTERS": {
+ "MORE_FILTERS": "+ {count} more filters",
+ "CLEAR_FILTERS": "Clear filters",
+ "EDIT_BUTTON": "Edit"
+ },
"CUSTOM_VIEWS": {
"ADD": {
"TITLE": "Do you want to save this filter?",
@@ -95,8 +100,9 @@
"EDIT": {
"EDIT_BUTTON": "Edit folder"
},
+ "SAVE_VIEW": "Save View",
"DELETE": {
- "DELETE_BUTTON": "Delete filter",
+ "DELETE_BUTTON": "Delete",
"MODAL": {
"CONFIRM": {
"TITLE": "Confirm deletion",
diff --git a/app/javascript/dashboard/i18n/locale/en/bulkActions.json b/app/javascript/dashboard/i18n/locale/en/bulkActions.json
index 0c8d6602c..fcf76b5d1 100644
--- a/app/javascript/dashboard/i18n/locale/en/bulkActions.json
+++ b/app/javascript/dashboard/i18n/locale/en/bulkActions.json
@@ -1,12 +1,14 @@
{
"BULK_ACTION": {
- "CONVERSATIONS_SELECTED": "{conversationCount} conversations selected",
+ "CONVERSATIONS_SELECTED": "{conversationCount} selected",
"AGENT_SELECT_LABEL": "Select agent",
- "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {conversationCount} {conversationLabel} to",
- "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {conversationCount} {conversationLabel}?",
+ "CLEAR_SELECTION": "Clear",
+ "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {n} conversation to {agentName}? | Are you sure to assign {n} conversations to {agentName}?",
+ "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {n} conversation? | Are you sure to unassign {n} conversations?",
"GO_BACK_LABEL": "Go back",
"ASSIGN_LABEL": "Assign",
"YES": "Yes",
+ "CANCEL": "Cancel",
"SEARCH_INPUT_PLACEHOLDER": "Search",
"ASSIGN_AGENT_TOOLTIP": "Assign agent",
"ASSIGN_TEAM_TOOLTIP": "Assign team",
@@ -34,6 +36,8 @@
"NONE": "None",
"NO_TEAMS_AVAILABLE": "There are no teams added to this account yet.",
"ASSIGN_SELECTED_TEAMS": "Assign selected team.",
+ "ASSIGN_CONFIRMATION_LABEL": "Are you sure to assign {n} conversation to {teamName}? | Are you sure to assign {n} conversations to {teamName}?",
+ "UNASSIGN_CONFIRMATION_LABEL": "Are you sure to unassign {n} conversation? | Are you sure to unassign {n} conversations?",
"ASSIGN_SUCCESFUL": "Teams assigned successfully.",
"ASSIGN_FAILED": "Failed to assign team. Please try again."
}
diff --git a/app/javascript/dashboard/i18n/locale/en/chatlist.json b/app/javascript/dashboard/i18n/locale/en/chatlist.json
index 81f029d8c..8a06100d6 100644
--- a/app/javascript/dashboard/i18n/locale/en/chatlist.json
+++ b/app/javascript/dashboard/i18n/locale/en/chatlist.json
@@ -2,7 +2,7 @@
"CHAT_LIST": {
"LOADING": "Fetching conversations",
"LOAD_MORE_CONVERSATIONS": "Load more conversations",
- "EOF": "All conversations loaded 🎉",
+ "EOF": "All conversations loaded",
"LIST": {
"404": "There are no active conversations in this group."
},
diff --git a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsBulkActionBar.vue b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsBulkActionBar.vue
index e8ddd5223..d4c88bec5 100644
--- a/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsBulkActionBar.vue
+++ b/app/javascript/dashboard/routes/dashboard/contacts/components/ContactsBulkActionBar.vue
@@ -1,11 +1,10 @@
{
ghost
slate
:label="t('CONTACTS_BULK_ACTIONS.CLEAR_SELECTION')"
- class="!px-1.5"
+ class="!px-1"
@click="emitClearSelection"
/>
-
-
-
-
-
-
+
diff --git a/app/javascript/dashboard/routes/dashboard/conversation/search/SwitchLayout.vue b/app/javascript/dashboard/routes/dashboard/conversation/search/SwitchLayout.vue
index 96238c296..7bcc6a6c4 100644
--- a/app/javascript/dashboard/routes/dashboard/conversation/search/SwitchLayout.vue
+++ b/app/javascript/dashboard/routes/dashboard/conversation/search/SwitchLayout.vue
@@ -23,15 +23,15 @@ export default {
diff --git a/theme/icons.js b/theme/icons.js
index 60049b30e..7712896cb 100644
--- a/theme/icons.js
+++ b/theme/icons.js
@@ -119,6 +119,16 @@ export const icons = {
width: 24,
height: 24,
},
+ party: {
+ body: `
`,
+ width: 16,
+ height: 16,
+ },
+ 'expand-list': {
+ body: `
`,
+ width: 16,
+ height: 16,
+ },
/** Conversation Status Starts */
'status-empty': {