Allow specifying scroll behavior on initial chat history load

This commit is contained in:
Gabe Kangas 2022-04-18 23:46:31 -07:00
parent 61b07ab544
commit dc4c905dd1
No known key found for this signature in database
GPG Key ID: 9A56337728BC81EA
2 changed files with 7 additions and 3 deletions

View File

@ -187,7 +187,7 @@ export default class Chat extends Component {
this.handleNetworkingError(`Fetch getChatHistory: ${error}`);
}
this.scrollToBottom();
jumpToBottom(this.scrollableMessagesContainer.current, 'instant');
}
receivedWebsocketMessage(message) {

View File

@ -24,15 +24,19 @@ export function clearLocalStorage(key) {
}
// jump down to the max height of a div, with a slight delay
export function jumpToBottom(element) {
export function jumpToBottom(element, behavior) {
if (!element) return;
if (!behavior) {
behavior = document.visibilityState === 'visible' ? 'smooth' : 'instant';
}
setTimeout(
() => {
element.scrollTo({
top: element.scrollHeight,
left: 0,
behavior: document.visibilityState === 'visible' ? 'smooth' : 'instant',
behavior: behavior,
});
},
50,