@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
35 lines (30 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
require('../../../types/models.js');
require('../../../types/events.js');
function useShouldForceScrollToBottom(messages, currentUserId) {
var lastFocusedOwnMessage = React.useRef('');
var initialFocusRegistered = React.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;
}
React.useEffect(function () {
if (messages && messages.length && !initialFocusRegistered.current) {
initialFocusRegistered.current = true;
recheckForNewOwnMessage();
}
}, [messages, messages === null || messages === void 0 ? void 0 : messages.length]);
return recheckForNewOwnMessage;
}
exports.useShouldForceScrollToBottom = useShouldForceScrollToBottom;
//# sourceMappingURL=useShouldForceScrollToBottom.js.map