Save source of selectedMessage changes to prevent unnecessary scrolls
This commit is contained in:
parent
d00898fdfc
commit
4fa614e1d6
5 changed files with 33 additions and 3 deletions
|
@ -15,6 +15,7 @@ import { ToastStickerPackInstallFailed } from './ToastStickerPackInstallFailed';
|
|||
import { WhatsNewLink } from './WhatsNewLink';
|
||||
import { showToast } from '../util/showToast';
|
||||
import { strictAssert } from '../util/assert';
|
||||
import { SelectedMessageSource } from '../state/ducks/conversationsEnums';
|
||||
|
||||
export type PropsType = {
|
||||
hasInitialLoadCompleted: boolean;
|
||||
|
@ -24,6 +25,7 @@ export type PropsType = {
|
|||
renderLeftPane: () => JSX.Element;
|
||||
selectedConversationId?: string;
|
||||
selectedMessage?: string;
|
||||
selectedMessageSource?: SelectedMessageSource;
|
||||
showConversation: ShowConversationType;
|
||||
showWhatsNewModal: () => unknown;
|
||||
};
|
||||
|
@ -36,6 +38,7 @@ export const Inbox = ({
|
|||
renderLeftPane,
|
||||
selectedConversationId,
|
||||
selectedMessage,
|
||||
selectedMessageSource,
|
||||
showConversation,
|
||||
showWhatsNewModal,
|
||||
}: PropsType): JSX.Element => {
|
||||
|
@ -86,13 +89,21 @@ export const Inbox = ({
|
|||
setPrevConversation(conversation);
|
||||
|
||||
conversation.trigger('opened', selectedMessage);
|
||||
} else if (selectedMessage) {
|
||||
} else if (
|
||||
selectedMessage &&
|
||||
selectedMessageSource !== SelectedMessageSource.Focus
|
||||
) {
|
||||
conversation.trigger('scroll-to-message', selectedMessage);
|
||||
}
|
||||
|
||||
// Make sure poppers are positioned properly
|
||||
window.dispatchEvent(new Event('resize'));
|
||||
}, [prevConversation, selectedConversationId, selectedMessage]);
|
||||
}, [
|
||||
prevConversation,
|
||||
selectedConversationId,
|
||||
selectedMessage,
|
||||
selectedMessageSource,
|
||||
]);
|
||||
|
||||
// Whenever the selectedConversationId is cleared we should also ensure
|
||||
// that prevConversation is cleared too.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue