merge
Этот коммит содержится в:
nickago
2015-07-09 13:44:28 -07:00
родитель 38532013fa 763618ef36
Коммит 04b80b6a25
9 изменённых файлов: 140 добавлений и 96 удалений

Просмотреть файл

@@ -61,6 +61,10 @@ module.exports = React.createClass({
render: function() { render: function() {
var server_error = this.state.server_error ? <div className='form-group has-error'><label className='control-label'>{ this.state.server_error }</label></div> : null; var server_error = this.state.server_error ? <div className='form-group has-error'><label className='control-label'>{ this.state.server_error }</label></div> : null;
var outter = this; var outter = this;
var moreChannels;
if (this.state.channels != null)
moreChannels = this.state.channels;
return ( return (
<div className="modal fade" id="more_channels" ref="modal" tabIndex="-1" role="dialog" aria-hidden="true"> <div className="modal fade" id="more_channels" ref="modal" tabIndex="-1" role="dialog" aria-hidden="true">
@@ -75,26 +79,36 @@ module.exports = React.createClass({
<button data-toggle="modal" data-target="#new_channel" data-channeltype={this.state.channel_type} type="button" className="btn btn-primary channel-create-btn" onClick={this.handleNewChannel}>Create New Channel</button> <button data-toggle="modal" data-target="#new_channel" data-channeltype={this.state.channel_type} type="button" className="btn btn-primary channel-create-btn" onClick={this.handleNewChannel}>Create New Channel</button>
</div> </div>
<div className="modal-body"> <div className="modal-body">
{this.state.channels.length ? {moreChannels ?
<table className="more-channel-table table"> (moreChannels.length ?
<tbody> <table className="more-channel-table table">
{this.state.channels.map(function(channel) { <tbody>
return ( {moreChannels.map(function(channel) {
<tr key={channel.id}> return (
<td> <tr key={channel.id}>
<p className="more-channel-name">{channel.display_name}</p> <td>
<p className="more-channel-description">{channel.description}</p> <p className="more-channel-name">{channel.display_name}</p>
</td> <p className="more-channel-description">{channel.description}</p>
<td className="td--action"><button onClick={outter.handleJoin.bind(outter, channel.id)} className="pull-right btn btn-primary">Join</button></td> </td>
</tr> <td className="td--action"><button onClick={outter.handleJoin.bind(outter, channel.id)} className="pull-right btn btn-primary">Join</button></td>
) </tr>
})} )
</tbody> })}
</table> </tbody>
: <div className="no-channel-message"> </table>
<p className="primary-message">No more channels to join</p> : <div className="no-channel-message">
<p className="secondary-message">Click 'Create New Channel' to make a new one</p> <p className="primary-message">No more channels to join</p>
</div>} <p className="secondary-message">Click 'Create New Channel' to make a new one</p>
</div>)
: <div ref="loadingscreen" className="loading-screen loading-screen--channel">
<div className="loading__content">
<h3>Loading</h3>
<div id="round_1" className="round"></div>
<div id="round_2" className="round"></div>
<div id="round_3" className="round"></div>
</div>
</div>
}
{ server_error } { server_error }
</div> </div>
<div className="modal-footer"> <div className="modal-footer">

Просмотреть файл

@@ -123,7 +123,7 @@ module.exports = React.createClass({
$('.post-list__content div .post').removeClass('post--last'); $('.post-list__content div .post').removeClass('post--last');
$('.post-list__content div:last-child .post').addClass('post--last'); $('.post-list__content div:last-child .post').addClass('post--last');
$('body').on('mouseenter mouseleave', '.post:not(.post--comment.same--root)', function(ev){ $('body').on('mouseenter mouseleave', '.post', function(ev){
if(ev.type === 'mouseenter'){ if(ev.type === 'mouseenter'){
$(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--after'); $(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--after');
$(this).parent('div').next('.date-separator, .new-separator').addClass('hovered--before'); $(this).parent('div').next('.date-separator, .new-separator').addClass('hovered--before');
@@ -134,6 +134,17 @@ module.exports = React.createClass({
} }
}); });
$('body').on('mouseenter mouseleave', '.post.post--comment.same--root', function(ev){
if(ev.type === 'mouseenter'){
$(this).parent('div').prev('.date-separator, .new-separator').addClass('hovered--comment');
$(this).parent('div').next('.date-separator, .new-separator').addClass('hovered--comment');
}
else {
$(this).parent('div').prev('.date-separator, .new-separator').removeClass('hovered--comment');
$(this).parent('div').next('.date-separator, .new-separator').removeClass('hovered--comment');
}
});
}, },
componentDidUpdate: function() { componentDidUpdate: function() {
this.resize(); this.resize();

Просмотреть файл

@@ -282,7 +282,6 @@ module.exports = React.createClass({
componentDidMount: function() { componentDidMount: function() {
PostStore.addSelectedPostChangeListener(this._onChange); PostStore.addSelectedPostChangeListener(this._onChange);
PostStore.addChangeListener(this._onChangeAll); PostStore.addChangeListener(this._onChangeAll);
$(".post-right__scroll").perfectScrollbar();
this.resize(); this.resize();
var self = this; var self = this;
$(window).resize(function(){ $(window).resize(function(){
@@ -341,7 +340,7 @@ module.exports = React.createClass({
var height = $(window).height() - $('#error_bar').outerHeight() - 100; var height = $(window).height() - $('#error_bar').outerHeight() - 100;
$(".post-right__scroll").css("height", height + "px"); $(".post-right__scroll").css("height", height + "px");
$(".post-right__scroll").scrollTop(100000); $(".post-right__scroll").scrollTop(100000);
$(".post-right__scroll").perfectScrollbar('update'); $(".post-right__scroll").perfectScrollbar();
}, },
render: function() { render: function() {

Просмотреть файл

@@ -202,7 +202,7 @@ var ChannelStore = assign({}, EventEmitter.prototype, {
BrowserStore.setItem("more_channels", JSON.stringify(channels)); BrowserStore.setItem("more_channels", JSON.stringify(channels));
}, },
_getMoreChannels: function() { _getMoreChannels: function() {
var channels = []; var channels;
try { try {
channels = JSON.parse(BrowserStore.getItem("more_channels")); channels = JSON.parse(BrowserStore.getItem("more_channels"));
} }

Просмотреть файл

@@ -104,7 +104,7 @@ module.exports.updateLastViewedAt = function() {
module.exports.getMoreChannels = function(force) { module.exports.getMoreChannels = function(force) {
if (isCallInProgress("getMoreChannels")) return; if (isCallInProgress("getMoreChannels")) return;
if (ChannelStore.getMoreAll().length == 0 || force) { if (!ChannelStore.getMoreAll() || force) {
callTracker["getMoreChannels"] = utils.getTimestamp(); callTracker["getMoreChannels"] = utils.getTimestamp();
client.getMoreChannels( client.getMoreChannels(

Просмотреть файл

@@ -119,7 +119,7 @@
width: 120px; width: 120px;
height: 100px; height: 100px;
float: left; float: left;
margin: 0 1em 1em 0; margin: 5px 10px 5px 0;
&.custom-file { &.custom-file {
width: 85px; width: 85px;
height: 100px; height: 100px;

Просмотреть файл

@@ -5,10 +5,16 @@
position: absolute; position: absolute;
@include box-sizing(border-box); @include box-sizing(border-box);
text-align: center; text-align: center;
&.loading-screen--channel {
position: relative;
padding: 4em 0 3.5em;
}
.loading__content { .loading__content {
display: table-cell; display: table-cell;
vertical-align: middle; vertical-align: middle;
font-size: 0;
h3 { h3 {
font-size: 16px;
font-weight: 400; font-weight: 400;
margin: 0 0.2em 0; margin: 0 0.2em 0;
display: inline-block; display: inline-block;
@@ -23,7 +29,7 @@
width: 4px; width: 4px;
height: 4px; height: 4px;
display: inline-block; display: inline-block;
margin: 0 1px; margin: 0 2px;
opacity: 0.1; opacity: 0.1;
@include border-radius(10px); @include border-radius(10px);
-moz-animation: move 0.75s infinite linear; -moz-animation: move 0.75s infinite linear;

Просмотреть файл

@@ -41,67 +41,68 @@ body.ios {
min-height:37px; min-height:37px;
} }
#post-list { .date-separator, .new-separator {
.date-separator, .new-separator { text-align: center;
text-align: center; height: 2em;
height: 2em; margin: 0;
position: relative;
&:before, &:after {
content: "";
height: 1em;
position: absolute;
left: 0;
width: 100%;
display: none;
}
&:before {
bottom: 0;
}
&:after {
top: 0;
}
&.hovered--after {
&:before {
background: #f5f5f5;
display: block;
}
}
&.hovered--before {
&:after {
background: #f5f5f5;
display: block;
}
}
.separator__hr {
border-color: #ccc;
margin: 0; margin: 0;
position: relative; position: relative;
&:before, &:after { z-index: 5;
content: ""; top: 1em;
height: 1em;
position: absolute;
left: 0;
width: 100%;
display: none;
}
&:before {
bottom: 0;
}
&:after {
top: 0;
}
&.hovered--after {
&:before {
background: #f5f5f5;
display: block;
}
}
&.hovered--before {
&:after {
background: #f5f5f5;
display: block;
}
}
.separator__hr {
border-color: #ccc;
margin: 0;
position: relative;
z-index: 5;
top: 1em;
}
.separator__text {
line-height: 2em;
color: #555;
background: #FFF;
display: inline-block;
padding: 0 1em;
font-weight: 700;
@include border-radius(50px);
position: relative;
z-index: 5;
font-size: 13px;
}
} }
.new-separator { .separator__text {
.separator__hr { line-height: 2em;
border-color: #FFAF53; color: #555;
} background: #FFF;
.separator__text { display: inline-block;
color: #F80; padding: 0 1em;
font-weight: normal; font-weight: 700;
} @include border-radius(50px);
position: relative;
z-index: 5;
font-size: 13px;
} }
}
.new-separator {
.separator__hr {
border-color: #FFAF53;
}
.separator__text {
color: #F80;
font-weight: normal;
}
}
#post-list {
.post-list-holder-by-time { .post-list-holder-by-time {
background: #fff; background: #fff;
overflow-y: scroll; overflow-y: scroll;
@@ -135,6 +136,7 @@ body.ios {
color: grey; color: grey;
} }
} }
.post-create__container { .post-create__container {
form { form {
width: 100%; width: 100%;
@@ -306,7 +308,7 @@ body.ios {
} }
.post-image__columns { .post-image__columns {
@include legacy-pie-clearfix; @include legacy-pie-clearfix;
margin-top: 1em; padding-bottom: 5px;
} }
.post-info--hidden { .post-info--hidden {
display: none; display: none;
@@ -347,7 +349,7 @@ body.ios {
} }
&.post-info { &.post-info {
.post-profile-time { .post-profile-time {
width: 100px; width: 150px;
display: inline-block; display: inline-block;
margin-left: 50px; margin-left: 50px;
} }

Просмотреть файл

@@ -1,6 +1,13 @@
@media screen and (max-width: 1800px) { @media screen and (max-width: 1800px) {
.inner__wrap { .inner__wrap {
&.move--left { &.move--left {
.date-separator, .new-separator {
&.hovered--comment {
&:before, &:after {
background: none;
}
}
}
.post { .post {
&.same--root { &.same--root {
margin-left: 60px; margin-left: 60px;
@@ -82,6 +89,13 @@
max-width: 810px; max-width: 810px;
} }
} }
.date-separator, .new-separator {
&.hovered--comment {
&:before, &:after {
background: none;
}
}
}
.post { .post {
&.same--root { &.same--root {
margin-left: 60px; margin-left: 60px;
@@ -207,17 +221,15 @@
} }
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
#post-list { .date-separator, .new-separator {
.date-seperator, .new-separator { &.hovered--after {
&.hovered--after { &:before {
&:before { background: none;
background: none;
}
} }
&.hovered--before { }
&:after { &.hovered--before {
background: none; &:after {
} background: none;
} }
} }
} }