Remove freezeWhenClosed HOC (#6575)

This commit is contained in:
zubiden 2026-01-13 01:14:17 +01:00 committed by Alexander Zinchuk
parent 74a4fad8d4
commit 43a2ba1c26
6 changed files with 5 additions and 38 deletions

View File

@ -24,7 +24,6 @@ import { getPeerTitle } from '../../../global/helpers/peers';
import buildClassName from '../../../util/buildClassName';
import { formatScheduledDateTime } from '../../../util/dates/dateFormat';
import { isUserId } from '../../../util/entities/ids';
import freezeWhenClosed from '../../../util/hoc/freezeWhenClosed';
import { formatStarsAsIcon, formatTonAsIcon } from '../../../util/localization/format';
import { getPictogramDimensions } from '../helpers/mediaDimensions';
import renderText from '../helpers/renderText';
@ -384,6 +383,4 @@ function renderPictogram(
);
}
export const ClosableEmbeddedMessage = freezeWhenClosed(EmbeddedMessage);
export default EmbeddedMessage;

View File

@ -11,7 +11,6 @@ import type { Signal } from '../../../util/signals';
import { getMainUsername } from '../../../global/helpers';
import buildClassName from '../../../util/buildClassName';
import freezeWhenClosed from '../../../util/hoc/freezeWhenClosed';
import setTooltipItemVisible from '../../../util/setTooltipItemVisible';
import useLastCallback from '../../../hooks/useLastCallback';
@ -166,4 +165,4 @@ const ChatCommandTooltip: FC<OwnProps> = ({
);
};
export default memo(freezeWhenClosed(ChatCommandTooltip));
export default memo(ChatCommandTooltip);

View File

@ -37,7 +37,7 @@ import useOldLang from '../../../hooks/useOldLang';
import usePeerColor from '../../../hooks/usePeerColor';
import useShowTransitionDeprecated from '../../../hooks/useShowTransitionDeprecated';
import { ClosableEmbeddedMessage } from '../../common/embedded/EmbeddedMessage';
import EmbeddedMessage from '../../common/embedded/EmbeddedMessage';
import Icon from '../../common/icons/Icon';
import Button from '../../ui/Button';
import Menu from '../../ui/Menu';
@ -302,7 +302,7 @@ const ComposerEmbeddedMessage = ({
<Icon name="quote" className="quote-reply" />
)}
</div>
<ClosableEmbeddedMessage
<EmbeddedMessage
isOpen={isShown}
className="inside-input"
replyInfo={replyInfo}

View File

@ -7,7 +7,6 @@ import type { TextPart } from '../../types';
import buildClassName from '../../util/buildClassName';
import captureKeyboardListeners from '../../util/captureKeyboardListeners';
import { disableDirectTextInput, enableDirectTextInput } from '../../util/directInputManager';
import freezeWhenClosed from '../../util/hoc/freezeWhenClosed';
import trapFocus from '../../util/trapFocus';
import useHistoryBack from '../../hooks/useHistoryBack';
@ -207,4 +206,4 @@ const Modal: FC<OwnProps> = ({
);
};
export default freezeWhenClosed(Modal);
export default Modal;

View File

@ -28,7 +28,7 @@ const useKeyboardListNavigation = (
return useLastCallback((e: React.KeyboardEvent<any>) => {
const element = elementRef.current;
if (!element) {
if (!element || !isOpen) {
return;
}

View File

@ -1,28 +0,0 @@
import { type FC, type Props, useRef } from '../../lib/teact/teact';
type InjectProps<T extends FC, P extends Props> = FC<Parameters<T>[0] & P>;
type OwnProps = {
ignoreFreeze?: boolean;
};
export default function freezeWhenClosed<T extends FC>(Component: T): InjectProps<T, OwnProps> {
function ComponentWrapper(props: Props) {
const newProps = useRef(props);
if (props.ignoreFreeze) return Component(props);
if (props.isOpen) {
newProps.current = props;
} else {
newProps.current = {
...newProps.current,
isOpen: false,
};
}
return Component(newProps.current);
}
return ComponentWrapper as T;
}