Fix subscribed languages / 1

This commit is contained in:
Benoit 2025-03-02 14:55:17 +01:00
parent d50110a17a
commit f22e2e3d7c
6 changed files with 38 additions and 1 deletions

View File

@ -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;

View File

@ -19,11 +19,32 @@ const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
});
/*
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'))));
*/
const getAccountLanguages = createSelector([
(state, accountId) => state.getIn(['accounts', accountId, 'used_languages']),
], (used_languages) => {
console.log('used_languages', used_languages);
return ImmutableSet(used_languages);
});
//dispatch(fetchAccount(accountId));
/*const getAccountLanguages = (state, accountId) => {
const account =
console.log('account', account)
const list = (account.used_languages ? account.used_languages : []);
list.push('de');
return ImmutableSet(list);
};*/
/*const account = useAppSelector((state) =>
accountId ? state.accounts.get(accountId) : undefined,
);*/
const mapStateToProps = (state, { accountId }) => ({
acct: state.getIn(['accounts', accountId, 'acct']),
@ -56,6 +77,7 @@ class SubscribedLanguagesModal extends ImmutablePureComponent {
languages: preloadedLanguages,
};
state = {
selectedLanguages: this.props.selectedLanguages,
};

View File

@ -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);

View File

@ -30,10 +30,18 @@ class AccountStat < ApplicationRecord
end
def followers_count
puts 'call followers_count'
puts caller
[attributes['followers_count'], 0].max
end
def statuses_count
[attributes['statuses_count'], 0].max
end
def used_languages
list = Status.select(:language).reorder(:language).where(account_id: attributes['account_id']).distinct(:language).pluck(:language)
#list.push('de')
list
end
end

View File

@ -17,6 +17,7 @@ module Account::Counters
:followers_count,
:followers_count=,
:last_status_at,
:used_languages,
to: :account_stat
# @param [Symbol] key

View File

@ -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?
@ -88,6 +88,10 @@ class REST::AccountSerializer < ActiveModel::Serializer
full_asset_url(object.unavailable? ? object.header.default_url : object.header_static_url)
end
def test_benoit
'he ouais ' + Time.now.to_s
end
def created_at
object.created_at.midnight.as_json
end