diff --git a/src/api/gramjs/apiBuilders/appConfig.ts b/src/api/gramjs/apiBuilders/appConfig.ts index f871e20dd..2fd621ce3 100644 --- a/src/api/gramjs/apiBuilders/appConfig.ts +++ b/src/api/gramjs/apiBuilders/appConfig.ts @@ -36,6 +36,7 @@ export interface GramJsAppConfig extends LimitsConfig { premium_promo_order: string[]; default_emoji_statuses_stickerset_id: string; hidden_members_group_size_min: number; + autoarchive_setting_available: boolean; // Forums topics_pinned_limit: number; } @@ -86,6 +87,7 @@ export function buildAppConfig(json: GramJs.TypeJSONValue): ApiAppConfig { maxUserReactionsDefault: appConfig.reactions_user_max_default, maxUserReactionsPremium: appConfig.reactions_user_max_premium, hiddenMembersMinCount: appConfig.hidden_members_group_size_min, + canDisplayAutoarchiveSetting: appConfig.autoarchive_setting_available, limits: { uploadMaxFileparts: getLimit(appConfig, 'upload_max_fileparts', 'uploadMaxFileparts'), stickersFaved: getLimit(appConfig, 'stickers_faved_limit', 'stickersFaved'), diff --git a/src/api/types/misc.ts b/src/api/types/misc.ts index 372c1b41c..54db35503 100644 --- a/src/api/types/misc.ts +++ b/src/api/types/misc.ts @@ -186,6 +186,7 @@ export interface ApiAppConfig { maxUserReactionsPremium: number; hiddenMembersMinCount: number; limits: Record; + canDisplayAutoarchiveSetting: boolean; } export interface ApiConfig { diff --git a/src/components/left/settings/SettingsPrivacy.tsx b/src/components/left/settings/SettingsPrivacy.tsx index 98cff73e4..508566778 100644 --- a/src/components/left/settings/SettingsPrivacy.tsx +++ b/src/components/left/settings/SettingsPrivacy.tsx @@ -27,6 +27,7 @@ type StateProps = { webAuthCount: number; isSensitiveEnabled?: boolean; canChangeSensitive?: boolean; + canDisplayAutoarchiveSetting: boolean; shouldArchiveAndMuteNewNonContact?: boolean; privacyPhoneNumber?: ApiPrivacySettings; privacyLastSeen?: ApiPrivacySettings; @@ -47,6 +48,7 @@ const SettingsPrivacy: FC = ({ webAuthCount, isSensitiveEnabled, canChangeSensitive, + canDisplayAutoarchiveSetting, shouldArchiveAndMuteNewNonContact, privacyPhoneNumber, privacyLastSeen, @@ -300,17 +302,19 @@ const SettingsPrivacy: FC = ({ -
-

- {lang('NewChatsFromNonContacts')} -

- -
+ {canDisplayAutoarchiveSetting && ( +
+

+ {lang('NewChatsFromNonContacts')} +

+ +
+ )} {canChangeSensitive && (
@@ -343,6 +347,7 @@ export default memo(withGlobal( passcode: { hasPasscode, }, + appConfig, } = global; return { @@ -352,6 +357,7 @@ export default memo(withGlobal( blockedCount: blocked.totalCount, webAuthCount: global.activeWebSessions.orderedHashes.length, isSensitiveEnabled, + canDisplayAutoarchiveSetting: Boolean(appConfig?.canDisplayAutoarchiveSetting), shouldArchiveAndMuteNewNonContact, canChangeSensitive, privacyPhoneNumber: privacy.phoneNumber,