Merge pull request #2062 from asaadmahmoodspin/ui-improvements

Multiple UI Improvements
This commit is contained in:
Joram Wilander
2016-02-04 07:26:05 -05:00
5 changed files with 90 additions and 65 deletions

View File

@@ -128,6 +128,16 @@ 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) {
if (ev.type === 'mouseenter') {
$(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--comment');

View File

@@ -59,64 +59,74 @@ export default class SearchResultsItem extends React.Component {
};
return (
<div
className='search-item-container post'
>
<div className='search-channel__name'>{channelName}</div>
<div className='post__content'>
<div className='post__img'>
<img
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
height='36'
width='36'
<div className='search-item__container'>
<div className='date-separator'>
<hr className='separator__hr' />
<div className='separator__text'>
<FormattedDate
value={this.props.post.create_at}
day='numeric'
month='long'
year='numeric'
/>
</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}
day='numeric'
month='long'
year='numeric'
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
className='post'
>
<div className='search-channel__name'>{channelName}</div>
<div className='post__content'>
<div className='post__img'>
<img
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
height='36'
width='36'
/>
</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>

View File

@@ -173,6 +173,7 @@
.team__name {
line-height: 22px;
margin-top: -2px;
float: left;
}
.user__name {
@include single-transition(all, 0.1s, linear);

View File

@@ -769,7 +769,7 @@ body.ios {
.comment-icon {
display: inline-block;
top: 3px;
top: 2px;
position: relative;
margin-right: 3px;
fill: inherit;

View File

@@ -90,6 +90,7 @@
-webkit-overflow-scrolling: touch;
@include flex(1 1 auto);
height: calc(100% - 56px);
padding-top: 10px;
}
.search-results-header {
@@ -104,19 +105,22 @@
border-bottom: $border-gray;
}
.search-item-container {
border-top: $border-gray;
padding: 10px 1em;
margin: 0;
.search-item__container {
&:first-child {
border: none;
.post {
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 {