From 3404950069665f345cc08f1aadc6527ceb921a65 Mon Sep 17 00:00:00 2001 From: Torjus Date: Mon, 30 Jul 2018 14:57:32 +0200 Subject: [PATCH] Add files badge to the ToolArea --- app/lib/components/ToolArea/ToolArea.jsx | 21 +++++++++++----- .../components/ToolArea/ToolAreaButton.jsx | 2 +- app/lib/redux/reducers/toolarea.js | 24 ++++++++++++++----- 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/app/lib/components/ToolArea/ToolArea.jsx b/app/lib/components/ToolArea/ToolArea.jsx index 218dde4..19545c0 100644 --- a/app/lib/components/ToolArea/ToolArea.jsx +++ b/app/lib/components/ToolArea/ToolArea.jsx @@ -18,7 +18,8 @@ class ToolArea extends React.Component { const { currentToolTab, - unread, + unreadMessages, + unreadFiles, setToolTab } = this.props; @@ -38,8 +39,8 @@ class ToolArea extends React.Component @@ -54,7 +55,13 @@ class ToolArea extends React.Component onChange={() => setToolTab('files')} checked={currentToolTab === 'files'} /> - +
@@ -102,12 +109,14 @@ ToolArea.propTypes = advancedMode : PropTypes.bool, currentToolTab : PropTypes.string.isRequired, setToolTab : PropTypes.func.isRequired, - unread : PropTypes.number.isRequired + unreadMessages : PropTypes.number.isRequired, + unreadFiles : PropTypes.number.isRequired }; const mapStateToProps = (state) => ({ currentToolTab : state.toolarea.currentToolTab, - unread : state.toolarea.unread + unreadMessages : state.toolarea.unreadMessages, + unreadFiles : state.toolarea.unreadFiles }); const mapDispatchToProps = { diff --git a/app/lib/components/ToolArea/ToolAreaButton.jsx b/app/lib/components/ToolArea/ToolAreaButton.jsx index 4ebb256..6c67c15 100644 --- a/app/lib/components/ToolArea/ToolAreaButton.jsx +++ b/app/lib/components/ToolArea/ToolAreaButton.jsx @@ -50,7 +50,7 @@ const mapStateToProps = (state) => return { toolAreaOpen : state.toolarea.toolAreaOpen, visible : state.room.toolbarsVisible, - unread : state.toolarea.unread + unread : state.toolarea.unreadMessages + state.toolarea.unreadFiles }; }; diff --git a/app/lib/redux/reducers/toolarea.js b/app/lib/redux/reducers/toolarea.js index 04654cb..fa5b0df 100644 --- a/app/lib/redux/reducers/toolarea.js +++ b/app/lib/redux/reducers/toolarea.js @@ -2,7 +2,8 @@ const initialState = { toolAreaOpen : false, currentToolTab : 'chat', // chat, settings, users - unread : 0 + unreadMessages : 0, + unreadFiles : 0 }; const toolarea = (state = initialState, action) => @@ -12,17 +13,18 @@ const toolarea = (state = initialState, action) => case 'TOGGLE_TOOL_AREA': { const toolAreaOpen = !state.toolAreaOpen; - const unread = toolAreaOpen && state.currentToolTab === 'chat' ? 0 : state.unread; + const unreadMessages = toolAreaOpen && state.currentToolTab === 'chat' ? 0 : state.unreadMessages; - return { ...state, toolAreaOpen, unread }; + return { ...state, toolAreaOpen, unreadMessages }; } case 'SET_TOOL_TAB': { const { toolTab } = action.payload; - const unread = toolTab === 'chat' ? 0 : state.unread; + const unreadMessages = toolTab === 'chat' ? 0 : state.unreadMessages; + const unreadFiles = toolTab === 'files' ? 0 : state.unreadFiles; - return { ...state, currentToolTab: toolTab, unread }; + return { ...state, currentToolTab: toolTab, unreadMessages, unreadFiles }; } case 'ADD_NEW_RESPONSE_MESSAGE': @@ -32,7 +34,17 @@ const toolarea = (state = initialState, action) => return state; } - return { ...state, unread: state.unread + 1 }; + return { ...state, unreadMessages: state.unreadMessages + 1 }; + } + + case 'ADD_FILE': + { + if (state.toolAreaOpen && state.currentToolTab === 'files') + { + return state; + } + + return { ...state, unreadFiles: state.unreadFiles + 1 }; } default: