Multiple UI Improvements
Этот коммит содержится в:
@@ -84,6 +84,16 @@ export default class ChannelLoader extends React.Component {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('body').on('mouseenter mouseleave', '.search-item__container .post', function mouseOver(ev) {
|
||||||
|
if (ev.type === 'mouseenter') {
|
||||||
|
$(this).closest('.search-item__container').find('.date-separator').addClass('hovered--after');
|
||||||
|
$(this).closest('.search-item__container').next('div').find('.date-separator').addClass('hovered--before');
|
||||||
|
} else {
|
||||||
|
$(this).closest('.search-item__container').find('.date-separator').removeClass('hovered--after');
|
||||||
|
$(this).closest('.search-item__container').next('div').find('.date-separator').removeClass('hovered--before');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$('body').on('mouseenter mouseleave', '.post.post--comment.same--root', function mouseOver(ev) {
|
$('body').on('mouseenter mouseleave', '.post.post--comment.same--root', function mouseOver(ev) {
|
||||||
if (ev.type === 'mouseenter') {
|
if (ev.type === 'mouseenter') {
|
||||||
$(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--comment');
|
$(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--comment');
|
||||||
|
|||||||
@@ -59,64 +59,74 @@ export default class SearchResultsItem extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div className='search-item__container'>
|
||||||
className='search-item-container post'
|
<div className='date-separator'>
|
||||||
>
|
<hr className='separator__hr' />
|
||||||
<div className='search-channel__name'>{channelName}</div>
|
<div className='separator__text'>
|
||||||
<div className='post__content'>
|
<FormattedDate
|
||||||
<div className='post__img'>
|
value={this.props.post.create_at}
|
||||||
<img
|
day='numeric'
|
||||||
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
|
month='long'
|
||||||
height='36'
|
year='numeric'
|
||||||
width='36'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
</div>
|
||||||
<ul className='post__header'>
|
<div
|
||||||
<li className='col__name'><strong><UserProfile userId={this.props.post.user_id} /></strong></li>
|
className='post'
|
||||||
<li className='col'>
|
>
|
||||||
<time className='search-item-time'>
|
<div className='search-channel__name'>{channelName}</div>
|
||||||
<FormattedDate
|
<div className='post__content'>
|
||||||
value={this.props.post.create_at}
|
<div className='post__img'>
|
||||||
day='numeric'
|
<img
|
||||||
month='long'
|
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
|
||||||
year='numeric'
|
height='36'
|
||||||
hour12={true}
|
width='36'
|
||||||
hour='2-digit'
|
|
||||||
minute='2-digit'
|
|
||||||
/>
|
|
||||||
</time>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href='#'
|
|
||||||
className='search-item__jump'
|
|
||||||
onClick={this.handleClick}
|
|
||||||
>
|
|
||||||
<FormattedMessage
|
|
||||||
id='search_item.jump'
|
|
||||||
defaultMessage='Jump'
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a
|
|
||||||
href='#'
|
|
||||||
className='comment-icon__container search-item__comment'
|
|
||||||
onClick={this.handleFocusRHSClick}
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
className='comment-icon'
|
|
||||||
dangerouslySetInnerHTML={{__html: Constants.REPLY_ICON}}
|
|
||||||
/>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div className='search-item-snippet'>
|
|
||||||
<span
|
|
||||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, formattingOptions)}}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<ul className='post__header'>
|
||||||
|
<li className='col__name'><strong><UserProfile userId={this.props.post.user_id} /></strong></li>
|
||||||
|
<li className='col'>
|
||||||
|
<time className='search-item-time'>
|
||||||
|
<FormattedDate
|
||||||
|
value={this.props.post.create_at}
|
||||||
|
hour12={true}
|
||||||
|
hour='2-digit'
|
||||||
|
minute='2-digit'
|
||||||
|
/>
|
||||||
|
</time>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href='#'
|
||||||
|
className='search-item__jump'
|
||||||
|
onClick={this.handleClick}
|
||||||
|
>
|
||||||
|
<FormattedMessage
|
||||||
|
id='search_item.jump'
|
||||||
|
defaultMessage='Jump'
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href='#'
|
||||||
|
className='comment-icon__container search-item__comment'
|
||||||
|
onClick={this.handleFocusRHSClick}
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
className='comment-icon'
|
||||||
|
dangerouslySetInnerHTML={{__html: Constants.REPLY_ICON}}
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div className='search-item-snippet'>
|
||||||
|
<span
|
||||||
|
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, formattingOptions)}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -173,6 +173,7 @@
|
|||||||
.team__name {
|
.team__name {
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
|
float: left;
|
||||||
}
|
}
|
||||||
.user__name {
|
.user__name {
|
||||||
@include single-transition(all, 0.1s, linear);
|
@include single-transition(all, 0.1s, linear);
|
||||||
|
|||||||
@@ -769,7 +769,7 @@ body.ios {
|
|||||||
|
|
||||||
.comment-icon {
|
.comment-icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
top: 3px;
|
top: 2px;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
fill: inherit;
|
fill: inherit;
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
@include flex(1 1 auto);
|
@include flex(1 1 auto);
|
||||||
height: calc(100% - 56px);
|
height: calc(100% - 56px);
|
||||||
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-results-header {
|
.search-results-header {
|
||||||
@@ -104,19 +105,22 @@
|
|||||||
border-bottom: $border-gray;
|
border-bottom: $border-gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-item-container {
|
.search-item__container {
|
||||||
border-top: $border-gray;
|
|
||||||
padding: 10px 1em;
|
|
||||||
margin: 0;
|
|
||||||
|
|
||||||
&:first-child {
|
.post {
|
||||||
border: none;
|
padding: 0 1em 1em;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-channel__name {
|
||||||
|
font-weight: 600;
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-channel__name {
|
|
||||||
font-weight: 600;
|
|
||||||
margin: 0 0 10px 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-item__jump {
|
.search-item__jump {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user