diff --git a/internal_packages/account-sidebar/stylesheets/account-sidebar.less b/internal_packages/account-sidebar/stylesheets/account-sidebar.less index 0c86aeb81..7e2a3b493 100644 --- a/internal_packages/account-sidebar/stylesheets/account-sidebar.less +++ b/internal_packages/account-sidebar/stylesheets/account-sidebar.less @@ -7,7 +7,6 @@ overflow: auto; background-color: @source-list-bg; - box-shadow: inset -1px -2px 5px rgba(0, 0, 0, 0.22); -webkit-user-select: none; .item { @@ -27,6 +26,7 @@ .item-tag { .unread { float: right; + font-weight: @font-weight-medium; color: @source-list-active-bg; background: @source-list-bg; } diff --git a/internal_packages/message-list/lib/main.cjsx b/internal_packages/message-list/lib/main.cjsx index 1380c78a8..faafc87ea 100644 --- a/internal_packages/message-list/lib/main.cjsx +++ b/internal_packages/message-list/lib/main.cjsx @@ -9,17 +9,33 @@ module.exports = activate: (@state={}) -> # Register Message List Actions we provide globally ComponentRegistry.register - name: 'MessageToolbarItems' - role: 'MessageList:Toolbar' + name: 'MessageListSplit' + role: 'Root:Right' + mode: 'split' + view: MessageList + + ComponentRegistry.register + name: 'MessageToolbarItemsSplit' + role: 'Root:Right:Toolbar' + mode: 'split' view: MessageToolbarItems ComponentRegistry.register name: 'MessageList' - role: 'Root:Right' + role: 'Thread:Center' + mode: 'list' view: MessageList + ComponentRegistry.register + name: 'MessageToolbarItems' + role: 'Thread:Center:Toolbar' + mode: 'list' + view: MessageToolbarItems + + deactivate: -> ComponentRegistry.unregister 'MessageToolbarItems' + ComponentRegistry.unregister 'MessageListSplit' ComponentRegistry.unregister 'MessageList' serialize: -> @state diff --git a/internal_packages/message-list/lib/message-toolbar-items.cjsx b/internal_packages/message-list/lib/message-toolbar-items.cjsx index 58ab6e654..5547d8067 100644 --- a/internal_packages/message-list/lib/message-toolbar-items.cjsx +++ b/internal_packages/message-list/lib/message-toolbar-items.cjsx @@ -62,7 +62,7 @@ ArchiveButton = React.createClass module.exports = React.createClass getInitialState: -> - threadIsSelected: false + threadIsSelected: ThreadStore.selectedId()? render: -> classes = React.addons.classSet diff --git a/internal_packages/message-list/stylesheets/message-list.less b/internal_packages/message-list/stylesheets/message-list.less index f5b694608..96fa30371 100644 --- a/internal_packages/message-list/stylesheets/message-list.less +++ b/internal_packages/message-list/stylesheets/message-list.less @@ -12,7 +12,6 @@ text-align: center; position: absolute; pointer-events: none; - transition: opacity .25s ease-in-out; .message-toolbar-items-inner { margin: auto; @@ -22,7 +21,6 @@ } } -// .message-toolbar-items also fades in and out when you select / deselect .message-toolbar-items.hidden { opacity: 0; } diff --git a/internal_packages/mode-switch/lib/main.coffee b/internal_packages/mode-switch/lib/main.coffee new file mode 100644 index 000000000..ebea562ad --- /dev/null +++ b/internal_packages/mode-switch/lib/main.coffee @@ -0,0 +1,9 @@ +{ComponentRegistry} = require 'inbox-exports' +ModeSwitch = require './mode-switch' + +module.exports = + activate: (state) -> + ComponentRegistry.register + name: 'ModeSwitch' + view: ModeSwitch + role: 'Root:Toolbar' diff --git a/internal_packages/mode-switch/lib/mode-switch.cjsx b/internal_packages/mode-switch/lib/mode-switch.cjsx new file mode 100644 index 000000000..b60355e70 --- /dev/null +++ b/internal_packages/mode-switch/lib/mode-switch.cjsx @@ -0,0 +1,62 @@ +{ComponentRegistry, + WorkspaceStore, + Actions} = require "inbox-exports" +{RetinaImg} = require 'ui-components' +React = require "react" +_ = require "underscore-plus" + +module.exports = +ModeSwitch = React.createClass + displayName: 'ModeSwitch' + + getInitialState: -> + mode: WorkspaceStore.selectedLayoutMode() + + componentDidMount: -> + @unsubscribe = WorkspaceStore.listen(@_onStateChanged, @) + + componentWillUnmount: -> + @unsubscribe?() + + render: -> + knobX = if @state.mode is 'list' then 25 else 41 + + # Currently ModeSwitch is an opaque control that is not intended + # to be styled, hence the fixed margins and positions. If we + # turn this into a standard component one day, change! +