Updating ESLint (#4085)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
214f9c13a2
Коммит
93f2b6a833
@@ -90,7 +90,7 @@ export default class ActivityLogModal extends React.Component {
|
||||
this.setState({moreInfo: newMoreInfo});
|
||||
}
|
||||
render() {
|
||||
let activityList = [];
|
||||
const activityList = [];
|
||||
|
||||
for (let i = 0; i < this.state.sessions.length; i++) {
|
||||
const currentSession = this.state.sessions[i];
|
||||
|
||||
@@ -77,7 +77,7 @@ export default class AdminNavbarDropdown extends React.Component {
|
||||
<li
|
||||
key='teamDiv'
|
||||
className='divider'
|
||||
></li>
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ export default class AdminNavbarDropdown extends React.Component {
|
||||
<li
|
||||
key='teamDiv'
|
||||
className='divider'
|
||||
></li>
|
||||
/>
|
||||
<li>
|
||||
<a
|
||||
href='#'
|
||||
|
||||
@@ -124,7 +124,7 @@ export default class AdminSidebar extends React.Component {
|
||||
>
|
||||
<i
|
||||
className='fa fa-plus'
|
||||
></i>
|
||||
/>
|
||||
</a>
|
||||
</OverlayTrigger>
|
||||
</span>
|
||||
|
||||
@@ -86,7 +86,7 @@ export default class Audits extends React.Component {
|
||||
className='btn btn-link pull-right'
|
||||
onClick={this.reload}
|
||||
>
|
||||
<i className='fa fa-refresh'></i>
|
||||
<i className='fa fa-refresh'/>
|
||||
<FormattedMessage
|
||||
id='admin.audits.reload'
|
||||
defaultMessage='Reload User Activity Logs'
|
||||
|
||||
@@ -82,7 +82,7 @@ export default class ClusterSettings extends AdminSettings {
|
||||
style={{marginBottom: '10px'}}
|
||||
className='alert alert-warning'
|
||||
>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedHTMLMessage
|
||||
id='admin.cluster.loadedFrom'
|
||||
defaultMessage='This configuration file was loaded from Node ID {clusterId}. Please see the Troubleshooting Guide in our <a href="http://docs.mattermost.com/deployment/cluster.html" target="_blank">documentation</a> if you are accessing the System Console through a load balancer and experiencing issues.'
|
||||
@@ -101,7 +101,7 @@ export default class ClusterSettings extends AdminSettings {
|
||||
style={{marginBottom: '10px'}}
|
||||
className='alert alert-warning'
|
||||
>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedMessage
|
||||
id='admin.cluster.should_not_change'
|
||||
defaultMessage='WARNING: These settings may not sync with the other servers in the cluster. High Availability inter-node communication will not start until you modify the config.json to be identical on all servers and restart Mattermost. Please see the <a href="http://docs.mattermost.com/deployment/cluster.html" target="_blank">documentation</a> on how to add or remove a server from the cluster. If you are accessing the System Console through a load balancer and experiencing issues, please see the Troubleshooting Guide in our <a href="http://docs.mattermost.com/deployment/cluster.html" target="_blank">documentation</a>.'
|
||||
|
||||
@@ -121,7 +121,7 @@ export default class ClusterTable extends React.Component {
|
||||
className='btn btn-link'
|
||||
onClick={this.props.reload}
|
||||
>
|
||||
<i className='fa fa-refresh'></i>
|
||||
<i className='fa fa-refresh'/>
|
||||
<FormattedMessage
|
||||
id='admin.cluster.status_table.reload'
|
||||
defaultMessage=' Reload Cluster Status'
|
||||
|
||||
@@ -201,7 +201,7 @@ export default class ComplianceReports extends React.Component {
|
||||
<table className='table'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th/>
|
||||
<th>
|
||||
<FormattedMessage
|
||||
id='admin.compliance_table.timestamp'
|
||||
@@ -373,7 +373,7 @@ export default class ComplianceReports extends React.Component {
|
||||
className='btn btn-link'
|
||||
onClick={this.reload}
|
||||
>
|
||||
<i className='fa fa-refresh'></i>
|
||||
<i className='fa fa-refresh'/>
|
||||
<FormattedMessage
|
||||
id='admin.compliance_reports.reload'
|
||||
defaultMessage='Reload Completed Compliance Reports'
|
||||
|
||||
@@ -64,7 +64,7 @@ export default class EmailConnectionTestButton extends React.Component {
|
||||
if (this.state.success) {
|
||||
testMessage = (
|
||||
<div className='alert alert-success'>
|
||||
<i className='fa fa-check'></i>
|
||||
<i className='fa fa-check'/>
|
||||
<FormattedMessage
|
||||
id='admin.email.emailSuccess'
|
||||
defaultMessage='No errors were reported while sending an email. Please check your inbox to make sure.'
|
||||
@@ -74,7 +74,7 @@ export default class EmailConnectionTestButton extends React.Component {
|
||||
} else if (this.state.fail) {
|
||||
testMessage = (
|
||||
<div className='alert alert-warning'>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedMessage
|
||||
id='admin.email.emailFail'
|
||||
defaultMessage='Connection unsuccessful: {error}'
|
||||
|
||||
@@ -96,7 +96,7 @@ export default class LdapTestButton extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let helpText = (
|
||||
const helpText = (
|
||||
<FormattedHTMLMessage
|
||||
id='admin.ldap.testHelpText'
|
||||
defaultMessage='Tests if the Mattermost server can connect to the AD/LDAP server specified. See log file for more detailed error messages.'
|
||||
|
||||
@@ -45,14 +45,14 @@ export default class RecycleDbButton extends React.Component {
|
||||
|
||||
render() {
|
||||
if (global.window.mm_license.IsLicensed !== 'true') {
|
||||
return <div></div>;
|
||||
return <div/>;
|
||||
}
|
||||
|
||||
let testMessage = null;
|
||||
if (this.state.fail) {
|
||||
testMessage = (
|
||||
<div className='alert alert-warning'>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedMessage
|
||||
id='admin.recycle.reloadFail'
|
||||
defaultMessage='Recycling unsuccessful: {error}'
|
||||
@@ -64,7 +64,7 @@ export default class RecycleDbButton extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let helpText = (
|
||||
const helpText = (
|
||||
<FormattedHTMLMessage
|
||||
id='admin.recycle.recycleDescription'
|
||||
defaultMessage='Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating "config.json" to the new desired configuration and using the <a href="../general/configuration"><b>Configuration > Reload Configuration from Disk</b></a> feature to load the new settings while the server is running. The administrator should then use <b>Recycle Database Connections</b> feature to recycle the database connections based on the new settings.'
|
||||
|
||||
@@ -48,14 +48,14 @@ export default class ReloadConfigButton extends React.Component {
|
||||
|
||||
render() {
|
||||
if (global.window.mm_license.IsLicensed !== 'true') {
|
||||
return <div></div>;
|
||||
return <div/>;
|
||||
}
|
||||
|
||||
let testMessage = null;
|
||||
if (this.state.fail) {
|
||||
testMessage = (
|
||||
<div className='alert alert-warning'>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedMessage
|
||||
id='admin.reload.reloadFail'
|
||||
defaultMessage='Reload unsuccessful: {error}'
|
||||
@@ -67,7 +67,7 @@ export default class ReloadConfigButton extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let helpText = (
|
||||
const helpText = (
|
||||
<FormattedHTMLMessage
|
||||
id='admin.reload.reloadDescription'
|
||||
defaultMessage='Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating "config.json" to the new desired configuration and using the <b>Reload Configuration from Disk</b> feature to load the new settings while the server is running. The administrator should then use the <a href="../advanced/database"><b>Database > Recycle Database Connections</b></a> feature to recycle the database connections based on the new settings.'
|
||||
|
||||
@@ -53,7 +53,7 @@ export default class SyncNowButton extends React.Component {
|
||||
if (this.state.fail) {
|
||||
failMessage = (
|
||||
<div className='alert alert-warning'>
|
||||
<i className='fa fa-warning'></i>
|
||||
<i className='fa fa-warning'/>
|
||||
<FormattedMessage
|
||||
id='admin.ldap.syncFailure'
|
||||
defaultMessage='Sync Failure: {error}'
|
||||
@@ -65,7 +65,7 @@ export default class SyncNowButton extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let helpText = (
|
||||
const helpText = (
|
||||
<FormattedHTMLMessage
|
||||
id='admin.ldap.syncNowHelpText'
|
||||
defaultMessage='Initiates an AD/LDAP synchronization immediately.'
|
||||
|
||||
@@ -562,7 +562,7 @@ export default class UserItem extends React.Component {
|
||||
aria-expanded='true'
|
||||
>
|
||||
<span>{currentRoles} </span>
|
||||
<span className='caret'></span>
|
||||
<span className='caret'/>
|
||||
</a>
|
||||
<ul
|
||||
className='dropdown-menu member-menu'
|
||||
|
||||
@@ -237,7 +237,7 @@ class AuditTable extends React.Component {
|
||||
sContent = <td className='word-break--all'>{auditInfo.sessionId}</td>;
|
||||
}
|
||||
|
||||
let descStyle = {};
|
||||
const descStyle = {};
|
||||
if (auditInfo.desc.toLowerCase().indexOf('fail') !== -1) {
|
||||
descStyle.color = 'red';
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ export default class BackstageHeader extends React.Component {
|
||||
key={'divider' + index}
|
||||
className='backstage-header__divider'
|
||||
>
|
||||
<i className='fa fa-angle-right'></i>
|
||||
<i className='fa fa-angle-right'/>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ export default class BackstageList extends React.Component {
|
||||
</div>
|
||||
<div className='backstage-filters'>
|
||||
<div className='backstage-filter__search'>
|
||||
<i className='fa fa-search'></i>
|
||||
<i className='fa fa-search'/>
|
||||
<input
|
||||
type='search'
|
||||
className='form-control'
|
||||
|
||||
@@ -113,7 +113,7 @@ export default class ChannelHeader extends React.Component {
|
||||
}
|
||||
|
||||
shouldComponentUpdate(nextProps) {
|
||||
return !!nextProps.channelId;
|
||||
return Boolean(nextProps.channelId);
|
||||
}
|
||||
|
||||
onListenerChange() {
|
||||
|
||||
@@ -99,7 +99,7 @@ export default class SwitchChannelModal extends React.Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
let message = this.state.error;
|
||||
const message = this.state.error;
|
||||
return (
|
||||
<Modal
|
||||
className='modal-browse-channel'
|
||||
|
||||
@@ -65,7 +65,7 @@ export default class CodePreview extends React.Component {
|
||||
}
|
||||
|
||||
static support(filename) {
|
||||
return !!SyntaxHighlighting.getLanguageFromFilename(filename);
|
||||
return Boolean(SyntaxHighlighting.getLanguageFromFilename(filename));
|
||||
}
|
||||
|
||||
render() {
|
||||
|
||||
@@ -100,7 +100,7 @@ export default class TeamSignupDisplayNamePage extends React.Component {
|
||||
<FormattedMessage
|
||||
id='create_team.display_name.next'
|
||||
defaultMessage='Next'
|
||||
/><i className='fa fa-chevron-right'></i>
|
||||
/><i className='fa fa-chevron-right'/>
|
||||
</button>
|
||||
<div className='margin--extra'>
|
||||
<Link to='/select_team'>
|
||||
|
||||
@@ -69,7 +69,7 @@ export default class EmojiList extends React.Component {
|
||||
const filter = this.state.filter.toLowerCase();
|
||||
const isSystemAdmin = Utils.isSystemAdmin(this.props.user.roles);
|
||||
|
||||
let emojis = [];
|
||||
const emojis = [];
|
||||
if (this.state.loading) {
|
||||
emojis.push(
|
||||
<LoadingScreen key='loading'/>
|
||||
@@ -129,7 +129,7 @@ export default class EmojiList extends React.Component {
|
||||
</div>
|
||||
<div className='backstage-filters'>
|
||||
<div className='backstage-filter__search'>
|
||||
<i className='fa fa-search'></i>
|
||||
<i className='fa fa-search'/>
|
||||
<input
|
||||
type='search'
|
||||
className='form-control'
|
||||
|
||||
@@ -110,7 +110,7 @@ export default class EmojiListItem extends React.Component {
|
||||
{creatorName}
|
||||
</td>
|
||||
<td className='emoji-list-item_actions'>
|
||||
{deleteButton}
|
||||
{deleteButton}
|
||||
</td>
|
||||
</tr>
|
||||
);
|
||||
|
||||
@@ -26,7 +26,7 @@ export default class FileUploadOverlay extends React.Component {
|
||||
src={fileOverlayImage}
|
||||
alt='Files'
|
||||
/>
|
||||
<span><i className='fa fa-upload'></i>
|
||||
<span><i className='fa fa-upload'/>
|
||||
<FormattedMessage
|
||||
id='upload_overlay.info'
|
||||
defaultMessage='Drop a file to upload it.'
|
||||
|
||||
@@ -103,7 +103,7 @@ export default class FilteredChannelList extends React.Component {
|
||||
|
||||
return channels.filter((chan) => {
|
||||
const filter = this.state.filter.toLowerCase();
|
||||
return !!((chan.name.toLowerCase().indexOf(filter) !== -1 || chan.display_name.toLowerCase().indexOf(filter) !== -1) && chan.delete_at === 0);
|
||||
return Boolean((chan.name.toLowerCase().indexOf(filter) !== -1 || chan.display_name.toLowerCase().indexOf(filter) !== -1) && chan.delete_at === 0);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ export default class GetLinkModal extends React.Component {
|
||||
if (this.state.copiedLink) {
|
||||
copyLinkConfirm = (
|
||||
<p className='alert alert-success alert--confirm'>
|
||||
<i className='fa fa-check'></i>
|
||||
<i className='fa fa-check'/>
|
||||
<FormattedMessage
|
||||
id='get_link.clipboard'
|
||||
defaultMessage=' Link copied to clipboard.'
|
||||
|
||||
@@ -16,7 +16,7 @@ export default class NotLoggedIn extends React.Component {
|
||||
$('#root').removeClass('container-fluid');
|
||||
}
|
||||
render() {
|
||||
let content = [];
|
||||
const content = [];
|
||||
|
||||
if (global.window.mm_config.HelpLink) {
|
||||
content.push(
|
||||
@@ -78,7 +78,7 @@ export default class NotLoggedIn extends React.Component {
|
||||
<div className='inner-wrap'>
|
||||
<div className='row content'>
|
||||
{this.props.children}
|
||||
<div className='footer-push'></div>
|
||||
<div className='footer-push'/>
|
||||
</div>
|
||||
<div className='row footer'>
|
||||
<div className='footer-pane col-xs-12'>
|
||||
|
||||
@@ -115,7 +115,7 @@ export default class InstalledOutgoingWebhook extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let urls = (
|
||||
const urls = (
|
||||
<div className='item-details__row'>
|
||||
<span className='item-details__url'>
|
||||
<FormattedMessage
|
||||
|
||||
@@ -265,7 +265,7 @@ class InviteMemberModal extends React.Component {
|
||||
className='btn btn-link remove__member'
|
||||
onClick={this.removeInviteFields.bind(this, index)}
|
||||
>
|
||||
<span className='fa fa-trash'></span>
|
||||
<span className='fa fa-trash'/>
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -31,9 +31,9 @@ export default class LoadingScreen extends React.Component {
|
||||
<h3>
|
||||
{message}
|
||||
</h3>
|
||||
<div className='round round-1'></div>
|
||||
<div className='round round-2'></div>
|
||||
<div className='round round-3'></div>
|
||||
<div className='round round-1'/>
|
||||
<div className='round round-2'/>
|
||||
<div className='round round-3'/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -446,7 +446,7 @@ export default class Navbar extends React.Component {
|
||||
aria-expanded='true'
|
||||
>
|
||||
<span className='heading'><StatusIcon status={this.getTeammateStatus()}/>{channelTitle} </span>
|
||||
<span className='fa fa-chevron-down header-dropdown__icon'></span>
|
||||
<span className='fa fa-chevron-down header-dropdown__icon'/>
|
||||
</a>
|
||||
<ul
|
||||
className='dropdown-menu'
|
||||
@@ -496,9 +496,9 @@ export default class Navbar extends React.Component {
|
||||
defaultMessage='Toggle sidebar'
|
||||
/>
|
||||
</span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'/>
|
||||
<span className='icon-bar'/>
|
||||
<span className='icon-bar'/>
|
||||
</button>
|
||||
);
|
||||
} else {
|
||||
@@ -517,9 +517,9 @@ export default class Navbar extends React.Component {
|
||||
defaultMessage='Toggle sidebar'
|
||||
/>
|
||||
</span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'></span>
|
||||
<span className='icon-bar'/>
|
||||
<span className='icon-bar'/>
|
||||
<span className='icon-bar'/>
|
||||
<NotifyCounts/>
|
||||
</button>
|
||||
);
|
||||
|
||||
@@ -278,7 +278,7 @@ export default class NavbarDropdown extends React.Component {
|
||||
<li
|
||||
key='teamDiv'
|
||||
className='divider'
|
||||
></li>
|
||||
/>
|
||||
);
|
||||
|
||||
for (var index in this.state.teamMembers) {
|
||||
@@ -409,15 +409,15 @@ export default class NavbarDropdown extends React.Component {
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
<li className='divider'></li>
|
||||
<li className='divider'/>
|
||||
{integrationsLink}
|
||||
{this.renderCustomEmojiLink()}
|
||||
<li className='divider'></li>
|
||||
<li className='divider'/>
|
||||
{teamSettings}
|
||||
{manageLink}
|
||||
{sysAdminLink}
|
||||
{teams}
|
||||
<li className='divider'></li>
|
||||
<li className='divider'/>
|
||||
{helpLink}
|
||||
{reportLink}
|
||||
<li>
|
||||
|
||||
@@ -81,7 +81,7 @@ export default class PermalinkView extends React.Component {
|
||||
id='center_panel.recent'
|
||||
defaultMessage='Click here to jump to recent messages. '
|
||||
/>
|
||||
<i className='fa fa-arrow-down'></i>
|
||||
<i className='fa fa-arrow-down'/>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -87,7 +87,7 @@ class PostAttachment extends React.Component {
|
||||
return '';
|
||||
}
|
||||
|
||||
let fieldTables = [];
|
||||
const fieldTables = [];
|
||||
|
||||
let headerCols = [];
|
||||
let bodyCols = [];
|
||||
@@ -104,7 +104,7 @@ class PostAttachment extends React.Component {
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
{headerCols}
|
||||
{headerCols}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -134,8 +134,7 @@ class PostAttachment extends React.Component {
|
||||
className='attachment-field'
|
||||
key={'attachment__field-' + i + '__' + nrTables}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(field.value || '')}}
|
||||
>
|
||||
</td>
|
||||
/>
|
||||
);
|
||||
rowPos += 1;
|
||||
lastWasLong = !(field.short === true);
|
||||
@@ -175,8 +174,7 @@ class PostAttachment extends React.Component {
|
||||
<div
|
||||
className='attachment__thumb-pretext'
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(data.pretext)}}
|
||||
>
|
||||
</div>
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -250,8 +248,7 @@ class PostAttachment extends React.Component {
|
||||
<div
|
||||
className='attachment__text'
|
||||
dangerouslySetInnerHTML={{__html: this.state.text}}
|
||||
>
|
||||
</div>
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -307,7 +304,7 @@ class PostAttachment extends React.Component {
|
||||
{fields}
|
||||
</div>
|
||||
{thumb}
|
||||
<div style={{clear: 'both'}}></div>
|
||||
<div style={{clear: 'both'}}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@ import React from 'react';
|
||||
|
||||
export default class PostAttachmentList extends React.Component {
|
||||
render() {
|
||||
let content = [];
|
||||
const content = [];
|
||||
this.props.attachments.forEach((attachment, i) => {
|
||||
content.push(
|
||||
<PostAttachment
|
||||
|
||||
@@ -169,7 +169,7 @@ export default class PostBody extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let messageWrapper = (
|
||||
const messageWrapper = (
|
||||
<div
|
||||
key={`${post.id}_message`}
|
||||
id={`${post.id}_message`}
|
||||
|
||||
@@ -174,7 +174,7 @@ export default class PostBodyAdditionalContent extends React.Component {
|
||||
}
|
||||
|
||||
if (this.isLinkToggleable()) {
|
||||
let messageWithToggle = [];
|
||||
const messageWithToggle = [];
|
||||
|
||||
// if message has only one line and starts with a link place toggle in this only line
|
||||
// else - place it in new line between message and embed
|
||||
|
||||
@@ -67,7 +67,7 @@ export default class PostViewCache extends React.Component {
|
||||
const channels = this.state.channels;
|
||||
const currentChannelId = this.state.currentChannelId;
|
||||
|
||||
let postViews = [];
|
||||
const postViews = [];
|
||||
for (let i = 0; i < channels.length; i++) {
|
||||
postViews.push(
|
||||
<PostViewController
|
||||
|
||||
@@ -216,7 +216,7 @@ export class RenameChannelModal extends React.Component {
|
||||
const {formatMessage} = this.props.intl;
|
||||
|
||||
let handleInputLabel = formatMessage(holders.handle);
|
||||
let handleInputClass = 'form-control';
|
||||
const handleInputClass = 'form-control';
|
||||
let readOnlyHandleInput = false;
|
||||
if (this.state.channelName === Constants.DEFAULT_CHANNEL) {
|
||||
handleInputLabel += formatMessage(holders.defaultError);
|
||||
|
||||
@@ -277,7 +277,7 @@ export default class RhsComment extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let profilePic = (
|
||||
const profilePic = (
|
||||
<ProfilePicture
|
||||
src={PostUtils.getProfilePicSrcForPost(post, timestamp)}
|
||||
status={this.props.status}
|
||||
|
||||
@@ -123,7 +123,7 @@ export default class RhsHeaderPost extends React.Component {
|
||||
placement='top'
|
||||
overlay={backToResultsTooltip}
|
||||
>
|
||||
<i className='fa fa-angle-left'></i>
|
||||
<i className='fa fa-angle-left'/>
|
||||
</OverlayTrigger>
|
||||
</a>
|
||||
);
|
||||
|
||||
@@ -247,7 +247,7 @@ export default class RhsThread extends React.Component {
|
||||
|
||||
if (postsArray == null || selected == null) {
|
||||
return (
|
||||
<div></div>
|
||||
<div/>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@ export default class SearchBar extends React.Component {
|
||||
render() {
|
||||
var isSearching = null;
|
||||
if (this.state.isSearching) {
|
||||
isSearching = <span className={'fa fa-refresh fa-refresh-animate icon--refresh icon--rotate'}></span>;
|
||||
isSearching = <span className={'fa fa-refresh fa-refresh-animate icon--refresh icon--rotate'}/>;
|
||||
}
|
||||
|
||||
let helpClass = 'search-help-popover';
|
||||
@@ -162,7 +162,7 @@ export default class SearchBar extends React.Component {
|
||||
className='sidebar__collapse'
|
||||
onClick={this.handleClose}
|
||||
>
|
||||
<span className='fa fa-angle-left'></span>
|
||||
<span className='fa fa-angle-left'/>
|
||||
</div>
|
||||
<span
|
||||
className='search__clear'
|
||||
|
||||
@@ -96,7 +96,7 @@ export default class SearchResultsItem extends React.Component {
|
||||
botIndicator = <li className='bot-indicator'>{Constants.BOT_NAME}</li>;
|
||||
}
|
||||
|
||||
let profilePic = (
|
||||
const profilePic = (
|
||||
<img
|
||||
src={PostUtils.getProfilePicSrcForPost(post, timestamp)}
|
||||
height='36'
|
||||
|
||||
@@ -53,8 +53,7 @@ export default class SettingItemMax extends React.Component {
|
||||
href='#'
|
||||
onClick={this.props.submit}
|
||||
value={Utils.localizeMessage('setting_item_max.save', 'Save')}
|
||||
>
|
||||
</input>
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ export default class SettingsSidebar extends React.Component {
|
||||
}
|
||||
}
|
||||
render() {
|
||||
let tabList = this.props.tabs.map((tab) => {
|
||||
let key = `${tab.name}_li`;
|
||||
const tabList = this.props.tabs.map((tab) => {
|
||||
const key = `${tab.name}_li`;
|
||||
let className = '';
|
||||
if (this.props.activeTab === tab.name) {
|
||||
className = 'active';
|
||||
|
||||
@@ -529,9 +529,9 @@ export default class Sidebar extends React.Component {
|
||||
|
||||
var icon = null;
|
||||
if (channel.type === 'O') {
|
||||
icon = <div className='status'><i className='fa fa-globe'></i></div>;
|
||||
icon = <div className='status'><i className='fa fa-globe'/></div>;
|
||||
} else if (channel.type === 'P') {
|
||||
icon = <div className='status'><i className='fa fa-lock'></i></div>;
|
||||
icon = <div className='status'><i className='fa fa-lock'/></div>;
|
||||
} else {
|
||||
// set up status icon for direct message channels (status is null for other channel types)
|
||||
icon = <StatusIcon status={channel.status}/>;
|
||||
|
||||
@@ -37,7 +37,7 @@ export default class SidebarRight extends React.Component {
|
||||
this.state = {
|
||||
searchVisible: SearchStore.getSearchResults() !== null,
|
||||
isMentionSearch: SearchStore.getIsMentionSearch(),
|
||||
postRightVisible: !!PostStore.getSelectedPost(),
|
||||
postRightVisible: Boolean(PostStore.getSelectedPost()),
|
||||
expanded: false,
|
||||
fromSearch: false,
|
||||
currentUser: UserStore.getCurrentUser(),
|
||||
@@ -88,7 +88,7 @@ export default class SidebarRight extends React.Component {
|
||||
$('.app__body .inner-wrap').removeClass('move--left').removeClass('move--right');
|
||||
$('.app__body .sidebar--right').removeClass('move--left');
|
||||
return (
|
||||
<div></div>
|
||||
<div/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ export default class SidebarRight extends React.Component {
|
||||
|
||||
onSelectedChange(fromSearch, fromFlaggedPosts) {
|
||||
this.setState({
|
||||
postRightVisible: !!PostStore.getSelectedPost(),
|
||||
postRightVisible: Boolean(PostStore.getSelectedPost()),
|
||||
fromSearch,
|
||||
fromFlaggedPosts
|
||||
});
|
||||
|
||||
@@ -177,7 +177,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
href='#'
|
||||
onClick={GlobalActions.showInviteMemberModal}
|
||||
>
|
||||
<i className='icon fa fa-user-plus'></i>
|
||||
<i className='icon fa fa-user-plus'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.inviteNew'
|
||||
defaultMessage='Invite New Member'
|
||||
@@ -193,7 +193,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
href='#'
|
||||
onClick={GlobalActions.showGetTeamInviteLinkModal}
|
||||
>
|
||||
<i className='icon fa fa-link'></i>
|
||||
<i className='icon fa fa-link'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.teamLink'
|
||||
defaultMessage='Get Team Invite Link'
|
||||
@@ -217,7 +217,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
manageLink = (
|
||||
<li>
|
||||
<ToggleModalButton dialogType={TeamMembersModal}>
|
||||
<i className='icon fa fa-users'></i>
|
||||
<i className='icon fa fa-users'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.viewMembers'
|
||||
defaultMessage='View Members'
|
||||
@@ -234,7 +234,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
data-toggle='modal'
|
||||
data-target='#team_settings'
|
||||
>
|
||||
<i className='icon fa fa-globe'></i>
|
||||
<i className='icon fa fa-globe'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.teamSettings'
|
||||
defaultMessage='Team Settings'
|
||||
@@ -248,7 +248,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
dialogType={TeamMembersModal}
|
||||
dialogProps={{isAdmin}}
|
||||
>
|
||||
<i className='icon fa fa-users'></i>
|
||||
<i className='icon fa fa-users'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.manageMembers'
|
||||
defaultMessage='Manage Members'
|
||||
@@ -265,7 +265,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
to={'/admin_console'}
|
||||
onClick={this.handleClick}
|
||||
>
|
||||
<i className='icon fa fa-wrench'></i>
|
||||
<i className='icon fa fa-wrench'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.console'
|
||||
defaultMessage='System Console'
|
||||
@@ -293,7 +293,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
rel='noopener noreferrer'
|
||||
to={global.window.mm_config.HelpLink}
|
||||
>
|
||||
<i className='icon fa fa-question'></i>
|
||||
<i className='icon fa fa-question'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.help'
|
||||
defaultMessage='Help'
|
||||
@@ -312,7 +312,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
rel='noopener noreferrer'
|
||||
to={global.window.mm_config.ReportAProblemLink}
|
||||
>
|
||||
<i className='icon fa fa-phone'></i>
|
||||
<i className='icon fa fa-phone'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.report'
|
||||
defaultMessage='Report a Problem'
|
||||
@@ -338,7 +338,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
rel='noopener noreferrer'
|
||||
to={global.window.mm_config.AppDownloadLink}
|
||||
>
|
||||
<i className='icon fa fa-mobile'></i>
|
||||
<i className='icon fa fa-mobile'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.nativeApps'
|
||||
defaultMessage='Download Apps'
|
||||
@@ -382,7 +382,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
href='#'
|
||||
onClick={this.getFlagged}
|
||||
>
|
||||
<i className='icon fa fa-flag'></i>
|
||||
<i className='icon fa fa-flag'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.flagged'
|
||||
defaultMessage='Flagged Posts'
|
||||
@@ -394,7 +394,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
href='#'
|
||||
onClick={() => this.setState({showUserSettingsModal: true})}
|
||||
>
|
||||
<i className='icon fa fa-cog'></i>
|
||||
<i className='icon fa fa-cog'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.accountSettings'
|
||||
defaultMessage='Account Settings'
|
||||
@@ -408,27 +408,27 @@ export default class SidebarRightMenu extends React.Component {
|
||||
{consoleLink}
|
||||
<li>
|
||||
<Link to='/select_team'>
|
||||
<i className='icon fa fa-exchange'></i>
|
||||
<i className='icon fa fa-exchange'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.switch_team'
|
||||
defaultMessage='Team Selection'
|
||||
/>
|
||||
</Link>
|
||||
</li>
|
||||
<li className='divider'></li>
|
||||
<li className='divider'/>
|
||||
<li>
|
||||
<a
|
||||
href='#'
|
||||
onClick={GlobalActions.emitUserLoggedOutEvent}
|
||||
>
|
||||
<i className='icon fa fa-sign-out'></i>
|
||||
<i className='icon fa fa-sign-out'/>
|
||||
<FormattedMessage
|
||||
id='sidebar_right_menu.logout'
|
||||
defaultMessage='Logout'
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
<li className='divider'></li>
|
||||
<li className='divider'/>
|
||||
{helpLink}
|
||||
{reportLink}
|
||||
<li>
|
||||
@@ -436,7 +436,7 @@ export default class SidebarRightMenu extends React.Component {
|
||||
href='#'
|
||||
onClick={this.handleAboutModal}
|
||||
>
|
||||
<i className='icon fa fa-info'></i>
|
||||
<i className='icon fa fa-info'/>
|
||||
<FormattedMessage
|
||||
id='navbar_dropdown.about'
|
||||
defaultMessage='About Mattermost'
|
||||
|
||||
@@ -17,7 +17,7 @@ class ChannelMentionSuggestion extends Suggestion {
|
||||
const item = this.props.item;
|
||||
|
||||
const channelName = item.channel.display_name;
|
||||
let purpose = item.channel.purpose;
|
||||
const purpose = item.channel.purpose;
|
||||
|
||||
let className = 'mentions__name';
|
||||
if (isSelection) {
|
||||
|
||||
@@ -23,7 +23,7 @@ class SearchChannelSuggestion extends Suggestion {
|
||||
onClick={this.handleClick}
|
||||
className={className}
|
||||
>
|
||||
<i className='fa fa fa-plus-square'></i>{item.name}
|
||||
<i className='fa fa fa-plus-square'/>{item.name}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class SearchUserSuggestion extends Suggestion {
|
||||
className='profile-img rounded'
|
||||
src={Client.getUsersRoute() + '/' + item.id + '/image?time=' + item.update_at}
|
||||
/>
|
||||
<i className='fa fa fa-plus-square'></i>{item.username}
|
||||
<i className='fa fa fa-plus-square'/>{item.username}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -29,9 +29,9 @@ class SwitchChannelSuggestion extends Suggestion {
|
||||
|
||||
let icon = null;
|
||||
if (item.type === Constants.OPEN_CHANNEL) {
|
||||
icon = <div className='status'><i className='fa fa-globe'></i></div>;
|
||||
icon = <div className='status'><i className='fa fa-globe'/></div>;
|
||||
} else if (item.type === Constants.PRIVATE_CHANNEL) {
|
||||
icon = <div className='status'><i className='fa fa-lock'></i></div>;
|
||||
icon = <div className='status'><i className='fa fa-lock'/></div>;
|
||||
} else {
|
||||
icon = <StatusIcon status={item.status}/>;
|
||||
}
|
||||
@@ -41,8 +41,8 @@ class SwitchChannelSuggestion extends Suggestion {
|
||||
onClick={this.handleClick}
|
||||
className={className}
|
||||
>
|
||||
{icon}
|
||||
{displayName}
|
||||
{icon}
|
||||
{displayName}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -354,8 +354,7 @@ class GeneralTab extends React.Component {
|
||||
inputs.push(
|
||||
<div key='teamInviteSetting'>
|
||||
<div className='row'>
|
||||
<label className='col-sm-5 control-label visible-xs-block'>
|
||||
</label>
|
||||
<label className='col-sm-5 control-label visible-xs-block'/>
|
||||
<div className='col-sm-12'>
|
||||
<input
|
||||
className='form-control'
|
||||
@@ -482,7 +481,7 @@ class GeneralTab extends React.Component {
|
||||
ref='title'
|
||||
>
|
||||
<div className='modal-back'>
|
||||
<i className='fa fa-angle-left'></i>
|
||||
<i className='fa fa-angle-left'/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='general_tab.title'
|
||||
|
||||
@@ -70,7 +70,7 @@ class TeamImportTab extends React.Component {
|
||||
break;
|
||||
case 'in-progress':
|
||||
messageSection = (
|
||||
<p className='confirm-import alert alert-warning'><i className='fa fa-spinner fa-pulse'></i>
|
||||
<p className='confirm-import alert alert-warning'><i className='fa fa-spinner fa-pulse'/>
|
||||
<FormattedMessage
|
||||
id='team_import_tab.importing'
|
||||
defaultMessage=' Importing...'
|
||||
@@ -136,7 +136,7 @@ class TeamImportTab extends React.Component {
|
||||
ref='title'
|
||||
>
|
||||
<div className='modal-back'>
|
||||
<i className='fa fa-angle-left'></i>
|
||||
<i className='fa fa-angle-left'/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='team_import_tab.import'
|
||||
|
||||
@@ -258,7 +258,7 @@ export default class TeamMembersDropdown extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
let makeActive = null;
|
||||
const makeActive = null;
|
||||
if (showMakeActive) {
|
||||
// makeActive = (
|
||||
// <li role='presentation'>
|
||||
@@ -276,7 +276,7 @@ export default class TeamMembersDropdown extends React.Component {
|
||||
// );
|
||||
}
|
||||
|
||||
let makeNotActive = null;
|
||||
const makeNotActive = null;
|
||||
if (showMakeNotActive) {
|
||||
// makeNotActive = (
|
||||
// <li role='presentation'>
|
||||
@@ -352,7 +352,7 @@ export default class TeamMembersDropdown extends React.Component {
|
||||
aria-expanded='true'
|
||||
>
|
||||
<span>{currentRoles} </span>
|
||||
<span className='fa fa-chevron-down'></span>
|
||||
<span className='fa fa-chevron-down'/>
|
||||
</a>
|
||||
<ul
|
||||
className='dropdown-menu member-menu'
|
||||
|
||||
@@ -222,8 +222,7 @@ export default class Textbox extends React.Component {
|
||||
className='form-control custom-textarea textbox-preview-area'
|
||||
style={{display: this.state.preview ? 'block' : 'none'}}
|
||||
dangerouslySetInnerHTML={{__html: this.state.preview ? TextFormatting.formatText(this.props.messageText) : ''}}
|
||||
>
|
||||
</div>
|
||||
/>
|
||||
<div className='help__text'>
|
||||
{helpText}
|
||||
{previewLink}
|
||||
|
||||
@@ -132,7 +132,7 @@ export default class TutorialTip extends React.Component {
|
||||
target={() => this.refs.target}
|
||||
>
|
||||
<div className={'tip-overlay ' + this.props.overlayClass}>
|
||||
<div className='arrow'></div>
|
||||
<div className='arrow'/>
|
||||
{this.props.screens[this.state.currentScreen]}
|
||||
<div className='tutorial__footer'>
|
||||
<div className='tutorial__circles'>{dots}</div>
|
||||
|
||||
@@ -162,7 +162,7 @@ export default class UserProfile extends React.Component {
|
||||
/>
|
||||
);
|
||||
|
||||
let fullname = Utils.getFullName(this.props.user);
|
||||
const fullname = Utils.getFullName(this.props.user);
|
||||
if (fullname) {
|
||||
dataContent.push(
|
||||
<div
|
||||
|
||||
@@ -286,7 +286,7 @@ class CustomThemeChooser extends React.Component {
|
||||
type='text'
|
||||
defaultValue={theme[element.id]}
|
||||
/>
|
||||
<span className='input-group-addon'><i></i></span>
|
||||
<span className='input-group-addon'><i/></span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -308,7 +308,7 @@ class CustomThemeChooser extends React.Component {
|
||||
type='text'
|
||||
defaultValue={theme[element.id]}
|
||||
/>
|
||||
<span className='input-group-addon'><i></i></span>
|
||||
<span className='input-group-addon'><i/></span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -330,7 +330,7 @@ class CustomThemeChooser extends React.Component {
|
||||
type='text'
|
||||
defaultValue={theme[element.id]}
|
||||
/>
|
||||
<span className='input-group-addon'><i></i></span>
|
||||
<span className='input-group-addon'><i/></span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -370,8 +370,8 @@ class CustomThemeChooser extends React.Component {
|
||||
defaultMessage='Sidebar Styles'
|
||||
/>
|
||||
<div className='header__icon'>
|
||||
<i className='fa fa-plus'></i>
|
||||
<i className='fa fa-minus'></i>
|
||||
<i className='fa fa-plus'/>
|
||||
<i className='fa fa-minus'/>
|
||||
</div>
|
||||
</div>
|
||||
<div className='theme-elements__body'>
|
||||
@@ -388,8 +388,8 @@ class CustomThemeChooser extends React.Component {
|
||||
defaultMessage='Center Channel Styles'
|
||||
/>
|
||||
<div className='header__icon'>
|
||||
<i className='fa fa-plus'></i>
|
||||
<i className='fa fa-minus'></i>
|
||||
<i className='fa fa-plus'/>
|
||||
<i className='fa fa-minus'/>
|
||||
</div>
|
||||
</div>
|
||||
<div className='theme-elements__body'>
|
||||
@@ -406,8 +406,8 @@ class CustomThemeChooser extends React.Component {
|
||||
defaultMessage='Link and Button Styles'
|
||||
/>
|
||||
<div className='header__icon'>
|
||||
<i className='fa fa-plus'></i>
|
||||
<i className='fa fa-minus'></i>
|
||||
<i className='fa fa-plus'/>
|
||||
<i className='fa fa-minus'/>
|
||||
</div>
|
||||
</div>
|
||||
<div className='theme-elements__body'>
|
||||
|
||||
@@ -21,7 +21,7 @@ export default class DesktopNotificationSettings extends React.Component {
|
||||
}
|
||||
|
||||
buildMaximizedSetting() {
|
||||
let inputs = [];
|
||||
const inputs = [];
|
||||
let extraInfo = null;
|
||||
|
||||
const activityRadio = [false, false, false];
|
||||
|
||||
@@ -260,9 +260,8 @@ export default class NotificationsTab extends React.Component {
|
||||
}
|
||||
|
||||
createPushNotificationSection() {
|
||||
let handleUpdatePushSection;
|
||||
if (this.props.activeSection === 'push') {
|
||||
let inputs = [];
|
||||
const inputs = [];
|
||||
let extraInfo = null;
|
||||
let submit = null;
|
||||
|
||||
@@ -508,9 +507,9 @@ export default class NotificationsTab extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
handleUpdatePushSection = function updateDesktopSection() {
|
||||
const handleUpdatePushSection = () => {
|
||||
this.props.updateSection('push');
|
||||
}.bind(this);
|
||||
};
|
||||
|
||||
return (
|
||||
<SettingItemMin
|
||||
@@ -528,17 +527,12 @@ export default class NotificationsTab extends React.Component {
|
||||
var keysSection;
|
||||
var handleUpdateKeysSection;
|
||||
if (this.props.activeSection === 'keys') {
|
||||
let inputs = [];
|
||||
|
||||
let handleUpdateFirstNameKey;
|
||||
let handleUpdateUsernameKey;
|
||||
let handleUpdateMentionKey;
|
||||
let handleUpdateChannelKey;
|
||||
const inputs = [];
|
||||
|
||||
if (user.first_name) {
|
||||
handleUpdateFirstNameKey = function handleFirstNameKeyChange(e) {
|
||||
const handleUpdateFirstNameKey = (e) => {
|
||||
this.updateFirstNameKey(e.target.checked);
|
||||
}.bind(this);
|
||||
};
|
||||
inputs.push(
|
||||
<div key='userNotificationFirstNameOption'>
|
||||
<div className='checkbox'>
|
||||
@@ -561,9 +555,9 @@ export default class NotificationsTab extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
handleUpdateUsernameKey = function handleUsernameKeyChange(e) {
|
||||
const handleUpdateUsernameKey = (e) => {
|
||||
this.updateUsernameKey(e.target.checked);
|
||||
}.bind(this);
|
||||
};
|
||||
inputs.push(
|
||||
<div key='userNotificationUsernameOption'>
|
||||
<div className='checkbox'>
|
||||
@@ -585,9 +579,9 @@ export default class NotificationsTab extends React.Component {
|
||||
</div>
|
||||
);
|
||||
|
||||
handleUpdateMentionKey = function handleMentionKeyChange(e) {
|
||||
const handleUpdateMentionKey = (e) => {
|
||||
this.updateMentionKey(e.target.checked);
|
||||
}.bind(this);
|
||||
};
|
||||
inputs.push(
|
||||
<div key='userNotificationMentionOption'>
|
||||
<div className='checkbox'>
|
||||
@@ -609,9 +603,9 @@ export default class NotificationsTab extends React.Component {
|
||||
</div>
|
||||
);
|
||||
|
||||
handleUpdateChannelKey = function handleChannelKeyChange(e) {
|
||||
const handleUpdateChannelKey = (e) => {
|
||||
this.updateChannelKey(e.target.checked);
|
||||
}.bind(this);
|
||||
};
|
||||
inputs.push(
|
||||
<div key='userNotificationChannelOption'>
|
||||
<div className='checkbox'>
|
||||
@@ -728,7 +722,7 @@ export default class NotificationsTab extends React.Component {
|
||||
commentsActive[0] = true;
|
||||
}
|
||||
|
||||
let inputs = [];
|
||||
const inputs = [];
|
||||
|
||||
inputs.push(
|
||||
<div key='userNotificationLevelOption'>
|
||||
|
||||
@@ -971,23 +971,23 @@ export default class SecurityTab extends React.Component {
|
||||
<div className='divider-light'/>
|
||||
{signInSection}
|
||||
<div className='divider-dark'/>
|
||||
<br></br>
|
||||
<br/>
|
||||
<ToggleModalButton
|
||||
className='security-links theme'
|
||||
dialogType={AccessHistoryModal}
|
||||
>
|
||||
<i className='fa fa-clock-o'></i>
|
||||
<i className='fa fa-clock-o'/>
|
||||
<FormattedMessage
|
||||
id='user.settings.security.viewHistory'
|
||||
defaultMessage='View Access History'
|
||||
/>
|
||||
</ToggleModalButton>
|
||||
<b> </b>
|
||||
<b/>
|
||||
<ToggleModalButton
|
||||
className='security-links theme'
|
||||
dialogType={ActivityLogModal}
|
||||
>
|
||||
<i className='fa fa-clock-o'></i>
|
||||
<i className='fa fa-clock-o'/>
|
||||
<FormattedMessage
|
||||
id='user.settings.security.logoutActiveSessions'
|
||||
defaultMessage='View and Logout of Active Sessions'
|
||||
|
||||
@@ -209,7 +209,7 @@ export default class ThemeSetting extends React.Component {
|
||||
|
||||
let themeUI;
|
||||
if (this.props.selected) {
|
||||
let inputs = [];
|
||||
const inputs = [];
|
||||
|
||||
inputs.push(
|
||||
<div
|
||||
|
||||
@@ -57,7 +57,7 @@ export default class SidebarRight extends React.Component {
|
||||
$('.app__body .inner-wrap').removeClass('webrtc--show').removeClass('move--right');
|
||||
$('.app__body .webrtc').removeClass('webrtc--show');
|
||||
return (
|
||||
<div></div>
|
||||
<div/>
|
||||
);
|
||||
}
|
||||
return null;
|
||||
|
||||
Ссылка в новой задаче
Block a user