From 174c97e1ae3c9a6ca28d319c53fa419ac21e16d9 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 19 Sep 2025 14:34:45 +0200 Subject: [PATCH] Settings Folders: Save state only from main screen (#6218) --- src/components/left/settings/folders/SettingsFolders.tsx | 7 +++---- .../left/settings/folders/SettingsFoldersEdit.tsx | 3 ++- src/config.ts | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/components/left/settings/folders/SettingsFolders.tsx b/src/components/left/settings/folders/SettingsFolders.tsx index dd1d562c9..87b57620a 100644 --- a/src/components/left/settings/folders/SettingsFolders.tsx +++ b/src/components/left/settings/folders/SettingsFolders.tsx @@ -71,7 +71,7 @@ const SettingsFolders: FC = ({ const isCreating = state.mode === 'create'; const saveState = useCallback((newState: FoldersState) => { - const { title } = newState.folder; + const { title: { text: title } } = newState.folder; if (!title) { dispatch({ type: 'setError', payload: ERROR_NO_TITLE }); @@ -108,10 +108,9 @@ const SettingsFolders: FC = ({ }, [saveState, state]); const handleSaveFilter = useCallback(() => { - const newState = dispatch({ type: 'saveFilters' }); + dispatch({ type: 'saveFilters' }); handleReset(); - saveState(newState); - }, [dispatch, handleReset, saveState]); + }, [dispatch, handleReset]); const handleCreateFolder = useCallback(() => { dispatch({ type: 'reset' }); diff --git a/src/components/left/settings/folders/SettingsFoldersEdit.tsx b/src/components/left/settings/folders/SettingsFoldersEdit.tsx index cbdcf981c..ef9e9fdb5 100644 --- a/src/components/left/settings/folders/SettingsFoldersEdit.tsx +++ b/src/components/left/settings/folders/SettingsFoldersEdit.tsx @@ -11,7 +11,7 @@ import type { FoldersState, } from '../../../../hooks/reducers/useFoldersReducer'; -import { STICKER_SIZE_FOLDER_SETTINGS } from '../../../../config'; +import { FOLDER_TITLE_MAX_LENGTH, STICKER_SIZE_FOLDER_SETTINGS } from '../../../../config'; import { selectCanShareFolder, selectIsCurrentUserPremium } from '../../../../global/selectors'; import { selectCurrentLimit } from '../../../../global/selectors/limits'; import buildClassName from '../../../../util/buildClassName'; @@ -309,6 +309,7 @@ const SettingsFoldersEdit: FC = ({ className="mb-0" label={lang('FilterNameHint')} value={state.folder.title.text} + maxLength={FOLDER_TITLE_MAX_LENGTH} onChange={handleChange} error={state.error && state.error === ERROR_NO_TITLE ? ERROR_NO_TITLE : undefined} /> diff --git a/src/config.ts b/src/config.ts index 1dabb1117..2575595b2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -339,6 +339,7 @@ export const DEFAULT_GIF_SEARCH_BOT_USERNAME = 'gif'; export const ALL_FOLDER_ID = 0; export const ARCHIVED_FOLDER_ID = 1; export const SAVED_FOLDER_ID = -1; +export const FOLDER_TITLE_MAX_LENGTH = 12; export const DELETED_COMMENTS_CHANNEL_ID = '-1000000000777'; export const MAX_MEDIA_FILES_FOR_ALBUM = 10; export const MAX_ACTIVE_PINNED_CHATS = 5;