// Metro module 10283 (f10284). import { MUTED_OPACITY_CONTENT } from "../../channel_list_v2/native/RedesignChannelListConstants"; import { ANSI_CONTROL_SEQUENCE_RE } from "../../../utils/HighlightJsAnsiLanguage"; import { smartOutput, isStaticRouteIconType } from "../MarkupRulesUtils"; import { makeSizeStyle, getLayoutStyles } from "../../main_tabs_v2/native/shared_components/guild_channels/layouts/ChannelListLayout"; import { ICON_SIZE } from "../../../design/components/Icon/IconSize"; import { AST_KEY } from "../MarkupTypes"; import MarkupRules from "../MarkupRules"; import HighlightText from "../../search/native/components/HighlightText"; import FastImage from "../../../components_native/common/FastImage"; import { isAndroid } from "../../../_bundle/Module501"; import Spoiler from "./Spoiler"; import { inlineChannelMentionReact, createInlineChannelReact } from "./MarkupInlineChannelMentionRules"; import { LegacyText, ThemedIcon } from "../../../design/void/native"; import { isFabric } from "../../../utils/native/FabricUtils"; import { AttachmentIcon } from "../../../design/components/Icon/native/redesign/generated/AttachmentIcon"; import Module4669 from "../../../_bundle/Module4669"; import Timestamp_native from "../Timestamp.native"; let c6867_6, createMessagePreviewReactRules; const defaultReactFn = function defaultReactFn(a0, a1, a2) { return typeof a0.content === "string" ? a0.content : smartOutput(a0, a1, a2); }; createMessagePreviewReactRules = function createMessagePreviewReactRules({ iconColor, iconSize, channelIconSize, customEmojiSize = 15 }) { let c17842_2 = customEmojiSize; const r21 = {}; r21[AST_KEY.TEXT] = { react: defaultReactFn }; r21[AST_KEY.STRIKETHROUGH] = { ...MarkupRules.RULES[AST_KEY.STRIKETHROUGH], react: defaultReactFn }; r21[AST_KEY.UNDERLINE] = { ...MarkupRules.RULES[AST_KEY.UNDERLINE], react: defaultReactFn }; r21[AST_KEY.ITALICS] = { ...MarkupRules.RULES[AST_KEY.ITALICS], react: defaultReactFn }; r21[AST_KEY.STRONG] = { ...MarkupRules.RULES[AST_KEY.STRONG], react: defaultReactFn }; r21[AST_KEY.LINK] = { ...MarkupRules.RULES[AST_KEY.LINK], react: defaultReactFn }; r21[AST_KEY.URL] = { ...MarkupRules.RULES[AST_KEY.URL], react: defaultReactFn }; r21[AST_KEY.AUTOLINK] = { ...MarkupRules.RULES[AST_KEY.AUTOLINK], react: defaultReactFn }; r21[AST_KEY.LINE_BREAK] = { ...MarkupRules.RULES[AST_KEY.LINE_BREAK], react: () => "\n" }; r21[AST_KEY.HIGHLIGHT] = { react: (a0, a1, a2) => {smartOutput(a0, a1, a2)} }; r21[AST_KEY.BLOCK_QUOTE] = { ...MarkupRules.RULES[AST_KEY.BLOCK_QUOTE], react: defaultReactFn }; r21[AST_KEY.PARAGRAPH] = { ...MarkupRules.RULES[AST_KEY.PARAGRAPH], order: 600, react: defaultReactFn }; r21[AST_KEY.EMOJI] = { react: (a0) => a0.surrogate || a0.content }; r21[AST_KEY.CUSTOM_EMOJI] = { react: (a0, a1, a2) => { if (a0.src) { return ; } return a0.alt; } }; r21[AST_KEY.SPOILER] = { react: (a0, a1, a2) => {smartOutput(a0, a1, a2)} }; r21[AST_KEY.STATIC_ROUTE_LINK] = { react: (a0, a1, a2) => isStaticRouteIconType(a0.channelId) ? smartOutput(a0, a1, a2) : null }; r21[AST_KEY.INLINE_CODE] = { ...MarkupRules.RULES[AST_KEY.INLINE_CODE], react: defaultReactFn }; r21[AST_KEY.CODE_BLOCK] = { ...MarkupRules.RULES[AST_KEY.CODE_BLOCK], parse: (a0, a1, a2) => { const r17 = MarkupRules.RULES[AST_KEY.CODE_BLOCK].parse(a0, a1, a2); if (r17.lang.toLowerCase() === "ansi") { r17.content = r17.content.replaceAll(c6867_6, ""); } return r17; }, react: defaultReactFn }; r21[AST_KEY.MENTION] = { ...MarkupRules.RULES[AST_KEY.MENTION], react: defaultReactFn }; r21[AST_KEY.CHANNEL_MENTION] = { ...MarkupRules.RULES[AST_KEY.CHANNEL_MENTION], react: inlineChannelMentionReact }; r21[AST_KEY.ATTACHMENT_LINK] = { ...MarkupRules.RULES[AST_KEY.ATTACHMENT_LINK], react: (a0, a1, a2) => {isFabric() ? "📎 " : } {smartOutput(a0, a1, a2)} }; r21[AST_KEY.SOUNDBOARD] = { ...MarkupRules.RULES[AST_KEY.SOUNDBOARD], react: defaultReactFn }; r21[AST_KEY.GUILD] = { react: defaultReactFn }; r21[AST_KEY.CHANNEL] = { react: createInlineChannelReact(isFabric() ? "💬" : ) }; r21[AST_KEY.COMMAND_MENTION] = { ...MarkupRules.RULES[AST_KEY.COMMAND_MENTION], react: (a0, a1, a2) => / {smartOutput(a0, a1, a2)} }; r21[AST_KEY.TIMESTAMP] = { ...MarkupRules.RULES[AST_KEY.TIMESTAMP], react: (a0, a1, a2) => }; r21[AST_KEY.LIST] = { ...MarkupRules.RULES[AST_KEY.LIST], react: (a0, a1, a2) => { const r8 = a0.items[0]; const r6 = Array.isArray(r8) ? r8[0] : r8; return r6 != null ? smartOutput(r6, a1, a2) : null; } }; r21[AST_KEY.HEADING] = { react: defaultReactFn }; r21[AST_KEY.SUBTEXT] = { react: defaultReactFn }; return r21; }; c6867_6 = new RegExp(ANSI_CONTROL_SEQUENCE_RE, "g"); export default function createChannelListMessagePreviewReactRules(a0, a1, a2, a3) { const styles = getLayoutStyles(a0); const r14 = a3 != null ? Math.min(a2, a3) : a2; let r29 = ICON_SIZE[styles.messagePreview.messageTypeIconSizeNew]; if (r29 == null) { r29 = 0; } return createMessagePreviewReactRules({ iconColor: a1, iconSize: styles.messagePreview.messageTypeIconSizeNew, channelIconSize: styles.messagePreview.messageTypeIconSize, customEmojiSize: r29 * r14 }); }; export { createMessagePreviewReactRules };