decord/source/modules/icymi/native/ICYMIShared.tsx
2026-07-27 11:26:19 +00:00

719 lines
28 KiB
TypeScript

// Module ID: 15288
// Function ID: 116498
// Name: Separator
// Dependencies: [31, 27, 6014, 1348, 1918, 3759, 1850, 653, 33, 6104, 11882, 4645, 9807, 15217, 5070, 5626, 5582, 5685, 4063, 15249, 477, 689, 1273, 7909, 5513, 4550, 4661, 4127, 5874, 15289, 8895, 566, 4320, 8123, 8297, 4652, 8122, 15009, 8265, 1212, 15250, 4067, 3835, 3975, 3992, 4132, 4141, 4630, 5512, 4121, 2]
// Exports: AnnouncementContentPost, GuildEventPost, MessageContentPost, SimplePost, ThreadAsComments, navigateToPost
// Module 15288 (Separator)
import initialize from "initialize";
import { View } from "Text";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import closure_6 from "_isNativeReflectConstruct";
import closure_7 from "_isNativeReflectConstruct";
import closure_8 from "_isNativeReflectConstruct";
import closure_9 from "_isNativeReflectConstruct";
import ME from "ME";
import jsxProd from "module_8123";
import createICYMIStyles from "createICYMIStyles";
let closure_10;
let closure_11;
let closure_12;
let closure_13;
let closure_14;
let closure_15;
let closure_16;
let closure_17;
let closure_18;
let closure_19;
let closure_20;
const require = arg1;
class Separator {
constructor() {
obj = { style: f116505().separator };
return jsx(View, obj);
}
}
function truncateUsername(arr) {
let combined = arr;
if (arr.length > 20) {
const _HermesInternal = HermesInternal;
combined = "" + arr.slice(0, 17) + "...";
}
return combined;
}
function CutoutGuildIconWithUser(guild) {
guild = guild.guild;
let obj = { guild };
obj = { animate: true, style: callback3().authorIcon, guildId: guild.id, user: guild.author, size: require(1273) /* Button */.AvatarSizes.XSMALL };
obj.icon = callback(require(1273) /* Button */.Avatar, obj);
return callback(CutoutGuildIcon, obj);
}
class CutoutGuildIcon {
constructor(arg0) {
obj = { style: { width: 40, height: 40 } };
({ guild, icon } = global);
obj = {};
obj1 = { shape: null, x: 16, y: 14, size: 32 };
tmp = require("SolidCutout");
obj1.shape = require("SolidCutout").CutoutShape.Circle;
items = [];
items[0] = obj1;
obj.cutouts = items;
obj2 = { guild };
tmp2 = require("makeSizeStyle");
obj2.size = require("makeSizeStyle").GuildIconSizes.NORMAL;
obj.children = jsx(tmp2, obj2);
items1 = [, ];
items1[0] = jsx(tmp, obj);
items1[1] = icon;
obj.children = items1;
return jsxs(View, obj);
}
}
class GuildContentPost {
constructor(arg0) {
guild = global.guild;
({ channel, id, type } = global);
({ timestamp, hideTimestamp, children, avatar, title, subtitle, onHeaderPress, onHeaderLongPress, disableInteractions } = global);
tmp = f116505();
obj = require("getFontScale");
obj = {};
fontScale = obj.useFontScale();
tmp3 = jsxs;
tmp4 = Fragment;
tmp5 = jsx;
obj1 = { onPress: onHeaderPress, onLongPress: onHeaderLongPress, style: tmp.content };
obj2 = { style: fontScale > 1.8 ? tmp.channelNameAndAccessoryLarge : tmp.channelNameAndAccessory };
obj3 = { style: tmp.header };
items = [, ];
items[0] = avatar;
obj4 = { style: tmp.headerInfo };
obj5 = { style: tmp.title };
obj6 = { style: tmp.titleLeft };
items1 = [, ];
items1[0] = title;
tmp16 = !hideTimestamp;
tmp6 = jsx;
tmp7 = View;
tmp8 = jsxs;
tmp9 = View;
tmp10 = jsxs;
tmp11 = View;
tmp12 = jsxs;
tmp13 = View;
tmp14 = jsxs;
tmp15 = View;
if (tmp16) {
tmp17 = jsx;
tmp18 = guild;
tmp19 = id;
num = 27;
obj7 = { lineClamp: 1, variant: "text-xs/normal", color: "text-muted" };
num2 = 28;
obj10 = require("getRelativeTimestamp");
obj7.children = obj10.getRelativeTimestamp(timestamp);
tmp16 = jsx(require("Text").Text, obj7);
}
items1[1] = tmp16;
obj6.children = items1;
items2 = [, ];
items2[0] = tmp14(tmp15, obj6);
tmp20 = null;
if (!disableInteractions) {
tmp20 = null;
if (null != guild) {
tmp21 = jsx;
tmp22 = guild;
tmp23 = id;
obj8 = {};
obj8.onPress = function onPress() {
let id;
let obj = guild(outer1_2[29]);
obj = { guildId: guild.id };
if (null != id) {
id = id.id;
}
obj.channelId = id;
obj.id = closure_2;
obj.type = initialize;
return obj.openDetailsActionSheet(obj);
};
obj8.style = tmp.subtitleTrailing;
num3 = 8;
obj8.hitSlop = 8;
tmp24 = jsx;
num4 = 30;
obj9 = {};
tmp25 = channel;
num5 = 21;
obj9.color = require("_createForOfIteratorHelperLoose").colors.ICON_MUTED;
str = "sm";
obj9.size = "sm";
obj8.children = jsx(require("MoreHorizontalIcon").MoreHorizontalIcon, obj9);
tmp20 = jsx(require("PressableBase").PressableOpacity, obj8);
}
}
items2[1] = tmp20;
obj5.children = items2;
items3 = [, ];
items3[0] = tmp12(tmp13, obj5);
obj10 = { style: tmp.subTitleContainer, children: jsx(View, obj11) };
obj11 = { style: tmp.subtitle, children: subtitle };
items3[1] = jsx(View, obj10);
obj4.children = items3;
items[1] = tmp10(tmp11, obj4);
obj3.children = items;
obj2.children = tmp8(tmp9, obj3);
obj1.children = tmp6(tmp7, obj2);
items4 = [, ];
items4[0] = tmp5(require("PressableBase").PressableHighlight, obj1);
items4[1] = children;
obj.children = items4;
return tmp3(tmp4, obj);
}
}
({ AnalyticsObjects: closure_10, AnalyticsObjectTypes: closure_11, AnalyticsPages: closure_12, DEFAULT_ROLE_COLOR_HEX: closure_13, MAX_MESSAGES_FOR_JUMP: closure_14, MessageFlags: closure_15, Permissions: closure_16, Routes: closure_17 } = ME);
({ jsx: closure_18, jsxs: closure_19, Fragment: closure_20 } = jsxProd);
let closure_21 = createICYMIStyles.createICYMIStyles((margin) => {
let obj = {};
obj = { flex: 1, marginTop: null, overflow: "hidden" };
let obj2 = require(477) /* set */;
let num = 0;
if (obj2.isAndroid()) {
num = -2;
}
obj.marginTop = num;
obj.simplePostContent = obj;
obj = { flex: 1, marginTop: null, overflow: "hidden" };
let obj4 = require(477) /* set */;
let num2 = 0;
if (obj4.isAndroid()) {
num2 = -2;
}
obj.marginTop = num2;
obj.paddingTop = margin.margin;
obj.content = obj;
const obj1 = { position: "absolute", right: -4, bottom: -2, padding: 4, borderRadius: importDefault(689).radii.round, backgroundColor: importDefault(689).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND };
obj.insetIconWrapper = obj1;
obj.authorIcon = { position: "absolute", right: -4, bottom: -2 };
obj2 = { tintColor: importDefault(689).colors.TEXT_MUTED };
obj.moreDetailsIcon = obj2;
({ margin: obj8.paddingBottom, margin: obj8.marginHorizontal } = margin);
obj.channelNameAndAccessory = { flexDirection: "row", justifyContent: "space-between", alignItems: "center" };
obj4 = { flexDirection: "column", paddingBottom: margin.margin, marginHorizontal: margin.margin };
obj.channelNameAndAccessoryLarge = obj4;
obj.header = { flexDirection: "row", flexGrow: 1 };
const obj5 = { flexGrow: 1, flexShrink: 1, marginLeft: margin.margin };
obj.headerInfo = obj5;
obj.title = { flexDirection: "row", alignItems: "center", justifyContent: "space-between", marginBottom: 2 };
obj.titleLeft = { flexShrink: 1, flexGrow: 0, flexDirection: "row", alignItems: "center", gap: 6 };
const obj6 = { flexDirection: "row", justifyContent: "space-between", borderRadius: importDefault(689).radii.sm };
obj.subTitleContainer = obj6;
obj.subtitle = { flexShrink: 1, flexGrow: 0, width: "100%" };
const obj7 = { flexDirection: "row", alignItems: "center", gap: importDefault(689).space.PX_4 };
obj.genContentSubtitle = obj7;
obj.genContentSubtitleChannel = { flexDirection: "row", alignItems: "center", gap: 2, flex: 1 };
obj.subtitleTrailing = { paddingVertical: 1 };
const obj8 = { height: 1, width: "100%", backgroundColor: importDefault(689).colors.BORDER_SUBTLE };
obj.separator = obj8;
obj.eventsSubtitle = { flexDirection: "row", alignItems: "center" };
const obj9 = { padding: 8, backgroundColor: importDefault(689).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND, borderRadius: importDefault(689).radii.md, display: "flex", flexDirection: "row", alignItems: "center", gap: 8 };
obj.comments = obj9;
obj.recentCommentText = { flexGrow: 1, flexShrink: 1, marginRight: 12 };
obj.commentCount = { display: "flex", flexDirection: "row", alignItems: "center", gap: 2, justifySelf: "end" };
const obj10 = { width: 20, height: 20, tintColor: importDefault(689).colors.INTERACTIVE_TEXT_DEFAULT };
obj.commentsIcon = obj10;
obj.chevron = { tintColor: importDefault(689).colors.TEXT_MUTED };
return obj;
});
let closure_22 = { code: "function ICYMISharedTsx1(){const{interpolateColor,progress,bgColor,bgColorHighlighted}=this.__closure;return{backgroundColor:interpolateColor(progress.get(),[0,1],[bgColor,bgColorHighlighted])};}" };
let result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/icymi/native/ICYMIShared.tsx");
export const navigateToPost = function navigateToPost(id, id2, id3) {
const _require = id;
const importDefault = id3;
const timerId = setTimeout(() => {
let obj = id(outer1_2[14]);
obj = { page: outer1_12.ICYMI, object: outer1_10.ACK_MESSAGE_VIEWED, objectType: outer1_11.ACK_SEMI_AUTOMATIC };
obj.ack(id, obj, true, true, closure_1);
}, 1500);
importDefault(5626)(closure_17.CHANNEL(id2, id, id3), { openChannel: true, navigationReplace: false });
if (null != id3) {
_require(5582).runAfterInteractions(() => {
let obj = id3(outer1_2[17]);
obj = { channelId: id, limit: outer1_14 };
obj = { messageId: id3, flash: true, jumpType: id(outer1_2[18]).JumpType.ANIMATED };
obj.jump = obj;
const messages = obj.fetchMessages(obj);
}, 150);
let obj = _require(5582);
}
};
export { Separator };
export { truncateUsername };
export { CutoutGuildIcon };
export { GuildContentPost };
export const AnnouncementContentPost = function AnnouncementContentPost(guild) {
let children;
let mentioned;
let onHeaderLongPress;
let onHeaderPress;
let timestamp;
guild = guild.guild;
const channel = guild.channel;
const author = guild.author;
const id = guild.id;
({ timestamp, children, mentioned, onHeaderPress, onHeaderLongPress } = guild);
let obj = guild(author[31]);
const items = [closure_7];
const stateFromStores = obj.useStateFromStores(items, () => outer1_7.getMember(guild.id, author.id));
let colorString;
if (null != stateFromStores) {
colorString = stateFromStores.colorString;
}
if (null == colorString) {
colorString = closure_13;
}
let obj1 = guild(author[32]);
const items1 = [author.id, channel.id, id];
const name = obj1.useName(guild.id, channel.id, author);
obj = { guild, channel, timestamp };
const callback = id.useCallback(() => {
let obj = channel(author[33]);
obj.itemInteracted(id, "announcement", "open_profile");
obj = { itemId: id, itemType: "announcement", actionParameters: { actionGestureType: "press", actionTargetElement: "item_header", actionIntentType: "open", actionDestinationType: "user" } };
channel(author[33]).feedItemActioned(obj);
obj = { userId: author.id, channelId: channel.id };
channel(author[34])(obj);
}, items1);
obj.avatar = callback(CutoutGuildIconWithUser, { guild, author });
obj = { style: { maxWidth: 225 }, lineClamp: 1, variant: "text-sm/medium", color: "text-muted", children: guild.name };
obj.title = callback(guild(author[27]).Text, obj, channel.id);
obj1 = { lineClamp: 2, variant: "text-md/normal", color: "text-default", style: callback3().subtitle };
const obj2 = { variant: "text-md/semibold", onPress: callback, style: obj3 };
obj3 = { color: colorString };
obj2.children = `${truncateUsername(tmp4)} `;
const items2 = [callback(guild(author[27]).Text, obj2), , ];
const obj4 = { size: "sm", color: channel(author[21]).colors.TEXT_SUBTLE };
items2[1] = callback(guild(author[35]).AnnouncementsIcon, obj4);
guild(author[36]);
items2[2] = ` ${tmp7(guild(author[9]).ContentType.ANNOUNCEMENT, mentioned)}`;
obj1.children = items2;
obj.subtitle = callback2(guild(author[27]).Text, obj1);
obj.onHeaderPress = onHeaderPress;
obj.onHeaderLongPress = onHeaderLongPress;
obj.id = id;
obj.type = "announcement";
obj.children = children;
return callback(GuildContentPost, obj);
};
export const GuildEventPost = function GuildEventPost(guild) {
let children;
let onHeaderPress;
guild = guild.guild;
const channel = guild.channel;
const event = guild.event;
const type = guild.type;
let creator_id;
let stateFromStores;
let stateFromStores1;
({ children, onHeaderPress } = guild);
creator_id = event.host_id;
if (null == creator_id) {
creator_id = event.creator_id;
}
let obj = guild(event[37]);
if (null != creator_id) {
const items = [creator_id];
let items1 = items;
} else {
items1 = [];
}
const ensureHydratedUsers = obj.useEnsureHydratedUsers(event.guild_id, items1);
let obj1 = guild(event[31]);
const items2 = [closure_9];
stateFromStores = obj1.useStateFromStores(items2, () => outer1_9.getUser(creator_id));
let obj2 = guild(event[31]);
const items3 = [closure_7];
stateFromStores1 = obj2.useStateFromStores(items3, () => {
let member = null;
if (null != creator_id) {
member = outer1_7.getMember(guild.id, creator_id);
}
return member;
});
const items4 = [stateFromStores, , , , ];
let id;
if (null != channel) {
id = channel.id;
}
items4[1] = id;
items4[2] = event.id;
let highestRoleId;
if (null != stateFromStores1) {
highestRoleId = stateFromStores1.highestRoleId;
}
items4[3] = highestRoleId;
items4[4] = type;
let colorString;
const callback = type.useCallback(() => {
if (null != stateFromStores) {
let obj = channel(event[33]);
obj.itemInteracted(event.id, type, "open_profile");
obj = { itemId: event.id, itemType: "guild_event", actionParameters: { actionGestureType: "press", actionTargetElement: "item_header", actionIntentType: "open", actionDestinationType: "user" } };
channel(event[33]).feedItemActioned(obj);
obj = { userId: stateFromStores.id };
let highestRoleId;
const obj2 = channel(event[33]);
if (null != stateFromStores1) {
highestRoleId = stateFromStores1.highestRoleId;
}
obj.roleId = highestRoleId;
let id;
if (null != channel) {
id = channel.id;
}
obj.channelId = id;
channel(event[34])(obj);
const tmp13 = channel(event[34]);
}
}, items4);
if (null != stateFromStores1) {
colorString = stateFromStores1.colorString;
}
if (null == colorString) {
colorString = closure_13;
}
obj = { guild, channel, timestamp: 0, hideTimestamp: true };
if (null != stateFromStores) {
obj = { guild, author: stateFromStores };
let tmp18 = callback(CutoutGuildIconWithUser, obj);
} else {
obj1 = { guild, size: guild(event[24]).GuildIconSizes.NORMAL };
tmp18 = callback(channel(event[24]), obj1);
const tmp16 = channel(event[24]);
}
obj.avatar = tmp18;
obj2 = { style: { maxWidth: 225 }, lineClamp: 1, variant: "text-sm/medium", color: "text-muted", children: guild.name };
obj.title = callback(guild(event[27]).Text, obj2, event.id);
const obj3 = { lineClamp: 2, variant: "text-md/normal", color: "text-default", style: callback3().subtitle };
if (null != stateFromStores) {
const obj4 = {};
const obj5 = { variant: "text-md/semibold", onPress: callback };
const obj6 = { color: colorString };
obj5.style = obj6;
obj5.children = `${truncateUsername(tmp3.username)} `;
const items5 = [callback(guild(event[27]).Text, obj5), , ];
const obj7 = { size: "sm", color: channel(event[21]).colors.TEXT_SUBTLE };
items5[1] = callback(guild(event[38]).CalendarIcon, obj7);
const intl = guild(event[39]).intl;
const string = intl.string;
let t = guild(event[39]).t;
if (tmp10) {
t = string(t["42OrO4"]);
let text = ` ${t}`;
} else {
text = ` ${string(t.Vu15se)}`;
}
items5[2] = text;
obj4.children = items5;
} else {
const obj8 = {};
const obj9 = { size: "sm", color: channel(event[21]).colors.TEXT_SUBTLE };
const items6 = [callback(guild(event[38]).CalendarIcon, obj9), ];
const intl2 = guild(event[39]).intl;
items6[1] = ` ${tmp39(guild(event[39]).t.T7MIsc)}`;
obj8.children = items6;
obj3.children = tmp23(tmp24, obj8);
obj.subtitle = callback(tmp22, obj3);
obj.id = event.id;
obj.type = type;
obj.onHeaderPress = onHeaderPress;
obj.children = children;
return callback(GuildContentPost, obj);
}
};
export const MessageContentPost = function MessageContentPost(guild) {
let children;
let onHeaderLongPress;
let onHeaderPress;
let timestamp;
guild = guild.guild;
const channel = guild.channel;
const author = guild.author;
const message = guild.message;
const id = guild.id;
const type = guild.type;
const items = [channel, message];
({ timestamp, children, onHeaderPress, onHeaderLongPress } = guild);
const memo = message.useMemo(() => guild(author[36]).determineContentType(channel, message), items);
let obj = guild(author[31]);
const items1 = [closure_7];
const stateFromStores = obj.useStateFromStores(items1, () => outer1_7.getMember(guild.id, author.id));
let colorString;
if (null != stateFromStores) {
colorString = stateFromStores.colorString;
}
if (null == colorString) {
colorString = closure_13;
}
let obj1 = guild(author[32]);
const name = obj1.useName(guild.id, channel.id, author);
if (guild(author[9]).ContentType.POPULAR_MESSAGE === memo) {
let LightbulbIcon = guild(author[10]).FireIcon;
} else if (guild(author[9]).ContentType.IMAGE === memo) {
LightbulbIcon = guild(author[11]).ImageIcon;
} else if (guild(author[9]).ContentType.VIDEO === memo) {
LightbulbIcon = guild(author[12]).CirclePlayIcon;
} else {
LightbulbIcon = guild(author[13]).LightbulbIcon;
}
const items2 = [author.id, channel.id, id, type];
const callback = message.useCallback(() => {
let obj = channel(author[33]);
obj.itemInteracted(id, type, "open_profile");
obj = { itemId: id, itemType: "message", actionParameters: { actionGestureType: "press", actionTargetElement: "item_header", actionIntentType: "open", actionDestinationType: "user" } };
channel(author[33]).feedItemActioned(obj);
obj = { userId: author.id, channelId: channel.id };
channel(author[34])(obj);
}, items2);
obj = { guild, channel, timestamp, avatar: callback(CutoutGuildIconWithUser, { guild, author }) };
obj = { style: { maxWidth: 225 }, lineClamp: 1, variant: "text-sm/medium", color: "text-default", children: guild.name };
obj.title = callback(guild(author[27]).Text, obj, channel.id);
obj1 = { lineClamp: 2, variant: "text-md/normal", color: "text-default", style: { marginRight: message.useContext(guild(author[40]).ICYMIContext).margin } };
const obj2 = { style: obj3, onPress: callback, variant: "text-md/semibold" };
obj3 = { color: colorString };
obj2.children = `${truncateUsername(tmp6)} `;
const items3 = [callback(guild(author[27]).Text, obj2), callback(LightbulbIcon, { size: "sm", color: channel(author[21]).colors.TEXT_SUBTLE }), ];
guild(author[36]);
items3[2] = ` ${obj9.contentTypeToText(tmp)}`;
obj1.children = items3;
obj.subtitle = callback2(guild(author[27]).Text, obj1);
obj.onHeaderPress = onHeaderPress;
obj.onHeaderLongPress = onHeaderLongPress;
obj.id = id;
obj.type = type;
obj.children = children;
return callback(GuildContentPost, obj);
};
export const SimplePost = function SimplePost(arg0) {
let children;
let hideDivider;
let highlight;
({ children, hideDivider, highlight } = arg0);
if (highlight === undefined) {
highlight = false;
}
let token;
let dependencyMap;
let sharedValue;
const tmp = callback3();
let obj = highlight(3835);
token = obj.useToken(token(689).colors.MESSAGE_HIGHLIGHT_BACKGROUND_DEFAULT, token(4067)());
let obj1 = highlight(3975);
const hexWithOpacityResult = obj1.hexWithOpacity(token(689).unsafe_rawColors.BRAND_360, 0.25);
dependencyMap = hexWithOpacityResult;
let obj2 = highlight(3992);
sharedValue = obj2.useSharedValue(0);
const tmp2 = token(4067)();
const fn = function c() {
const obj = {};
const items = [token, _undefined];
obj.backgroundColor = highlight(_undefined[44]).interpolateColor(sharedValue.get(), [0, 1], items);
return obj;
};
obj = { interpolateColor: highlight(3992).interpolateColor, progress: sharedValue, bgColor: token, bgColorHighlighted: hexWithOpacityResult };
fn.__closure = obj;
fn.__workletHash = 11116019021445;
fn.__initData = closure_22;
let items = [highlight, sharedValue];
const animatedStyle = highlight(3992).useAnimatedStyle(fn);
const effect = sharedValue.useEffect(() => {
if (highlight) {
let obj = highlight(_undefined[44]);
obj = { duration: 500 };
const obj2 = highlight(_undefined[45]);
const withTimingResult = highlight(_undefined[45]).withTiming(1, obj);
const obj4 = highlight(_undefined[44]);
obj = { duration: 350 };
const result = sharedValue.set(obj.withSequence(withTimingResult, obj4.withDelay(500, highlight(_undefined[45]).withTiming(0, obj))));
const obj5 = highlight(_undefined[45]);
}
}, items);
obj = {};
if (highlight) {
obj1 = {};
const items1 = [tmp.simplePostContent, animatedStyle];
obj1.style = items1;
obj1.children = children;
const items2 = [tmp10(token(3992).View, obj1), ];
let tmp18 = null;
if (!hideDivider) {
tmp18 = callback(Separator, {});
}
items2[1] = tmp18;
obj.children = items2;
let tmp15 = obj;
} else {
obj2 = { style: tmp.simplePostContent, children };
const items3 = [tmp10(View, obj2), ];
let tmp12 = null;
if (!hideDivider) {
tmp12 = callback(Separator, {});
}
items3[1] = tmp12;
obj.children = items3;
tmp15 = obj;
}
return closure_19(closure_20, tmp15);
};
export const ThreadAsComments = function ThreadAsComments(parentMessage) {
let inForum;
let messageCount;
let mostRecentMessage;
let onPress;
let style;
let thread;
parentMessage = parentMessage.parentMessage;
({ onPress, style, inForum } = parentMessage);
let tmp = callback3();
({ thread, messageCount, mostRecentMessage } = (function useThread(guild, parentMessage, arg2) {
let messageCount;
let mostRecentMessage;
let thread;
let closure_0 = guild;
let closure_1 = parentMessage;
let closure_2 = arg2;
const items = [outer1_6, outer1_5];
const stateFromStoresObject = parentMessage(outer1_2[31]).useStateFromStoresObject(items, () => {
const obj = { thread: outer2_6.getChannel(parentMessage.id) };
const count = outer2_5.getCount(parentMessage.id);
let num = 0;
if (null != count) {
num = count;
}
obj.messageCount = num;
obj.mostRecentMessage = outer2_5.getMostRecentMessage(parentMessage.id);
return obj;
});
const items1 = [guild.id, arg2, parentMessage];
({ thread, messageCount, mostRecentMessage } = stateFromStoresObject);
const effect = outer1_3.useEffect(() => {
let tmp = parentMessage.hasFlag(outer2_15.HAS_THREAD) || closure_2;
if (tmp) {
tmp = null == outer2_5.getMostRecentMessage(parentMessage.id);
}
if (tmp) {
let obj = outer2_1(outer2_2[46]);
obj.preload(guild.id, parentMessage.id);
obj = { channelId: parentMessage.id, isPreload: true, limit: 25 };
const messages = outer2_1(outer2_2[17]).fetchMessages(obj);
const obj2 = outer2_1(outer2_2[17]);
}
}, items1);
return { thread, messageCount, mostRecentMessage };
})(parentMessage.guild, parentMessage, null != inForum && inForum));
let obj = parentMessage(566);
let items = [closure_8];
if (obj.useStateFromStores(items, () => outer1_8.canWithPartialContext(outer1_16.VIEW_CHANNEL, { channelId: parentMessage.id }))) {
if (null != thread) {
if (null != mostRecentMessage) {
let str = "99+";
if (messageCount <= 99) {
str = messageCount;
}
obj = {};
let items1 = [tmp.comments, style];
obj.style = items1;
obj.onPress = onPress;
obj = {};
let author;
if (null != mostRecentMessage) {
author = mostRecentMessage.author;
}
obj.user = author;
obj.guildId = thread.guild_id;
obj.size = parentMessage(1273).AvatarSizes.XSMALL;
const items2 = [callback(parentMessage(1273).Avatar, obj), , ];
const obj1 = { variant: "text-sm/semibold", lineClamp: 1, style: tmp.recentCommentText };
if (mostRecentMessage.content.length > 0) {
let obj4 = importDefault(4121);
let parseInlineReplyResult = obj4.parseInlineReply(mostRecentMessage.content, true);
} else {
const intl = parentMessage(1212).intl;
parseInlineReplyResult = intl.string(parentMessage(1212).t["6kp9H2"]);
}
obj1.children = parseInlineReplyResult;
items2[1] = callback(parentMessage(4127).Text, obj1);
let obj2 = { style: tmp.commentCount };
const obj3 = { style: tmp.commentsIcon };
const items3 = [callback(parentMessage(4630).ChatIcon, obj3), , ];
obj4 = { variant: "text-sm/bold", color: "interactive-text-default", children: str };
items3[1] = callback(parentMessage(4127).Text, obj4);
const obj5 = { style: tmp.chevron, size: "xxs" };
items3[2] = callback(parentMessage(5512).ChevronSmallRightIcon, obj5);
obj2.children = items3;
items2[2] = callback2(View, obj2);
obj.children = items2;
return callback2(parentMessage(4661).PressableHighlight, obj);
}
}
const obj6 = {};
const items4 = [tmp.comments, style];
obj6.style = items4;
obj6.onPress = onPress;
const obj7 = { variant: "text-md/semibold", color: "text-muted", lineClamp: 1, style: tmp.recentCommentText };
const intl2 = parentMessage(1212).intl;
obj7.children = intl2.string(parentMessage(1212).t.VMWjXW);
const items5 = [callback(parentMessage(4127).Text, obj7), ];
const obj8 = { style: tmp.commentCount };
const obj9 = { style: tmp.commentsIcon };
const items6 = [callback(parentMessage(4630).ChatIcon, obj9), ];
const obj10 = { style: tmp.chevron, size: "xxs" };
items6[1] = callback(parentMessage(5512).ChevronSmallRightIcon, obj10);
obj8.children = items6;
items5[1] = callback2(View, obj8);
obj6.children = items5;
return callback2(parentMessage(4661).PressableHighlight, obj6);
} else {
return null;
}
const tmp2 = null != inForum && inForum;
const tmp3 = (function useThread(guild, parentMessage, arg2) {
let messageCount;
let mostRecentMessage;
let thread;
let closure_0 = guild;
let closure_1 = parentMessage;
let closure_2 = arg2;
const items = [outer1_6, outer1_5];
const stateFromStoresObject = parentMessage(outer1_2[31]).useStateFromStoresObject(items, () => {
const obj = { thread: outer2_6.getChannel(parentMessage.id) };
const count = outer2_5.getCount(parentMessage.id);
let num = 0;
if (null != count) {
num = count;
}
obj.messageCount = num;
obj.mostRecentMessage = outer2_5.getMostRecentMessage(parentMessage.id);
return obj;
});
const items1 = [guild.id, arg2, parentMessage];
({ thread, messageCount, mostRecentMessage } = stateFromStoresObject);
const effect = outer1_3.useEffect(() => {
let tmp = parentMessage.hasFlag(outer2_15.HAS_THREAD) || closure_2;
if (tmp) {
tmp = null == outer2_5.getMostRecentMessage(parentMessage.id);
}
if (tmp) {
let obj = outer2_1(outer2_2[46]);
obj.preload(guild.id, parentMessage.id);
obj = { channelId: parentMessage.id, isPreload: true, limit: 25 };
const messages = outer2_1(outer2_2[17]).fetchMessages(obj);
const obj2 = outer2_1(outer2_2[17]);
}
}, items1);
return { thread, messageCount, mostRecentMessage };
})(parentMessage.guild, parentMessage, null != inForum && inForum);
};