Posts structure improvement
Этот коммит содержится в:
@@ -27,6 +27,7 @@ const ActionTypes = Constants.ActionTypes;
|
|||||||
|
|
||||||
const Popover = ReactBootstrap.Popover;
|
const Popover = ReactBootstrap.Popover;
|
||||||
const OverlayTrigger = ReactBootstrap.OverlayTrigger;
|
const OverlayTrigger = ReactBootstrap.OverlayTrigger;
|
||||||
|
const Tooltip = ReactBootstrap.Tooltip;
|
||||||
|
|
||||||
export default class ChannelHeader extends React.Component {
|
export default class ChannelHeader extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -121,6 +122,7 @@ export default class ChannelHeader extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const channel = this.state.channel;
|
const channel = this.state.channel;
|
||||||
|
const recentMentionsTooltip = <Tooltip id='recentMentionsTooltip'>{'Recent Mentions'}</Tooltip>;
|
||||||
const popoverContent = (
|
const popoverContent = (
|
||||||
<Popover
|
<Popover
|
||||||
id='hader-popover'
|
id='hader-popover'
|
||||||
@@ -382,31 +384,19 @@ export default class ChannelHeader extends React.Component {
|
|||||||
<th className='search-bar__container'><NavbarSearchBox /></th>
|
<th className='search-bar__container'><NavbarSearchBox /></th>
|
||||||
<th>
|
<th>
|
||||||
<div className='dropdown channel-header__links'>
|
<div className='dropdown channel-header__links'>
|
||||||
<a
|
<OverlayTrigger
|
||||||
href='#'
|
delayShow={400}
|
||||||
className='dropdown-toggle theme'
|
placement='bottom'
|
||||||
type='button'
|
overlay={recentMentionsTooltip}
|
||||||
id='channel_header_right_dropdown'
|
|
||||||
data-toggle='dropdown'
|
|
||||||
aria-expanded='true'
|
|
||||||
>
|
>
|
||||||
<span dangerouslySetInnerHTML={{__html: Constants.MENU_ICON}} />
|
<a
|
||||||
</a>
|
href='#'
|
||||||
<ul
|
type='button'
|
||||||
className='dropdown-menu dropdown-menu-right'
|
onClick={this.searchMentions}
|
||||||
role='menu'
|
>
|
||||||
aria-labelledby='channel_header_right_dropdown'
|
{'@'}
|
||||||
>
|
</a>
|
||||||
<li role='presentation'>
|
</OverlayTrigger>
|
||||||
<a
|
|
||||||
role='menuitem'
|
|
||||||
href='#'
|
|
||||||
onClick={this.searchMentions}
|
|
||||||
>
|
|
||||||
{'Recent Mentions'}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -141,6 +141,8 @@ export default class Post extends React.Component {
|
|||||||
var postType = '';
|
var postType = '';
|
||||||
if (type !== 'Post') {
|
if (type !== 'Post') {
|
||||||
postType = 'post--comment';
|
postType = 'post--comment';
|
||||||
|
} else if (commentCount > 0) {
|
||||||
|
postType = 'post--root';
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentUserCss = '';
|
var currentUserCss = '';
|
||||||
@@ -170,14 +172,11 @@ export default class Post extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
profilePic = (
|
profilePic = (
|
||||||
<div className='post-profile-img__container'>
|
<img
|
||||||
<img
|
src={src}
|
||||||
className='post-profile-img'
|
height='36'
|
||||||
src={src}
|
width='36'
|
||||||
height='36'
|
/>
|
||||||
width='36'
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,32 +186,26 @@ export default class Post extends React.Component {
|
|||||||
id={'post_' + post.id}
|
id={'post_' + post.id}
|
||||||
className={'post ' + sameUserClass + ' ' + rootUser + ' ' + postType + ' ' + currentUserCss}
|
className={'post ' + sameUserClass + ' ' + rootUser + ' ' + postType + ' ' + currentUserCss}
|
||||||
>
|
>
|
||||||
{profilePic}
|
|
||||||
<div className='post__content'>
|
<div className='post__content'>
|
||||||
<PostHeader
|
<div className='post__img'>{profilePic}</div>
|
||||||
ref='header'
|
<div>
|
||||||
post={post}
|
<PostHeader
|
||||||
sameRoot={this.props.sameRoot}
|
ref='header'
|
||||||
commentCount={commentCount}
|
post={post}
|
||||||
handleCommentClick={this.handleCommentClick}
|
sameRoot={this.props.sameRoot}
|
||||||
isLastComment={this.props.isLastComment}
|
commentCount={commentCount}
|
||||||
/>
|
handleCommentClick={this.handleCommentClick}
|
||||||
<PostBody
|
isLastComment={this.props.isLastComment}
|
||||||
post={post}
|
/>
|
||||||
sameRoot={this.props.sameRoot}
|
<PostBody
|
||||||
parentPost={parentPost}
|
post={post}
|
||||||
posts={posts}
|
sameRoot={this.props.sameRoot}
|
||||||
handleCommentClick={this.handleCommentClick}
|
parentPost={parentPost}
|
||||||
retryPost={this.retryPost}
|
posts={posts}
|
||||||
/>
|
handleCommentClick={this.handleCommentClick}
|
||||||
<PostInfo
|
retryPost={this.retryPost}
|
||||||
ref='info'
|
/>
|
||||||
post={post}
|
</div>
|
||||||
sameRoot={this.props.sameRoot}
|
|
||||||
commentCount={commentCount}
|
|
||||||
handleCommentClick={this.handleCommentClick}
|
|
||||||
allowReply='true'
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ export default class PostBody extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='post-comment'>
|
<div>
|
||||||
<h4>
|
<h4>
|
||||||
<span className='video-type'>{header}</span>
|
<span className='video-type'>{header}</span>
|
||||||
<span className='video-title'><a href={link}>{this.state.youtubeTitle}</a></span>
|
<span className='video-title'><a href={link}>{this.state.youtubeTitle}</a></span>
|
||||||
@@ -329,7 +329,7 @@ export default class PostBody extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
comment = (
|
comment = (
|
||||||
<p className='post-link'>
|
<div className='post__link'>
|
||||||
<span>
|
<span>
|
||||||
{'Commented on '}{name}{apostrophe}{' message: '}
|
{'Commented on '}{name}{apostrophe}{' message: '}
|
||||||
<a
|
<a
|
||||||
@@ -339,15 +339,13 @@ export default class PostBody extends React.Component {
|
|||||||
{message}
|
{message}
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
postClass += ' post-comment';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let loading;
|
let loading;
|
||||||
if (post.state === Constants.POST_FAILED) {
|
if (post.state === Constants.POST_FAILED) {
|
||||||
postClass += ' post-fail';
|
postClass += ' post--fail';
|
||||||
loading = (
|
loading = (
|
||||||
<a
|
<a
|
||||||
className='theme post-retry pull-right'
|
className='theme post-retry pull-right'
|
||||||
@@ -379,25 +377,27 @@ export default class PostBody extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='post-body'>
|
<div>
|
||||||
{comment}
|
{comment}
|
||||||
<div
|
<div className='post__body'>
|
||||||
key={`${post.id}_message`}
|
<div
|
||||||
id={`${post.id}_message`}
|
key={`${post.id}_message`}
|
||||||
className={postClass}
|
id={`${post.id}_message`}
|
||||||
>
|
className={postClass}
|
||||||
{loading}
|
>
|
||||||
<span
|
{loading}
|
||||||
ref='message_span'
|
<span
|
||||||
onClick={TextFormatting.handleClick}
|
ref='message_span'
|
||||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.state.message)}}
|
onClick={TextFormatting.handleClick}
|
||||||
|
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.state.message)}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<PostBodyAdditionalContent
|
||||||
|
post={this.state.post}
|
||||||
/>
|
/>
|
||||||
|
{fileAttachmentHolder}
|
||||||
|
{this.embed}
|
||||||
</div>
|
</div>
|
||||||
<PostBodyAdditionalContent
|
|
||||||
post={this.state.post}
|
|
||||||
/>
|
|
||||||
{fileAttachmentHolder}
|
|
||||||
{this.embed}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,14 +26,14 @@ export default class PostHeader extends React.Component {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
botIndicator = <li className='post-header-col post-header__name bot-indicator'>{'BOT'}</li>;
|
botIndicator = <li className='col col__name bot-indicator'>{'BOT'}</li>;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ul className='post-header post-header-post'>
|
<ul className='post__header'>
|
||||||
<li className='post-header-col post-header__name'><strong>{userProfile}</strong></li>
|
<li className='col col__name'>{userProfile}</li>
|
||||||
{botIndicator}
|
{botIndicator}
|
||||||
<li className='post-info--hidden'>
|
<li className='col'>
|
||||||
<PostInfo
|
<PostInfo
|
||||||
post={post}
|
post={post}
|
||||||
commentCount={this.props.commentCount}
|
commentCount={this.props.commentCount}
|
||||||
|
|||||||
@@ -74,23 +74,6 @@ export default class PostInfo extends React.Component {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.props.allowReply === 'true') {
|
|
||||||
dropdownContents.push(
|
|
||||||
<li
|
|
||||||
key='replyLink'
|
|
||||||
role='presentation'
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
className='reply-link theme'
|
|
||||||
href='#'
|
|
||||||
onClick={this.props.handleCommentClick}
|
|
||||||
>
|
|
||||||
{'Reply'}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dropdownContents.length === 0) {
|
if (dropdownContents.length === 0) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@@ -99,7 +82,7 @@ export default class PostInfo extends React.Component {
|
|||||||
<div>
|
<div>
|
||||||
<a
|
<a
|
||||||
href='#'
|
href='#'
|
||||||
className='dropdown-toggle theme'
|
className='dropdown-toggle post__dropdown theme'
|
||||||
type='button'
|
type='button'
|
||||||
data-toggle='dropdown'
|
data-toggle='dropdown'
|
||||||
aria-expanded='false'
|
aria-expanded='false'
|
||||||
@@ -116,23 +99,27 @@ export default class PostInfo extends React.Component {
|
|||||||
render() {
|
render() {
|
||||||
var post = this.props.post;
|
var post = this.props.post;
|
||||||
var comments = '';
|
var comments = '';
|
||||||
var lastCommentClass = ' comment-icon__container__hide';
|
var showCommentClass = '';
|
||||||
if (this.props.isLastComment) {
|
var commentCountText = this.props.commentCount;
|
||||||
lastCommentClass = ' comment-icon__container__show';
|
|
||||||
|
if (this.props.commentCount >= 1) {
|
||||||
|
showCommentClass = ' icon--show';
|
||||||
|
} else {
|
||||||
|
commentCountText = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.props.commentCount >= 1 && post.state !== Constants.POST_FAILED && post.state !== Constants.POST_LOADING && post.state !== Constants.POST_DELETED) {
|
if (post.state !== Constants.POST_FAILED && post.state !== Constants.POST_LOADING && post.state !== Constants.POST_DELETED) {
|
||||||
comments = (
|
comments = (
|
||||||
<a
|
<a
|
||||||
href='#'
|
href='#'
|
||||||
className={'comment-icon__container theme' + lastCommentClass}
|
className={'comment-icon__container' + showCommentClass}
|
||||||
onClick={this.props.handleCommentClick}
|
onClick={this.props.handleCommentClick}
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
className='comment-icon'
|
className='comment-icon'
|
||||||
dangerouslySetInnerHTML={{__html: Constants.COMMENT_ICON}}
|
dangerouslySetInnerHTML={{__html: Constants.COMMENT_ICON}}
|
||||||
/>
|
/>
|
||||||
{this.props.commentCount}
|
{commentCountText}
|
||||||
</a>
|
</a>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -140,17 +127,17 @@ export default class PostInfo extends React.Component {
|
|||||||
var dropdown = this.createDropdown();
|
var dropdown = this.createDropdown();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ul className='post-header post-info'>
|
<ul className='post__header post__header--info'>
|
||||||
<li className='post-header-col'>
|
<li className='col'>
|
||||||
<TimeSince
|
<TimeSince
|
||||||
eventTime={post.create_at}
|
eventTime={post.create_at}
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
<li className='post-header-col post-header__reply'>
|
<li className='col col__reply'>
|
||||||
|
{comments}
|
||||||
<div className='dropdown'>
|
<div className='dropdown'>
|
||||||
{dropdown}
|
{dropdown}
|
||||||
</div>
|
</div>
|
||||||
{comments}
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ export default class RhsComment extends React.Component {
|
|||||||
<div className='dropdown'>
|
<div className='dropdown'>
|
||||||
<a
|
<a
|
||||||
href='#'
|
href='#'
|
||||||
className='dropdown-toggle theme'
|
className='post__dropdown dropdown-toggle'
|
||||||
type='button'
|
type='button'
|
||||||
data-toggle='dropdown'
|
data-toggle='dropdown'
|
||||||
aria-expanded='false'
|
aria-expanded='false'
|
||||||
@@ -193,38 +193,39 @@ export default class RhsComment extends React.Component {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={'post ' + currentUserCss}>
|
<div className={'post ' + currentUserCss}>
|
||||||
<div className='post-profile-img__container'>
|
|
||||||
<img
|
|
||||||
className='post-profile-img'
|
|
||||||
src={'/api/v1/users/' + post.user_id + '/image?time=' + timestamp + '&' + Utils.getSessionIndex()}
|
|
||||||
height='36'
|
|
||||||
width='36'
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className='post__content'>
|
<div className='post__content'>
|
||||||
<ul className='post-header'>
|
<div className='post__img'>
|
||||||
<li className='post-header-col'>
|
<img
|
||||||
<strong><UserProfile userId={post.user_id} /></strong>
|
src={'/api/v1/users/' + post.user_id + '/image?time=' + timestamp + '&' + Utils.getSessionIndex()}
|
||||||
</li>
|
height='36'
|
||||||
<li className='post-header-col'>
|
width='36'
|
||||||
<time className='post-profile-time'>
|
/>
|
||||||
{Utils.displayCommentDateTime(post.create_at)}
|
</div>
|
||||||
</time>
|
<div>
|
||||||
</li>
|
<ul className='post__header'>
|
||||||
<li className='post-header-col post-header__reply'>
|
<li className='col__name'>
|
||||||
{dropdown}
|
<strong><UserProfile userId={post.user_id} /></strong>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
<li className='col'>
|
||||||
<div className='post-body'>
|
<time className='post__time'>
|
||||||
<div className={postClass}>
|
{Utils.displayCommentDateTime(post.create_at)}
|
||||||
{loading}
|
</time>
|
||||||
<div
|
</li>
|
||||||
ref='message_holder'
|
<li className='col col__reply'>
|
||||||
onClick={TextFormatting.handleClick}
|
{dropdown}
|
||||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
</li>
|
||||||
/>
|
</ul>
|
||||||
|
<div className='post__body'>
|
||||||
|
<div className={postClass}>
|
||||||
|
{loading}
|
||||||
|
<div
|
||||||
|
ref='message_holder'
|
||||||
|
onClick={TextFormatting.handleClick}
|
||||||
|
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{fileAttachment}
|
||||||
</div>
|
</div>
|
||||||
{fileAttachment}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export default class RhsRootPost extends React.Component {
|
|||||||
ownerOptions = (
|
ownerOptions = (
|
||||||
<div>
|
<div>
|
||||||
<a href='#'
|
<a href='#'
|
||||||
className='dropdown-toggle theme'
|
className='post__dropdown dropdown-toggle'
|
||||||
type='button'
|
type='button'
|
||||||
data-toggle='dropdown'
|
data-toggle='dropdown'
|
||||||
aria-expanded='false'
|
aria-expanded='false'
|
||||||
@@ -129,7 +129,7 @@ export default class RhsRootPost extends React.Component {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
botIndicator = <li className='post-header-col post-header__name bot-indicator'>{'BOT'}</li>;
|
botIndicator = <li className='col col__name bot-indicator'>{'BOT'}</li>;
|
||||||
}
|
}
|
||||||
|
|
||||||
let src = '/api/v1/users/' + post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex();
|
let src = '/api/v1/users/' + post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex();
|
||||||
@@ -140,47 +140,47 @@ export default class RhsRootPost extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const profilePic = (
|
const profilePic = (
|
||||||
<div className='post-profile-img__container'>
|
<img
|
||||||
<img
|
className='post-profile-img'
|
||||||
className='post-profile-img'
|
src={src}
|
||||||
src={src}
|
height='36'
|
||||||
height='36'
|
width='36'
|
||||||
width='36'
|
/>
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={'post post--root ' + currentUserCss}>
|
<div className={'post post--root ' + currentUserCss}>
|
||||||
<div className='post-right-channel__name'>{channelName}</div>
|
<div className='post-right-channel__name'>{channelName}</div>
|
||||||
<div className='post-profile-img__container'>
|
|
||||||
{profilePic}
|
|
||||||
</div>
|
|
||||||
<div className='post__content'>
|
<div className='post__content'>
|
||||||
<ul className='post-header'>
|
<div className='post__img'>
|
||||||
<li className='post-header-col'><strong>{userProfile}</strong></li>
|
{profilePic}
|
||||||
{botIndicator}
|
</div>
|
||||||
<li className='post-header-col'>
|
<div>
|
||||||
<time className='post-profile-time'>
|
<ul className='post__header'>
|
||||||
{utils.displayCommentDateTime(post.create_at)}
|
<li className='col__name'>{userProfile}</li>
|
||||||
</time>
|
{botIndicator}
|
||||||
</li>
|
<li className='col'>
|
||||||
<li className='post-header-col post-header__reply'>
|
<time className='post__time'>
|
||||||
<div className='dropdown'>
|
{utils.displayCommentDateTime(post.create_at)}
|
||||||
{ownerOptions}
|
</time>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
<li className='col col__reply'>
|
||||||
</ul>
|
<div className='dropdown'>
|
||||||
<div className='post-body'>
|
{ownerOptions}
|
||||||
<div
|
</div>
|
||||||
ref='message_holder'
|
</li>
|
||||||
onClick={TextFormatting.handleClick}
|
</ul>
|
||||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
<div className='post__body'>
|
||||||
/>
|
<div
|
||||||
<PostBodyAdditionalContent
|
ref='message_holder'
|
||||||
post={post}
|
onClick={TextFormatting.handleClick}
|
||||||
/>
|
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||||
{fileAttachment}
|
/>
|
||||||
|
<PostBodyAdditionalContent
|
||||||
|
post={post}
|
||||||
|
/>
|
||||||
|
{fileAttachment}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
|
|||||||
@@ -74,29 +74,30 @@ export default class SearchResultsItem extends React.Component {
|
|||||||
onClick={this.handleClick}
|
onClick={this.handleClick}
|
||||||
>
|
>
|
||||||
<div className='search-channel__name'>{channelName}</div>
|
<div className='search-channel__name'>{channelName}</div>
|
||||||
<div className='post-profile-img__container'>
|
|
||||||
<img
|
|
||||||
className='post-profile-img'
|
|
||||||
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
|
|
||||||
height='36'
|
|
||||||
width='36'
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className='post__content'>
|
<div className='post__content'>
|
||||||
<ul className='post-header'>
|
<div className='post__img'>
|
||||||
<li className='post-header-col'><strong><UserProfile userId={this.props.post.user_id} /></strong></li>
|
<img
|
||||||
<li className='post-header-col'>
|
src={'/api/v1/users/' + this.props.post.user_id + '/image?time=' + timestamp + '&' + utils.getSessionIndex()}
|
||||||
<time className='search-item-time'>
|
height='36'
|
||||||
{utils.displayDate(this.props.post.create_at) + ' ' + utils.displayTime(this.props.post.create_at)}
|
width='36'
|
||||||
</time>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div className='search-item-snippet'>
|
|
||||||
<span
|
|
||||||
onClick={this.handleClick}
|
|
||||||
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'>
|
||||||
|
{utils.displayDate(this.props.post.create_at) + ' ' + utils.displayTime(this.props.post.create_at)}
|
||||||
|
</time>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div className='search-item-snippet'>
|
||||||
|
<span
|
||||||
|
onClick={this.handleClick}
|
||||||
|
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, formattingOptions)}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ export default class TimeSince extends React.Component {
|
|||||||
placement='top'
|
placement='top'
|
||||||
overlay={tooltip}
|
overlay={tooltip}
|
||||||
>
|
>
|
||||||
<time className='post-profile-time'>
|
<time className='post__time'>
|
||||||
{Utils.displayDateTime(this.props.eventTime)}
|
{Utils.displayDateTime(this.props.eventTime)}
|
||||||
</time>
|
</time>
|
||||||
</OverlayTrigger>
|
</OverlayTrigger>
|
||||||
|
|||||||
@@ -14,7 +14,10 @@ export default class CustomThemeChooser extends React.Component {
|
|||||||
this.state = {};
|
this.state = {};
|
||||||
}
|
}
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
$('.color-picker').colorpicker().on('changeColor', this.onPickerChange);
|
$('.color-picker').colorpicker({
|
||||||
|
format: 'hex'
|
||||||
|
});
|
||||||
|
$('.color-picker').on('changeColor', this.onPickerChange);
|
||||||
}
|
}
|
||||||
onPickerChange(e) {
|
onPickerChange(e) {
|
||||||
const theme = this.props.theme;
|
const theme = this.props.theme;
|
||||||
|
|||||||
@@ -205,6 +205,7 @@ export function createStandardIntroMessage(channel, showInviteModal) {
|
|||||||
<i className='fa fa-pencil'></i>{'Set a header'}
|
<i className='fa fa-pencil'></i>{'Set a header'}
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
|
className='intro-links'
|
||||||
href='#'
|
href='#'
|
||||||
onClick={showInviteModal}
|
onClick={showInviteModal}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -538,12 +538,11 @@ export function applyTheme(theme) {
|
|||||||
|
|
||||||
if (theme.sidebarText) {
|
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('.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('@media(max-width: 960px){.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 .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 .add-channel-btn:hover, .sidebar--left .add-channel-btn:focus', 'color:' + theme.sidebarText, 1);
|
||||||
changeCss('.sidebar--left, .sidebar--right .sidebar--right__header', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 1);
|
|
||||||
changeCss('.sidebar--left .status path', 'fill:' + changeOpacity(theme.sidebarText, 0.5), 1);
|
changeCss('.sidebar--left .status path', 'fill:' + changeOpacity(theme.sidebarText, 0.5), 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: 960px){.settings-modal .settings-table .nav>li>a', 'border-color:' + changeOpacity(theme.sidebarText, 0.2), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.sidebarUnreadText) {
|
if (theme.sidebarUnreadText) {
|
||||||
@@ -552,7 +551,7 @@ export function applyTheme(theme) {
|
|||||||
|
|
||||||
if (theme.sidebarTextHoverBg) {
|
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('.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('@media(max-width: 960px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.sidebarTextActiveBorder) {
|
if (theme.sidebarTextActiveBorder) {
|
||||||
@@ -570,7 +569,7 @@ export function applyTheme(theme) {
|
|||||||
changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('.sidebar--left .team__header, .sidebar--menu .team__header', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('.modal .modal-header', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
changeCss('#navbar .navbar-default', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('#navbar .navbar-default', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
changeCss('@media(max-width: 768px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1);
|
changeCss('@media(max-width: 960px){.search-bar__container', 'background:' + theme.sidebarHeaderBg, 1);
|
||||||
changeCss('.attachment .attachment__container', 'border-left-color:' + theme.sidebarHeaderBg, 1);
|
changeCss('.attachment .attachment__container', 'border-left-color:' + theme.sidebarHeaderBg, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -581,7 +580,7 @@ export function applyTheme(theme) {
|
|||||||
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);
|
||||||
changeCss('#navbar .navbar-default .navbar-brand .heading', 'color:' + theme.sidebarHeaderTextColor, 1);
|
changeCss('#navbar .navbar-default .navbar-brand .heading', 'color:' + theme.sidebarHeaderTextColor, 1);
|
||||||
changeCss('#navbar .navbar-default .navbar-toggle .icon-bar, ', 'background:' + theme.sidebarHeaderTextColor, 1);
|
changeCss('#navbar .navbar-default .navbar-toggle .icon-bar, ', 'background:' + theme.sidebarHeaderTextColor, 1);
|
||||||
changeCss('@media(max-width: 768px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2);
|
changeCss('@media(max-width: 960px){.search-bar__container', 'color:' + theme.sidebarHeaderTextColor, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (theme.onlineIndicator) {
|
if (theme.onlineIndicator) {
|
||||||
@@ -614,17 +613,16 @@ export function applyTheme(theme) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (theme.centerChannelColor) {
|
if (theme.centerChannelColor) {
|
||||||
|
changeCss('.sidebar--left, .sidebar--right .sidebar--right__header', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||||
changeCss('.app__content, .post-create__container .post-create-body .btn-file, .post-create__container .post-create-footer .msg-typing, .command-name, .modal .modal-content, .dropdown-menu, .popover, .mentions-name, .tip-overlay', 'color:' + theme.centerChannelColor, 1);
|
changeCss('.app__content, .post-create__container .post-create-body .btn-file, .post-create__container .post-create-footer .msg-typing, .command-name, .modal .modal-content, .dropdown-menu, .popover, .mentions-name, .tip-overlay', 'color:' + theme.centerChannelColor, 1);
|
||||||
changeCss('#post-create', 'color:' + theme.centerChannelColor, 2);
|
changeCss('#post-create', 'color:' + theme.centerChannelColor, 2);
|
||||||
changeCss('.channel-header__links a', 'fill:' + changeOpacity(theme.centerChannelColor, 0.9), 1);
|
|
||||||
changeCss('.channel-header__links a:hover, .channel-header__links a:active', 'fill:' + theme.centerChannelColor, 2);
|
|
||||||
changeCss('.mentions--top, .command-box', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3);
|
changeCss('.mentions--top, .command-box', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 3);
|
||||||
changeCss('.mentions--top, .command-box', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2);
|
changeCss('.mentions--top, .command-box', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 2);
|
||||||
changeCss('.mentions--top, .command-box', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1);
|
changeCss('.mentions--top, .command-box', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.2) + ' 1px -3px 12px', 1);
|
||||||
changeCss('.dropdown-menu, .popover ', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 3);
|
changeCss('.dropdown-menu, .popover ', 'box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 3);
|
||||||
changeCss('.dropdown-menu, .popover ', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 2);
|
changeCss('.dropdown-menu, .popover ', '-webkit-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 2);
|
||||||
changeCss('.dropdown-menu, .popover ', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 1);
|
changeCss('.dropdown-menu, .popover ', '-moz-box-shadow:' + changeOpacity(theme.centerChannelColor, 0.1) + ' 0px 6px 12px', 1);
|
||||||
changeCss('.post-body hr, .loading-screen .loading__content .round, .tutorial__circles .circle', 'background:' + theme.centerChannelColor, 1);
|
changeCss('.post__body hr, .loading-screen .loading__content .round, .tutorial__circles .circle', 'background:' + theme.centerChannelColor, 1);
|
||||||
changeCss('.channel-header .heading', 'color:' + theme.centerChannelColor, 1);
|
changeCss('.channel-header .heading', 'color:' + theme.centerChannelColor, 1);
|
||||||
changeCss('.markdown__table tbody tr:nth-child(2n)', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
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__info>div.dropdown .header-dropdown__icon', 'color:' + changeOpacity(theme.centerChannelColor, 0.8), 1);
|
||||||
@@ -642,25 +640,23 @@ export function applyTheme(theme) {
|
|||||||
changeCss('.post-image__column .post-image__details', 'color:' + theme.centerChannelColor, 2);
|
changeCss('.post-image__column .post-image__details', 'color:' + theme.centerChannelColor, 2);
|
||||||
changeCss('.post-image__column a, .post-image__column a:hover, .post-image__column a:focus', 'color:' + theme.centerChannelColor, 1);
|
changeCss('.post-image__column a, .post-image__column a:hover, .post-image__column a:focus', 'color:' + theme.centerChannelColor, 1);
|
||||||
changeCss('.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2);
|
changeCss('.search-bar__container .search__form .search-bar, .form-control', 'color:' + theme.centerChannelColor, 2);
|
||||||
changeCss('@media(max-width: 768px){.search-bar__container .search__form .search-bar', 'background:' + changeOpacity(theme.centerChannelColor, 0.2) + '; color: inherit;', 1);
|
changeCss('@media(max-width: 960px){.search-bar__container .search__form .search-bar', 'background:' + changeOpacity(theme.centerChannelColor, 0.2) + '; color: inherit;', 1);
|
||||||
changeCss('.input-group-addon, .search-bar__container .search__form, .form-control', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
changeCss('.input-group-addon, .search-bar__container .search__form, .form-control', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||||
changeCss('.form-control:focus, .channel-header__links', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
|
changeCss('.form-control:focus', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
|
||||||
changeCss('.attachment .attachment__content', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
|
changeCss('.attachment .attachment__content', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 1);
|
||||||
changeCss('.channel-intro .channel-intro__content, .webhooks__container', 'background:' + changeOpacity(theme.centerChannelColor, 0.05), 1);
|
changeCss('.channel-intro .channel-intro__content, .webhooks__container', 'background:' + changeOpacity(theme.centerChannelColor, 0.05), 1);
|
||||||
changeCss('.date-separator .separator__text', 'color:' + theme.centerChannelColor, 2);
|
changeCss('.date-separator .separator__text', 'color:' + theme.centerChannelColor, 2);
|
||||||
changeCss('.date-separator .separator__hr, .modal-footer, .modal .custom-textarea, .post-right__container .post.post--root hr, .search-item-container', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
changeCss('.date-separator .separator__hr, .modal-footer, .modal .custom-textarea, .post-right__container .post.post--root hr, .search-item-container', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||||
changeCss('.modal .custom-textarea:focus', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.3), 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', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
changeCss('.channel-intro, .settings-modal .settings-table .settings-content .divider-dark, hr, .settings-modal .settings-table .settings-links', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.2), 1);
|
||||||
changeCss('.post.current--user .post-body, .post.post--comment.other--root.current--user .post-comment, pre', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
changeCss('.post.current--user .post__body, .post.post--comment.other--root.current--user .post-comment, pre', 'background:' + changeOpacity(theme.centerChannelColor, 0.07), 1);
|
||||||
changeCss('.post.current--user .post-body, .post.post--comment.other--root.current--user .post-comment, .post.post--comment.other--root .post-comment, .post.same--root .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('.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: 1440px){.post.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2);
|
|
||||||
changeCss('@media(max-width: 1440px){.post.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2);
|
|
||||||
changeCss('@media(max-width: 1800px){.inner__wrap.move--left .post.post--comment.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 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, .channel-header__links a:hover, .channel-header__links a:active, .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, .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('.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, .mentions-focus, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
|
changeCss('.command-name:hover, .mentions-name:hover, .mentions-focus, .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover, .bot-indicator', 'background:' + changeOpacity(theme.centerChannelColor, 0.15), 1);
|
||||||
changeCss('code', 'background:' + changeOpacity(theme.centerChannelColor, 0.1), 1);
|
changeCss('code', 'background:' + changeOpacity(theme.centerChannelColor, 0.1), 1);
|
||||||
changeCss('.post.current--user:hover .post-body ', 'background: none;', 1);
|
changeCss('.post.current--user:hover .post__body ', 'background: none;', 1);
|
||||||
changeCss('.sidebar--right', 'color:' + theme.centerChannelColor, 2);
|
changeCss('.sidebar--right', 'color:' + theme.centerChannelColor, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ img {
|
|||||||
a {
|
a {
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
color: $primary-color;
|
color: $primary-color;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:focus, a:hover {
|
a:focus, a:hover {
|
||||||
|
|||||||
@@ -54,9 +54,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.channel-intro {
|
.channel-intro {
|
||||||
padding-bottom:5px;
|
margin: 0 auto 35px;
|
||||||
margin: 0 1em 35px;
|
padding: 0 1em 5px;
|
||||||
max-width: 850px;
|
max-width: 1000px;
|
||||||
border-bottom: 1px solid lightgrey;
|
border-bottom: 1px solid lightgrey;
|
||||||
.intro-links {
|
.intro-links {
|
||||||
margin: 0 1.5em 10px 0;
|
margin: 0 1.5em 10px 0;
|
||||||
@@ -216,7 +216,6 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 56px;
|
line-height: 56px;
|
||||||
#member_popover {
|
#member_popover {
|
||||||
margin-right: 5px;
|
|
||||||
width: 45px;
|
width: 45px;
|
||||||
color: #999;
|
color: #999;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -292,20 +291,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.channel-header__links {
|
.channel-header__links {
|
||||||
height: 32px;
|
height: 30px;
|
||||||
width: 32px;
|
width: 24px;
|
||||||
@include border-radius(50px);
|
line-height: 26px;
|
||||||
border: 1px solid #ccc;
|
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
|
font-size: 22px;
|
||||||
> a {
|
> a {
|
||||||
@include border-radius(50px);
|
color: inherit;
|
||||||
height: 100%;
|
text-decoration: none;
|
||||||
display: block;
|
@include opacity(0.6);
|
||||||
@include single-transition(all, 0.1s, ease-in);
|
@include single-transition(all, 0.1s, ease-in);
|
||||||
}
|
&:hover {
|
||||||
svg {
|
@include opacity(1);
|
||||||
vertical-align: top;
|
}
|
||||||
margin: 7px 0 0 0px;
|
&:focus {
|
||||||
fill: inherit;
|
color: inherit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-body {
|
.post__body {
|
||||||
hr {
|
hr {
|
||||||
height: 4px;
|
height: 4px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|||||||
@@ -47,23 +47,23 @@ body.ios {
|
|||||||
|
|
||||||
.textarea-wrapper {
|
.textarea-wrapper {
|
||||||
position:relative;
|
position:relative;
|
||||||
.textbox-preview-area {
|
.textbox-preview-area {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
.textbox-preview-link, .textbox-help-link {
|
.textbox-preview-link, .textbox-help-link {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 3;
|
z-index: 3;
|
||||||
bottom: -23px;
|
bottom: -23px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.textbox-preview-link {
|
.textbox-preview-link {
|
||||||
right: 45px;
|
right: 45px;
|
||||||
}
|
}
|
||||||
.textbox-help-link {
|
.textbox-help-link {
|
||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
@@ -206,6 +206,7 @@ body.ios {
|
|||||||
@include flex(1 1 auto);
|
@include flex(1 1 auto);
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
|
|
||||||
.post-list-holder-by-time {
|
.post-list-holder-by-time {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
@@ -224,31 +225,7 @@ body.ios {
|
|||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post-list__table {
|
|
||||||
display: table;
|
|
||||||
table-layout: fixed;
|
|
||||||
width: 100%;
|
|
||||||
min-height: 100%;
|
|
||||||
height: 100%;
|
|
||||||
.post-list__content {
|
|
||||||
display: table-cell;
|
|
||||||
vertical-align: bottom;
|
|
||||||
div {
|
|
||||||
&:last-child {
|
|
||||||
.post {
|
|
||||||
.post-header {
|
|
||||||
.post-header-col.post-header__reply {
|
|
||||||
.dropdown-menu {
|
|
||||||
top: auto;
|
|
||||||
bottom: 25px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.more-messages-text {
|
.more-messages-text {
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
@@ -269,13 +246,13 @@ body.ios {
|
|||||||
.post-create__container {
|
.post-create__container {
|
||||||
form {
|
form {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0 1em;
|
padding: 0.5em 14px 0;
|
||||||
margin: 0;
|
margin: 0 auto;
|
||||||
|
max-width: 1028px;
|
||||||
}
|
}
|
||||||
.post-create-body {
|
.post-create-body {
|
||||||
max-width: 850px;
|
|
||||||
padding: 0 0 2px;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
padding: 0 0 2px;
|
||||||
.post-body__cell {
|
.post-body__cell {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -355,87 +332,53 @@ body.ios {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post-list__table {
|
||||||
|
display: table;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100%;
|
||||||
|
height: 100%;
|
||||||
|
.post-list__content {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: bottom;
|
||||||
|
> div:last-child {
|
||||||
|
.dropdown-menu {
|
||||||
|
top: auto;
|
||||||
|
bottom: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.post {
|
.post {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
padding: 8px 1em;
|
padding: 8px 1em 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
@include legacy-pie-clearfix;
|
@include legacy-pie-clearfix;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
.post-header .post-header-col.post-header__reply {
|
.dropdown, .comment-icon__container {
|
||||||
.dropdown, .comment-icon__container {
|
visibility: visible;
|
||||||
@include opacity(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
background: #f5f5f5;
|
|
||||||
}
|
|
||||||
&.current--user {
|
|
||||||
.post-body {
|
|
||||||
@include border-radius(4px);
|
|
||||||
background: rgba(#000, 0.05);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.post--comment {
|
|
||||||
&.other--root {
|
ul {
|
||||||
.post-comment {
|
margin: 0;
|
||||||
border-left: 4px solid #EEE;
|
padding: 0;
|
||||||
padding: 4px 0 6px 10px;
|
list-style: none;
|
||||||
margin: 0 0 0 30px;
|
|
||||||
@include border-radius(0 4px 4px 0);
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
background: transparent;
|
|
||||||
margin: 0;
|
|
||||||
padding: 1px 0px;
|
|
||||||
}
|
|
||||||
&.current--user {
|
|
||||||
.post-comment {
|
|
||||||
background: #f5f5f5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.same--root {
|
|
||||||
.post-body {
|
|
||||||
@include border-radius(0 4px 4px 0);
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
border-left: 4px solid #EEE;
|
|
||||||
width: 570px;
|
|
||||||
margin-left: 30px;
|
|
||||||
padding-left: 10px;
|
|
||||||
.post-link {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.same--root {
|
|
||||||
.comment-icon__container {
|
|
||||||
@include opacity(0);
|
|
||||||
}
|
|
||||||
div.post-profile-img__container {
|
|
||||||
height: 1px;
|
|
||||||
.post-profile-img {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post__content {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
&.same--user {
|
|
||||||
.post__content {
|
|
||||||
padding-left: 46px;
|
|
||||||
}
|
|
||||||
.post-header-post {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 0 0 1em;
|
margin: 0 0 1em;
|
||||||
line-height: 1.6em;
|
line-height: 1.6em;
|
||||||
font-size: 0.97em;
|
font-size: 0.97em;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
@@ -444,6 +387,216 @@ body.ios {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.post--root {
|
||||||
|
|
||||||
|
.comment-icon__container {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.same--root {
|
||||||
|
|
||||||
|
&.same--user {
|
||||||
|
padding: 0 1em;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
.post__time {
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
@include opacity(0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__header {
|
||||||
|
margin: 0;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
.col__name {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col__reply {
|
||||||
|
top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__time {
|
||||||
|
top: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__time {
|
||||||
|
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;
|
||||||
|
font-size: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: -3px;
|
||||||
|
left: 17px;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 37px;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
@include opacity(0);
|
||||||
|
content: "\f017";
|
||||||
|
content: "\f017";
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.post--comment {
|
||||||
|
|
||||||
|
.post__link {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__img {
|
||||||
|
img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.post--comment {
|
||||||
|
.post__body {
|
||||||
|
border-left: 4px solid #ddd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.other--root {
|
||||||
|
|
||||||
|
.comment-icon__container {
|
||||||
|
|
||||||
|
&.icon--show {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&.post--comment {
|
||||||
|
|
||||||
|
.post__header {
|
||||||
|
|
||||||
|
.col__reply {
|
||||||
|
top: 53px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__content {
|
||||||
|
margin: 0 auto;
|
||||||
|
position: relative;
|
||||||
|
max-width: 1000px;
|
||||||
|
display: table;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
> div {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__header {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col__name {
|
||||||
|
margin-right: 7px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col__reply {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 30px;
|
||||||
|
width: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__img {
|
||||||
|
width: 46px;
|
||||||
|
img {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
vertical-align: inherit;
|
||||||
|
@include border-radius(50px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown {
|
||||||
|
display: inline-block;
|
||||||
|
visibility: hidden;
|
||||||
|
top: -1px;
|
||||||
|
float: right;
|
||||||
|
|
||||||
|
.dropdown-menu {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
min-width: 130px;
|
||||||
|
padding: 2px 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 5px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__dropdown {
|
||||||
|
&:after {
|
||||||
|
content: '[...]';
|
||||||
|
top: -1px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__body {
|
||||||
|
word-wrap: break-word;
|
||||||
|
padding: 0.2em 0.5em 0em;
|
||||||
|
@include legacy-pie-clearfix;
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__link {
|
||||||
|
margin: 2px 0 5px;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__time {
|
||||||
|
font-size: 13px;
|
||||||
|
@include opacity(0.6);
|
||||||
|
}
|
||||||
|
|
||||||
.post-loading-gif {
|
.post-loading-gif {
|
||||||
height:10px;
|
height:10px;
|
||||||
width:10px;
|
width:10px;
|
||||||
@@ -459,8 +612,15 @@ body.ios {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment-icon__container {
|
.comment-icon__container {
|
||||||
margin-left: 7px;
|
margin-right: 7px;
|
||||||
fill: $primary-color;
|
fill: $primary-color;
|
||||||
|
display: inline-block;
|
||||||
|
visibility: hidden;
|
||||||
|
|
||||||
|
&.icon--visible {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
.comment-icon {
|
.comment-icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
top: 3px;
|
top: 3px;
|
||||||
@@ -468,132 +628,13 @@ body.ios {
|
|||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
fill: inherit;
|
fill: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
path {
|
path {
|
||||||
fill: inherit;
|
fill: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
> div {
|
|
||||||
&.post-profile-img__container {
|
|
||||||
float: left;
|
|
||||||
.post-profile-img {
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
margin-right: 10px;
|
|
||||||
vertical-align: inherit;
|
|
||||||
@include border-radius(50px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.post__content {
|
|
||||||
padding-left: 46px;
|
|
||||||
max-width: 100%;
|
|
||||||
@include legacy-pie-clearfix;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-image__columns {
|
|
||||||
@include legacy-pie-clearfix;
|
|
||||||
padding-bottom: 5px;
|
|
||||||
}
|
|
||||||
.post-info--hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
position: relative;
|
|
||||||
z-index: 1;
|
|
||||||
max-width: 100%;
|
|
||||||
width: 600px;
|
|
||||||
float: left;
|
|
||||||
word-wrap: break-word;
|
|
||||||
padding: 0.3em 0.5em 0.1em;
|
|
||||||
margin: -0.3em 0 0;
|
|
||||||
.post-link {
|
|
||||||
@include clearfix;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.post-body--code {
|
|
||||||
font-size: .97em;
|
|
||||||
position:relative;
|
|
||||||
.post-body--code__language {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
background: #fff;
|
|
||||||
cursor: default;
|
|
||||||
padding: 0.3em 0.5em 0.1em;
|
|
||||||
border-bottom-left-radius: 4px;
|
|
||||||
@include opacity(.3);
|
|
||||||
}
|
|
||||||
&.tex .katex-display {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
code {
|
|
||||||
white-space: pre;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.create-reply-form-wrap {
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 5px;
|
|
||||||
form {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.comment-btn {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-header {
|
|
||||||
position: relative;
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0 0 1px;
|
|
||||||
padding-left: 0px;
|
|
||||||
&.post-header-post {
|
|
||||||
position: relative;
|
|
||||||
z-index: 1;
|
|
||||||
width: 200px;
|
|
||||||
text-align: right;
|
|
||||||
float: left;
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
&.post-info {
|
|
||||||
.post-profile-time {
|
|
||||||
vertical-align: top;
|
|
||||||
width: 150px;
|
|
||||||
max-width: 220px;
|
|
||||||
overflow: hidden;
|
|
||||||
display: block;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
margin: 0 0 0 50px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-header-col {
|
|
||||||
vertical-align: top;
|
|
||||||
display: inline-block;
|
|
||||||
margin-right: 10px;
|
|
||||||
&.post-header__reply {
|
|
||||||
position: relative;
|
|
||||||
top: -1px;
|
|
||||||
min-width: 70px;
|
|
||||||
.dropdown-menu {
|
|
||||||
right: 0;
|
|
||||||
left: auto;
|
|
||||||
}
|
|
||||||
.dropdown {
|
|
||||||
min-width: 18px;
|
|
||||||
display: inline-block;
|
|
||||||
@include opacity(0);
|
|
||||||
}
|
|
||||||
.dropdown-toggle:after {
|
|
||||||
content: '[...]';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-profile-time {
|
|
||||||
@include opacity(0.5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-comment {
|
|
||||||
}
|
|
||||||
.web-embed-data {
|
.web-embed-data {
|
||||||
padding: 2px 0 0 10px;
|
padding: 2px 0 0 10px;
|
||||||
background: #f9f9f9;
|
background: #f9f9f9;
|
||||||
@@ -621,22 +662,6 @@ body.ios {
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.msg-typing {
|
|
||||||
margin-top: 2px;
|
|
||||||
margin-left: 5px;
|
|
||||||
color: #a8adb7;
|
|
||||||
}
|
|
||||||
.post-grey {
|
|
||||||
color:lightgrey;
|
|
||||||
}
|
|
||||||
.post-reply {
|
|
||||||
clear: both;
|
|
||||||
width: 100%;
|
|
||||||
word-break: break-word;
|
|
||||||
.btn-file {
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bot-indicator {
|
.bot-indicator {
|
||||||
|
|||||||
@@ -9,28 +9,31 @@
|
|||||||
|
|
||||||
.post-right-comments-container {
|
.post-right-comments-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0;
|
padding: 0.7em 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post {
|
.post {
|
||||||
|
|
||||||
&.post--root {
|
&.post--root {
|
||||||
padding: 1em 1em 0;
|
padding-bottom: 0;
|
||||||
margin: 0 0 1em;
|
}
|
||||||
|
|
||||||
|
.post__header {
|
||||||
|
|
||||||
|
.col__reply {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.post__body {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
hr {
|
|
||||||
border-color: #DDD;
|
|
||||||
margin: 1em 0 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-header {
|
|
||||||
.post-profile-time {
|
|
||||||
width: 200px;
|
|
||||||
display: inline-block;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-create__container {
|
.post-create__container {
|
||||||
|
|||||||
@@ -8,96 +8,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post {
|
|
||||||
&.post--comment {
|
|
||||||
&.same--root {
|
|
||||||
margin-left: 104px;
|
|
||||||
padding-left: 10px;
|
|
||||||
border-left: 4px solid #EEE;
|
|
||||||
div.post-profile-img__container {
|
|
||||||
.post-profile-img {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post__content {
|
|
||||||
width: 825px;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
width: 736px;
|
|
||||||
border: none;
|
|
||||||
margin: 3px 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.other--root {
|
|
||||||
.post-comment {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.same--root {
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
float: none;
|
|
||||||
width: 750px;
|
|
||||||
margin: 3px 0 0;
|
|
||||||
}
|
|
||||||
.post__content {
|
|
||||||
width: 920px;
|
|
||||||
}
|
|
||||||
.post-header {
|
|
||||||
&.post-header-post {
|
|
||||||
z-index: inherit;
|
|
||||||
width: auto;
|
|
||||||
float: none;
|
|
||||||
text-align: left;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.post-info {
|
|
||||||
display: none;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
.post-header-col {
|
|
||||||
&.post-header__reply {
|
|
||||||
float: right;
|
|
||||||
text-align: right;
|
|
||||||
.reply-link {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
.dropdown {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-info--hidden {
|
|
||||||
display: inline;
|
|
||||||
.post-info {
|
|
||||||
display: inline;
|
|
||||||
.tooltip {
|
|
||||||
margin-top: -25px;
|
|
||||||
margin-left: 40px;
|
|
||||||
}
|
|
||||||
.post-profile-time {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 1440px) {
|
@media screen and (max-width: 1440px) {
|
||||||
.post-create__container {
|
|
||||||
.post-create-body {
|
|
||||||
max-width: 810px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.channel-intro {
|
|
||||||
max-width: 810px;
|
|
||||||
}
|
|
||||||
.date-separator, .new-separator {
|
.date-separator, .new-separator {
|
||||||
&.hovered--comment {
|
&.hovered--comment {
|
||||||
&:before, &:after {
|
&:before, &:after {
|
||||||
@@ -105,105 +19,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post {
|
|
||||||
&.same--root.same--user {
|
|
||||||
.post-header-post {
|
|
||||||
visibility: hidden;
|
|
||||||
width: 100%;
|
|
||||||
position: relative;
|
|
||||||
top: -5px;
|
|
||||||
.post-header-col.post-header__name {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
top: -15px;
|
|
||||||
margin-bottom: -10px;
|
|
||||||
}
|
|
||||||
&:hover .post-header-post {
|
|
||||||
visibility: visible;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.post--comment {
|
|
||||||
&.other--root {
|
|
||||||
.post-comment {
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.same--root {
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
margin-left: 104px;
|
|
||||||
padding-left: 10px;
|
|
||||||
border-left: 4px solid #EEE;
|
|
||||||
div.post-profile-img__container {
|
|
||||||
.post-profile-img {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
margin-left: 0;
|
|
||||||
border-left: 0;
|
|
||||||
}
|
|
||||||
&.same--user {
|
|
||||||
.post__content {
|
|
||||||
margin-left: 0;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post__content {
|
|
||||||
width: 810px;
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
width: 736px;
|
|
||||||
border: none;
|
|
||||||
margin: 3px 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post__content {
|
|
||||||
width: 880px;
|
|
||||||
}
|
|
||||||
.post-header {
|
|
||||||
&.post-header-post {
|
|
||||||
z-index: inherit;
|
|
||||||
width: auto;
|
|
||||||
float: none;
|
|
||||||
text-align: left;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
&.post-info {
|
|
||||||
display: none;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
.post-header-col {
|
|
||||||
&.post-header__reply {
|
|
||||||
float: right;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-info--hidden {
|
|
||||||
display: inline;
|
|
||||||
.post-info {
|
|
||||||
display: inline;
|
|
||||||
.tooltip {
|
|
||||||
margin-top: -25px;
|
|
||||||
margin-left: 40px;
|
|
||||||
}
|
|
||||||
.post-profile-time {
|
|
||||||
width: auto;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
margin: 3px 0 0;
|
|
||||||
float: none;
|
|
||||||
width: 750px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1140px) {
|
@media screen and (max-width: 1140px) {
|
||||||
@@ -232,77 +47,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post {
|
|
||||||
.post__content {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.post-header {
|
|
||||||
.post-header-col {
|
|
||||||
&.post-header__reply {
|
|
||||||
.reply-link {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
.dropdown {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 960px) {
|
@media screen and (max-width: 960px) {
|
||||||
.post {
|
|
||||||
.post-header .post-header-col.post-header__reply {
|
|
||||||
.comment-icon__container__hide {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.dropdown {
|
|
||||||
@include opacity(1);
|
|
||||||
}
|
|
||||||
.comment-icon__container__show {
|
|
||||||
@include opacity(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.signup-team__container {
|
.signup-team__container {
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post {
|
.post {
|
||||||
.post-header {
|
|
||||||
.post-header-col {
|
.dropdown, .comment-icon__container {
|
||||||
&.post-header__reply {
|
visibility: visible;
|
||||||
text-align: right;
|
}
|
||||||
display: inline-block;
|
|
||||||
}
|
.post__img {
|
||||||
|
width: 40px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 992px){
|
|
||||||
.modal-lg {
|
|
||||||
width: 700px;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
.post-image__column {
|
||||||
.second-bar {
|
width: 200px;
|
||||||
display: none;
|
height: 95px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-height: 640px) {
|
|
||||||
.signup-team__container {
|
|
||||||
padding: 30px 0;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
font-size: 0.9em;
|
|
||||||
.signup-team__name {
|
|
||||||
font-size: 2em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 768px) {
|
|
||||||
.textarea-wrapper {
|
.textarea-wrapper {
|
||||||
.textbox-preview-link {
|
.textbox-preview-link {
|
||||||
display: none;
|
display: none;
|
||||||
@@ -385,35 +159,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.post {
|
|
||||||
&:hover {
|
|
||||||
background: none;
|
|
||||||
.post-header .post-header-col.post-header__reply {
|
|
||||||
.dropdown-toggle:after {
|
|
||||||
content: '...';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.post--comment {
|
|
||||||
&.same--root {
|
|
||||||
margin-left: 25px;
|
|
||||||
}
|
|
||||||
&.other--root {
|
|
||||||
margin-left: 0;
|
|
||||||
&:hover {
|
|
||||||
background: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-header .post-header-col.post-header__reply {
|
|
||||||
.dropdown-toggle:after {
|
|
||||||
content: '...';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&.same--root.same--user .post__content{
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.signup-team__container {
|
.signup-team__container {
|
||||||
padding: 30px 0;
|
padding: 30px 0;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
@@ -860,24 +605,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.post {
|
|
||||||
.post-profile-img__container {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
&.post--comment {
|
|
||||||
&.other--root {
|
|
||||||
.post-comment {
|
|
||||||
margin-left: 11px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
> div {
|
|
||||||
&.post__content {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.post-comments {
|
.post-comments {
|
||||||
padding: 9px 21px 10px 10px !important;
|
padding: 9px 21px 10px 10px !important;
|
||||||
}
|
}
|
||||||
@@ -958,3 +685,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (min-width: 992px){
|
||||||
|
.modal-lg {
|
||||||
|
width: 700px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.second-bar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-height: 640px) {
|
||||||
|
.signup-team__container {
|
||||||
|
padding: 30px 0;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
font-size: 0.9em;
|
||||||
|
.signup-team__name {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#channel-header .search-bar__container {
|
#channel-header .search-bar__container {
|
||||||
padding: 0 8px 0 0;
|
padding: 0 8px 0 3px;
|
||||||
}
|
}
|
||||||
.search-bar__container {
|
.search-bar__container {
|
||||||
padding: 12px 8px 0 0;
|
padding: 12px 8px 0 0;
|
||||||
|
|||||||
@@ -36,20 +36,6 @@
|
|||||||
height: calc(100% - 56px);
|
height: calc(100% - 56px);
|
||||||
@include border-radius(2px 0 0 0);
|
@include border-radius(2px 0 0 0);
|
||||||
}
|
}
|
||||||
.post {
|
|
||||||
.post-header {
|
|
||||||
.post-header-col {
|
|
||||||
&.post-header__reply {
|
|
||||||
min-width: 30px;
|
|
||||||
text-align: right;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.post-body {
|
|
||||||
margin: 3px 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.sidebar__overlay {
|
.sidebar__overlay {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user