diff --git a/app/javascript/dashboard/api/conversations.js b/app/javascript/dashboard/api/conversations.js index 02d312388..fd36f8db3 100644 --- a/app/javascript/dashboard/api/conversations.js +++ b/app/javascript/dashboard/api/conversations.js @@ -10,8 +10,8 @@ class ConversationApi extends ApiClient { return axios.get(`${this.url}/${conversationID}/labels`); } - createLabels(conversationID) { - return axios.get(`${this.url}/${conversationID}/labels`); + updateLabels(conversationID, labels) { + return axios.post(`${this.url}/${conversationID}/labels`, { labels }); } } diff --git a/app/javascript/dashboard/assets/scss/_mixins.scss b/app/javascript/dashboard/assets/scss/_mixins.scss index c0cf98494..708f10772 100644 --- a/app/javascript/dashboard/assets/scss/_mixins.scss +++ b/app/javascript/dashboard/assets/scss/_mixins.scss @@ -1,3 +1,5 @@ +@import '~widget/assets/scss/mixins'; + //borders @mixin border-nil() { border-color: transparent; @@ -139,7 +141,7 @@ } @mixin elegent-shadow() { - box-shadow: 0 10px 25px 0 rgba(49,49,93,0.15); + box-shadow: 0 10px 25px 0 rgba(49, 49, 93, 0.15); } @mixin elegant-card() { @@ -181,41 +183,55 @@ // .element{ // @include arrow(top, #000, 50px); // } -@mixin arrow($direction, $color, $size){ - display: block; - height: 0; - width: 0; - content: ''; +@mixin arrow($direction, $color, $size) { + display: block; + height: 0; + width: 0; + content: ''; - @if $direction == 'top' { - border-left: $size solid transparent; - border-right: $size solid transparent; - border-bottom: $size solid $color; - } @else if $direction == 'right' { - border-top: $size solid transparent; - border-bottom: $size solid transparent; - border-left: $size solid $color; - } @else if $direction == 'bottom' { - border-top: $size solid $color; - border-right: $size solid transparent; - border-left: $size solid transparent; - } @else if $direction == 'left' { - border-top: $size solid transparent; - border-right: $size solid $color; - border-bottom: $size solid transparent; - } @else if $direction == 'top-left' { - border-top: $size solid $color; - border-right: $size solid transparent; - } @else if $direction == 'top-right' { - border-top: $size solid $color; - border-left: $size solid transparent; - } @else if $direction == 'bottom-left' { - border-bottom: $size solid $color; - border-right: $size solid transparent; - } @else if $direction == 'bottom-right' { - border-bottom: $size solid $color; - border-left: $size solid transparent; - } + @if $direction=='top' { + border-left: $size solid transparent; + border-right: $size solid transparent; + border-bottom: $size solid $color; + } + + @else if $direction=='right' { + border-top: $size solid transparent; + border-bottom: $size solid transparent; + border-left: $size solid $color; + } + + @else if $direction=='bottom' { + border-top: $size solid $color; + border-right: $size solid transparent; + border-left: $size solid transparent; + } + + @else if $direction=='left' { + border-top: $size solid transparent; + border-right: $size solid $color; + border-bottom: $size solid transparent; + } + + @else if $direction=='top-left' { + border-top: $size solid $color; + border-right: $size solid transparent; + } + + @else if $direction=='top-right' { + border-top: $size solid $color; + border-left: $size solid transparent; + } + + @else if $direction=='bottom-left' { + border-bottom: $size solid $color; + border-right: $size solid transparent; + } + + @else if $direction=='bottom-right' { + border-bottom: $size solid $color; + border-left: $size solid transparent; + } } @mixin text-ellipsis { diff --git a/app/javascript/dashboard/assets/scss/_variables.scss b/app/javascript/dashboard/assets/scss/_variables.scss index c9b53d05b..d8d972c28 100644 --- a/app/javascript/dashboard/assets/scss/_variables.scss +++ b/app/javascript/dashboard/assets/scss/_variables.scss @@ -53,6 +53,16 @@ $color-body: #3C4858; $color-heading: #1F2D3D; $color-extra-light-blue: #F5F7F9; +$primary-color: $color-woot; +$secondary-color: #FF5216; +$success-color: #13ce66; +$warning-color: #ffc82c; +$alert-color: #ff4949; + +// Color-palettes + +$color-primary-dark: darken($color-woot, 20%); + // Thumbnail $thumbnail-radius: 4rem; @@ -81,3 +91,6 @@ $swift-ease-out: all $swift-ease-out-duration $swift-ease-out-timing-function !d // Ionicons $ionicons-font-path: '~ionicons/fonts'; + +// Transitions +$transition-ease-in: all 0.250s ease-in; diff --git a/app/javascript/dashboard/assets/scss/plugins/_multiselect.scss b/app/javascript/dashboard/assets/scss/plugins/_multiselect.scss index 5318e3447..401a56b1f 100644 --- a/app/javascript/dashboard/assets/scss/plugins/_multiselect.scss +++ b/app/javascript/dashboard/assets/scss/plugins/_multiselect.scss @@ -2,7 +2,13 @@ margin-bottom: $space-normal; min-height: 38px; - > .multiselect__tags { + &.multiselect--active { + >.multiselect__tags { + border-color: $color-woot; + } + } + + >.multiselect__tags { @include margin(0); border: 1px solid $color-border; min-height: 44px; @@ -13,12 +19,34 @@ } .multiselect__tag { + + $vertical-space: $space-smaller+$space-micro; margin-top: $space-one; + background: $color-background; + color: $color-heading; + padding: $vertical-space $space-medium $vertical-space $space-one; + } + + .multiselect__tag-icon { + line-height: $space-medium + $space-micro; + + &:after { + color: $color-primary-dark; + } + + &:hover { + background: $color-background; + + &:after { + color: $color-woot; + } + } } .multiselect__input { @include ghost-input; @include padding($zero); + font-size: $font-size-small; margin-bottom: $zero; } @@ -41,4 +69,50 @@ top: 60%; } } + + .multiselect__content .multiselect__option { + font-size: $font-size-small; + font-weight: $font-weight-normal; + + &.multiselect__option--highlight { + font-weight: $font-weight-medium; + } + } +} + + +.sidebar-labels-wrap { + + &.has-edited, + &:hover { + .multiselect { + cursor: pointer; + margin-top: $space-small; + + >.multiselect__tags { + border-color: $color-border; + } + + >.multiselect__select { + visibility: visible; + } + } + } + + .multiselect { + + >.multiselect__select { + visibility: hidden; + } + + >.multiselect__tags { + border-color: transparent; + } + + &.multiselect--active { + >.multiselect__tags { + border-color: $color-woot; + } + } + } } diff --git a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss index d60ac27f9..5d3486aec 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_buttons.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_buttons.scss @@ -24,9 +24,18 @@ } } - > .icon { + >.icon { font-size: $font-size-default; } + + &.tiny { + font-size: $font-size-mini; + padding: $space-small $space-slab; + } + + &.round { + border-radius: $space-larger; + } } .button--fixed-right-top { diff --git a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss index 004a8236e..f4a037886 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conv-header.scss @@ -5,6 +5,7 @@ @include flex; @include flex-align($x: justify, $y: middle); @include border-normal-bottom; + // Resolve Button .button { @include margin(0); @@ -44,6 +45,7 @@ .user--name { @include margin(0); font-size: $font-size-medium; + text-transform: capitalize; } .user--profile__meta { @@ -64,7 +66,7 @@ } .button.resolve--button { - > .icon { + >.icon { padding-right: $space-small; font-size: $font-size-default; } diff --git a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss index 5e5cd87fa..bc54330ce 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_conversation-view.scss @@ -47,16 +47,19 @@ @include background-gray; @include margin(0); @include border-normal-left; + .current-chat { @include flex; @include full-height; flex-direction: column; @include flex-align(center, middle); + div { @include flex; @include full-height; flex-direction: column; @include flex-align(center, middle); + img { @include margin($space-normal); width: 10rem; @@ -87,7 +90,7 @@ height: 100%; overflow-y: scroll; - > li { + >li { @include flex; @include flex-shrink; @include margin($zero $zero $space-smaller); @@ -147,7 +150,7 @@ @include flex-align(right, null); .wrap { - margin-right: $space-small; + margin-right: $space-normal; text-align: right; } diff --git a/app/javascript/dashboard/assets/scss/widgets/_tabs.scss b/app/javascript/dashboard/assets/scss/widgets/_tabs.scss index bf16258bf..0e76ffde9 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_tabs.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_tabs.scss @@ -13,6 +13,7 @@ .tabs-title { a { font-size: $font-size-default; + font-weight: $font-weight-medium; padding-bottom: $space-slab; padding-top: $space-slab; } diff --git a/app/javascript/dashboard/components/widgets/Thumbnail.vue b/app/javascript/dashboard/components/widgets/Thumbnail.vue index b46e9395b..2d9b31fdd 100644 --- a/app/javascript/dashboard/components/widgets/Thumbnail.vue +++ b/app/javascript/dashboard/components/widgets/Thumbnail.vue @@ -23,7 +23,7 @@ src="~dashboard/assets/images/fb-badge.png" />
diff --git a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue index 1c4c0c869..1d39f2c37 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue @@ -8,7 +8,7 @@ :username="chat.meta.sender.name" />