158 lines
6.0 KiB
TypeScript
158 lines
6.0 KiB
TypeScript
// Metro module 15366 (f15367).
|
|
import * as Module19 from "react";
|
|
import { useMemo } from "react";
|
|
import { MessageEmbedTypes } from "../../../Constants";
|
|
import { isMediaAttachment } from "../../forums/ForumPostMediaUtils";
|
|
import { ChannelListLayoutTypes } from "../../main_tabs_v2/ChannelListLayoutTypes";
|
|
import { DEFAULT_OPTIONS } from "../../messages/native/renderer/RenderMessageOptionsContext";
|
|
import isForwardMessage from "../../forwarding/isForwardMessage";
|
|
import useTheme from "../../../hooks/useTheme";
|
|
import { createNativeStyleProperties } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { RenderEmbeds, InlineEmbedMedia, InlineAttachmentMedia } from "../../user_settings/UserSettings";
|
|
import RowGenerator from "../../messages/native/renderer/RowGenerator";
|
|
import ChatItem from "../../../components_native/chat/ChatItem";
|
|
import { MessageContextType } from "../../messages/native/renderer/RowGeneratorTypes";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
const ICYMIMessageRowPreview = function ICYMIMessageRowPreview(props) {
|
|
const { message: message4, lineClamp, messageSizeCacheRef, messageOptions, maxHeight, pointerEvents = "none" } = props;
|
|
const theme = useTheme();
|
|
let c21911_2 = createNativeStyleProperties({
|
|
seeMoreLabelColor: Module712.colors.TEXT_DEFAULT
|
|
})(theme);
|
|
const setting = RenderEmbeds.getSetting();
|
|
const setting2 = InlineEmbedMedia.getSetting();
|
|
const setting3 = InlineAttachmentMedia.getSetting();
|
|
return <ChatItem pointerEvents={pointerEvents} horizontalOffset={0} modifyRow={function modifyRow(a0) {
|
|
a0.contextType = MessageContextType.SEARCH;
|
|
if (lineClamp != null) {
|
|
a0.truncation = {
|
|
numberOfLines: lineClamp,
|
|
expandable: false,
|
|
seeMoreLabel: intl.string(t.qCozu3),
|
|
seeMoreLabelColor: c21911_2.seeMoreLabelColor
|
|
};
|
|
}
|
|
}} message={message4} rowGenerator={useMemo(() => {
|
|
const rowGenerator = new RowGenerator();
|
|
rowGenerator.setOptions({
|
|
renderEmbeds: setting,
|
|
inlineEmbedMedia: setting2,
|
|
inlineAttachmentMedia: setting3,
|
|
renderReactions: false,
|
|
animateEmoji: false,
|
|
gifAutoPlay: false,
|
|
renderReplies: false,
|
|
renderCodedLinks: false,
|
|
renderGiftCode: false,
|
|
renderActivityInviteEmbed: false,
|
|
renderThreadEmbeds: false,
|
|
renderForumPostActions: false,
|
|
ignoreMentioned: true,
|
|
enableSwipeActions: false,
|
|
renderExecutedCommands: false,
|
|
useAlternateEmbedColors: true,
|
|
...messageOptions
|
|
});
|
|
return rowGenerator;
|
|
}, [setting, setting2, setting3, messageOptions])} messageSizeCacheRef={messageSizeCacheRef} maxHeight={maxHeight} />;
|
|
};
|
|
const r24 = Module19.memo(function({ message, messageOptions: messageOptions2, ...rest }) {
|
|
let c21912_1 = rest;
|
|
const memo = useMemo(() => {
|
|
const r5 = message.set("content", null);
|
|
const r13 = r5.set("embeds", r5.embeds.filter(({ type }) => type === MessageEmbedTypes.IMAGE || type === MessageEmbedTypes.GIFV));
|
|
return r13.set("attachments", r13.attachments.filter((attachment) => isMediaAttachment(attachment))).set("editedTimestamp", null);
|
|
}, [message]);
|
|
return <ICYMIMessageRowPreview {...useMemo(() => {
|
|
let muted = c21912_1.muted;
|
|
if (muted == null) {
|
|
muted = false;
|
|
}
|
|
return {
|
|
message: memo,
|
|
layout: ChannelListLayoutTypes.COZY,
|
|
muted,
|
|
lineClamp: c21912_1.lineClamp
|
|
};
|
|
}, [memo, rest.muted, rest.lineClamp])} messageOptions={{
|
|
...DEFAULT_OPTIONS,
|
|
ignoreMentioned: true,
|
|
renderReplies: false,
|
|
renderThreadEmbeds: false,
|
|
renderReactions: false,
|
|
renderEmbeds: true,
|
|
gifAutoPlay: true,
|
|
animateEmoji: true,
|
|
renderPolls: true,
|
|
inlineEmbedMedia: true,
|
|
renderForumPostActions: false,
|
|
renderAttachments: true,
|
|
...messageOptions2
|
|
}} />;
|
|
});
|
|
const r27 = Module19.memo(function({ message: message2, messageOptions: messageOptions2, ...rest }) {
|
|
let c21913_1 = rest;
|
|
const memo2 = useMemo(() => {
|
|
const r7 = message2.set("content", null);
|
|
const r17 = r7.set("embeds", r7.embeds.filter(({ type }) => !(type === MessageEmbedTypes.IMAGE || type === MessageEmbedTypes.GIFV)).slice(0, 1));
|
|
return r17.set("attachments", r17.attachments.filter((attachment) => !isMediaAttachment(attachment)).slice(0, 1)).set("editedTimestamp", null);
|
|
}, [message2]);
|
|
return <ICYMIMessageRowPreview {...useMemo(() => {
|
|
let muted = c21913_1.muted;
|
|
if (muted == null) {
|
|
muted = false;
|
|
}
|
|
return {
|
|
message: memo2,
|
|
layout: ChannelListLayoutTypes.COZY,
|
|
muted,
|
|
lineClamp: c21913_1.lineClamp
|
|
};
|
|
}, [memo2, rest.muted, rest.lineClamp])} messageOptions={{
|
|
...DEFAULT_OPTIONS,
|
|
ignoreMentioned: true,
|
|
renderReplies: false,
|
|
renderThreadEmbeds: false,
|
|
renderReactions: false,
|
|
renderEmbeds: true,
|
|
renderAttachments: true,
|
|
...messageOptions2
|
|
}} />;
|
|
});
|
|
const r30 = Module19.memo(function({ message: message3, messageOptions: messageOptions2, ...rest }) {
|
|
let c21914_1 = rest;
|
|
const memo3 = useMemo(() => {
|
|
let muted = c21914_1.muted;
|
|
if (muted == null) {
|
|
muted = false;
|
|
}
|
|
return {
|
|
message: message3,
|
|
lineClamp: c21914_1.lineClamp,
|
|
layout: ChannelListLayoutTypes.COZY,
|
|
muted,
|
|
pointerEvents: c21914_1.pointerEvents
|
|
};
|
|
}, [message3, rest.lineClamp, rest.muted, rest.pointerEvents]);
|
|
const isForwardMessage2 = isForwardMessage(message3);
|
|
return <ICYMIMessageRowPreview {...memo3} messageOptions={{
|
|
...DEFAULT_OPTIONS,
|
|
ignoreMentioned: true,
|
|
renderReplies: false,
|
|
renderThreadEmbeds: false,
|
|
renderReactions: false,
|
|
gifAutoPlay: true,
|
|
animateEmoji: true,
|
|
renderPolls: true,
|
|
renderForumPostActions: false,
|
|
renderAttachments: isForwardMessage2,
|
|
renderEmbeds: isForwardMessage2,
|
|
inlineEmbedMedia: isForwardMessage2,
|
|
...messageOptions2
|
|
}} seeMoreLabel="..." />;
|
|
});
|
|
export { r24 as MediaOnlyRowPreview };
|
|
export { r27 as NonMediaEmbedsRowPreview };
|
|
export { r30 as MessageRowPreview };
|