mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-07 20:26:15 +00:00
Merge 9457283db1
into fbe9728f36
This commit is contained in:
commit
7d57566d18
|
@ -26,6 +26,7 @@ export interface BaseApiAccountJSON {
|
|||
fields: ApiAccountFieldJSON[];
|
||||
followers_count: number;
|
||||
following_count: number;
|
||||
used_languages: string[];
|
||||
group: boolean;
|
||||
header: string;
|
||||
header_static: string;
|
||||
|
|
|
@ -20,10 +20,10 @@ const messages = defineMessages({
|
|||
});
|
||||
|
||||
const getAccountLanguages = createSelector([
|
||||
(state, accountId) => state.getIn(['timelines', `account:${accountId}`, 'items'], ImmutableList()),
|
||||
state => state.get('statuses'),
|
||||
], (statusIds, statuses) =>
|
||||
ImmutableSet(statusIds.map(statusId => statuses.get(statusId)).filter(status => !status.get('reblog')).map(status => status.get('language'))));
|
||||
(state, accountId) => state.getIn(['accounts', accountId, 'used_languages']),
|
||||
], (used_languages) => {
|
||||
return ImmutableSet(used_languages);
|
||||
});
|
||||
|
||||
const mapStateToProps = (state, { accountId }) => ({
|
||||
acct: state.getIn(['accounts', accountId, 'acct']),
|
||||
|
|
|
@ -97,6 +97,7 @@ export const accountDefaultValues: AccountShape = {
|
|||
// This comes from `ApiMutedAccountJSON`, but we should eventually
|
||||
// store that in a different object.
|
||||
mute_expires_at: null,
|
||||
used_languages: []
|
||||
};
|
||||
|
||||
const AccountFactory = ImmutableRecord<AccountShape>(accountDefaultValues);
|
||||
|
|
|
@ -36,4 +36,12 @@ class AccountStat < ApplicationRecord
|
|||
def statuses_count
|
||||
[attributes['statuses_count'], 0].max
|
||||
end
|
||||
|
||||
def used_languages
|
||||
list = Status.where(account_id: attributes['account_id'])
|
||||
.distinct
|
||||
.reorder(:language)
|
||||
.pluck(:language)
|
||||
list
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,6 +17,7 @@ module Account::Counters
|
|||
:followers_count,
|
||||
:followers_count=,
|
||||
:last_status_at,
|
||||
:used_languages,
|
||||
to: :account_stat
|
||||
|
||||
# @param [Symbol] key
|
||||
|
|
|
@ -7,7 +7,7 @@ class REST::AccountSerializer < ActiveModel::Serializer
|
|||
# Please update `app/javascript/mastodon/api_types/accounts.ts` when making changes to the attributes
|
||||
|
||||
attributes :id, :username, :acct, :display_name, :locked, :bot, :discoverable, :indexable, :group, :created_at,
|
||||
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static,
|
||||
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static, :used_languages,
|
||||
:followers_count, :following_count, :statuses_count, :last_status_at, :hide_collections
|
||||
|
||||
has_one :moved_to_account, key: :moved, serializer: REST::AccountSerializer, if: :moved_and_not_nested?
|
||||
|
|
Loading…
Reference in New Issue
Block a user