Message List: Fix stuck FAB when many unread messages
This commit is contained in:
parent
260c5c1c31
commit
3d21e81865
@ -1,5 +1,7 @@
|
||||
import { MutableRefObject } from 'react';
|
||||
import React, { FC, useCallback, useRef } from '../../lib/teact/teact';
|
||||
import React, {
|
||||
FC, useCallback, useEffect, useRef,
|
||||
} from '../../lib/teact/teact';
|
||||
|
||||
import { MESSAGE_LIST_SENSITIVE_AREA } from '../../config';
|
||||
import resetScroll from '../../util/resetScroll';
|
||||
@ -113,6 +115,7 @@ const MessageScroll: FC<OwnProps> = ({
|
||||
|
||||
useOnIntersect(fabTriggerRef, observeIntersectionForFab);
|
||||
|
||||
// Remember scroll position before updating height
|
||||
useOnChange(() => {
|
||||
if (!listItemElementsRef.current) {
|
||||
return;
|
||||
@ -132,6 +135,8 @@ const MessageScroll: FC<OwnProps> = ({
|
||||
anchorTopRef.current = anchor.getBoundingClientRect().top;
|
||||
}, [messageIds, containerHeight]);
|
||||
|
||||
useEffect(updateFabVisibility, [firstUnreadId]);
|
||||
|
||||
return (
|
||||
<div className={className} teactFastList>
|
||||
<div ref={backwardsTriggerRef} key="backwards-trigger" className="backwards-trigger" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user