diff --git a/exports/nylas-component-kit.coffee b/exports/nylas-component-kit.coffee index 16a03ce7f..67caa8066 100644 --- a/exports/nylas-component-kit.coffee +++ b/exports/nylas-component-kit.coffee @@ -33,6 +33,7 @@ class NylasComponentKit @loadFrom "MailLabel", "mail-label" @loadFrom "LabelColorizer", "mail-label" + @load "MailImportantIcon", 'mail-important-icon' @loadFrom "FormItem", "generated-form" @loadFrom "GeneratedForm", "generated-form" diff --git a/internal_packages/message-list/lib/message-list.cjsx b/internal_packages/message-list/lib/message-list.cjsx index 3f2c5c93d..cae8fbd1b 100755 --- a/internal_packages/message-list/lib/message-list.cjsx +++ b/internal_packages/message-list/lib/message-list.cjsx @@ -20,6 +20,7 @@ MessageItemContainer = require './message-item-container' RetinaImg, InjectedComponentSet, MailLabel, + MailImportantIcon, InjectedComponent} = require('nylas-component-kit') class MessageListScrollTooltip extends React.Component @@ -218,13 +219,18 @@ class MessageList extends React.Component _renderSubject: -> + subject = @state.currentThread?.subject + subject = "(No Subject)" if not subject or subject.length is 0 +
- {@state.currentThread?.subject} + + {subject} {@_renderLabels()}
_renderLabels: => labels = @state.currentThread.sortedLabels() + labels = _.reject labels, (l) -> l.name is 'important' labels.map (label) => @_onRemoveLabel(label) }/> diff --git a/internal_packages/message-list/stylesheets/message-list.less b/internal_packages/message-list/stylesheets/message-list.less index f7ba6a232..db7770840 100644 --- a/internal_packages/message-list/stylesheets/message-list.less +++ b/internal_packages/message-list/stylesheets/message-list.less @@ -68,6 +68,7 @@ display: flex; flex-direction: column; position: relative; + background: @background-secondary; width: 100%; height: 100%; @@ -83,6 +84,10 @@ -webkit-user-select: text; line-height: @font-size-large * 1.8; } + .mail-important-icon { + margin-right:@spacing-half; + margin-bottom:2px; + } .message-subject { font-size: @font-size-large; color: @text-color; @@ -109,7 +114,6 @@ flex: 1; opacity:0; transition: opacity 0s; - background: @background-secondary; } .messages-wrap.ready { opacity:1; diff --git a/internal_packages/preferences/lib/tabs/preferences-general.cjsx b/internal_packages/preferences/lib/tabs/preferences-general.cjsx index da2301e17..a527c34cd 100644 --- a/internal_packages/preferences/lib/tabs/preferences-general.cjsx +++ b/internal_packages/preferences/lib/tabs/preferences-general.cjsx @@ -1,7 +1,7 @@ React = require 'react' _ = require 'underscore' {RetinaImg, Flexbox} = require 'nylas-component-kit' -{LaunchServices} = require 'nylas-exports' +{LaunchServices, AccountStore} = require 'nylas-exports' class PreferencesGeneral extends React.Component @displayName: 'PreferencesGeneral' @@ -22,15 +22,30 @@ class PreferencesGeneral extends React.Component @setState(defaultClient: true) @_services.registerForURLScheme('mailto') + toggleShowImportant: (event) => + @props.config.toggle('core.showImportant') + event.preventDefault() + + _renderImportanceOptionElement: => + return false unless AccountStore.current().usesImportantFlag() + importanceOptionElement =
+ + +
+ render: =>
-
+
-
+ {@_renderImportanceOptionElement()} + +
Delay for marking messages as read: