diff options
Diffstat (limited to 'src/components/layout/Sidebar.js')
-rw-r--r-- | src/components/layout/Sidebar.js | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/src/components/layout/Sidebar.js b/src/components/layout/Sidebar.js index fcc5b0001..de379875e 100644 --- a/src/components/layout/Sidebar.js +++ b/src/components/layout/Sidebar.js | |||
@@ -24,6 +24,14 @@ const messages = defineMessages({ | |||
24 | id: 'sidebar.unmuteApp', | 24 | id: 'sidebar.unmuteApp', |
25 | defaultMessage: '!!!Enable notifications & audio', | 25 | defaultMessage: '!!!Enable notifications & audio', |
26 | }, | 26 | }, |
27 | openWorkspaceDrawer: { | ||
28 | id: 'sidebar.openWorkspaceDrawer', | ||
29 | defaultMessage: '!!!Open workspace drawer', | ||
30 | }, | ||
31 | closeWorkspaceDrawer: { | ||
32 | id: 'sidebar.closeWorkspaceDrawer', | ||
33 | defaultMessage: '!!!Close workspace drawer', | ||
34 | }, | ||
27 | }); | 35 | }); |
28 | 36 | ||
29 | export default @observer class Sidebar extends Component { | 37 | export default @observer class Sidebar extends Component { |
@@ -31,6 +39,8 @@ export default @observer class Sidebar extends Component { | |||
31 | openSettings: PropTypes.func.isRequired, | 39 | openSettings: PropTypes.func.isRequired, |
32 | toggleMuteApp: PropTypes.func.isRequired, | 40 | toggleMuteApp: PropTypes.func.isRequired, |
33 | isAppMuted: PropTypes.bool.isRequired, | 41 | isAppMuted: PropTypes.bool.isRequired, |
42 | isWorkspaceDrawerOpen: PropTypes.bool.isRequired, | ||
43 | toggleWorkspaceDrawer: PropTypes.func.isRequired, | ||
34 | }; | 44 | }; |
35 | 45 | ||
36 | static contextTypes = { | 46 | static contextTypes = { |
@@ -53,9 +63,23 @@ export default @observer class Sidebar extends Component { | |||
53 | this.setState({ tooltipEnabled: false }); | 63 | this.setState({ tooltipEnabled: false }); |
54 | } | 64 | } |
55 | 65 | ||
66 | updateToolTip() { | ||
67 | this.disableToolTip(); | ||
68 | setTimeout(this.enableToolTip.bind(this)); | ||
69 | } | ||
70 | |||
56 | render() { | 71 | render() { |
57 | const { openSettings, toggleMuteApp, isAppMuted } = this.props; | 72 | const { |
73 | openSettings, | ||
74 | toggleMuteApp, | ||
75 | isAppMuted, | ||
76 | isWorkspaceDrawerOpen, | ||
77 | toggleWorkspaceDrawer, | ||
78 | } = this.props; | ||
58 | const { intl } = this.context; | 79 | const { intl } = this.context; |
80 | const workspaceToggleMessage = ( | ||
81 | isWorkspaceDrawerOpen ? messages.closeWorkspaceDrawer : messages.openWorkspaceDrawer | ||
82 | ); | ||
59 | 83 | ||
60 | return ( | 84 | return ( |
61 | <div className="sidebar"> | 85 | <div className="sidebar"> |
@@ -66,7 +90,21 @@ export default @observer class Sidebar extends Component { | |||
66 | /> | 90 | /> |
67 | <button | 91 | <button |
68 | type="button" | 92 | type="button" |
69 | onClick={toggleMuteApp} | 93 | onClick={() => { |
94 | toggleWorkspaceDrawer(); | ||
95 | this.updateToolTip(); | ||
96 | }} | ||
97 | className={`sidebar__button sidebar__button--workspaces ${isWorkspaceDrawerOpen ? 'is-active' : ''}`} | ||
98 | data-tip={`${intl.formatMessage(workspaceToggleMessage)} (${ctrlKey}+Shift+D)`} | ||
99 | > | ||
100 | <i className="mdi mdi-view-grid" /> | ||
101 | </button> | ||
102 | <button | ||
103 | type="button" | ||
104 | onClick={() => { | ||
105 | toggleMuteApp(); | ||
106 | this.updateToolTip(); | ||
107 | }} | ||
70 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} | 108 | className={`sidebar__button sidebar__button--audio ${isAppMuted ? 'is-muted' : ''}`} |
71 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`} | 109 | data-tip={`${intl.formatMessage(isAppMuted ? messages.unmute : messages.mute)} (${ctrlKey}+Shift+M)`} |
72 | > | 110 | > |