Rename "publish" to "toot" in english locale, fix lightbox showing old image
before loading new one, cache notifications API, fix missing follow button on public profiles
This commit is contained in:
parent
59d7fe4c05
commit
c60df460af
5 changed files with 30 additions and 6 deletions
|
@ -43,13 +43,15 @@ const Lightbox = React.createClass({
|
|||
render () {
|
||||
const { intl, isVisible, onOverlayClicked, onCloseClicked, children } = this.props;
|
||||
|
||||
const content = isVisible ? children : <div />;
|
||||
|
||||
return (
|
||||
<div className='lightbox' style={{...overlayStyle, display: isVisible ? 'flex' : 'none'}} onClick={onOverlayClicked}>
|
||||
<Motion defaultStyle={{ y: -200 }} style={{ y: spring(isVisible ? 0 : -200) }}>
|
||||
{({ y }) =>
|
||||
<div style={{...dialogStyle, transform: `translateY(${y}px)`}}>
|
||||
<IconButton title={intl.formatMessage({ id: 'lightbox.close', defaultMessage: 'Close' })} icon='times' onClick={onCloseClicked} size={16} style={closeStyle} />
|
||||
{children}
|
||||
{content}
|
||||
</div>
|
||||
}
|
||||
</Motion>
|
||||
|
|
|
@ -34,7 +34,7 @@ const en = {
|
|||
"tabs_bar.public": "Public",
|
||||
"tabs_bar.notifications": "Notifications",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"compose_form.publish": "Publish",
|
||||
"compose_form.publish": "Toot",
|
||||
"navigation_bar.settings": "Settings",
|
||||
"navigation_bar.public_timeline": "Public timeline",
|
||||
"navigation_bar.logout": "Logout",
|
||||
|
|
|
@ -7,7 +7,8 @@ class Api::V1::NotificationsController < ApiController
|
|||
respond_to :json
|
||||
|
||||
def index
|
||||
@notifications = Notification.where(account: current_account).with_includes.paginate_by_max_id(20, params[:max_id], params[:since_id])
|
||||
@notifications = Notification.where(account: current_account).paginate_by_max_id(20, params[:max_id], params[:since_id])
|
||||
@notifications = cache(@notifications)
|
||||
statuses = @notifications.select { |n| !n.target_status.nil? }.map(&:target_status)
|
||||
|
||||
set_maps(statuses)
|
||||
|
@ -19,4 +20,25 @@ class Api::V1::NotificationsController < ApiController
|
|||
|
||||
set_pagination_headers(next_path, prev_path)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def cache(raw)
|
||||
uncached_ids = []
|
||||
cached_keys_with_value = Rails.cache.read_multi(*raw.map(&:cache_key))
|
||||
|
||||
raw.each do |notification|
|
||||
uncached_ids << notification.id unless cached_keys_with_value.key?(notification.cache_key)
|
||||
end
|
||||
|
||||
unless uncached_ids.empty?
|
||||
uncached = Notification.where(id: uncached_ids).with_includes.map { |n| [n.id, n] }.to_h
|
||||
|
||||
uncached.values.each do |notification|
|
||||
Rails.cache.write(notification.cache_key, notification)
|
||||
end
|
||||
end
|
||||
|
||||
raw.map { |notification| cached_keys_with_value[notification.cache_key] || uncached[notification.id] }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -59,11 +59,11 @@ class ApiController < ApplicationController
|
|||
end
|
||||
|
||||
def current_resource_owner
|
||||
@user ||= User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
@current_user ||= User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
|
||||
end
|
||||
|
||||
def current_user
|
||||
@user ||= super || current_resource_owner
|
||||
super || current_resource_owner
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
nil
|
||||
end
|
||||
|
|
|
@ -51,6 +51,6 @@ class ApplicationController < ActionController::Base
|
|||
end
|
||||
|
||||
def current_account
|
||||
@account ||= current_user.try(:account)
|
||||
@current_account ||= current_user.try(:account)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue