Fix subtle bugs, new icon button

master
Eugen Rochko 8 years ago
parent d427df4a8a
commit 4b357ecf98
  1. 10
      app/assets/javascripts/components/components/icon_button.jsx
  2. 2
      app/lib/feed_manager.rb
  3. 2
      app/services/precompute_feed_service.rb

@ -28,15 +28,19 @@ const IconButton = React.createClass({
render () { render () {
const style = { const style = {
display: 'inline-block', display: 'inline-block',
border: 'none',
padding: '0',
background: 'transparent',
fontSize: `${this.props.size}px`, fontSize: `${this.props.size}px`,
width: `${this.props.size}px`, width: `${this.props.size * 1.28571429}px`,
height: `${this.props.size}px`, height: `${this.props.size}px`,
lineHeight: `${this.props.size}px` lineHeight: `${this.props.size}px`,
cursor: 'pointer'
}; };
return ( return (
<button aria-label={this.props.title} title={this.props.title} className={`icon-button ${this.props.active ? 'active' : ''}`} onClick={this.handleClick} style={style}> <button aria-label={this.props.title} title={this.props.title} className={`icon-button ${this.props.active ? 'active' : ''}`} onClick={this.handleClick} style={style}>
<i className={`fa fa-fw fa-${this.props.icon}`} aria-hidden='true'></i> <i className={`fa fa-fw fa-${this.props.icon}`} aria-hidden='true' />
</button> </button>
); );
} }

@ -61,7 +61,7 @@ class FeedManager
# Filter status out of the home feed if it is a reply to someone the user doesn't follow # Filter status out of the home feed if it is a reply to someone the user doesn't follow
def filter_from_home?(status, receiver) def filter_from_home?(status, receiver)
replied_to_user = status.reply? ? status.thread.account : nil replied_to_user = status.reply? ? status.thread.try(:account) : nil
(status.reply? && !(receiver.id == replied_to_user.id || replied_to_user.id == status.account_id || receiver.following?(replied_to_user))) || (status.reblog? && receiver.blocking?(status.reblog.account)) (status.reply? && !(receiver.id == replied_to_user.id || replied_to_user.id == status.account_id || receiver.following?(replied_to_user))) || (status.reblog? && receiver.blocking?(status.reblog.account))
end end

@ -6,7 +6,7 @@ class PrecomputeFeedService < BaseService
def call(type, account, limit) def call(type, account, limit)
instant_return = [] instant_return = []
Status.send("as_#{type}_timeline", account).order('created_at desc').limit(FeedManager::MAX_ITEMS).find_each do |status| Status.send("as_#{type}_timeline", account).order('id desc').limit(FeedManager::MAX_ITEMS).find_each do |status|
next if FeedManager.instance.filter?(type, status, account) next if FeedManager.instance.filter?(type, status, account)
redis.zadd(FeedManager.instance.key(type, account.id), status.id, status.id) redis.zadd(FeedManager.instance.key(type, account.id), status.id, status.id)
instant_return << status unless instant_return.size > limit instant_return << status unless instant_return.size > limit

Loading…
Cancel
Save