Multiple UI Improvements
Этот коммит содержится в:
@@ -32,9 +32,11 @@ export default class AccessHistoryModal extends React.Component {
|
|||||||
onShow() {
|
onShow() {
|
||||||
AsyncClient.getAudits();
|
AsyncClient.getAudits();
|
||||||
|
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
|
} else {
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onHide() {
|
onHide() {
|
||||||
|
|||||||
@@ -51,9 +51,11 @@ export default class ActivityLogModal extends React.Component {
|
|||||||
onShow() {
|
onShow() {
|
||||||
AsyncClient.getSessions();
|
AsyncClient.getSessions();
|
||||||
|
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
|
} else {
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onHide() {
|
onHide() {
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ export default class ChannelInviteModal extends React.Component {
|
|||||||
onShow() {
|
onShow() {
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
|
} else {
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
componentDidUpdate(prevProps) {
|
componentDidUpdate(prevProps) {
|
||||||
@@ -139,11 +142,10 @@ export default class ChannelInviteModal extends React.Component {
|
|||||||
onHide={this.props.onHide}
|
onHide={this.props.onHide}
|
||||||
>
|
>
|
||||||
<Modal.Header closeButton={true}>
|
<Modal.Header closeButton={true}>
|
||||||
<Modal.Title>{'Add New Members to '}<span className='name'>{this.props.channel.display_nam}</span></Modal.Title>
|
<Modal.Title>{'Add New Members to '}<span className='name'>{this.props.channel.display_name}</span></Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body
|
<Modal.Body
|
||||||
ref='modalBody'
|
ref='modalBody'
|
||||||
style={{maxHeight}}
|
|
||||||
>
|
>
|
||||||
{inviteError}
|
{inviteError}
|
||||||
{content}
|
{content}
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ export default class ChannelNotificationsModal extends React.Component {
|
|||||||
onHide={this.props.onHide}
|
onHide={this.props.onHide}
|
||||||
>
|
>
|
||||||
<Modal.Header closeButton={true}>
|
<Modal.Header closeButton={true}>
|
||||||
{'Notification Preferences for '}<span className='name'>{this.props.channel.display_name}</span>
|
<Modal.Title>{'Notification Preferences for '}<span className='name'>{this.props.channel.display_name}</span></Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
<div className='settings-table'>
|
<div className='settings-table'>
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ export default class DeleteChannelModal extends React.Component {
|
|||||||
show={this.props.show}
|
show={this.props.show}
|
||||||
onHide={this.props.onHide}
|
onHide={this.props.onHide}
|
||||||
>
|
>
|
||||||
<Modal.Header closeButton={true}>{'Confirm DELETE Channel'}</Modal.Header>
|
<Modal.Header closeButton={true}>
|
||||||
|
<h4 className='modal-title'>{'Confirm DELETE Channel'}</h4>
|
||||||
|
</Modal.Header>
|
||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
{`Are you sure you wish to delete the ${this.props.channel.display_name} ${channelTerm}?`}
|
{`Are you sure you wish to delete the ${this.props.channel.display_name} ${channelTerm}?`}
|
||||||
</Modal.Body>
|
</Modal.Body>
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export default class DeletePostModal extends React.Component {
|
|||||||
onHide={this.handleHide}
|
onHide={this.handleHide}
|
||||||
>
|
>
|
||||||
<Modal.Header closeButton={true}>
|
<Modal.Header closeButton={true}>
|
||||||
{`Confirm ${postTerm} Delete`}
|
<Modal.Title>{`Confirm ${postTerm} Delete`}</Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
{`Are you sure you want to delete this ${postTerm.toLowerCase()}?`}
|
{`Are you sure you want to delete this ${postTerm.toLowerCase()}?`}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ export default class EditChannelHeaderModal extends React.Component {
|
|||||||
onHide={this.onHide}
|
onHide={this.onHide}
|
||||||
>
|
>
|
||||||
<Modal.Header closeButton={true}>
|
<Modal.Header closeButton={true}>
|
||||||
{'Edit Header for ' + this.props.channel.display_name}
|
<Modal.Title>{'Edit Header for ' + this.props.channel.display_name}</Modal.Title>
|
||||||
</Modal.Header>
|
</Modal.Header>
|
||||||
<Modal.Body>
|
<Modal.Body>
|
||||||
<p>{'Edit the text appearing next to the channel name in the channel header.'}</p>
|
<p>{'Edit the text appearing next to the channel name in the channel header.'}</p>
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ export default class InviteMemberModal extends React.Component {
|
|||||||
|
|
||||||
componentDidUpdate(prevProps, prevState) {
|
componentDidUpdate(prevProps, prevState) {
|
||||||
if (!prevState.show && this.state.show) {
|
if (!prevState.show && this.state.show) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ export default class PostInfo extends React.Component {
|
|||||||
type='text'
|
type='text'
|
||||||
readOnly='true'
|
readOnly='true'
|
||||||
ref='permalinkbox'
|
ref='permalinkbox'
|
||||||
className='permalink-text form-control no-resize min-height input-large'
|
className='permalink-text form-control no-resize'
|
||||||
rows='1'
|
rows='1'
|
||||||
value={permalink}
|
value={permalink}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ export default class RhsRootPost extends React.Component {
|
|||||||
</time>
|
</time>
|
||||||
</li>
|
</li>
|
||||||
<li className='col col__reply'>
|
<li className='col col__reply'>
|
||||||
<div className='dropdown'>
|
<div>
|
||||||
{rootOptions}
|
{rootOptions}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -26,9 +26,11 @@ export default class TeamMembersModal extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onShow() {
|
onShow() {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
|
} else {
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 150);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ export default class ManageOutgoingHooks extends React.Component {
|
|||||||
key={hook.id}
|
key={hook.id}
|
||||||
className='webhook__item'
|
className='webhook__item'
|
||||||
>
|
>
|
||||||
<div className='padding-top x2'>
|
<div className='padding-top x2 webhook__url'>
|
||||||
<strong>{'URLs: '}</strong><span className='word-break--all'>{hook.callback_urls.join(', ')}</span>
|
<strong>{'URLs: '}</strong><span className='word-break--all'>{hook.callback_urls.join(', ')}</span>
|
||||||
</div>
|
</div>
|
||||||
{channelDiv}
|
{channelDiv}
|
||||||
|
|||||||
@@ -47,9 +47,11 @@ export default class UserSettingsModal extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleShow() {
|
handleShow() {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
|
||||||
if ($(window).width() > 768) {
|
if ($(window).width() > 768) {
|
||||||
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).perfectScrollbar();
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 200);
|
||||||
|
} else {
|
||||||
|
$(ReactDOM.findDOMNode(this.refs.modalBody)).css('max-height', $(window).height() - 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -576,6 +576,7 @@ export function applyTheme(theme) {
|
|||||||
|
|
||||||
if (theme.sidebarHeaderTextColor) {
|
if (theme.sidebarHeaderTextColor) {
|
||||||
changeCss('.sidebar--left .team__header .header__info, .sidebar--menu .team__header .header__info', 'color:' + theme.sidebarHeaderTextColor, 1);
|
changeCss('.sidebar--left .team__header .header__info, .sidebar--menu .team__header .header__info', 'color:' + theme.sidebarHeaderTextColor, 1);
|
||||||
|
changeCss('.sidebar--left .team__header .navbar-right .dropdown__icon, .sidebar--menu .team__header .navbar-right .dropdown__icon', 'fill:' + theme.sidebarHeaderTextColor, 1);
|
||||||
changeCss('.sidebar--left .team__header .user__name, .sidebar--menu .team__header .user__name', 'color:' + changeOpacity(theme.sidebarHeaderTextColor, 0.8), 1);
|
changeCss('.sidebar--left .team__header .user__name, .sidebar--menu .team__header .user__name', 'color:' + changeOpacity(theme.sidebarHeaderTextColor, 0.8), 1);
|
||||||
changeCss('.sidebar--left .team__header:hover .user__name, .sidebar--menu .team__header:hover .user__name', 'color:' + theme.sidebarHeaderTextColor, 1);
|
changeCss('.sidebar--left .team__header:hover .user__name, .sidebar--menu .team__header:hover .user__name', 'color:' + theme.sidebarHeaderTextColor, 1);
|
||||||
changeCss('.modal .modal-header .modal-title, .modal .modal-header .modal-title .name, .modal .modal-header button.close', 'color:' + theme.sidebarHeaderTextColor, 1);
|
changeCss('.modal .modal-header .modal-title, .modal .modal-header .modal-title .name, .modal .modal-header button.close', 'color:' + theme.sidebarHeaderTextColor, 1);
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ select {
|
|||||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
background: rgba(#fff, 0.1);
|
background: rgba(#fff, 0.1);
|
||||||
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-group {
|
.form-group {
|
||||||
@@ -210,6 +211,7 @@ select {
|
|||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
|
@include border-radius(2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.emoji {
|
.emoji {
|
||||||
|
|||||||
@@ -4,5 +4,5 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
float: left;
|
float: left;
|
||||||
padding: 4px 10px;
|
padding: 4px 10px;
|
||||||
margin: 3px 0 0 10px;
|
margin: 1px 0 0 10px;
|
||||||
}
|
}
|
||||||
@@ -293,6 +293,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.channel-header__links {
|
.channel-header__links {
|
||||||
|
font-family: 'Open Sans', sans-serif;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
|
|||||||
@@ -35,6 +35,9 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
.team-member-list {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
.remove__member {
|
.remove__member {
|
||||||
float: right;
|
float: right;
|
||||||
color: #999;
|
color: #999;
|
||||||
@@ -95,6 +98,7 @@
|
|||||||
background: rgba(0, 0, 0, 0.1);
|
background: rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
span {
|
span {
|
||||||
|
font-family: 'Open Sans', sans-serif;
|
||||||
line-height: 10px;
|
line-height: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -369,9 +369,9 @@ body.ios {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.post--highlight {
|
&.post--highlight {
|
||||||
background-color: beige;
|
background-color: beige;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.post--system .post__header .col__name {
|
&.post--system .post__header .col__name {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -551,7 +551,23 @@ body.ios {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
top: 30px;
|
top: 30px;
|
||||||
width: 60px;
|
width: 65px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.permalink-popover {
|
||||||
|
min-width: 0;
|
||||||
|
|
||||||
|
.popover-content {
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control, .btn {
|
||||||
|
font-size: 13px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 0 8px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -569,6 +585,8 @@ body.ios {
|
|||||||
.dropdown {
|
.dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
top: -1px;
|
top: -1px;
|
||||||
|
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
@@ -602,11 +620,11 @@ body.ios {
|
|||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
padding: 0.2em 0.5em 0em;
|
padding: 0.2em 0.5em 0em;
|
||||||
@include legacy-pie-clearfix;
|
@include legacy-pie-clearfix;
|
||||||
width: calc(100% - 70px);
|
width: calc(100% - 75px);
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-height: 400px;
|
max-height: 400px;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
padding: 5px 0 0 20px;
|
padding: 5px 0 0 20px;
|
||||||
@@ -679,11 +697,11 @@ body.ios {
|
|||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.permalink-icon {
|
.permalink-icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: $primary-color;
|
color: $primary-color;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment-icon__container {
|
.comment-icon__container {
|
||||||
fill: $primary-color;
|
fill: $primary-color;
|
||||||
@@ -828,10 +846,10 @@ body.ios {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.permalink-text {
|
.permalink-text {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.permalink-popover {
|
.permalink-popover {
|
||||||
min-width: 320px;
|
min-width: 320px;
|
||||||
margin-left: 50px !important;
|
margin-left: 50px !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,7 +107,8 @@
|
|||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
content: '...'
|
content: '...';
|
||||||
|
top: -3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-padding--left {
|
.no-padding--left {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
.padding-top {
|
.padding-top {
|
||||||
@@ -313,17 +313,23 @@
|
|||||||
.member-name {
|
.member-name {
|
||||||
font-weight:500;
|
font-weight:500;
|
||||||
display: block;
|
display: block;
|
||||||
|
max-width: 80%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-email {
|
.member-email {
|
||||||
color:darkgrey;
|
color:darkgrey;
|
||||||
display: block;
|
display: block;
|
||||||
|
max-width: 80%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-role, .member-drop {
|
.member-role, .member-drop {
|
||||||
position:absolute;
|
position:absolute;
|
||||||
right:15px;
|
right: 15px;
|
||||||
top:13px;
|
top: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -110,6 +110,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.btn-close {
|
.btn-close {
|
||||||
|
font-family: 'Open Sans', sans-serif;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
top: -1px;
|
top: -1px;
|
||||||
@@ -142,7 +143,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
a, a:hover, a:focus {
|
a, a:hover, a:focus {
|
||||||
padding-right: 10px;
|
|
||||||
background-color: rgba(black, 0.1);
|
background-color: rgba(black, 0.1);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ window.setup_channel_page({{ .Props }}, {{ .Team }}, {{ .Channel }}, {{ .User }}
|
|||||||
if($(window).height() > 1200){
|
if($(window).height() > 1200){
|
||||||
modals.css('max-height', 1000);
|
modals.css('max-height', 1000);
|
||||||
} else {
|
} else {
|
||||||
modals.css('max-height', $(window).height() - 50);
|
modals.css('max-height', $(window).height() - 200);
|
||||||
}
|
}
|
||||||
modals.perfectScrollbar();
|
modals.perfectScrollbar();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user