From 86e4ecfa20c2fb642be1fe97f6a846f7d06e2a5e Mon Sep 17 00:00:00 2001 From: diondiondion Date: Fri, 8 May 2026 11:52:09 +0200 Subject: [PATCH] Add language to collection payload (#38961) --- .../features/collections/editor/details.tsx | 24 ++++++++----- app/javascript/mastodon/initial_state.ts | 18 +++++++--- .../mastodon/reducers/slices/collections.ts | 34 +++++++++---------- 3 files changed, 47 insertions(+), 29 deletions(-) diff --git a/app/javascript/mastodon/features/collections/editor/details.tsx b/app/javascript/mastodon/features/collections/editor/details.tsx index f90f4be5e1e..7fe25245c43 100644 --- a/app/javascript/mastodon/features/collections/editor/details.tsx +++ b/app/javascript/mastodon/features/collections/editor/details.tsx @@ -46,8 +46,16 @@ import { WizardStepTitle } from './wizard_step_title'; export const CollectionDetails: React.FC = () => { const dispatch = useAppDispatch(); const history = useHistory(); - const { id, name, description, topic, discoverable, sensitive, items } = - useAppSelector((state) => state.collections.editor); + const { + id, + name, + description, + topic, + language, + discoverable, + sensitive, + items, + } = useAppSelector((state) => state.collections.editor); const handleNameChange = useCallback( (event: React.ChangeEvent) => { @@ -110,6 +118,7 @@ export const CollectionDetails: React.FC = () => { name, description, tag_name: topic || null, + language: language || null, discoverable, sensitive, }; @@ -125,6 +134,9 @@ export const CollectionDetails: React.FC = () => { sensitive, account_ids: items.map((item) => item.account_id), }; + if (language) { + payload.language = language; + } if (topic) { payload.tag_name = topic; } @@ -149,6 +161,7 @@ export const CollectionDetails: React.FC = () => { description, topic, discoverable, + language, sensitive, dispatch, history, @@ -392,13 +405,8 @@ const renderTagItem = (item: TagSearchResult) => ( const LanguageField: React.FC = () => { const dispatch = useAppDispatch(); - const initialLanguage = useAppSelector( - (state) => state.compose.get('default_language') as string, - ); const { language } = useAppSelector((state) => state.collections.editor); - const selectedLanguage = language ?? initialLanguage; - const handleLanguageChange = useCallback( (event: React.ChangeEvent) => { dispatch( @@ -419,7 +427,7 @@ const LanguageField: React.FC = () => { defaultMessage='Language' /> } - value={selectedLanguage} + value={language} onChange={handleLanguageChange} >