* PLT-6787 Fixed being able to send a post before files finished uploading (#6617) * Fix quick switcher for channels/users not stored locally (#6610) * Fix button text on confirm mention modal (#6609) * fix post delete permission of channel admin (#6608) * open comment thread for the most recent reply-able message (#6605) * Use mutex flag with yarn to prevent concurrent builds interfering (#6619) * Use mutex flag with yarn to prevent concurrent builds interfering * Remove yarn mutex file with clean * Minor bug fixes (#6615) * PLT-6774 - Fixing color for offline icon * PLT-6784 - Fixing status icon * Fixing icon margin * Updating caret position * PLT-6070 Have ChannelMentionProvider stop searching after a term returns no results (#6620) * Fixing JS error (#6623) * Minor bug fixes (#6622) * PLT-6808 - Updating channel switcher on mobile * PLT-6743 - Updating scrollbar styling * Login instead of failing if user exists in OAuth sign-up flow (#6627) * PLT-6802 Disable team switcher (#6626) * Disable team switcher * Fix ESLint errors * PLT-6807 Ensured select teams page can scroll on iOS (#6630) * Do not redirect from account switch pages on 401 (#6631) * Fixing loadtest command and renaming to /test (#6624) * PLT-6820 Update mattermost-redux dependency (#6632) * translations PR 20170612 (#6629) * Bump HTTP client timeout to 30 seconds (#6633) * For team unreads return empty array instead of null (#6636) * PLT-6831 Fix status modal localization IDs (#6637) * Fix status modal localization IDs * Update test snapshot
62 строки
1.6 KiB
JavaScript
62 строки
1.6 KiB
JavaScript
import PropTypes from 'prop-types';
|
|
|
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import React from 'react';
|
|
import Constants from 'utils/constants.jsx';
|
|
import * as Utils from 'utils/utils.jsx';
|
|
|
|
export default function CommentIcon(props) {
|
|
let commentCountSpan = '';
|
|
let iconStyle = 'comment-icon__container';
|
|
if (props.commentCount > 0) {
|
|
iconStyle += ' icon--show';
|
|
commentCountSpan = (
|
|
<span className='comment-count'>
|
|
{props.commentCount}
|
|
</span>
|
|
);
|
|
} else if (props.searchStyle !== '') {
|
|
iconStyle = iconStyle + ' ' + props.searchStyle;
|
|
}
|
|
|
|
let selectorId = props.idPrefix;
|
|
if (props.idCount > -1) {
|
|
selectorId += props.idCount;
|
|
}
|
|
|
|
const id = Utils.createSafeId(props.idPrefix + '_' + props.id);
|
|
|
|
return (
|
|
<a
|
|
id={id}
|
|
href='#'
|
|
className={iconStyle + ' ' + selectorId}
|
|
onClick={props.handleCommentClick}
|
|
>
|
|
<span
|
|
className='comment-icon'
|
|
dangerouslySetInnerHTML={{__html: Constants.REPLY_ICON}}
|
|
/>
|
|
{commentCountSpan}
|
|
</a>
|
|
);
|
|
}
|
|
|
|
CommentIcon.propTypes = {
|
|
idPrefix: PropTypes.string.isRequired,
|
|
idCount: PropTypes.number,
|
|
handleCommentClick: PropTypes.func.isRequired,
|
|
searchStyle: PropTypes.string,
|
|
commentCount: PropTypes.number,
|
|
id: PropTypes.string
|
|
};
|
|
|
|
CommentIcon.defaultProps = {
|
|
idCount: -1,
|
|
searchStyle: '',
|
|
commentCount: 0,
|
|
id: ''
|
|
};
|