Posts structure improvement
Этот коммит содержится в:
@@ -27,6 +27,7 @@ const ActionTypes = Constants.ActionTypes;
|
||||
|
||||
const Popover = ReactBootstrap.Popover;
|
||||
const OverlayTrigger = ReactBootstrap.OverlayTrigger;
|
||||
const Tooltip = ReactBootstrap.Tooltip;
|
||||
|
||||
export default class ChannelHeader extends React.Component {
|
||||
constructor(props) {
|
||||
@@ -121,6 +122,7 @@ export default class ChannelHeader extends React.Component {
|
||||
}
|
||||
|
||||
const channel = this.state.channel;
|
||||
const recentMentionsTooltip = <Tooltip id='recentMentionsTooltip'>{'Recent Mentions'}</Tooltip>;
|
||||
const popoverContent = (
|
||||
<Popover
|
||||
id='hader-popover'
|
||||
@@ -382,31 +384,19 @@ export default class ChannelHeader extends React.Component {
|
||||
<th className='search-bar__container'><NavbarSearchBox /></th>
|
||||
<th>
|
||||
<div className='dropdown channel-header__links'>
|
||||
<a
|
||||
href='#'
|
||||
className='dropdown-toggle theme'
|
||||
type='button'
|
||||
id='channel_header_right_dropdown'
|
||||
data-toggle='dropdown'
|
||||
aria-expanded='true'
|
||||
<OverlayTrigger
|
||||
delayShow={400}
|
||||
placement='bottom'
|
||||
overlay={recentMentionsTooltip}
|
||||
>
|
||||
<span dangerouslySetInnerHTML={{__html: Constants.MENU_ICON}} />
|
||||
</a>
|
||||
<ul
|
||||
className='dropdown-menu dropdown-menu-right'
|
||||
role='menu'
|
||||
aria-labelledby='channel_header_right_dropdown'
|
||||
>
|
||||
<li role='presentation'>
|
||||
<a
|
||||
role='menuitem'
|
||||
href='#'
|
||||
onClick={this.searchMentions}
|
||||
>
|
||||
{'Recent Mentions'}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a
|
||||
href='#'
|
||||
type='button'
|
||||
onClick={this.searchMentions}
|
||||
>
|
||||
{'@'}
|
||||
</a>
|
||||
</OverlayTrigger>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
@@ -141,6 +141,8 @@ export default class Post extends React.Component {
|
||||
var postType = '';
|
||||
if (type !== 'Post') {
|
||||
postType = 'post--comment';
|
||||
} else if (commentCount > 0) {
|
||||
postType = 'post--root';
|
||||
}
|
||||
|
||||
var currentUserCss = '';
|
||||
@@ -170,14 +172,11 @@ export default class Post extends React.Component {
|
||||
}
|
||||
|
||||
profilePic = (
|
||||
<div className='post-profile-img__container'>
|
||||
<img
|
||||
className='post-profile-img'
|
||||
src={src}
|
||||
height='36'
|
||||
width='36'
|
||||
/>
|
||||
</div>
|
||||
<img
|
||||
src={src}
|
||||
height='36'
|
||||
width='36'
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -187,32 +186,26 @@ export default class Post extends React.Component {
|
||||
id={'post_' + post.id}
|
||||
className={'post ' + sameUserClass + ' ' + rootUser + ' ' + postType + ' ' + currentUserCss}
|
||||
>
|
||||
{profilePic}
|
||||
<div className='post__content'>
|
||||
<PostHeader
|
||||
ref='header'
|
||||
post={post}
|
||||
sameRoot={this.props.sameRoot}
|
||||
commentCount={commentCount}
|
||||
handleCommentClick={this.handleCommentClick}
|
||||
isLastComment={this.props.isLastComment}
|
||||
/>
|
||||
<PostBody
|
||||
post={post}
|
||||
sameRoot={this.props.sameRoot}
|
||||
parentPost={parentPost}
|
||||
posts={posts}
|
||||
handleCommentClick={this.handleCommentClick}
|
||||
retryPost={this.retryPost}
|
||||
/>
|
||||
<PostInfo
|
||||
ref='info'
|
||||
post={post}
|
||||
sameRoot={this.props.sameRoot}
|
||||
commentCount={commentCount}
|
||||
handleCommentClick={this.handleCommentClick}
|
||||
allowReply='true'
|
||||
/>
|
||||
<div className='post__img'>{profilePic}</div>
|
||||
<div>
|
||||
<PostHeader
|
||||
ref='header'
|
||||
post={post}
|
||||
sameRoot={this.props.sameRoot}
|
||||
commentCount={commentCount}
|
||||
handleCommentClick={this.handleCommentClick}
|
||||
isLastComment={this.props.isLastComment}
|
||||
/>
|
||||
<PostBody
|
||||
post={post}
|
||||
sameRoot={this.props.sameRoot}
|
||||
parentPost={parentPost}
|
||||
posts={posts}
|
||||
handleCommentClick={this.handleCommentClick}
|
||||
retryPost={this.retryPost}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -257,7 +257,7 @@ export default class PostBody extends React.Component {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='post-comment'>
|
||||
<div>
|
||||
<h4>
|
||||
<span className='video-type'>{header}</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 = (
|
||||
<p className='post-link'>
|
||||
<div className='post__link'>
|
||||
<span>
|
||||
{'Commented on '}{name}{apostrophe}{' message: '}
|
||||
<a
|
||||
@@ -339,15 +339,13 @@ export default class PostBody extends React.Component {
|
||||
{message}
|
||||
</a>
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
);
|
||||
|
||||
postClass += ' post-comment';
|
||||
}
|
||||
|
||||
let loading;
|
||||
if (post.state === Constants.POST_FAILED) {
|
||||
postClass += ' post-fail';
|
||||
postClass += ' post--fail';
|
||||
loading = (
|
||||
<a
|
||||
className='theme post-retry pull-right'
|
||||
@@ -379,25 +377,27 @@ export default class PostBody extends React.Component {
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='post-body'>
|
||||
<div>
|
||||
{comment}
|
||||
<div
|
||||
key={`${post.id}_message`}
|
||||
id={`${post.id}_message`}
|
||||
className={postClass}
|
||||
>
|
||||
{loading}
|
||||
<span
|
||||
ref='message_span'
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.state.message)}}
|
||||
<div className='post__body'>
|
||||
<div
|
||||
key={`${post.id}_message`}
|
||||
id={`${post.id}_message`}
|
||||
className={postClass}
|
||||
>
|
||||
{loading}
|
||||
<span
|
||||
ref='message_span'
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.state.message)}}
|
||||
/>
|
||||
</div>
|
||||
<PostBodyAdditionalContent
|
||||
post={this.state.post}
|
||||
/>
|
||||
{fileAttachmentHolder}
|
||||
{this.embed}
|
||||
</div>
|
||||
<PostBodyAdditionalContent
|
||||
post={this.state.post}
|
||||
/>
|
||||
{fileAttachmentHolder}
|
||||
{this.embed}
|
||||
</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 (
|
||||
<ul className='post-header post-header-post'>
|
||||
<li className='post-header-col post-header__name'><strong>{userProfile}</strong></li>
|
||||
<ul className='post__header'>
|
||||
<li className='col col__name'>{userProfile}</li>
|
||||
{botIndicator}
|
||||
<li className='post-info--hidden'>
|
||||
<li className='col'>
|
||||
<PostInfo
|
||||
post={post}
|
||||
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) {
|
||||
return '';
|
||||
}
|
||||
@@ -99,7 +82,7 @@ export default class PostInfo extends React.Component {
|
||||
<div>
|
||||
<a
|
||||
href='#'
|
||||
className='dropdown-toggle theme'
|
||||
className='dropdown-toggle post__dropdown theme'
|
||||
type='button'
|
||||
data-toggle='dropdown'
|
||||
aria-expanded='false'
|
||||
@@ -116,23 +99,27 @@ export default class PostInfo extends React.Component {
|
||||
render() {
|
||||
var post = this.props.post;
|
||||
var comments = '';
|
||||
var lastCommentClass = ' comment-icon__container__hide';
|
||||
if (this.props.isLastComment) {
|
||||
lastCommentClass = ' comment-icon__container__show';
|
||||
var showCommentClass = '';
|
||||
var commentCountText = this.props.commentCount;
|
||||
|
||||
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 = (
|
||||
<a
|
||||
href='#'
|
||||
className={'comment-icon__container theme' + lastCommentClass}
|
||||
className={'comment-icon__container' + showCommentClass}
|
||||
onClick={this.props.handleCommentClick}
|
||||
>
|
||||
<span
|
||||
className='comment-icon'
|
||||
dangerouslySetInnerHTML={{__html: Constants.COMMENT_ICON}}
|
||||
/>
|
||||
{this.props.commentCount}
|
||||
{commentCountText}
|
||||
</a>
|
||||
);
|
||||
}
|
||||
@@ -140,17 +127,17 @@ export default class PostInfo extends React.Component {
|
||||
var dropdown = this.createDropdown();
|
||||
|
||||
return (
|
||||
<ul className='post-header post-info'>
|
||||
<li className='post-header-col'>
|
||||
<ul className='post__header post__header--info'>
|
||||
<li className='col'>
|
||||
<TimeSince
|
||||
eventTime={post.create_at}
|
||||
/>
|
||||
</li>
|
||||
<li className='post-header-col post-header__reply'>
|
||||
<li className='col col__reply'>
|
||||
{comments}
|
||||
<div className='dropdown'>
|
||||
{dropdown}
|
||||
</div>
|
||||
{comments}
|
||||
</li>
|
||||
</ul>
|
||||
);
|
||||
|
||||
@@ -131,7 +131,7 @@ export default class RhsComment extends React.Component {
|
||||
<div className='dropdown'>
|
||||
<a
|
||||
href='#'
|
||||
className='dropdown-toggle theme'
|
||||
className='post__dropdown dropdown-toggle'
|
||||
type='button'
|
||||
data-toggle='dropdown'
|
||||
aria-expanded='false'
|
||||
@@ -193,38 +193,39 @@ export default class RhsComment extends React.Component {
|
||||
|
||||
return (
|
||||
<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'>
|
||||
<ul className='post-header'>
|
||||
<li className='post-header-col'>
|
||||
<strong><UserProfile userId={post.user_id} /></strong>
|
||||
</li>
|
||||
<li className='post-header-col'>
|
||||
<time className='post-profile-time'>
|
||||
{Utils.displayCommentDateTime(post.create_at)}
|
||||
</time>
|
||||
</li>
|
||||
<li className='post-header-col post-header__reply'>
|
||||
{dropdown}
|
||||
</li>
|
||||
</ul>
|
||||
<div className='post-body'>
|
||||
<div className={postClass}>
|
||||
{loading}
|
||||
<div
|
||||
ref='message_holder'
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||
/>
|
||||
<div className='post__img'>
|
||||
<img
|
||||
src={'/api/v1/users/' + 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={post.user_id} /></strong>
|
||||
</li>
|
||||
<li className='col'>
|
||||
<time className='post__time'>
|
||||
{Utils.displayCommentDateTime(post.create_at)}
|
||||
</time>
|
||||
</li>
|
||||
<li className='col col__reply'>
|
||||
{dropdown}
|
||||
</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>
|
||||
{fileAttachment}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -66,7 +66,7 @@ export default class RhsRootPost extends React.Component {
|
||||
ownerOptions = (
|
||||
<div>
|
||||
<a href='#'
|
||||
className='dropdown-toggle theme'
|
||||
className='post__dropdown dropdown-toggle'
|
||||
type='button'
|
||||
data-toggle='dropdown'
|
||||
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();
|
||||
@@ -140,47 +140,47 @@ export default class RhsRootPost extends React.Component {
|
||||
}
|
||||
|
||||
const profilePic = (
|
||||
<div className='post-profile-img__container'>
|
||||
<img
|
||||
className='post-profile-img'
|
||||
src={src}
|
||||
height='36'
|
||||
width='36'
|
||||
/>
|
||||
</div>
|
||||
<img
|
||||
className='post-profile-img'
|
||||
src={src}
|
||||
height='36'
|
||||
width='36'
|
||||
/>
|
||||
);
|
||||
|
||||
return (
|
||||
<div className={'post post--root ' + currentUserCss}>
|
||||
<div className='post-right-channel__name'>{channelName}</div>
|
||||
<div className='post-profile-img__container'>
|
||||
{profilePic}
|
||||
</div>
|
||||
<div className='post__content'>
|
||||
<ul className='post-header'>
|
||||
<li className='post-header-col'><strong>{userProfile}</strong></li>
|
||||
{botIndicator}
|
||||
<li className='post-header-col'>
|
||||
<time className='post-profile-time'>
|
||||
{utils.displayCommentDateTime(post.create_at)}
|
||||
</time>
|
||||
</li>
|
||||
<li className='post-header-col post-header__reply'>
|
||||
<div className='dropdown'>
|
||||
{ownerOptions}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div className='post-body'>
|
||||
<div
|
||||
ref='message_holder'
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||
/>
|
||||
<PostBodyAdditionalContent
|
||||
post={post}
|
||||
/>
|
||||
{fileAttachment}
|
||||
<div className='post__img'>
|
||||
{profilePic}
|
||||
</div>
|
||||
<div>
|
||||
<ul className='post__header'>
|
||||
<li className='col__name'>{userProfile}</li>
|
||||
{botIndicator}
|
||||
<li className='col'>
|
||||
<time className='post__time'>
|
||||
{utils.displayCommentDateTime(post.create_at)}
|
||||
</time>
|
||||
</li>
|
||||
<li className='col col__reply'>
|
||||
<div className='dropdown'>
|
||||
{ownerOptions}
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div className='post__body'>
|
||||
<div
|
||||
ref='message_holder'
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||
/>
|
||||
<PostBodyAdditionalContent
|
||||
post={post}
|
||||
/>
|
||||
{fileAttachment}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
@@ -74,29 +74,30 @@ export default class SearchResultsItem extends React.Component {
|
||||
onClick={this.handleClick}
|
||||
>
|
||||
<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'>
|
||||
<ul className='post-header'>
|
||||
<li className='post-header-col'><strong><UserProfile userId={this.props.post.user_id} /></strong></li>
|
||||
<li className='post-header-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 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'>
|
||||
{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>
|
||||
);
|
||||
|
||||
@@ -34,7 +34,7 @@ export default class TimeSince extends React.Component {
|
||||
placement='top'
|
||||
overlay={tooltip}
|
||||
>
|
||||
<time className='post-profile-time'>
|
||||
<time className='post__time'>
|
||||
{Utils.displayDateTime(this.props.eventTime)}
|
||||
</time>
|
||||
</OverlayTrigger>
|
||||
|
||||
@@ -14,7 +14,10 @@ export default class CustomThemeChooser extends React.Component {
|
||||
this.state = {};
|
||||
}
|
||||
componentDidMount() {
|
||||
$('.color-picker').colorpicker().on('changeColor', this.onPickerChange);
|
||||
$('.color-picker').colorpicker({
|
||||
format: 'hex'
|
||||
});
|
||||
$('.color-picker').on('changeColor', this.onPickerChange);
|
||||
}
|
||||
onPickerChange(e) {
|
||||
const theme = this.props.theme;
|
||||
|
||||
@@ -205,6 +205,7 @@ export function createStandardIntroMessage(channel, showInviteModal) {
|
||||
<i className='fa fa-pencil'></i>{'Set a header'}
|
||||
</a>
|
||||
<a
|
||||
className='intro-links'
|
||||
href='#'
|
||||
onClick={showInviteModal}
|
||||
>
|
||||
|
||||
@@ -538,12 +538,11 @@ export function applyTheme(theme) {
|
||||
|
||||
if (theme.sidebarText) {
|
||||
changeCss('.sidebar--left .nav-pills__container li>a, .sidebar--right, .settings-modal .nav-pills>li a, .sidebar--menu', 'color:' + changeOpacity(theme.sidebarText, 0.6), 1);
|
||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li>a', 'color:' + theme.sidebarText, 1);
|
||||
changeCss('@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 .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('@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) {
|
||||
@@ -552,7 +551,7 @@ export function applyTheme(theme) {
|
||||
|
||||
if (theme.sidebarTextHoverBg) {
|
||||
changeCss('.sidebar--left .nav-pills__container li>a:hover, .sidebar--left .nav-pills__container li>a:focus, .settings-modal .nav-pills>li:hover a, .settings-modal .nav-pills>li:focus a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
changeCss('@media(max-width: 768px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
changeCss('@media(max-width: 960px){.settings-modal .settings-table .nav>li:hover a', 'background:' + theme.sidebarTextHoverBg, 1);
|
||||
}
|
||||
|
||||
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('.modal .modal-header', '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);
|
||||
}
|
||||
|
||||
@@ -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('#navbar .navbar-default .navbar-brand .heading', 'color:' + 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) {
|
||||
@@ -614,17 +613,16 @@ export function applyTheme(theme) {
|
||||
}
|
||||
|
||||
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('#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', '-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('.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 ', '-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('.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);
|
||||
@@ -642,25 +640,23 @@ export function applyTheme(theme) {
|
||||
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('.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('.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('.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__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('.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, .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('@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('.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.same--root.post--comment .post__body, .modal .more-table tbody>tr td, .member-div:first-child, .member-div, .access-history__table .access__report, .activity-log__table', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.1), 2);
|
||||
changeCss('@media(max-width: 1800px){.inner__wrap.move--left .post.post--comment.same--root', 'border-color:' + changeOpacity(theme.centerChannelColor, 0.07), 2);
|
||||
changeCss('.post:hover, .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('.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('.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);
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ img {
|
||||
a {
|
||||
word-break: break-word;
|
||||
color: $primary-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
a:focus, a:hover {
|
||||
|
||||
@@ -54,9 +54,9 @@
|
||||
}
|
||||
|
||||
.channel-intro {
|
||||
padding-bottom:5px;
|
||||
margin: 0 1em 35px;
|
||||
max-width: 850px;
|
||||
margin: 0 auto 35px;
|
||||
padding: 0 1em 5px;
|
||||
max-width: 1000px;
|
||||
border-bottom: 1px solid lightgrey;
|
||||
.intro-links {
|
||||
margin: 0 1.5em 10px 0;
|
||||
@@ -216,7 +216,6 @@
|
||||
font-size: 14px;
|
||||
line-height: 56px;
|
||||
#member_popover {
|
||||
margin-right: 5px;
|
||||
width: 45px;
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
@@ -292,20 +291,21 @@
|
||||
}
|
||||
|
||||
.channel-header__links {
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
@include border-radius(50px);
|
||||
border: 1px solid #ccc;
|
||||
height: 30px;
|
||||
width: 24px;
|
||||
line-height: 26px;
|
||||
margin-right: 10px;
|
||||
font-size: 22px;
|
||||
> a {
|
||||
@include border-radius(50px);
|
||||
height: 100%;
|
||||
display: block;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
@include opacity(0.6);
|
||||
@include single-transition(all, 0.1s, ease-in);
|
||||
}
|
||||
svg {
|
||||
vertical-align: top;
|
||||
margin: 7px 0 0 0px;
|
||||
fill: inherit;
|
||||
&:hover {
|
||||
@include opacity(1);
|
||||
}
|
||||
&:focus {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.post-body {
|
||||
.post__body {
|
||||
hr {
|
||||
height: 4px;
|
||||
padding: 0;
|
||||
|
||||
@@ -47,23 +47,23 @@ body.ios {
|
||||
|
||||
.textarea-wrapper {
|
||||
position:relative;
|
||||
.textbox-preview-area {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0;
|
||||
left: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.textbox-preview-area {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0;
|
||||
left: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.textbox-preview-link, .textbox-help-link {
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
bottom: -23px;
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
bottom: -23px;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.textbox-preview-link {
|
||||
right: 45px;
|
||||
}
|
||||
cursor: pointer;
|
||||
}
|
||||
.textbox-preview-link {
|
||||
right: 45px;
|
||||
}
|
||||
.textbox-help-link {
|
||||
right: 0;
|
||||
}
|
||||
@@ -206,6 +206,7 @@ body.ios {
|
||||
@include flex(1 1 auto);
|
||||
position: relative;
|
||||
overflow-y: hidden;
|
||||
|
||||
.post-list-holder-by-time {
|
||||
background: #fff;
|
||||
overflow-y: scroll;
|
||||
@@ -224,31 +225,7 @@ body.ios {
|
||||
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 {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 5px;
|
||||
@@ -269,13 +246,13 @@ body.ios {
|
||||
.post-create__container {
|
||||
form {
|
||||
width: 100%;
|
||||
padding: 0 1em;
|
||||
margin: 0;
|
||||
padding: 0.5em 14px 0;
|
||||
margin: 0 auto;
|
||||
max-width: 1028px;
|
||||
}
|
||||
.post-create-body {
|
||||
max-width: 850px;
|
||||
padding: 0 0 2px;
|
||||
position: relative;
|
||||
padding: 0 0 2px;
|
||||
.post-body__cell {
|
||||
vertical-align: top;
|
||||
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 {
|
||||
word-wrap: break-word;
|
||||
padding: 8px 1em;
|
||||
padding: 8px 1em 0;
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
@include legacy-pie-clearfix;
|
||||
|
||||
&:hover {
|
||||
.post-header .post-header-col.post-header__reply {
|
||||
.dropdown, .comment-icon__container {
|
||||
@include opacity(1);
|
||||
}
|
||||
}
|
||||
background: #f5f5f5;
|
||||
}
|
||||
&.current--user {
|
||||
.post-body {
|
||||
@include border-radius(4px);
|
||||
background: rgba(#000, 0.05);
|
||||
.dropdown, .comment-icon__container {
|
||||
visibility: visible;
|
||||
}
|
||||
}
|
||||
&.post--comment {
|
||||
&.other--root {
|
||||
.post-comment {
|
||||
border-left: 4px solid #EEE;
|
||||
padding: 4px 0 6px 10px;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 1em;
|
||||
line-height: 1.6em;
|
||||
font-size: 0.97em;
|
||||
white-space: pre-wrap;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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 {
|
||||
height:10px;
|
||||
width:10px;
|
||||
@@ -459,8 +612,15 @@ body.ios {
|
||||
}
|
||||
|
||||
.comment-icon__container {
|
||||
margin-left: 7px;
|
||||
margin-right: 7px;
|
||||
fill: $primary-color;
|
||||
display: inline-block;
|
||||
visibility: hidden;
|
||||
|
||||
&.icon--visible {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.comment-icon {
|
||||
display: inline-block;
|
||||
top: 3px;
|
||||
@@ -468,132 +628,13 @@ body.ios {
|
||||
margin-right: 3px;
|
||||
fill: inherit;
|
||||
}
|
||||
|
||||
path {
|
||||
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 {
|
||||
padding: 2px 0 0 10px;
|
||||
background: #f9f9f9;
|
||||
@@ -621,22 +662,6 @@ body.ios {
|
||||
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 {
|
||||
|
||||
@@ -9,28 +9,31 @@
|
||||
|
||||
.post-right-comments-container {
|
||||
position: relative;
|
||||
padding: 0;
|
||||
padding: 0.7em 0 0;
|
||||
}
|
||||
|
||||
.post {
|
||||
|
||||
&.post--root {
|
||||
padding: 1em 1em 0;
|
||||
margin: 0 0 1em;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.post__header {
|
||||
|
||||
.col__reply {
|
||||
top: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.post__body {
|
||||
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 {
|
||||
|
||||
@@ -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) {
|
||||
.post-create__container {
|
||||
.post-create-body {
|
||||
max-width: 810px;
|
||||
}
|
||||
}
|
||||
.channel-intro {
|
||||
max-width: 810px;
|
||||
}
|
||||
.date-separator, .new-separator {
|
||||
&.hovered--comment {
|
||||
&: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) {
|
||||
@@ -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) {
|
||||
.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 {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.post {
|
||||
.post-header {
|
||||
.post-header-col {
|
||||
&.post-header__reply {
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown, .comment-icon__container {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.post__img {
|
||||
width: 40px;
|
||||
|
||||
img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px){
|
||||
.modal-lg {
|
||||
width: 700px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.second-bar {
|
||||
display: none;
|
||||
.post-image__column {
|
||||
width: 200px;
|
||||
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 {
|
||||
.textbox-preview-link {
|
||||
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 {
|
||||
padding: 30px 0;
|
||||
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 {
|
||||
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 {
|
||||
padding: 0 8px 0 0;
|
||||
padding: 0 8px 0 3px;
|
||||
}
|
||||
.search-bar__container {
|
||||
padding: 12px 8px 0 0;
|
||||
|
||||
@@ -36,20 +36,6 @@
|
||||
height: calc(100% - 56px);
|
||||
@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 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
Ссылка в новой задаче
Block a user