decord/beta/source/components_native/chat/getMessageJumpData.tsx
2026-10-07 22:43:51 +00:00

182 lines
5.5 KiB
TypeScript

// Module ID: 11142
// Function ID: 11143
// Name: getMessageJumpData
// Dependencies: [32, 19, 1486, 1377, 558, 576, 1369, 1884, 4787, 11, 2]
// Exports: default
// Module 11142 (getMessageJumpData)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
import PlatformUtils from "PlatformUtils" /* 1369 */;
import flow_Client from "flow/Client" /* 4787 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import react from "react" /* 19 */;
import subscribeToKeyboardUIStore from "subscribeToKeyboardUIStore" /* 1486 */;
import UserStore from "UserStore" /* 1377 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let tmp;
const useSystemKeyboardHeight = tmp(1884);
const tmp2 = ReactCompilerGating.isReactCompilerEnabled() ? (() => {
let closure_0;
let first;
let first1;
let tmp7;
let tmp8;
let obj = require("react");
const cResult = obj.c(3);
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
let num2 = 0;
const tmpResult = require("PlatformUtils");
if (tmpResult.isAndroid()) {
const tmpResult2 = require("useSystemKeyboardHeight");
num2 = tmpResult2.getSystemKeyboardHeight();
}
cResult[0] = num2;
first = num2;
} else {
first = cResult[0];
}
[first1, _require] = react.useState(first);
const obj4 = react;
if (cResult[1] === Symbol.for("react.memo_cache_sentinel")) {
const fn = function l() {
return subscribeToKeyboardUIStore((keyboardHeight) => {
const obj = closure_0(dependencyMap[6]);
if (obj.isAndroid()) {
closure_1_0(keyboardHeight.keyboardHeight);
}
});
};
const items = [];
cResult[1] = fn;
cResult[2] = items;
tmp8 = items;
tmp7 = fn;
} else {
tmp7 = cResult[1];
tmp8 = cResult[2];
}
const effect = obj4.useEffect(tmp7, tmp8);
return first1;
}) : (() => {
let require;
let tmp4;
let obj = react;
const useState = react.useState;
let num = 0;
const obj2 = PlatformUtils;
if (obj2.isAndroid()) {
const tmpResult = useSystemKeyboardHeight;
num = tmpResult.getSystemKeyboardHeight();
}
[tmp4, require] = _slicedToArray(useState(num), 2);
const tmp3 = _slicedToArray(useState(num), 2);
const effect = obj.useEffect(() => subscribeToKeyboardUIStore((keyboardHeight) => {
const obj = require("PlatformUtils");
if (obj.isAndroid()) {
closure_1_0(keyboardHeight.keyboardHeight);
}
}), []);
return tmp4;
});
const result = size.fileFinishedImporting("components_native/chat/getMessageJumpData.tsx");
export default function getMessageJumpData(messages, isAtBottom, messages2) {
let channelId;
let flag;
let focusTargetId;
let id;
let jumpSequenceId;
let jumpTargetId;
let jumpType;
let tmp12;
let tmp15;
messages = messages.messages;
const lastResult = messages.last();
messages2 = messages2.messages;
const lastResult1 = messages2.last();
const currentUser = UserStore.getCurrentUser();
const ANIMATED = flow_Client.JumpType.ANIMATED;
let tmp7 = tmp6;
({ jumpSequenceId, focusTargetId } = messages);
if (messages.initialScrollSequenceId === messages2.initialScrollSequenceId) {
tmp7 = messages2.jumpSequenceId !== messages.jumpSequenceId;
}
const tmp8 = messages.initialScrollSequenceId !== messages2.initialScrollSequenceId || messages2.focusSequenceId !== messages.focusSequenceId;
if (null != messages.jumpTargetId) {
if (tmp7) {
({ channelId, jumpTargetId } = messages);
const firstResult = messages.first();
if (channelId === jumpTargetId) {
let jumpTargetId2;
if (null != firstResult) {
jumpTargetId2 = firstResult.id;
}
jumpType = messages.jumpType;
flag = false;
tmp12 = jumpTargetId2;
id = jumpTargetId2;
}
jumpTargetId2 = messages.jumpTargetId;
}
const obj2 = { scrollToMessageId: id, jumpTargetId: tmp12, jumpType, jumpSequenceId, minimizeScrolling: flag, focusTargetId: tmp15, shouldInitialScroll: messages.initialScrollSequenceId !== messages2.initialScrollSequenceId };
tmp15 = null;
if (tmp8) {
tmp15 = focusTargetId;
}
return obj2;
}
if (!isAtBottom.isAtBottom) {
if (isAtBottom.hasPreviousMessages) {
if (!messages2.loadingMore) {
if (null != lastResult) {
if (null != currentUser) {
if (lastResult.author.id === currentUser.id) {
if (null != lastResult1) {
SnowflakeUtilsDefault;
}
id = lastResult.id;
flag = false;
jumpType = ANIMATED;
tmp12 = null;
} else {
const interaction = lastResult.interaction;
let id1;
if (interaction != null) {
id1 = interaction.user.id;
}
}
}
}
}
}
}
if (!messages.loadingMore) {
if (messages.jumpedToPresent) {
if (tmp7) {
if (null != lastResult) {
id = lastResult.id;
flag = false;
jumpType = ANIMATED;
tmp12 = null;
}
}
}
}
flag = false;
jumpType = ANIMATED;
tmp12 = null;
id = null;
const tmp4Result = PlatformUtils;
const tmp13 = tmp4Result.isAndroid() && messages2.androidKeyboardHeight < messages.androidKeyboardHeight && null != messages.replyingMessageId;
if (tmp13) {
id = messages.replyingMessageId;
flag = true;
jumpType = ANIMATED;
tmp12 = null;
}
};
export const useMessageJumpAndroidKeyboardHeight = tmp2;