diff options
Diffstat (limited to 'src/screens/Messages/Conversation/useScrollToEndOnFocus.ts')
-rw-r--r-- | src/screens/Messages/Conversation/useScrollToEndOnFocus.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/screens/Messages/Conversation/useScrollToEndOnFocus.ts b/src/screens/Messages/Conversation/useScrollToEndOnFocus.ts new file mode 100644 index 000000000..e6e04c0b9 --- /dev/null +++ b/src/screens/Messages/Conversation/useScrollToEndOnFocus.ts @@ -0,0 +1,16 @@ +import React from 'react' +import {FlatList, Keyboard} from 'react-native' + +export function useScrollToEndOnFocus(flatListRef: React.RefObject<FlatList>) { + React.useEffect(() => { + const listener = Keyboard.addListener('keyboardDidShow', () => { + requestAnimationFrame(() => { + flatListRef.current?.scrollToEnd({animated: true}) + }) + }) + + return () => { + listener.remove() + } + }, [flatListRef]) +} |