295 lines
10 KiB
TypeScript
295 lines
10 KiB
TypeScript
// Module ID: 9556
|
|
// Function ID: 9557
|
|
// Name: ChatViewStickyHeader
|
|
// Dependencies: [32, 19, 9557, 21, 558, 576, 9558, 9564, 9568, 9569, 9588, 9594, 9621, 9626, 10829, 10832, 2]
|
|
|
|
// Module 9556 (ChatViewStickyHeader)
|
|
import react2 from "react" /* 576 */;
|
|
import Constants from "Constants" /* 9557 */;
|
|
import useStrangerDangerWarning from "useStrangerDangerWarning" /* 9558 */;
|
|
import useInappropriateConversationBannerForChannel from "useInappropriateConversationBannerForChannel" /* 9564 */;
|
|
import useLikelyAtoWarning from "useLikelyAtoWarning" /* 9568 */;
|
|
import LikelyAtoWarningBannerDefault from "LikelyAtoWarningBanner" /* 9569 */;
|
|
import StrangerDangerWarningBannerDefault from "StrangerDangerWarningBanner" /* 9588 */;
|
|
import InappropriateConversationWarningBannerDefault from "InappropriateConversationWarningBanner" /* 9594 */;
|
|
import useUnreadSettingNoticeDefault from "useUnreadSettingNotice" /* 9621 */;
|
|
import ChatBannerDefault from "ChatBanner" /* 10832 */;
|
|
import _slicedToArray from "_slicedToArray" /* 32 */;
|
|
import react from "react" /* 19 */;
|
|
import Fragment from "Fragment" /* 21 */;
|
|
import ReactCompilerGating_mod from "ReactCompilerGating" /* 558 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
let channel;
|
|
|
|
let metroImportAll;
|
|
let metroImportDefault;
|
|
let metroRequire;
|
|
const LOCATION_CONTEXT_MOBILE = Constants.LOCATION_CONTEXT_MOBILE;
|
|
({ jsx: metroRequire, Fragment: metroImportDefault, jsxs: metroImportAll } = Fragment);
|
|
let ReactCompilerGating = ReactCompilerGating_mod;
|
|
let closure_9 = ReactCompilerGating.isReactCompilerEnabled() ? ((arg0) => {
|
|
let channelId;
|
|
let senderId;
|
|
let tmp10;
|
|
const obj = react2;
|
|
const cResult = obj.c(12);
|
|
({ channelId, senderId } = arg0);
|
|
const obj2 = useStrangerDangerWarning;
|
|
const strangerDangerWarning = obj2.useStrangerDangerWarning(channelId);
|
|
const obj3 = useInappropriateConversationBannerForChannel;
|
|
const inappropriateConversationBannerForChannel = obj3.useInappropriateConversationBannerForChannel(channelId, LOCATION_CONTEXT_MOBILE);
|
|
const obj4 = useLikelyAtoWarning;
|
|
const likelyAtoWarning = obj4.useLikelyAtoWarning(channelId);
|
|
if (null != likelyAtoWarning) {
|
|
if (cResult[0] === channelId) {
|
|
if (cResult[1] === likelyAtoWarning.id) {
|
|
let tmp15;
|
|
if (cResult[2] === senderId) {
|
|
tmp15 = cResult[3];
|
|
}
|
|
tmp10 = tmp15;
|
|
}
|
|
}
|
|
const obj5 = { channelId, warningId: likelyAtoWarning.id, senderId };
|
|
const tmp18 = metroRequire(LikelyAtoWarningBannerDefault, obj5);
|
|
cResult[0] = channelId;
|
|
cResult[1] = likelyAtoWarning.id;
|
|
cResult[2] = senderId;
|
|
cResult[3] = tmp18;
|
|
tmp15 = tmp18;
|
|
} else if (null != strangerDangerWarning) {
|
|
if (cResult[4] === channelId) {
|
|
if (cResult[5] === senderId) {
|
|
let tmp11;
|
|
if (cResult[6] === strangerDangerWarning.id) {
|
|
tmp11 = cResult[7];
|
|
}
|
|
tmp10 = tmp11;
|
|
}
|
|
}
|
|
const obj6 = { channelId, warningId: strangerDangerWarning.id, senderId };
|
|
const tmp14 = metroRequire(StrangerDangerWarningBannerDefault, obj6);
|
|
cResult[4] = channelId;
|
|
cResult[5] = senderId;
|
|
cResult[6] = strangerDangerWarning.id;
|
|
cResult[7] = tmp14;
|
|
tmp11 = tmp14;
|
|
} else {
|
|
tmp10 = null;
|
|
if (null != inappropriateConversationBannerForChannel) {
|
|
if (cResult[8] === channelId) {
|
|
if (cResult[9] === inappropriateConversationBannerForChannel.id) {
|
|
let tmp6;
|
|
if (cResult[10] === senderId) {
|
|
tmp6 = cResult[11];
|
|
}
|
|
tmp10 = tmp6;
|
|
}
|
|
}
|
|
const obj7 = { channelId, warningId: inappropriateConversationBannerForChannel.id, senderId };
|
|
const tmp9 = metroRequire(InappropriateConversationWarningBannerDefault, obj7);
|
|
cResult[8] = channelId;
|
|
cResult[9] = inappropriateConversationBannerForChannel.id;
|
|
cResult[10] = senderId;
|
|
cResult[11] = tmp9;
|
|
tmp6 = tmp9;
|
|
}
|
|
}
|
|
return tmp10;
|
|
}) : ((arg0) => {
|
|
let channelId;
|
|
let senderId;
|
|
let tmp5;
|
|
({ channelId, senderId } = arg0);
|
|
const obj = useStrangerDangerWarning;
|
|
const strangerDangerWarning = obj.useStrangerDangerWarning(channelId);
|
|
const obj2 = useInappropriateConversationBannerForChannel;
|
|
const inappropriateConversationBannerForChannel = obj2.useInappropriateConversationBannerForChannel(channelId, LOCATION_CONTEXT_MOBILE);
|
|
const obj3 = useLikelyAtoWarning;
|
|
const likelyAtoWarning = obj3.useLikelyAtoWarning(channelId);
|
|
if (null != likelyAtoWarning) {
|
|
const obj4 = { channelId, warningId: likelyAtoWarning.id, senderId };
|
|
tmp5 = metroRequire(LikelyAtoWarningBannerDefault, obj4);
|
|
} else if (null != strangerDangerWarning) {
|
|
const obj5 = { channelId, warningId: strangerDangerWarning.id, senderId };
|
|
tmp5 = metroRequire(StrangerDangerWarningBannerDefault, obj5);
|
|
} else {
|
|
tmp5 = null;
|
|
if (null != inappropriateConversationBannerForChannel) {
|
|
const obj6 = { channelId, warningId: inappropriateConversationBannerForChannel.id, senderId };
|
|
tmp5 = metroRequire(InappropriateConversationWarningBannerDefault, obj6);
|
|
}
|
|
}
|
|
return tmp5;
|
|
});
|
|
const forwardRef = react.forwardRef;
|
|
ReactCompilerGating = ReactCompilerGating_mod;
|
|
const memoResult = react.memo(forwardRef(ReactCompilerGating.isReactCompilerEnabled() ? ((channel, ref) => {
|
|
let clearUnreadsNotice;
|
|
let closure_129_1;
|
|
let items;
|
|
let showUnreadsNotice;
|
|
let tmp4;
|
|
let tmp7;
|
|
const obj = react2;
|
|
const cResult = obj.c(19);
|
|
channel = channel.channel;
|
|
const scrollToNewMessages = channel.scrollToNewMessages;
|
|
[tmp4, closure_129_1] = react.useState(false);
|
|
_slicedToArray(react.useState(false), 2);
|
|
({ showUnreadsNotice, clearUnreadsNotice } = useUnreadSettingNoticeDefault(channel));
|
|
useUnreadSettingNoticeDefault(channel);
|
|
const obj2 = react;
|
|
if (cResult[0] !== channel) {
|
|
const fn = function h() {
|
|
let forumPost;
|
|
return {
|
|
onChatViewScrolled(isFirstMessageVisible) {
|
|
isFirstMessageVisible = isFirstMessageVisible.isFirstMessageVisible;
|
|
if (forumPost.isForumPost()) {
|
|
closure_1_1(!isFirstMessageVisible);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
cResult[0] = channel;
|
|
cResult[1] = fn;
|
|
tmp7 = fn;
|
|
} else {
|
|
tmp7 = cResult[1];
|
|
}
|
|
const imperativeHandle = obj2.useImperativeHandle(ref, tmp7);
|
|
if (cResult[2] === channel) {
|
|
let tmp9;
|
|
let tmp12;
|
|
if (cResult[3] === tmp4) {
|
|
tmp9 = cResult[4];
|
|
}
|
|
if (cResult[5] !== channel) {
|
|
let tmp13 = null;
|
|
if (channel.isDM()) {
|
|
const obj3 = { channelId: channel.id, senderId: channel.getRecipientId() };
|
|
tmp13 = metroRequire(closure_9, obj3);
|
|
}
|
|
cResult[5] = channel;
|
|
cResult[6] = tmp13;
|
|
tmp12 = tmp13;
|
|
} else {
|
|
tmp12 = cResult[6];
|
|
}
|
|
if (cResult[7] === channel) {
|
|
if (cResult[8] === clearUnreadsNotice) {
|
|
let tmp16;
|
|
if (cResult[9] === showUnreadsNotice) {
|
|
tmp16 = cResult[10];
|
|
}
|
|
if (cResult[11] === channel) {
|
|
let tmp19;
|
|
if (cResult[12] === scrollToNewMessages) {
|
|
tmp19 = cResult[13];
|
|
}
|
|
if (cResult[14] === tmp9) {
|
|
if (cResult[15] === tmp12) {
|
|
if (cResult[16] === tmp16) {
|
|
let tmp22;
|
|
if (cResult[17] === tmp19) {
|
|
tmp22 = cResult[18];
|
|
}
|
|
return tmp22;
|
|
}
|
|
}
|
|
}
|
|
const obj4 = { children: items };
|
|
items = [tmp9, tmp12, tmp16, tmp19];
|
|
const tmp25 = metroImportAll(metroImportDefault, obj4);
|
|
cResult[14] = tmp9;
|
|
cResult[15] = tmp12;
|
|
cResult[16] = tmp16;
|
|
cResult[17] = tmp19;
|
|
cResult[18] = tmp25;
|
|
tmp22 = tmp25;
|
|
}
|
|
const obj5 = { channel, handleScrollToNewMessages: scrollToNewMessages };
|
|
const tmp21 = metroRequire(ChatBannerDefault, obj5);
|
|
cResult[11] = channel;
|
|
cResult[12] = scrollToNewMessages;
|
|
cResult[13] = tmp21;
|
|
tmp19 = tmp21;
|
|
}
|
|
}
|
|
let tmp17 = null;
|
|
if (showUnreadsNotice) {
|
|
const obj6 = { channel, clearUnreadsNotice };
|
|
tmp17 = metroRequire(tmp5(10829), obj6);
|
|
}
|
|
cResult[7] = channel;
|
|
cResult[8] = clearUnreadsNotice;
|
|
cResult[9] = showUnreadsNotice;
|
|
cResult[10] = tmp17;
|
|
tmp16 = tmp17;
|
|
}
|
|
let tmp10 = null;
|
|
if (channel.isForumPost()) {
|
|
tmp10 = null;
|
|
if (tmp4) {
|
|
const obj7 = { channel };
|
|
tmp10 = metroRequire(tmp5(9626), obj7);
|
|
}
|
|
}
|
|
cResult[2] = channel;
|
|
cResult[3] = tmp4;
|
|
cResult[4] = tmp10;
|
|
tmp9 = tmp10;
|
|
}) : ((channel, ref) => {
|
|
let clearUnreadsNotice;
|
|
let closure_1;
|
|
let first;
|
|
let showUnreadsNotice;
|
|
channel = channel.channel;
|
|
closure_1 = undefined;
|
|
const scrollToNewMessages = channel.scrollToNewMessages;
|
|
[first, closure_1] = react.useState(false);
|
|
({ showUnreadsNotice, clearUnreadsNotice } = useUnreadSettingNoticeDefault(channel));
|
|
useUnreadSettingNoticeDefault(channel);
|
|
const imperativeHandle = react.useImperativeHandle(ref, () => {
|
|
let forumPost;
|
|
return {
|
|
onChatViewScrolled(isFirstMessageVisible) {
|
|
isFirstMessageVisible = isFirstMessageVisible.isFirstMessageVisible;
|
|
if (forumPost.isForumPost()) {
|
|
closure_1_1(!isFirstMessageVisible);
|
|
}
|
|
}
|
|
};
|
|
});
|
|
let tmp9 = null;
|
|
const tmp7 = metroImportAll;
|
|
const tmp8 = metroImportDefault;
|
|
if (channel.isForumPost()) {
|
|
tmp9 = null;
|
|
if (first) {
|
|
const obj = { channel };
|
|
tmp9 = metroRequire(tmp3(9626), obj);
|
|
}
|
|
}
|
|
const items = [tmp9, , , ];
|
|
let tmp11 = null;
|
|
if (channel.isDM()) {
|
|
const obj2 = { channelId: channel.id, senderId: channel.getRecipientId() };
|
|
tmp11 = metroRequire(closure_9, obj2);
|
|
}
|
|
items[1] = tmp11;
|
|
let tmp14 = null;
|
|
if (showUnreadsNotice) {
|
|
const obj3 = { channel, clearUnreadsNotice };
|
|
tmp14 = metroRequire(tmp3(10829), obj3);
|
|
}
|
|
const obj4 = { children: items };
|
|
items[2] = tmp14;
|
|
items[3] = metroRequire(ChatBannerDefault, { channel, handleScrollToNewMessages: scrollToNewMessages });
|
|
return tmp7(tmp8, obj4);
|
|
})));
|
|
const result = size.fileFinishedImporting("modules/chat/native/ChatViewStickyHeader.tsx");
|
|
|
|
export default memoResult;
|