diff --git a/src/components/left/settings/Settings.tsx b/src/components/left/settings/Settings.tsx index 2492542eb..bba21e58c 100644 --- a/src/components/left/settings/Settings.tsx +++ b/src/components/left/settings/Settings.tsx @@ -191,27 +191,27 @@ const Settings: FC = ({ onReset(); }); - function renderCurrentSectionContent(isScreenActive: boolean, screen: SettingsScreens) { + function renderCurrentSectionContent(isScreenActive: boolean, activeScreen: SettingsScreens) { const privacyAllowScreens: Record = { - [SettingsScreens.PrivacyPhoneNumber]: PRIVACY_PHONE_NUMBER_SCREENS.includes(screen), - [SettingsScreens.PrivacyLastSeen]: PRIVACY_LAST_SEEN_PHONE_SCREENS.includes(screen), - [SettingsScreens.PrivacyProfilePhoto]: PRIVACY_PROFILE_PHOTO_SCREENS.includes(screen), - [SettingsScreens.PrivacyBio]: PRIVACY_BIO_SCREENS.includes(screen), - [SettingsScreens.PrivacyPhoneCall]: PRIVACY_PHONE_CALL_SCREENS.includes(screen), - [SettingsScreens.PrivacyPhoneP2P]: PRIVACY_PHONE_P2P_SCREENS.includes(screen), - [SettingsScreens.PrivacyForwarding]: PRIVACY_FORWARDING_SCREENS.includes(screen), - [SettingsScreens.PrivacyVoiceMessages]: PRIVACY_VOICE_MESSAGES_SCREENS.includes(screen), - [SettingsScreens.PrivacyGroupChats]: PRIVACY_GROUP_CHATS_SCREENS.includes(screen), + [SettingsScreens.PrivacyPhoneNumber]: PRIVACY_PHONE_NUMBER_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyLastSeen]: PRIVACY_LAST_SEEN_PHONE_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyProfilePhoto]: PRIVACY_PROFILE_PHOTO_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyBio]: PRIVACY_BIO_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyPhoneCall]: PRIVACY_PHONE_CALL_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyPhoneP2P]: PRIVACY_PHONE_P2P_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyForwarding]: PRIVACY_FORWARDING_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyVoiceMessages]: PRIVACY_VOICE_MESSAGES_SCREENS.includes(activeScreen), + [SettingsScreens.PrivacyGroupChats]: PRIVACY_GROUP_CHATS_SCREENS.includes(activeScreen), }; - const isTwoFaScreen = TWO_FA_SCREENS.includes(screen); - const isPasscodeScreen = PASSCODE_SCREENS.includes(screen); - const isFoldersScreen = FOLDERS_SCREENS.includes(screen); - const isPrivacyScreen = PRIVACY_SCREENS.includes(screen) + const isTwoFaScreen = TWO_FA_SCREENS.includes(activeScreen); + const isPasscodeScreen = PASSCODE_SCREENS.includes(activeScreen); + const isFoldersScreen = FOLDERS_SCREENS.includes(activeScreen); + const isPrivacyScreen = PRIVACY_SCREENS.includes(activeScreen) || isTwoFaScreen || isPasscodeScreen - || Object.keys(privacyAllowScreens).includes(screen.toString()) - || Object.values(privacyAllowScreens).find((key) => key === true); + || Object.keys(privacyAllowScreens).map(Number).includes(activeScreen) + || Object.values(privacyAllowScreens).includes(true); switch (currentScreen) { case SettingsScreens.Main: @@ -230,10 +230,10 @@ const Settings: FC = ({ @@ -265,7 +265,7 @@ const Settings: FC = ({ case SettingsScreens.Language: return ( @@ -286,7 +286,7 @@ const Settings: FC = ({ return ( ); @@ -385,7 +385,7 @@ const Settings: FC = ({ return ( = ({ currentScreen={currentScreen} state={twoFaState} dispatch={twoFaDispatch} - shownScreen={screen} + shownScreen={activeScreen} isActive={isScreenActive} onScreenSelect={onScreenSelect} onReset={handleReset} @@ -436,7 +436,7 @@ const Settings: FC = ({ currentScreen={currentScreen} passcode={privacyPasscode} onSetPasscode={setPrivacyPasscode} - shownScreen={screen} + shownScreen={activeScreen} isActive={isScreenActive} onScreenSelect={onScreenSelect} onReset={handleReset} @@ -456,7 +456,12 @@ const Settings: FC = ({ } } - function renderCurrentSection(isScreenActive: boolean, isFrom: boolean, currentKey: SettingsScreens) { + function renderCurrentSection( + isScreenActive: boolean, + _isFrom: boolean, + _currentKey: SettingsScreens, + activeKey: SettingsScreens, + ) { return ( <> = ({ onScreenSelect={onScreenSelect} editedFolderId={foldersState.folderId} /> - {renderCurrentSectionContent(isScreenActive, currentKey)} + {renderCurrentSectionContent(isScreenActive, activeKey)} ); } diff --git a/src/components/mediaViewer/SlideTransition.tsx b/src/components/mediaViewer/SlideTransition.tsx deleted file mode 100644 index a8781c8e5..000000000 --- a/src/components/mediaViewer/SlideTransition.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import type { FC } from '../../lib/teact/teact'; -import React from '../../lib/teact/teact'; - -import type { ChildrenFn, TransitionProps } from '../ui/Transition'; - -import { IS_TOUCH_ENV } from '../../util/windowEnvironment'; - -import Transition from '../ui/Transition'; - -const SlideTransition: FC = ({ children, ...props }) => { - if (IS_TOUCH_ENV) return children(true, true, 1); - // eslint-disable-next-line react/jsx-props-no-spreading - return {children}; -}; - -export default SlideTransition; diff --git a/src/components/ui/Transition.tsx b/src/components/ui/Transition.tsx index e88609193..659bdc45e 100644 --- a/src/components/ui/Transition.tsx +++ b/src/components/ui/Transition.tsx @@ -23,7 +23,7 @@ type AnimationName = ( | 'fade' | 'pushSlide' | 'reveal' | 'slideOptimized' | 'slideOptimizedRtl' | 'semiFade' | 'slideVertical' | 'slideVerticalFade' | 'slideFadeAndroid' ); -export type ChildrenFn = (isActive: boolean, isFrom: boolean, currentKey: number) => React.ReactNode; +export type ChildrenFn = (isActive: boolean, isFrom: boolean, currentKey: number, activeKey: number) => React.ReactNode; export type TransitionProps = { ref?: RefObject; activeKey: number; @@ -350,7 +350,7 @@ function Transition({ } const rendered = typeof render === 'function' - ? render(key === activeKey, key === prevActiveKey, activeKey) + ? render(key === activeKey, key === prevActiveKey, key, activeKey) : render; return (shouldWrap && key !== wrapExceptionKey) || asFastList