diff --git a/app/javascript/dashboard/api/inbox/conversation.js b/app/javascript/dashboard/api/inbox/conversation.js index b520156a4..9388fc3bb 100644 --- a/app/javascript/dashboard/api/inbox/conversation.js +++ b/app/javascript/dashboard/api/inbox/conversation.js @@ -28,8 +28,10 @@ class ConversationApi extends ApiClient { }); } - toggleStatus(conversationId) { - return axios.post(`${this.url}/${conversationId}/toggle_status`, {}); + toggleStatus({ conversationId, status }) { + return axios.post(`${this.url}/${conversationId}/toggle_status`, { + status, + }); } assignAgent({ conversationId, agentId }) { diff --git a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss index 69363e542..23616f8de 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss @@ -8,12 +8,6 @@ $resolve-button-width: 13.2rem; @include flex-align($x: justify, $y: middle); @include border-normal-bottom; - // Resolve Button - .button { - @include margin(0); - @include flex; - } - .multiselect-box { @include flex; @include flex-align($x: justify, $y: middle); @@ -66,26 +60,6 @@ $resolve-button-width: 13.2rem; } } -.button.resolve--button { - @include flex-align($x: center, $y: middle); - font-size: var(--font-size-default); - width: $resolve-button-width; - - >.icon { - font-size: $font-size-default; - padding-right: $space-small; - } - - .spinner { - margin-right: $space-smaller; - padding: 0 $space-one; - - &::before { - border-top-color: $color-white; - } - } -} - .header-actions-wrap { display: flex; diff --git a/app/javascript/dashboard/components/buttons/ResolveAction.vue b/app/javascript/dashboard/components/buttons/ResolveAction.vue index 6127eec43..9b3274e31 100644 --- a/app/javascript/dashboard/components/buttons/ResolveAction.vue +++ b/app/javascript/dashboard/components/buttons/ResolveAction.vue @@ -1,29 +1,86 @@ + diff --git a/app/javascript/dashboard/i18n/locale/en/conversation.json b/app/javascript/dashboard/i18n/locale/en/conversation.json index 91247105d..e8aa521f1 100644 --- a/app/javascript/dashboard/i18n/locale/en/conversation.json +++ b/app/javascript/dashboard/i18n/locale/en/conversation.json @@ -29,10 +29,14 @@ "HEADER": { "RESOLVE_ACTION": "Resolve", "REOPEN_ACTION": "Reopen", + "OPEN_ACTION": "Open", "OPEN": "More", "CLOSE": "Close", "DETAILS": "details" }, + "RESOLVE_DROPDOWN": { + "OPEN_BOT": "Open with bot" + }, "FOOTER": { "MSG_INPUT": "Shift + enter for new line. Start with '/' to select a Canned Response.", "PRIVATE_MSG_INPUT": "Shift + enter for new line. This will be visible only to Agents" diff --git a/app/javascript/dashboard/store/modules/conversations/actions.js b/app/javascript/dashboard/store/modules/conversations/actions.js index 8e4e20954..e983ca2f2 100644 --- a/app/javascript/dashboard/store/modules/conversations/actions.js +++ b/app/javascript/dashboard/store/modules/conversations/actions.js @@ -135,9 +135,12 @@ const actions = { commit(types.default.ASSIGN_TEAM, team); }, - toggleStatus: async ({ commit }, data) => { + toggleStatus: async ({ commit }, { conversationId, status }) => { try { - const response = await ConversationApi.toggleStatus(data); + const response = await ConversationApi.toggleStatus({ + conversationId, + status, + }); commit( types.default.RESOLVE_CONVERSATION, response.data.payload.current_status diff --git a/config/locales/en.yml b/config/locales/en.yml index 35aac041d..b0aa0ef53 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -63,6 +63,7 @@ en: status: resolved: "Conversation was marked resolved by %{user_name}" open: "Conversation was reopened by %{user_name}" + bot: "Conversation was transferred to bot by %{user_name}" auto_resolved: "Conversation was marked resolved by system due to %{duration} days of inactivity" assignee: self_assigned: "%{user_name} self-assigned this conversation"