aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/layout/Sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/layout/Sidebar.js')
-rw-r--r--src/components/layout/Sidebar.js42
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
29export default @observer class Sidebar extends Component { 37export 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 >