Remove freezeWhenClosed HOC (#6575)
This commit is contained in:
parent
74a4fad8d4
commit
43a2ba1c26
@ -24,7 +24,6 @@ import { getPeerTitle } from '../../../global/helpers/peers';
|
|||||||
import buildClassName from '../../../util/buildClassName';
|
import buildClassName from '../../../util/buildClassName';
|
||||||
import { formatScheduledDateTime } from '../../../util/dates/dateFormat';
|
import { formatScheduledDateTime } from '../../../util/dates/dateFormat';
|
||||||
import { isUserId } from '../../../util/entities/ids';
|
import { isUserId } from '../../../util/entities/ids';
|
||||||
import freezeWhenClosed from '../../../util/hoc/freezeWhenClosed';
|
|
||||||
import { formatStarsAsIcon, formatTonAsIcon } from '../../../util/localization/format';
|
import { formatStarsAsIcon, formatTonAsIcon } from '../../../util/localization/format';
|
||||||
import { getPictogramDimensions } from '../helpers/mediaDimensions';
|
import { getPictogramDimensions } from '../helpers/mediaDimensions';
|
||||||
import renderText from '../helpers/renderText';
|
import renderText from '../helpers/renderText';
|
||||||
@ -384,6 +383,4 @@ function renderPictogram(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ClosableEmbeddedMessage = freezeWhenClosed(EmbeddedMessage);
|
|
||||||
|
|
||||||
export default EmbeddedMessage;
|
export default EmbeddedMessage;
|
||||||
|
|||||||
@ -11,7 +11,6 @@ import type { Signal } from '../../../util/signals';
|
|||||||
|
|
||||||
import { getMainUsername } from '../../../global/helpers';
|
import { getMainUsername } from '../../../global/helpers';
|
||||||
import buildClassName from '../../../util/buildClassName';
|
import buildClassName from '../../../util/buildClassName';
|
||||||
import freezeWhenClosed from '../../../util/hoc/freezeWhenClosed';
|
|
||||||
import setTooltipItemVisible from '../../../util/setTooltipItemVisible';
|
import setTooltipItemVisible from '../../../util/setTooltipItemVisible';
|
||||||
|
|
||||||
import useLastCallback from '../../../hooks/useLastCallback';
|
import useLastCallback from '../../../hooks/useLastCallback';
|
||||||
@ -166,4 +165,4 @@ const ChatCommandTooltip: FC<OwnProps> = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default memo(freezeWhenClosed(ChatCommandTooltip));
|
export default memo(ChatCommandTooltip);
|
||||||
|
|||||||
@ -37,7 +37,7 @@ import useOldLang from '../../../hooks/useOldLang';
|
|||||||
import usePeerColor from '../../../hooks/usePeerColor';
|
import usePeerColor from '../../../hooks/usePeerColor';
|
||||||
import useShowTransitionDeprecated from '../../../hooks/useShowTransitionDeprecated';
|
import useShowTransitionDeprecated from '../../../hooks/useShowTransitionDeprecated';
|
||||||
|
|
||||||
import { ClosableEmbeddedMessage } from '../../common/embedded/EmbeddedMessage';
|
import EmbeddedMessage from '../../common/embedded/EmbeddedMessage';
|
||||||
import Icon from '../../common/icons/Icon';
|
import Icon from '../../common/icons/Icon';
|
||||||
import Button from '../../ui/Button';
|
import Button from '../../ui/Button';
|
||||||
import Menu from '../../ui/Menu';
|
import Menu from '../../ui/Menu';
|
||||||
@ -302,7 +302,7 @@ const ComposerEmbeddedMessage = ({
|
|||||||
<Icon name="quote" className="quote-reply" />
|
<Icon name="quote" className="quote-reply" />
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<ClosableEmbeddedMessage
|
<EmbeddedMessage
|
||||||
isOpen={isShown}
|
isOpen={isShown}
|
||||||
className="inside-input"
|
className="inside-input"
|
||||||
replyInfo={replyInfo}
|
replyInfo={replyInfo}
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import type { TextPart } from '../../types';
|
|||||||
import buildClassName from '../../util/buildClassName';
|
import buildClassName from '../../util/buildClassName';
|
||||||
import captureKeyboardListeners from '../../util/captureKeyboardListeners';
|
import captureKeyboardListeners from '../../util/captureKeyboardListeners';
|
||||||
import { disableDirectTextInput, enableDirectTextInput } from '../../util/directInputManager';
|
import { disableDirectTextInput, enableDirectTextInput } from '../../util/directInputManager';
|
||||||
import freezeWhenClosed from '../../util/hoc/freezeWhenClosed';
|
|
||||||
import trapFocus from '../../util/trapFocus';
|
import trapFocus from '../../util/trapFocus';
|
||||||
|
|
||||||
import useHistoryBack from '../../hooks/useHistoryBack';
|
import useHistoryBack from '../../hooks/useHistoryBack';
|
||||||
@ -207,4 +206,4 @@ const Modal: FC<OwnProps> = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default freezeWhenClosed(Modal);
|
export default Modal;
|
||||||
|
|||||||
@ -28,7 +28,7 @@ const useKeyboardListNavigation = (
|
|||||||
return useLastCallback((e: React.KeyboardEvent<any>) => {
|
return useLastCallback((e: React.KeyboardEvent<any>) => {
|
||||||
const element = elementRef.current;
|
const element = elementRef.current;
|
||||||
|
|
||||||
if (!element) {
|
if (!element || !isOpen) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user