From cea28e0c1d91489756491f24a3e1376188d2bbf8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2016 01:19:25 +0100 Subject: [PATCH] Fix wrong link header on followers API, wrong link in tabs component, order account results --- .../components/features/ui/components/tabs_bar.jsx | 3 ++- app/controllers/api/v1/accounts_controller.rb | 10 ++++++---- app/controllers/api/v1/statuses_controller.rb | 6 ++++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx b/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx index b39030ca..723f8c9a 100644 --- a/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx +++ b/app/assets/javascripts/components/features/ui/components/tabs_bar.jsx @@ -14,6 +14,7 @@ const tabStyle = { padding: '10px', color: '#fff', textDecoration: 'none', + textAlign: 'center', fontSize: '12px', fontWeight: '500', borderBottom: '2px solid #373b4a' @@ -30,7 +31,7 @@ const TabsBar = () => { Compose Home Mentions - Public + Public ); }; diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 9573326e..88af41bf 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -16,7 +16,8 @@ class Api::V1::AccountsController < ApiController def following results = Follow.where(account: @account).paginate_by_max_id(DEFAULT_ACCOUNTS_LIMIT, params[:max_id], params[:since_id]) - @accounts = Account.where(id: results.map(&:target_account_id)).with_counters.to_a + accounts = Account.where(id: results.map(&:target_account_id)).with_counters.map { |a| [a.id, a] }.to_h + @accounts = results.map { |f| accounts[f.target_account_id] } next_path = following_api_v1_account_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT prev_path = following_api_v1_account_url(since_id: results.first.id) if results.size > 0 @@ -28,10 +29,11 @@ class Api::V1::AccountsController < ApiController def followers results = Follow.where(target_account: @account).paginate_by_max_id(DEFAULT_ACCOUNTS_LIMIT, params[:max_id], params[:since_id]) - @accounts = Account.where(id: results.map(&:account_id)).with_counters.to_a + accounts = Account.where(id: results.map(&:account_id)).with_counters.map { |a| [a.id, a] }.to_h + @accounts = results.map { |f| accounts[f.account_id] } - next_path = following_api_v1_account_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT - prev_path = following_api_v1_account_url(since_id: results.first.id) if results.size > 0 + next_path = followers_api_v1_account_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT + prev_path = followers_api_v1_account_url(since_id: results.first.id) if results.size > 0 set_pagination_headers(next_path, prev_path) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 3c86cae0..f5dbbd01 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -16,7 +16,8 @@ class Api::V1::StatusesController < ApiController def reblogged_by results = @status.reblogs.paginate_by_max_id(DEFAULT_ACCOUNTS_LIMIT, params[:max_id], params[:since_id]) - @accounts = Account.where(id: results.map(&:account_id)).with_counters.to_a + accounts = Account.where(id: results.map(&:account_id)).with_counters.map { |a| [a.id, a] }.to_h + @accounts = results.map { |r| accounts[r.account_id] } next_path = reblogged_by_api_v1_status_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT prev_path = reblogged_by_api_v1_status_url(since_id: results.first.id) if results.size > 0 @@ -28,7 +29,8 @@ class Api::V1::StatusesController < ApiController def favourited_by results = @status.favourites.paginate_by_max_id(DEFAULT_ACCOUNTS_LIMIT, params[:max_id], params[:since_id]) - @accounts = Account.where(id: results.map(&:account_id)).with_counters.to_a + accounts = Account.where(id: results.map(&:account_id)).with_counters.map { |a| [a.id, a] }.to_h + @accounts = results.map { |f| accounts[f.account_id] } next_path = favourited_by_api_v1_status_url(max_id: results.last.id) if results.size == DEFAULT_ACCOUNTS_LIMIT prev_path = favourited_by_api_v1_status_url(since_id: results.first.id) if results.size > 0