summaryrefslogtreecommitdiffstats
path: root/webapp/components/unread_channel_indicator.jsx
blob: 9462761aca78fe9cdd383c67908bdd4d853371f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import PropTypes from 'prop-types';

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

// Indicator for the left sidebar which indicate if there's unread posts in a channel that is not shown
// because it is either above or below the screen
import React from 'react';
import Constants from 'utils/constants.jsx';

export default function UnreadChannelIndicator(props) {
    const unreadIcon = Constants.UNREAD_ICON_SVG;
    let displayValue = 'none';
    if (props.show) {
        displayValue = 'block';
    }

    return (
        <div
            className={'nav-pills__unread-indicator ' + props.extraClass}
            style={{display: displayValue}}
        >
            {props.text}
            <span
                className='icon icon__unread'
                dangerouslySetInnerHTML={{__html: unreadIcon}}
            />
        </div>
    );
}

UnreadChannelIndicator.defaultProps = {
    show: false,
    extraClass: '',
    text: ''
};
UnreadChannelIndicator.propTypes = {
    show: PropTypes.bool,
    extraClass: PropTypes.string,
    text: PropTypes.object
};