diff --git a/app/javascript/dashboard/api/contacts.js b/app/javascript/dashboard/api/contacts.js index 6429c53d2..5dd0bcc57 100644 --- a/app/javascript/dashboard/api/contacts.js +++ b/app/javascript/dashboard/api/contacts.js @@ -14,6 +14,10 @@ class ContactAPI extends ApiClient { return axios.get(`${this.url}/${contactId}/conversations`); } + getContactableInboxes(contactId) { + return axios.get(`${this.url}/${contactId}/contactable_inboxes`); + } + search(search = '', page = 1) { return axios.get(`${this.url}/search?q=${search}&page=${page}`); } diff --git a/app/javascript/dashboard/components/ui/WootButton.vue b/app/javascript/dashboard/components/ui/WootButton.vue index 6820f1bc9..4df156f3a 100644 --- a/app/javascript/dashboard/components/ui/WootButton.vue +++ b/app/javascript/dashboard/components/ui/WootButton.vue @@ -13,7 +13,7 @@ > - + @@ -120,7 +152,7 @@ export default { @import '~dashboard/assets/scss/mixins'; .contact--profile { align-items: flex-start; - padding: var(--space-normal) var(--space-normal) var(--space-large); + padding: var(--space-normal) var(--space-normal); .user-thumbnail-box { margin-right: $space-normal; @@ -164,8 +196,21 @@ export default { font-size: $font-weight-normal; } } +.contact-actions { + margin: var(--space-small) 0; +} +.button.edit-contact { + margin-left: var(--space-two); + padding-left: var(--space-micro); +} -.edit-contact { - margin-left: var(--space-slab); +.button.new-message { + margin-right: var(--space-small); +} + +.contact-actions { + display: flex; + align-items: center; + width: 100%; } diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue new file mode 100644 index 000000000..75e333a73 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue @@ -0,0 +1,210 @@ +