@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
31 lines (28 loc) • 1.19 kB
JavaScript
import { useRef, useEffect } from 'react';
import '../../../types/models.js';
import '../../../types/events.js';
function useShouldForceScrollToBottom(messages, currentUserId) {
var lastFocusedOwnMessage = useRef('');
var initialFocusRegistered = useRef(false);
function recheckForNewOwnMessage() {
if (messages && messages.length > 0) {
var lastMessage = messages[messages.length - 1];
// 最后一条消息是自己发的, 就更新关联
if (lastMessage.from === currentUserId &&
lastFocusedOwnMessage.current !== lastMessage.id) {
lastFocusedOwnMessage.current = lastMessage.id;
return true;
}
}
return false;
}
useEffect(function () {
if (messages && messages.length && !initialFocusRegistered.current) {
initialFocusRegistered.current = true;
recheckForNewOwnMessage();
}
}, [messages, messages === null || messages === void 0 ? void 0 : messages.length]);
return recheckForNewOwnMessage;
}
export { useShouldForceScrollToBottom };
//# sourceMappingURL=useShouldForceScrollToBottom.js.map