diff options
Diffstat (limited to 'web')
26 files changed, 610 insertions, 508 deletions
diff --git a/web/react/components/channel_members_modal.jsx b/web/react/components/channel_members_modal.jsx index 3ec93a616..dc8e3baaf 100644 --- a/web/react/components/channel_members_modal.jsx +++ b/web/react/components/channel_members_modal.jsx @@ -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' diff --git a/web/react/components/file_attachment.jsx b/web/react/components/file_attachment.jsx index 6aeae638f..c719c6c7d 100644 --- a/web/react/components/file_attachment.jsx +++ b/web/react/components/file_attachment.jsx @@ -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); diff --git a/web/react/components/more_channels.jsx b/web/react/components/more_channels.jsx index db61e5f49..3309ef52e 100644 --- a/web/react/components/more_channels.jsx +++ b/web/react/components/more_channels.jsx @@ -1,7 +1,7 @@ // Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import * as utils from '../utils/utils.jsx'; +import * as Utils from '../utils/utils.jsx'; import * as client from '../utils/client.jsx'; import * as AsyncClient from '../utils/async_client.jsx'; import ChannelStore from '../stores/channel_store.jsx'; @@ -24,6 +24,7 @@ export default class MoreChannels extends React.Component { this.onListenerChange = this.onListenerChange.bind(this); this.handleJoin = this.handleJoin.bind(this); this.handleNewChannel = this.handleNewChannel.bind(this); + this.createChannelRow = this.createChannelRow.bind(this); var initState = getStateFromStores(); initState.channelType = ''; @@ -48,7 +49,7 @@ export default class MoreChannels extends React.Component { } onListenerChange() { var newState = getStateFromStores(); - if (!utils.areObjectsEqual(newState.channels, this.state.channels)) { + if (!Utils.areObjectsEqual(newState.channels, this.state.channels)) { this.setState(newState); } } @@ -58,7 +59,7 @@ export default class MoreChannels extends React.Component { () => { $(ReactDOM.findDOMNode(this.refs.modal)).modal('hide'); AsyncClient.getChannel(channel.id); - utils.switchChannel(channel); + Utils.switchChannel(channel); this.setState({joiningChannel: -1}); }, (err) => { @@ -70,13 +71,54 @@ export default class MoreChannels extends React.Component { $(ReactDOM.findDOMNode(this.refs.modal)).modal('hide'); this.setState({showNewChannelModal: true}); } + createChannelRow(channel, index) { + let joinButton; + if (this.state.joiningChannel === index) { + joinButton = ( + <img + className='join-channel-loading-gif' + src='/static/images/load.gif' + /> + ); + } else { + joinButton = ( + <button + onClick={this.handleJoin.bind(self, channel, index)} + className='btn btn-primary' + > + <FormattedMessage + id='more_channels.join' + defaultMessage='Join' + /> + </button> + ); + } + + return ( + <tr key={channel.id}> + <td className='more-row'> + <div className='more-details'> + <p className='more-name'>{channel.display_name}</p> + <p className='more-description'>{channel.purpose}</p> + </div> + <div className='more-actions'> + {joinButton} + </div> + </td> + </tr> + ); + } render() { + let maxHeight = 1000; + if (Utils.windowHeight() <= 1200) { + maxHeight = Utils.windowHeight() - 300; + } + var serverError; if (this.state.serverError) { serverError = <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div>; } - var self = this; var moreChannels; if (this.state.channels != null) { @@ -87,59 +129,25 @@ export default class MoreChannels extends React.Component { moreChannels = ( <table className='more-table table'> <tbody> - {channels.map(function cMap(channel, index) { - var joinButton; - if (self.state.joiningChannel === index) { - joinButton = ( - <img - className='join-channel-loading-gif' - src='/static/images/load.gif' - /> - ); - } else { - joinButton = ( - <button - onClick={self.handleJoin.bind(self, channel, index)} - className='btn btn-primary' - > - <FormattedMessage - id='more_channels.join' - defaultMessage='Join' - /> - </button> - ); - } - - return ( - <tr key={channel.id}> - <td> - <p className='more-name'>{channel.display_name}</p> - <p className='more-description'>{channel.purpose}</p> - </td> - <td className='td--action'> - {joinButton} - </td> - </tr> - ); - })} + {channels.map(this.createChannelRow)} </tbody> </table> ); } else { moreChannels = ( <div className='no-channel-message'> - <p className='primary-message'> - <FormattedMessage - id='more_channels.noMore' - defaultMessage='No more channels to join' - /> - </p> - <p className='secondary-message'> - <FormattedMessage - id='more_channels.createClick' - defaultMessage="Click 'Create New Channel' to make a new one" - /> - </p> + <p className='primary-message'> + <FormattedMessage + id='more_channels.noMore' + defaultMessage='No more channels to join' + /> + </p> + <p className='secondary-message'> + <FormattedMessage + id='more_channels.createClick' + defaultMessage="Click 'Create New Channel' to make a new one" + /> + </p> </div> ); } @@ -192,7 +200,10 @@ export default class MoreChannels extends React.Component { onModalDismissed={() => this.setState({showNewChannelModal: false})} /> </div> - <div className='modal-body'> + <div + className='modal-body' + style={{maxHeight}} + > {moreChannels} {serverError} </div> diff --git a/web/react/components/settings_sidebar.jsx b/web/react/components/settings_sidebar.jsx index 90c0e8435..da8001f6f 100644 --- a/web/react/components/settings_sidebar.jsx +++ b/web/react/components/settings_sidebar.jsx @@ -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); diff --git a/web/react/components/team_general_tab.jsx b/web/react/components/team_general_tab.jsx index c1b2a2e7f..ef7410b2f 100644 --- a/web/react/components/team_general_tab.jsx +++ b/web/react/components/team_general_tab.jsx @@ -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' diff --git a/web/react/components/team_import_tab.jsx b/web/react/components/team_import_tab.jsx index 828e9fc4e..c9a8afe6c 100644 --- a/web/react/components/team_import_tab.jsx +++ b/web/react/components/team_import_tab.jsx @@ -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' diff --git a/web/react/components/team_members_dropdown.jsx b/web/react/components/team_members_dropdown.jsx index 8aacba8ca..cd7585d94 100644 --- a/web/react/components/team_members_dropdown.jsx +++ b/web/react/components/team_members_dropdown.jsx @@ -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' diff --git a/web/react/components/team_settings_modal.jsx b/web/react/components/team_settings_modal.jsx index d517f92fb..bef3ebf24 100644 --- a/web/react/components/team_settings_modal.jsx +++ b/web/react/components/team_settings_modal.jsx @@ -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 diff --git a/web/react/components/textbox.jsx b/web/react/components/textbox.jsx index c119abcbc..46900e436 100644 --- a/web/react/components/textbox.jsx +++ b/web/react/components/textbox.jsx @@ -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> diff --git a/web/react/components/user_list_row.jsx b/web/react/components/user_list_row.jsx index d75078619..d8442e770 100644 --- a/web/react/components/user_list_row.jsx +++ b/web/react/components/user_list_row.jsx @@ -28,7 +28,6 @@ export default function UserListRow({user, actions}) { <tr> <td key={user.id} - className='direct-channel' style={{display: 'flex'}} > <img diff --git a/web/react/components/user_settings/user_settings_advanced.jsx b/web/react/components/user_settings/user_settings_advanced.jsx index efaf63ada..cdaa5fd8a 100644 --- a/web/react/components/user_settings/user_settings_advanced.jsx +++ b/web/react/components/user_settings/user_settings_advanced.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_developer.jsx b/web/react/components/user_settings/user_settings_developer.jsx index 5868e0ad3..0acfd4a16 100644 --- a/web/react/components/user_settings/user_settings_developer.jsx +++ b/web/react/components/user_settings/user_settings_developer.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_display.jsx b/web/react/components/user_settings/user_settings_display.jsx index 3e468e08f..b0e64b0aa 100644 --- a/web/react/components/user_settings/user_settings_display.jsx +++ b/web/react/components/user_settings/user_settings_display.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_general.jsx b/web/react/components/user_settings/user_settings_general.jsx index 2f2116c2a..b0b1c414e 100644 --- a/web/react/components/user_settings/user_settings_general.jsx +++ b/web/react/components/user_settings/user_settings_general.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_integrations.jsx b/web/react/components/user_settings/user_settings_integrations.jsx index e4f460a6d..7633b2f95 100644 --- a/web/react/components/user_settings/user_settings_integrations.jsx +++ b/web/react/components/user_settings/user_settings_integrations.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_notifications.jsx b/web/react/components/user_settings/user_settings_notifications.jsx index ee9febb8e..3ef6435f1 100644 --- a/web/react/components/user_settings/user_settings_notifications.jsx +++ b/web/react/components/user_settings/user_settings_notifications.jsx @@ -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' diff --git a/web/react/components/user_settings/user_settings_security.jsx b/web/react/components/user_settings/user_settings_security.jsx index 53d79906f..cba7ffdea 100644 --- a/web/react/components/user_settings/user_settings_security.jsx +++ b/web/react/components/user_settings/user_settings_security.jsx @@ -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' diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index 6ab2f64d4..6942a8e08 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -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) { diff --git a/web/sass-files/sass/partials/_base.scss b/web/sass-files/sass/partials/_base.scss index ee6a6b955..4dcf0ff85 100644 --- a/web/sass-files/sass/partials/_base.scss +++ b/web/sass-files/sass/partials/_base.scss @@ -224,3 +224,33 @@ a:focus, a:hover { margin-bottom: 0.25em; background-size: contain; } + + +// Scrollbar Css + +::-webkit-scrollbar +{ + width: 8px; /* for vertical scrollbars */ + height: 8px; /* for horizontal scrollbars */ +} + +::-webkit-scrollbar-track +{ + background: rgba(0, 0, 0, 0.1); +} + +::-webkit-scrollbar-thumb +{ + @include border-radius(5px); + background: rgba(0, 0, 0, 0.4); +} + +body{ + scrollbar-face-color: rgba(0, 0, 0, 0.1); + scrollbar-shadow-color: #2D2C4D; + scrollbar-highlight-color:#7D7E94; + scrollbar-3dlight-color: #7D7E94; + scrollbar-darkshadow-color: #2D2C4D; + scrollbar-track-color: rgba(0, 0, 0, 0.1); + scrollbar-arrow-color: #C1C1D1; +}
\ No newline at end of file diff --git a/web/sass-files/sass/partials/_modal.scss b/web/sass-files/sass/partials/_modal.scss index ca83c77da..5b02652af 100644 --- a/web/sass-files/sass/partials/_modal.scss +++ b/web/sass-files/sass/partials/_modal.scss @@ -23,17 +23,29 @@ border-radius: 50px; margin-right: 8px; } + .more-row { + display: flex; + + .more-details { + flex-grow: 1; + flex-shrink: 1; + overflow: hidden; + text-overflow: ellipsis; + } + .more-actions { + flex-grow: 0; + flex-shrink: 0; + } + } .more-name { font-weight: 600; font-size: 0.95em; - overflow: hidden; - text-overflow: ellipsis; + white-space: nowrap; } .more-description { @include opacity(0.7); display: block; - overflow: hidden; - text-overflow: ellipsis; + white-space: nowrap; } tbody { > tr { @@ -49,7 +61,7 @@ width: 100%; @include legacy-pie-clearfix; text-overflow: ellipsis; - padding: 8px 8px 8px 15px; + padding: 8px 15px; &.padding--equal { padding: 8px; } diff --git a/web/sass-files/sass/partials/_post.scss b/web/sass-files/sass/partials/_post.scss index a667a851c..39cebe856 100644 --- a/web/sass-files/sass/partials/_post.scss +++ b/web/sass-files/sass/partials/_post.scss @@ -73,12 +73,11 @@ body.ios { .help_format_text { position: absolute; - z-index: 3; bottom: -23px; - font-size: 0.7em; - right: 45px; - color: #999; - transition: visibility 0s, opacity 0.5s linear; + right: 40px; + font-size: 0.85em; + @include opacity(0); + @include single-transition(all 0.2s ease); b, i, code { margin-right: 3px; @@ -725,6 +724,12 @@ body.ios { margin-top: 1.4em; } + li { + > p { + margin-top: 10px; + } + } + img { max-height: 400px; } @@ -781,14 +786,12 @@ body.ios { .post__embed-visibility { cursor: pointer; - display: block; font: normal normal normal 14px/1 FontAwesome; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - font-size: 0; - width: 30px; - margin-top: -5px; + margin: 5px 0 10px; + display: inline-block; &:hover{ text-decoration: none; diff --git a/web/sass-files/sass/partials/_post_right.scss b/web/sass-files/sass/partials/_post_right.scss index 2b48fd2c2..5df6fdc01 100644 --- a/web/sass-files/sass/partials/_post_right.scss +++ b/web/sass-files/sass/partials/_post_right.scss @@ -22,6 +22,12 @@ } + + .help_format_text { + bottom: -63px; + right: auto; + } + .post { &.post--root { diff --git a/web/sass-files/sass/partials/_responsive.scss b/web/sass-files/sass/partials/_responsive.scss index 0f978a806..a9a572768 100644 --- a/web/sass-files/sass/partials/_responsive.scss +++ b/web/sass-files/sass/partials/_responsive.scss @@ -98,8 +98,6 @@ .post { - background: none !important; - .post__dropdown { line-height: 9px; text-decoration: none; @@ -120,9 +118,9 @@ visibility: visible; display: none; - &.icon--show { - display: inline-block; - } + &.icon--show { + display: inline-block; + } } @@ -310,6 +308,11 @@ } } } + .row--invite { + .col-sm-6 { + padding: 0; + } + } .modal { .info__label { text-align: left; @@ -319,6 +322,10 @@ .modal-action { margin-top: 10px; } + button.close { + font-weight: normal; + font-size: 27px; + } .modal-title { float: none; max-width: 90%; @@ -332,95 +339,89 @@ } } } - } - .row--invite { - .col-sm-6 { - padding: 0; - } - } - .settings-modal { - &.display--content { - .modal-header { - display: none; - } - .settings-table { - display: block; - .settings-content { - &.minimize-settings { - display: block; - } - .section-min:hover { - background: none; - } - .no-padding--left { - padding-left: 15px; - } - } - .settings-links { + .settings-modal { + &.display--content { + .modal-header { display: none; } - .modal-header { + .settings-table { display: block; - position: absolute; - top: 0; - width: 100%; - z-index: 5; - } - .modal-title { - padding-left: 20px; - } - .user-settings { - .tab-header { - display: none; + .settings-content { + &.minimize-settings { + display: block; + } + .section-min:hover { + background: none; + } + .no-padding--left { + padding-left: 15px; + } } - .divider-dark.first { + .settings-links { display: none; } + .modal-header { + display: block; + position: absolute; + top: 0; + width: 100%; + z-index: 5; + .modal-title { + width: 100%; + text-align: center; + } + } + .user-settings { + .tab-header { + display: none; + } + .divider-dark.first { + display: none; + } + } } } - } - .settings-table { - .nav { - &.position--top { + .settings-table { + padding: 0; + .nav { + &.position--top { + top: auto; + } + position: relative; top: auto; + width: 100%; } - position: relative; - top: auto; - width: 100%; - } - .settings-content { - .section-edit { - position: absolute; - top: 14px; - right: 0; - padding-right: 0; - .fa { - display: inline-block; + .settings-content { + .section-edit { + position: absolute; + top: 14px; + right: 0; + padding-right: 0; + .fa { + display: inline-block; + } } - } - &.minimize-settings { - padding: 0; - display: none; - .user-settings { - padding: 70px 20px 30px; + &.minimize-settings { + padding: 0; + display: none; + .user-settings { + padding: 70px 20px 30px; + } + } + .section-min:hover { + background: none !important; } } - .section-min:hover { - background: none !important; - } - } - .settings-links { - background: #fff; - } - .nav { - > li { - > a { - border-top: 1px solid #ddd; - font-size: 1.1em; - line-height: 2.7; - color: #555; - .glyphicon { - margin-left: 7px; + .nav { + > li { + > a { + border-top: 1px solid #ddd; + font-size: 1.1em; + line-height: 2.7; + color: #555; + .glyphicon { + margin-left: 7px; + } } } } @@ -572,7 +573,8 @@ .glyphicon-refresh-animate { right: 33px; top: 15px; - color: #aaa; + color: #fff; + color: rgba(255,255,255,0.5); } .form-control { border: none; @@ -800,22 +802,24 @@ } } @media screen and (max-width: 480px) { - .settings-modal { + .modal { + .settings-modal { - .settings-table { + .settings-table { - .security-links { - margin-bottom: 10px; - display: block; + .security-links { + margin-bottom: 10px; + display: block; + + &:last-child { + margin-bottom: 0; + } - &:last-child { - margin-bottom: 0; } } - } - + } } .tip-overlay.tip-overlay--sidebar { diff --git a/web/sass-files/sass/partials/_settings.scss b/web/sass-files/sass/partials/_settings.scss index 99b564fe5..6574dd927 100644 --- a/web/sass-files/sass/partials/_settings.scss +++ b/web/sass-files/sass/partials/_settings.scss @@ -12,358 +12,369 @@ } } -.settings-modal { - width:800px; - max-width: 100%; - .modal-content { - width:800px; - max-width: 100%; - } - .modal-back { - width: 40px; - height: 56px; - background: url("../images/arrow-left.png") no-repeat; - @include background-size(8px 13px); - background-position: center; - top: 0; - left: 0; - cursor: pointer; - position: absolute; - } - .modal-body { - padding: 0; - } - li { - list-style: none; - } - label { - font-weight: 600; - } - - .no-padding--left { - padding-left: 0; - } - .padding-top { - padding-top: 7px; - &.x2 { - padding-top: 14px; - } - &.x3 { - padding-top: 21px; +.modal { + .settings-modal { + width: 800px; + .modal-back { + width: 50px; + height: 40px; + top: 12px; + font-size: 27px; + font-weight: normal; + line-height: 32px; + position: absolute; + left: 0; + text-align: center; + .fa { + line-height: inherit; + position: absolute; + width: 100%; + height: 100%; + left: 0; + } } - } - .padding-bottom { - padding-bottom: 7px; - &.x2 { - padding-bottom: 14px; + .modal-body { + padding: 0; + margin: 0 auto; + min-height: calc(100% - 62px); } - &.x3 { - padding-bottom: 21px; + li { + list-style: none; } - .control-label { + label { font-weight: 600; - &.text-left { - text-align: left; - } } - } - .profile-img { - width: 128px; - height: 128px; - } - .settings-table { - display: table; - table-layout: fixed; - width: 100%; - > div { - display: table-cell; - vertical-align: top; + + .no-padding--left { + padding-left: 0; } - .nav { - position: fixed; - width: 179px; - &.position--top { - top: 57px; + .padding-top { + padding-top: 7px; + &.x2 { + padding-top: 14px; + } + &.x3 { + padding-top: 21px; } } - .security-links { - margin-right: 20px; - .fa { - margin-right: 6px; + .padding-bottom { + padding-bottom: 7px; + &.x2 { + padding-bottom: 14px; + } + &.x3 { + padding-bottom: 21px; + } + .control-label { + font-weight: 600; + &.text-left { + text-align: left; + } } } - .settings-links { - width: 180px; - background: #FAFAFA; - border-right: 1px solid #DDD; + .profile-img { + width: 128px; + height: 128px; } - .settings-content { - padding: 0px 20px 30px; - .modal-header { - display: none; + .settings-table { + max-width: 1000px; + margin: 0 auto; + display: table; + table-layout: fixed; + width: 100%; + > div { + display: table-cell; + vertical-align: top; } - .section-min { - padding: 1em 0; - margin-bottom: 0; - cursor: pointer; - position: relative; - @include clearfix; - &:hover { - background: #f9f9f9; - } - &:hover .fa { - display: inline-block; - } - &:hover .section-edit { - text-decoration: underline; + .nav { + position: fixed; + width: 179px; + &.position--top { + top: 57px; } } - - .section-max { - background: rgba(black, 0.05); - padding: 1em 0 1.3em; - margin-bottom: 0; - @include clearfix; - .section-title { - margin-bottom: 10px; + .security-links { + margin-right: 20px; + .fa { + margin-right: 6px; } } - - .appearance-section { - .theme-group { - .input-group-addon { - padding: 4px 5px; - width: 40px; - } - img { - border: 1px solid rgba(black, 0.15); - width: 29px; - } + .settings-links { + width: 180px; + } + .settings-content { + padding: 0px 20px 30px; + .modal-header { + display: none; } - .group--code { - select { - padding-right: 25px; + .section-min { + padding: 1em 0; + margin-bottom: 0; + cursor: pointer; + position: relative; + @include clearfix; + &:hover { + background: #f9f9f9; } - select::-ms-expand { - display: none; - } - &:before { - pointer-events: none; - position: absolute; - top: 11px; - right: 50px; - z-index: 5; - content: "\f0d7"; + &:hover .fa { display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - select { - -moz-appearance:none; - -webkit-appearance:none; - appearance:none; - } - } - .premade-themes { - margin-bottom: 10px; - .theme-label { - font-weight: 400; - margin-top: 5px; - } - img { - border: 3px solid transparent; + &:hover .section-edit { + text-decoration: underline; + } } - .active { - img { - border-color: $primary-color; + + .section-max { + background: rgba(black, 0.05); + padding: 1em 0 1.3em; + margin-bottom: 0; + @include clearfix; + .section-title { + margin-bottom: 10px; } } - } - .theme-elements { - padding-left:15px; + .appearance-section { + .theme-group { + .input-group-addon { + padding: 4px 5px; + width: 40px; + } + img { + border: 1px solid rgba(black, 0.15); + width: 29px; + } + } + .group--code { + select { + padding-right: 25px; + } + select::-ms-expand { + display: none; + } + &:before { + pointer-events: none; + position: absolute; + top: 11px; + right: 50px; + z-index: 5; + content: "\f0d7"; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + select { + -moz-appearance:none; + -webkit-appearance:none; + appearance:none; + } + } + .premade-themes { + margin-bottom: 10px; + .theme-label { + font-weight: 400; + margin-top: 5px; + } + img { + border: 3px solid transparent; + } + .active { + img { + border-color: $primary-color; + } + } + } - .element { - margin-right:10px; + .theme-elements { + padding-left:15px; - &:nth-child(2n) { - margin-right: 0; - } + .element { + margin-right:10px; - } - } + &:nth-child(2n) { + margin-right: 0; + } - .theme-elements__header { - margin: 10px 20px 0px 0; - border-bottom: 1px solid #ccc; - padding: 5px 0 10px; - font-size: em(13.5px); - font-weight: 600; - cursor: pointer; + } + } - .fa-minus { - display: none; - } + .theme-elements__header { + margin: 10px 20px 0px 0; + border-bottom: 1px solid #ccc; + padding: 5px 0 10px; + font-size: em(13.5px); + font-weight: 600; + cursor: pointer; + + .fa-minus { + display: none; + } + + &.open { + .fa-minus { + display: inline-block; + } + .fa-plus { + display: none; + } + } + + .header__icon { + float: right; + @include opacity(0.5); + } - &.open { - .fa-minus { - display: inline-block; } - .fa-plus { + + .theme-elements__body { + padding-top: 5px; display: none; + @include legacy-pie-clearfix; + background: rgba(255, 255, 255, 0.05); + padding: 20px 0 0 20px; + margin: 0 20px 0 0; + @include border-radius(0 0 3px 3px); } - } - .header__icon { - float: right; - @include opacity(0.5); + .custom-label { + white-space: nowrap; + font-weight: normal; + font-size: 12px; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 0; + } + .input-group-addon { + background: transparent; + } + .radio { + label { + font-weight: 600; + } + } } - } - - .theme-elements__body { - padding-top: 5px; - display: none; - @include legacy-pie-clearfix; - background: rgba(255, 255, 255, 0.05); - padding: 20px 0 0 20px; - margin: 0 20px 0 0; - @include border-radius(0 0 3px 3px); - } - - .custom-label { - white-space: nowrap; - font-weight: normal; - font-size: 12px; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - margin-bottom: 0; - } - .input-group-addon { - background: transparent; - } - .radio { - label { + .section-title { + margin-bottom: 5px; font-weight: 600; + padding-right: 50px; } - } - } - .section-title { - margin-bottom: 5px; - font-weight: 600; - padding-right: 50px; - } + .section-edit { + text-align: right; + margin-bottom: 5px; + .fa { + margin-right: 5px; + font-size: 12px; + @include opacity(0.5); + display: none; + &.fa-chevron-down { + top: -1px; + margin-right: 0; + position: relative; + } + } + } - .section-edit { - text-align: right; - margin-bottom: 5px; - .fa { - margin-right: 5px; - font-size: 12px; - @include opacity(0.5); - display: none; - } - } + .section-describe { + @include opacity(0.7); + white-space:pre; + @include clearfix; + text-overflow: ellipsis; + } - .section-describe { - @include opacity(0.7); - white-space:pre; - @include clearfix; - text-overflow: ellipsis; - } + .divider-dark { + border-bottom:1px solid #aaaaaa; + } - .divider-dark { - border-bottom:1px solid #aaaaaa; - } + .divider-light { + border-bottom:1px solid lightgrey; + } - .divider-light { - border-bottom:1px solid lightgrey; - } + .setting-list { + padding: 0; + list-style-type:none; + } - .setting-list { - padding: 0; - list-style-type:none; - } + .setting-list__hint { + margin-top: 20px; + } - .setting-list__hint { - margin-top: 20px; - } + .mentions-input { + margin-top: 10px; + } - .mentions-input { - margin-top: 10px; - } + .setting-list-item { + margin-top:7px; + } + .has-error { + color: #a94442; + } - .setting-list-item { - margin-top:7px; - } - .has-error { - color: #a94442; - } + .file-status { + font-size: 13px; + margin-top: 8px; + color: #555; + } - .file-status { - font-size: 13px; - margin-top: 8px; - color: #555; - } + .confirm-import { + padding: 4px 10px; + margin: 10px 0; + } - .confirm-import { - padding: 4px 10px; - margin: 10px 0; + } } - } -} -.nav-pills { - > li { - margin: 0; - a { - border-radius: 0; - color: #777; - } - .glyphicon { - width: 25px; - top: 2px; - } - &:hover { + .nav-pills { + > li { + margin: 0; a { - background: #E6F2FA; + padding: 8px 5px 8px 15px; + border-radius: 0; + color: #777; } - } - &.active { - a { - color: #111; - background-color: #E1E1E1; - &:before { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 5px; - height: 100%; - background: #000; + .glyphicon { + width: 25px; + top: 2px; + } + &:hover { + a { + background-color: rgba(black, 0.1); } } - a, a:hover, a:focus { - padding-right: 10px; - background-color: rgba(black, 0.1); - border-radius: 0; - font-weight: 400; - position: relative; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; + &.active { + a { + color: #111; + background-color: #E1E1E1; + &:before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 5px; + height: 100%; + background: #000; + } + } + a, a:hover, a:focus { + background-color: rgba(black, 0.1); + border-radius: 0; + font-weight: 400; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } } } -} -h3 { - font-size: em(20px); -} + h3 { + font-size: em(20px); + } } .channel-settings { diff --git a/web/static/i18n/es.json b/web/static/i18n/es.json index 091b1e846..0f3bc02d7 100644 --- a/web/static/i18n/es.json +++ b/web/static/i18n/es.json @@ -561,6 +561,7 @@ "channel_loader.wrote": " escribió: ", "channel_members_modal.addNew": " Agregar nuevos Miembros", "channel_members_modal.close": "Cerrar", + "channel_members_modal.remove": "Eliminar", "channel_memebers_modal.members": " Miembros", "channel_modal.cancel": "Cancelar", "channel_modal.channel": "Canal", @@ -1053,9 +1054,15 @@ "team_signup_welcome.validEmailError": "Por favor ingresa una dirección de correo electrónico válida", "team_signup_welcome.welcome": "Bienvenido a:", "team_signup_welcome.yes": "Sí, esta dirección es correcta", + "textbox.bold": "**negritas**", "textbox.edit": "Editar mensaje", "textbox.help": "Ayuda", + "textbox.inlinecode": "`código`", + "textbox.italic": "_italica_", + "textbox.preformatted": "```preformateado```", "textbox.preview": "Previsualizar", + "textbox.quote": ">cita", + "textbox.strike": "tachado", "tutorial_intro.allSet": "Ya estás listo para comenzar", "tutorial_intro.end": "Pincha “Siguiente” para entrar al Canal General. Este es el primer canal que ven tus compañeros cuando ingresan. Utilizalo para mandar mensajes que todos deben leer.", "tutorial_intro.invite": "Invitar compañeros", diff --git a/web/static/i18n/pt.json b/web/static/i18n/pt.json index 99ef71b35..f4b998ded 100644 --- a/web/static/i18n/pt.json +++ b/web/static/i18n/pt.json @@ -1288,4 +1288,4 @@ "view_image_popover.download": "Download", "view_image_popover.file": "Arquivo {count} de {total}", "view_image_popover.publicLink": "Obter O Link Público" -} +}
\ No newline at end of file |