decord/alpha/source/components_native/chat/getMessageJumpData.tsx

117 lines
3.7 KiB
TypeScript
Raw Normal View History

// Module ID: 11775
// Function ID: 11776
2026-07-20 16:05:17 +00:00
// Name: getMessageJumpData
// Dependencies: [32, 19, 1480, 1372, 1364, 1878, 4686, 11, 2]
2026-07-20 16:05:17 +00:00
// Exports: default, useMessageJumpAndroidKeyboardHeight
// Module 11775 (getMessageJumpData)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
import PlatformUtils from "PlatformUtils" /* 1364 */;
import Client from "Client" /* 4686 */;
import _slicedToArray from "module_32" /* 32 */;
import noop from "module_19" /* 19 */;
import subscribeToKeyboardUIStore from "subscribeToKeyboardUIStore" /* 1480 */;
import UserStore from "UserStore" /* 1372 */;
2026-07-23 10:11:24 +00:00
const useSystemKeyboardHeight = tmp(1878);
require = fn;
const size = fn(2);
const result = size.fileFinishedImporting("components_native/chat/getMessageJumpData.tsx");
2026-07-20 16:05:17 +00:00
export default function getMessageJumpData(messages, isAtBottom, messages2) {
messages = messages.messages;
const lastResult = messages.last();
messages2 = messages2.messages;
const lastResult1 = messages2.last();
const currentUser = UserStore.getCurrentUser();
const ANIMATED = Client.JumpType.ANIMATED;
2026-07-29 08:29:29 +00:00
let tmp7 = tmp6;
2026-07-20 16:05:17 +00:00
({ jumpSequenceId, focusTargetId } = messages);
if (messages.initialScrollSequenceId === messages2.initialScrollSequenceId) {
2026-07-29 08:29:29 +00:00
tmp7 = messages2.jumpSequenceId !== messages.jumpSequenceId;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let tmp8 = tmp6;
2026-07-20 16:05:17 +00:00
if (messages.initialScrollSequenceId === messages2.initialScrollSequenceId) {
2026-07-29 08:29:29 +00:00
tmp8 = messages2.focusSequenceId !== messages.focusSequenceId;
2026-07-20 16:05:17 +00:00
}
if (null != messages.jumpTargetId) {
2026-07-29 08:29:29 +00:00
if (tmp7) {
2026-07-20 16:05:17 +00:00
({ channelId, jumpTargetId } = messages);
const firstResult = messages.first();
if (channelId !== jumpTargetId) {
({ jumpTargetId: jumpTargetId2, jumpType } = messages);
}
jumpTargetId2 = firstResult.id;
}
}
if (!isAtBottom.isAtBottom) {
if (isAtBottom.hasPreviousMessages) {
if (!messages2.loadingMore) {
if (null != lastResult) {
if (null != currentUser) {
if (lastResult.author.id === currentUser.id) {
let id = lastResult.id;
let flag = false;
2026-07-29 08:29:29 +00:00
let tmp12 = ANIMATED;
let tmp13 = null;
2026-07-20 16:05:17 +00:00
} else {
const interaction = lastResult.interaction;
let id1;
2026-07-29 08:29:29 +00:00
if (interaction != null) {
2026-07-20 16:05:17 +00:00
id1 = interaction.user.id;
}
}
}
const obj2 = { scrollToMessageId: id, jumpTargetId: tmp13, jumpType: tmp12, jumpSequenceId, minimizeScrolling: flag, focusTargetId: null, shouldInitialScroll: null };
2026-07-29 08:29:29 +00:00
let tmp18 = null;
if (tmp8) {
tmp18 = focusTargetId;
2026-07-20 16:05:17 +00:00
}
obj2.focusTargetId = tmp18;
obj2.shouldInitialScroll = tmp6;
return obj2;
2026-07-20 16:05:17 +00:00
}
}
}
}
if (!messages.loadingMore) {
if (messages.jumpedToPresent) {
2026-07-29 08:29:29 +00:00
if (tmp7) {
2026-07-20 16:05:17 +00:00
if (null != lastResult) {
id = lastResult.id;
flag = false;
tmp12 = ANIMATED;
2026-07-29 08:29:29 +00:00
tmp13 = null;
2026-07-20 16:05:17 +00:00
}
}
}
}
const tmp4Result = PlatformUtils;
2026-07-20 16:05:17 +00:00
flag = false;
tmp12 = ANIMATED;
2026-07-29 08:29:29 +00:00
tmp13 = null;
id = null;
if (tmp14) {
2026-07-20 16:05:17 +00:00
id = messages.replyingMessageId;
flag = true;
tmp12 = ANIMATED;
2026-07-29 08:29:29 +00:00
tmp13 = null;
2026-07-20 16:05:17 +00:00
}
};
export const useMessageJumpAndroidKeyboardHeight = function useMessageJumpAndroidKeyboardHeight() {
let num = 0;
2026-07-29 08:29:29 +00:00
if (obj2.isAndroid()) {
2026-08-24 06:08:38 +00:00
num = useSystemKeyboardHeight.getSystemKeyboardHeight();
const tmpResult = useSystemKeyboardHeight;
2026-07-20 16:05:17 +00:00
}
const obj = noop;
obj2 = PlatformUtils;
[tmp4, require] = noop.useState(num);
const effect = obj.useEffect(() => subscribeToKeyboardUIStore((keyboardHeight) => {
2026-07-20 16:05:17 +00:00
if (obj.isAndroid()) {
closure_1_0(keyboardHeight.keyboardHeight);
2026-07-20 16:05:17 +00:00
}
}), []);
2026-07-29 08:29:29 +00:00
return tmp4;
2026-07-20 16:05:17 +00:00
};