Add files badge to the ToolArea
parent
e6470d8e2e
commit
3404950069
|
|
@ -18,7 +18,8 @@ class ToolArea extends React.Component
|
||||||
{
|
{
|
||||||
const {
|
const {
|
||||||
currentToolTab,
|
currentToolTab,
|
||||||
unread,
|
unreadMessages,
|
||||||
|
unreadFiles,
|
||||||
setToolTab
|
setToolTab
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
|
|
@ -38,8 +39,8 @@ class ToolArea extends React.Component
|
||||||
<label htmlFor='tab-chat'>
|
<label htmlFor='tab-chat'>
|
||||||
Chat
|
Chat
|
||||||
|
|
||||||
{unread > 0 && (
|
{unreadMessages > 0 && (
|
||||||
<span className='badge'>{unread}</span>
|
<span className='badge'>{unreadMessages}</span>
|
||||||
)}
|
)}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
|
@ -54,7 +55,13 @@ class ToolArea extends React.Component
|
||||||
onChange={() => setToolTab('files')}
|
onChange={() => setToolTab('files')}
|
||||||
checked={currentToolTab === 'files'}
|
checked={currentToolTab === 'files'}
|
||||||
/>
|
/>
|
||||||
<label htmlFor='tab-files'>Files</label>
|
<label htmlFor='tab-files'>
|
||||||
|
Files
|
||||||
|
|
||||||
|
{unreadFiles > 0 && (
|
||||||
|
<span className='badge'>{unreadFiles}</span>
|
||||||
|
)}
|
||||||
|
</label>
|
||||||
|
|
||||||
<div className='tab'>
|
<div className='tab'>
|
||||||
<FileSharing />
|
<FileSharing />
|
||||||
|
|
@ -102,12 +109,14 @@ ToolArea.propTypes =
|
||||||
advancedMode : PropTypes.bool,
|
advancedMode : PropTypes.bool,
|
||||||
currentToolTab : PropTypes.string.isRequired,
|
currentToolTab : PropTypes.string.isRequired,
|
||||||
setToolTab : PropTypes.func.isRequired,
|
setToolTab : PropTypes.func.isRequired,
|
||||||
unread : PropTypes.number.isRequired
|
unreadMessages : PropTypes.number.isRequired,
|
||||||
|
unreadFiles : PropTypes.number.isRequired
|
||||||
};
|
};
|
||||||
|
|
||||||
const mapStateToProps = (state) => ({
|
const mapStateToProps = (state) => ({
|
||||||
currentToolTab : state.toolarea.currentToolTab,
|
currentToolTab : state.toolarea.currentToolTab,
|
||||||
unread : state.toolarea.unread
|
unreadMessages : state.toolarea.unreadMessages,
|
||||||
|
unreadFiles : state.toolarea.unreadFiles
|
||||||
});
|
});
|
||||||
|
|
||||||
const mapDispatchToProps = {
|
const mapDispatchToProps = {
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ const mapStateToProps = (state) =>
|
||||||
return {
|
return {
|
||||||
toolAreaOpen : state.toolarea.toolAreaOpen,
|
toolAreaOpen : state.toolarea.toolAreaOpen,
|
||||||
visible : state.room.toolbarsVisible,
|
visible : state.room.toolbarsVisible,
|
||||||
unread : state.toolarea.unread
|
unread : state.toolarea.unreadMessages + state.toolarea.unreadFiles
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ const initialState =
|
||||||
{
|
{
|
||||||
toolAreaOpen : false,
|
toolAreaOpen : false,
|
||||||
currentToolTab : 'chat', // chat, settings, users
|
currentToolTab : 'chat', // chat, settings, users
|
||||||
unread : 0
|
unreadMessages : 0,
|
||||||
|
unreadFiles : 0
|
||||||
};
|
};
|
||||||
|
|
||||||
const toolarea = (state = initialState, action) =>
|
const toolarea = (state = initialState, action) =>
|
||||||
|
|
@ -12,17 +13,18 @@ const toolarea = (state = initialState, action) =>
|
||||||
case 'TOGGLE_TOOL_AREA':
|
case 'TOGGLE_TOOL_AREA':
|
||||||
{
|
{
|
||||||
const toolAreaOpen = !state.toolAreaOpen;
|
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':
|
case 'SET_TOOL_TAB':
|
||||||
{
|
{
|
||||||
const { toolTab } = action.payload;
|
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':
|
case 'ADD_NEW_RESPONSE_MESSAGE':
|
||||||
|
|
@ -32,7 +34,17 @@ const toolarea = (state = initialState, action) =>
|
||||||
return state;
|
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:
|
default:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue