Allow specifying scroll behavior on initial chat history load

This commit is contained in:
Gabe Kangas
2022-04-18 23:48:05 -07:00
parent 61b07ab544
commit dc4c905dd1
2 changed files with 7 additions and 3 deletions
+1 -1
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) {
+6 -2
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,