From 92d0398744d760ecc6b332e9861545edb1316e63 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Fri, 24 Feb 2023 19:20:17 +0530 Subject: [PATCH] chore: Refactor conversation info panel for RTL (#6526) * chore: Refactor conversation info panel for RTL * chore: Adds comments * chore: Settings header icon fix * chore: Toggle layout switch * chore: Border fix in chat list --- .../dashboard/assets/scss/_rtl.scss | 14 ++++-- .../scss/widgets/_conversation-view.scss | 1 + .../assets/scss/widgets/_sidemenu.scss | 2 +- .../widgets/conversation/ReplyBox.vue | 31 +++++++++--- .../conversationBulkActions/Index.vue | 13 ++++- .../components/ContactDropdownItem.vue | 5 +- .../modules/notes/components/ContactNote.vue | 15 +++++- .../contacts/components/ContactInfoPanel.vue | 23 +++------ .../contacts/pages/ContactManageView.vue | 6 ++- .../conversation/ContactConversations.vue | 7 +++ .../dashboard/conversation/ContactPanel.vue | 18 ++----- .../conversation/contact/ContactInfo.vue | 48 ++++++++++++++----- .../conversation/contact/ConversationForm.vue | 2 +- .../conversation/contact/SocialIcons.vue | 2 + 14 files changed, 123 insertions(+), 64 deletions(-) diff --git a/app/javascript/dashboard/assets/scss/_rtl.scss b/app/javascript/dashboard/assets/scss/_rtl.scss index 95e774184..2a6e6d692 100644 --- a/app/javascript/dashboard/assets/scss/_rtl.scss +++ b/app/javascript/dashboard/assets/scss/_rtl.scss @@ -80,8 +80,8 @@ // Settings header .settings-header { .header--icon { - margin-left: 0; - margin-right: var(--space-small); + margin-left: var(--space-small); + margin-right: var(--space-smaller); } } @@ -246,8 +246,14 @@ } } - .search-header--wrap .search--input { - text-align: right; + .search-header--wrap { + .search--input { + text-align: right; + } + + .layout-switch__container { + transform: rotate(180deg); + } } // Card label diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index 41f3d2159..dc75ee29d 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -67,6 +67,7 @@ .conversations-list-wrap { @include flex; + border-right: 1px solid var(--s-50); flex-direction: column; .load-more-conversations { diff --git a/app/javascript/dashboard/assets/scss/widgets/_sidemenu.scss b/app/javascript/dashboard/assets/scss/widgets/_sidemenu.scss index d1c70aa9f..e1cdaa491 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_sidemenu.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_sidemenu.scss @@ -66,7 +66,7 @@ .header--icon { display: block; - margin: 0 var(--space-normal); + margin: 0 var(--space-small) 0 var(--space-smaller); @media screen and (max-width: 1200px) { display: none; diff --git a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue index 416075d92..86cf292b9 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ReplyBox.vue @@ -27,7 +27,7 @@ import('shared/components/emoji/EmojiInput'); @@ -202,6 +203,7 @@ export default { uiSettingsMixin, alertMixin, messageFormatterMixin, + rtlMixin, ], props: { selectedTweet: { @@ -422,10 +424,14 @@ export default { } = this.uiSettings; return conversationDisplayType !== CONDENSED; }, - emojiDialogClassOnExpanedLayout() { - return this.isOnExpandedLayout || this.popoutReplyBox - ? 'emoji-dialog--expanded' - : ''; + emojiDialogClassOnExpandedLayoutAndRTLView() { + if (this.isOnExpandedLayout || this.popoutReplyBox) { + return 'emoji-dialog--expanded'; + } + if (this.isRTLView) { + return 'emoji-dialog--rtl'; + } + return ''; }, replyToUserLength() { const selectedTweet = this.selectedTweet || {}; @@ -1098,7 +1104,7 @@ export default { .emoji-dialog { top: unset; - bottom: var(--space-normal); + bottom: -40px; left: -320px; right: unset; @@ -1109,6 +1115,19 @@ export default { filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.08)); } } + +.emoji-dialog--rtl { + left: unset; + right: -320px; + &::before { + left: var(--space-minus-normal); + transform: rotate(90deg); + right: 0; + bottom: var(--space-small); + filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.08)); + } +} + .emoji-dialog--expanded { left: unset; bottom: var(--space-jumbo); diff --git a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/Index.vue b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/Index.vue index 12fb6210c..d10a0bb82 100644 --- a/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/Index.vue +++ b/app/javascript/dashboard/components/widgets/conversation/conversationBulkActions/Index.vue @@ -184,9 +184,18 @@ export default { diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue index ff43b1e22..cdbcecdb7 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue @@ -1,11 +1,10 @@ - - - + + + + @@ -194,6 +202,14 @@ export default { type: Boolean, default: true, }, + showCloseButton: { + type: Boolean, + default: true, + }, + closeIconName: { + type: String, + default: 'chevron-right', + }, }, data() { return { @@ -244,6 +260,9 @@ export default { toggleEditModal() { this.showEditModal = !this.showEditModal; }, + onPanelToggle() { + this.$emit('toggle-panel'); + }, toggleConversationModal() { this.showConversationModal = !this.showConversationModal; }, @@ -295,10 +314,6 @@ export default { position: relative; align-items: flex-start; padding: var(--space-normal); - - .user-thumbnail-box { - margin-right: var(--space-normal); - } } .contact--details { @@ -310,6 +325,12 @@ export default { text-align: left; } +.contact-info--header { + display: flex; + justify-content: space-between; + flex-direction: row; +} + .contact--name-wrap { display: flex; align-items: center; @@ -319,7 +340,7 @@ export default { .contact--name { text-transform: capitalize; white-space: normal; - margin: 0 var(--space-smaller) 0 0; + margin: 0 var(--space-smaller) 0 var(--space-smaller); a { color: var(--color-body); @@ -346,9 +367,10 @@ export default { margin-right: var(--space-small); } } -.merege-summary--card { +.merge-summary--card { padding: var(--space-normal); } + .contact--bio { word-wrap: break-word; } diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue index 26fbdd03d..da7640806 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/ConversationForm.vue @@ -335,7 +335,6 @@ export default { align-items: center; height: 3.9rem; background: var(--color-background-light); - border: 1px solid var(--color-border); padding: var(--space-smaller) var(--space-small); border-radius: var(--border-radius-small); @@ -343,6 +342,7 @@ export default { .contact-name { margin: 0; margin-left: var(--space-small); + margin-right: var(--space-small); } } diff --git a/app/javascript/dashboard/routes/dashboard/conversation/contact/SocialIcons.vue b/app/javascript/dashboard/routes/dashboard/conversation/contact/SocialIcons.vue index 644d1cbfb..7f05d3bd8 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/contact/SocialIcons.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/contact/SocialIcons.vue @@ -43,6 +43,8 @@ export default {