Merge pull request #2376 from asaadmahmoodspin/ui-improvements
Multiple UI improvements
Этот коммит содержится в:
@@ -178,7 +178,6 @@ export default class ChannelMembersModal extends React.Component {
|
||||
this.props.onModalDismissed();
|
||||
}}
|
||||
>
|
||||
<i className='glyphicon glyphicon-envelope'/>
|
||||
<FormattedMessage
|
||||
id='channel_members_modal.addNew'
|
||||
defaultMessage=' Add New Members'
|
||||
|
||||
@@ -151,9 +151,9 @@ class FileAttachment extends React.Component {
|
||||
this.setState({fileSize: parseInt(data.size, 10)});
|
||||
}
|
||||
}.bind(this),
|
||||
function error() {
|
||||
// Do nothing
|
||||
}
|
||||
function error() {
|
||||
// Do nothing
|
||||
}
|
||||
);
|
||||
} else {
|
||||
fileSizeString = utils.fileSizeToString(this.state.fileSize);
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
import * as Utils from '../utils/utils.jsx';
|
||||
|
||||
export default class SettingsSidebar extends React.Component {
|
||||
componentDidUpdate() {
|
||||
$('.settings-modal').find('.modal-body').scrollTop(0);
|
||||
$('.settings-modal').find('.modal-body').perfectScrollbar('update');
|
||||
}
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
|
||||
@@ -611,7 +611,9 @@ class GeneralTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i className='modal-back'></i>
|
||||
<div className='modal-back'>
|
||||
<i className='fa fa-angle-left'></i>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='general_tab.title'
|
||||
defaultMessage='General Settings'
|
||||
|
||||
@@ -131,7 +131,10 @@ class TeamImportTab extends React.Component {
|
||||
<h4
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
><i className='modal-back'></i>
|
||||
>
|
||||
<div className='modal-back'>
|
||||
<i className='fa fa-angle-left'></i>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='team_import_tab.import'
|
||||
defaultMessage='Import'
|
||||
|
||||
@@ -308,8 +308,8 @@ export default class TeamMembersDropdown extends React.Component {
|
||||
data-toggle='dropdown'
|
||||
aria-expanded='true'
|
||||
>
|
||||
<span className='fa fa-pencil'></span>
|
||||
<span>{currentRoles} </span>
|
||||
<span className='fa fa-chevron-down'></span>
|
||||
</a>
|
||||
<ul
|
||||
className='dropdown-menu member-menu'
|
||||
|
||||
@@ -91,7 +91,7 @@ class TeamSettingsModal extends React.Component {
|
||||
/>
|
||||
</h4>
|
||||
</div>
|
||||
<div className='modal-body'>
|
||||
<div className='modal-body settings-modal__body'>
|
||||
<div className='settings-table'>
|
||||
<div className='settings-links'>
|
||||
<SettingsSidebar
|
||||
|
||||
@@ -155,7 +155,7 @@ export default class Textbox extends React.Component {
|
||||
|
||||
let helpText = (
|
||||
<div
|
||||
style={{visibility: hasText ? 'visible' : 'hidden', opacity: hasText ? '1' : '0'}}
|
||||
style={{visibility: hasText ? 'visible' : 'hidden', opacity: hasText ? '0.5' : '0'}}
|
||||
className='help_format_text'
|
||||
>
|
||||
<b>
|
||||
|
||||
@@ -300,10 +300,12 @@ class AdvancedSettingsDisplay extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.advance.title'
|
||||
defaultMessage='Advanced Settings'
|
||||
|
||||
@@ -94,10 +94,12 @@ class DeveloperTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.developer.title'
|
||||
defaultMessage='Developer Settings'
|
||||
|
||||
@@ -444,10 +444,12 @@ export default class UserSettingsDisplay extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.display.title'
|
||||
defaultMessage='Display Settings'
|
||||
|
||||
@@ -759,10 +759,12 @@ class UserSettingsGeneralTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.general.title'
|
||||
defaultMessage='General Settings'
|
||||
|
||||
@@ -163,10 +163,12 @@ class UserSettingsIntegrationsTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.integrations.title'
|
||||
defaultMessage='Integration Settings'
|
||||
|
||||
@@ -774,10 +774,12 @@ class NotificationsTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.notifications.title'
|
||||
defaultMessage='Notification Settings'
|
||||
|
||||
@@ -389,10 +389,12 @@ class SecurityTab extends React.Component {
|
||||
className='modal-title'
|
||||
ref='title'
|
||||
>
|
||||
<i
|
||||
className='modal-back'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
<div className='modal-back'>
|
||||
<i
|
||||
className='fa fa-angle-left'
|
||||
onClick={this.props.collapseModal}
|
||||
/>
|
||||
</div>
|
||||
<FormattedMessage
|
||||
id='user.settings.security.title'
|
||||
defaultMessage='Security Settings'
|
||||
|
||||
@@ -606,16 +606,17 @@ export function toTitleCase(str) {
|
||||
|
||||
export function applyTheme(theme) {
|
||||
if (theme.sidebarBg) {
|
||||
changeCss('.sidebar--left, .settings-modal .settings-table .settings-links, .sidebar--menu', 'background:' + theme.sidebarBg, 1);
|
||||
changeCss('.sidebar--left, .modal .settings-modal .settings-table .settings-links, .sidebar--menu', 'background:' + theme.sidebarBg, 1);
|
||||
changeCss('body', 'scrollbar-face-color:' + theme.sidebarBg, 3);
|
||||
}
|
||||
|
||||
if (theme.sidebarText) {
|
||||
changeCss('.sidebar--left .nav-pills__container li>a, .sidebar--right, .settings-modal .nav-pills>li a, .sidebar--menu', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
|
||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1);
|
||||
changeCss('.sidebar--left .nav-pills__container li>a, .sidebar--right, .modal .settings-modal .nav-pills>li a, .sidebar--menu', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
|
||||
changeCss('@media(max-width: 768px){.modal .settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1);
|
||||
changeCss('.sidebar--left .nav-pills__container li>h4, .sidebar--left .add-channel-btn', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
|
||||
changeCss('.sidebar--left .add-channel-btn:hover, .sidebar--left .add-channel-btn:focus', 'color:' + theme.sidebarText, 1);
|
||||
changeCss('.sidebar--left .status .offline--icon, .sidebar--left .status .offline--icon', 'fill:' + theme.sidebarText, 1);
|
||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2);
|
||||
changeCss('@media(max-width: 768px){.modal .settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2);
|
||||
}
|
||||
|
||||
if (theme.sidebarUnreadText) {
|
||||
@@ -623,16 +624,16 @@ export function applyTheme(theme) {
|
||||
}
|
||||
|
||||
if (theme.sidebarTextHoverBg) {
|
||||
changeCss('.sidebar--left .nav-pills__container li>a:hover, .sidebar--left .nav-pills__container li>a:focus, .settings-modal .nav-pills>li:hover a, .settings-modal .nav-pills>li:focus a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
changeCss('.sidebar--left .nav-pills__container li>a:hover, .sidebar--left .nav-pills__container li>a:focus, .modal .settings-modal .nav-pills>li:hover a, .modal .settings-modal .nav-pills>li:focus a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
changeCss('@media(max-width: 768px){.modal .settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
}
|
||||
|
||||
if (theme.sidebarTextActiveBorder) {
|
||||
changeCss('.sidebar--left .nav li.active a:before, .settings-modal .nav-pills>li.active a:before', 'background:' + theme.sidebarTextActiveBorder, 1);
|
||||
changeCss('.sidebar--left .nav li.active a:before, .modal .settings-modal .nav-pills>li.active a:before', 'background:' + theme.sidebarTextActiveBorder, 1);
|
||||
}
|
||||
|
||||
if (theme.sidebarTextActiveColor) {
|
||||
changeCss('.sidebar--left .nav-pills__container li.active a, .sidebar--left .nav-pills__container li.active a:hover, .sidebar--left .nav-pills__container li.active a:focus, .settings-modal .nav-pills>li.active a, .settings-modal .nav-pills>li.active a:hover, .settings-modal .nav-pills>li.active a:active', 'color:' + theme.sidebarTextActiveColor, 2);
|
||||
changeCss('.sidebar--left .nav-pills__container li.active a, .sidebar--left .nav-pills__container li.active a:hover, .sidebar--left .nav-pills__container li.active a:focus, .modal .settings-modal .nav-pills>li.active a, .modal .settings-modal .nav-pills>li.active a:hover, .modal .settings-modal .nav-pills>li.active a:active', 'color:' + theme.sidebarTextActiveColor, 2);
|
||||
changeCss('.sidebar--left .nav li.active a, .sidebar--left .nav li.active a:hover, .sidebar--left .nav li.active a:focus', 'background:' + changeOpacity(theme.sidebarTextActiveColor, 0.1), 1);
|
||||
}
|
||||
|
||||
@@ -665,12 +666,12 @@ export function applyTheme(theme) {
|
||||
|
||||
if (theme.mentionBj) {
|
||||
changeCss('.sidebar--left .nav-pills__unread-indicator', 'background:' + theme.mentionBj, 1);
|
||||
changeCss('.sidebar--left .badge', 'background:' + theme.mentionBj, 1);
|
||||
changeCss('.sidebar--left .badge', 'background:' + theme.mentionBj + '!important;', 1);
|
||||
}
|
||||
|
||||
if (theme.mentionColor) {
|
||||
changeCss('.sidebar--left .nav-pills__unread-indicator', 'color:' + theme.mentionColor, 2);
|
||||
changeCss('.sidebar--left .badge', 'color:' + theme.mentionColor, 2);
|
||||
changeCss('.sidebar--left .badge', 'color:' + theme.mentionColor + '!important;', 2);
|
||||
}
|
||||
|
||||
if (theme.centerChannelBg) {
|
||||
@@ -686,6 +687,8 @@ export function applyTheme(theme) {
|
||||
changeCss('.popover.top>.arrow:after, .tip-overlay.tip-overlay--chat .arrow', 'border-top-color:' + theme.centerChannelBg, 1);
|
||||
changeCss('@media(min-width: 768px){.search-bar__container .search__form .search-bar, .form-control', 'background:' + theme.centerChannelBg, 1);
|
||||
changeCss('.attachment__content', 'background:' + theme.centerChannelBg, 1);
|
||||
changeCss('body', 'scrollbar-face-color:' + theme.centerChannelBg, 2);
|
||||
changeCss('body', 'scrollbar-track-color:' + theme.centerChannelBg, 2);
|
||||
}
|
||||
|
||||
if (theme.centerChannelColor) {
|
||||
@@ -705,7 +708,7 @@ export function applyTheme(theme) {
|
||||
changeCss('.markdown__table tbody tr:nth-child(2n)', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||
changeCss('.channel-header__info>div.dropdown .header-dropdown__icon', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
|
||||
changeCss('.channel-header #member_popover', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
|
||||
changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .suggestion-content, .modal .modal-content, .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||
changeCss('.custom-textarea, .custom-textarea:focus, .preview-container .preview-div, .post-image__column .post-image__details, .sidebar--right .sidebar-right__body, .markdown__table th, .markdown__table td, .suggestion-content, .modal .modal-content, .modal .settings-modal .settings-table .settings-content .divider-light, .webhooks__container, .dropdown-menu, .modal .modal-header, .popover', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||
changeCss('.popover.bottom>.arrow', 'border-bottom-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||
changeCss('.search-help-popover .search-autocomplete__divider span', 'color:' + changeOpacity(theme.centerChannelColor, 0.7), 1);
|
||||
changeCss('.popover.right>.arrow', 'border-right-color:' + changeOpacity(theme.centerChannelColor, 0.25), 1);
|
||||
@@ -726,18 +729,20 @@ export function applyTheme(theme) {
|
||||
changeCss('.date-separator .separator__hr, .modal-footer, .modal .custom-textarea', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||
changeCss('.search-item-container, .post-right__container .post.post--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.1), 1);
|
||||
changeCss('.modal .custom-textarea:focus', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
|
||||
changeCss('.channel-intro, .settings-modal .settings-table .settings-content .divider-dark, hr, .settings-modal .settings-table .settings-links, .settings-modal .settings-table .settings-content .appearance-section .theme-elements__header', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||
changeCss('.channel-intro, .modal .settings-modal .settings-table .settings-content .divider-dark, hr, .modal .settings-modal .settings-table .settings-links, .modal .settings-modal .settings-table .settings-content .appearance-section .theme-elements__header', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||
changeCss('.post.current--user .post__body, .post.post--comment.other--root.current--user .post-comment, pre, .post-right__container .post.post--root', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||
changeCss('.post.current--user .post__body, .post.post--comment.other--root.current--user .post-comment, .post.same--root.post--comment .post__body, .modal .more-table tbody>tr td, .member-div:first-child, .member-div, .access-history__table .access__report, .activity-log__table', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.1), 2);
|
||||
changeCss('@media(max-width: 1800px){.inner__wrap.move--left .post.post--comment.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2);
|
||||
changeCss('.post:hover, .modal .more-table tbody>tr:hover td, .settings-modal .settings-table .settings-content .section-min:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||
changeCss('.post:hover, .modal .more-table tbody>tr:hover td, .modal .settings-modal .settings-table .settings-content .section-min:hover', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||
changeCss('.date-separator.hovered--before:after, .date-separator.hovered--after:before, .new-separator.hovered--after:before, .new-separator.hovered--before:after', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||
changeCss('.command-name:hover, .mentions-name:hover, .suggestion--selected, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
|
||||
changeCss('code, .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control', 'background:' + changeOpacity(theme.centerChannelColor, 0.1), 1);
|
||||
changeCss('@media(min-width: 960px){.post.current--user:hover .post__body ', 'background: none;', 1);
|
||||
changeCss('.sidebar--right', 'color:' + theme.centerChannelColor, 2);
|
||||
changeCss('.search-help-popover .search-autocomplete__item:hover, .settings-modal .settings-table .settings-content .appearance-section .theme-elements__body', 'background:' + changeOpacity(theme.centerChannelColor, 0.05), 1);
|
||||
changeCss('.search-help-popover .search-autocomplete__item:hover, .modal .settings-modal .settings-table .settings-content .appearance-section .theme-elements__body', 'background:' + changeOpacity(theme.centerChannelColor, 0.05), 1);
|
||||
changeCss('.search-help-popover .search-autocomplete__item.selected', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
|
||||
changeCss('::-webkit-scrollbar-thumb', 'background:' + changeOpacity(theme.centerChannelColor, 0.4), 1);
|
||||
changeCss('body', 'scrollbar-arrow-color:' + theme.centerChannelColor, 4);
|
||||
}
|
||||
|
||||
if (theme.newMessageSeparator) {
|
||||
|
||||
Ссылка в новой задаче
Block a user