diff --git a/app/javascript/dashboard/api/inbox/conversation.js b/app/javascript/dashboard/api/inbox/conversation.js index 9a50ef1c8..d3942efea 100644 --- a/app/javascript/dashboard/api/inbox/conversation.js +++ b/app/javascript/dashboard/api/inbox/conversation.js @@ -43,6 +43,16 @@ class ConversationApi extends ApiClient { mute(conversationId) { return axios.post(`${this.url}/${conversationId}/mute`); } + + meta({ inboxId, status, assigneeType }) { + return axios.get(`${this.url}/meta`, { + params: { + inbox_id: inboxId, + status, + assignee_type: assigneeType, + }, + }); + } } export default new ConversationApi(); diff --git a/app/javascript/dashboard/api/specs/inbox/conversation.spec.js b/app/javascript/dashboard/api/specs/inbox/conversation.spec.js new file mode 100644 index 000000000..4eceba728 --- /dev/null +++ b/app/javascript/dashboard/api/specs/inbox/conversation.spec.js @@ -0,0 +1,19 @@ +import conversationAPI from '../../inbox/conversation'; +import ApiClient from '../../ApiClient'; + +describe('#ConversationAPI', () => { + it('creates correct instance', () => { + expect(conversationAPI).toBeInstanceOf(ApiClient); + expect(conversationAPI).toHaveProperty('get'); + expect(conversationAPI).toHaveProperty('show'); + expect(conversationAPI).toHaveProperty('create'); + expect(conversationAPI).toHaveProperty('update'); + expect(conversationAPI).toHaveProperty('delete'); + expect(conversationAPI).toHaveProperty('toggleStatus'); + expect(conversationAPI).toHaveProperty('assignAgent'); + expect(conversationAPI).toHaveProperty('markMessageRead'); + expect(conversationAPI).toHaveProperty('toggleTyping'); + expect(conversationAPI).toHaveProperty('mute'); + expect(conversationAPI).toHaveProperty('meta'); + }); +}); diff --git a/app/javascript/dashboard/api/specs/inboxes.spec.js b/app/javascript/dashboard/api/specs/inboxes.spec.js index d1a1d2683..c4927e2bb 100644 --- a/app/javascript/dashboard/api/specs/inboxes.spec.js +++ b/app/javascript/dashboard/api/specs/inboxes.spec.js @@ -1,7 +1,7 @@ import inboxes from '../inboxes'; import ApiClient from '../ApiClient'; -describe('#AgentAPI', () => { +describe('#InboxesAPI', () => { it('creates correct instance', () => { expect(inboxes).toBeInstanceOf(ApiClient); expect(inboxes).toHaveProperty('get'); diff --git a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss index 6de396353..e1aef9307 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss @@ -66,6 +66,8 @@ } .button.resolve--button { + @include flex-align($x: center, $y: middle); + width: 13.2rem; >.icon { diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index 6aef3e3f9..12d0f21a9 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -26,6 +26,7 @@ .link { color: $color-white; + text-decoration: underline; } } diff --git a/app/javascript/dashboard/components/ChatList.vue b/app/javascript/dashboard/components/ChatList.vue index 59012d516..a4cec45e3 100644 --- a/app/javascript/dashboard/components/ChatList.vue +++ b/app/javascript/dashboard/components/ChatList.vue @@ -55,6 +55,7 @@