UNPKG

stream-chat-react-native-core

Version:

The official React Native and Expo components for Stream Chat, a service for building chat applications

34 lines 1.45 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.useShouldScrollToRecentOnNewOwnMessage = useShouldScrollToRecentOnNewOwnMessage; var _react = require("react"); function useShouldScrollToRecentOnNewOwnMessage(rawMessageList, currentUserId) { var lastFocusedOwnMessageId = (0, _react.useRef)(''); var initialFocusRegistered = (0, _react.useRef)(false); var messagesRef = (0, _react.useRef)(rawMessageList); messagesRef.current = rawMessageList; var isMyOwnNewMessageRef = (0, _react.useRef)(() => { if (messagesRef.current && messagesRef.current.length > 0) { var lastMessage = messagesRef.current[messagesRef.current.length - 1]; if (lastMessage && lastMessage.user?.id === currentUserId && lastFocusedOwnMessageId.current !== lastMessage.id) { lastFocusedOwnMessageId.current = lastMessage.id; return true; } } return false; }); (0, _react.useEffect)(() => { if (rawMessageList && rawMessageList.length) { if (!initialFocusRegistered.current) { initialFocusRegistered.current = true; var lastMessage = rawMessageList[rawMessageList.length - 1]; if (lastMessage && lastMessage.user?.id === currentUserId) { lastFocusedOwnMessageId.current = lastMessage.id; } } } }, [currentUserId, rawMessageList]); return isMyOwnNewMessageRef; } //# sourceMappingURL=useShouldScrollToRecentOnNewOwnMessage.js.map