Merge pull request #2376 from asaadmahmoodspin/ui-improvements

Multiple UI improvements
Этот коммит содержится в:
Harrison Healey
2016-03-08 10:03:54 -05:00
родитель 9eab1b3071 b934dfc059
Коммит 49fa15c592
22 изменённых файлов: 556 добавлений и 483 удалений

Просмотреть файл

@@ -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'

Просмотреть файл

@@ -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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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'
>
<div className='modal-back'>
<i
className='modal-back'
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) {

Просмотреть файл

@@ -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;
}

Просмотреть файл

@@ -61,7 +61,7 @@
width: 100%;
@include legacy-pie-clearfix;
text-overflow: ellipsis;
padding: 8px 8px 8px 15px;
padding: 8px 15px;
&.padding--equal {
padding: 8px;
}

Просмотреть файл

@@ -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;

Просмотреть файл

@@ -22,6 +22,12 @@
}
.help_format_text {
bottom: -63px;
right: auto;
}
.post {
&.post--root {

Просмотреть файл

@@ -98,8 +98,6 @@
.post {
background: none !important;
.post__dropdown {
line-height: 9px;
text-decoration: none;
@@ -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,12 +339,6 @@
}
}
}
}
.row--invite {
.col-sm-6 {
padding: 0;
}
}
.settings-modal {
&.display--content {
.modal-header {
@@ -365,9 +366,10 @@
top: 0;
width: 100%;
z-index: 5;
}
.modal-title {
padding-left: 20px;
width: 100%;
text-align: center;
}
}
.user-settings {
.tab-header {
@@ -380,6 +382,7 @@
}
}
.settings-table {
padding: 0;
.nav {
&.position--top {
top: auto;
@@ -409,9 +412,6 @@
background: none !important;
}
}
.settings-links {
background: #fff;
}
.nav {
> li {
> a {
@@ -427,6 +427,7 @@
}
}
}
}
.post-create__container {
.post-right__container & {
padding: 0 1em;
@@ -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,6 +802,7 @@
}
}
@media screen and (max-width: 480px) {
.modal {
.settings-modal {
.settings-table {
@@ -817,6 +820,7 @@
}
}
}
.tip-overlay.tip-overlay--sidebar {
min-height: 350px;

Просмотреть файл

@@ -12,26 +12,31 @@
}
}
.modal {
.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;
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;
}
}
.modal-body {
padding: 0;
margin: 0 auto;
min-height: calc(100% - 62px);
}
li {
list-style: none;
@@ -72,6 +77,8 @@
height: 128px;
}
.settings-table {
max-width: 1000px;
margin: 0 auto;
display: table;
table-layout: fixed;
width: 100%;
@@ -94,8 +101,6 @@
}
.settings-links {
width: 180px;
background: #FAFAFA;
border-right: 1px solid #DDD;
}
.settings-content {
padding: 0px 20px 30px;
@@ -267,6 +272,11 @@
font-size: 12px;
@include opacity(0.5);
display: none;
&.fa-chevron-down {
top: -1px;
margin-right: 0;
position: relative;
}
}
}
@@ -318,10 +328,12 @@
}
}
}
.nav-pills {
> li {
margin: 0;
a {
padding: 8px 5px 8px 15px;
border-radius: 0;
color: #777;
}
@@ -331,7 +343,7 @@
}
&:hover {
a {
background: #E6F2FA;
background-color: rgba(black, 0.1);
}
}
&.active {
@@ -349,7 +361,6 @@
}
}
a, a:hover, a:focus {
padding-right: 10px;
background-color: rgba(black, 0.1);
border-radius: 0;
font-weight: 400;