decord/source/modules/forums/ForumUtils.tsx

111 lines
4.1 KiB
TypeScript
Raw Normal View History

2026-08-13 07:00:46 +00:00
// Module ID: 5964
// Function ID: 5965
2026-07-29 08:29:29 +00:00
// Name: getCreationDefaultFormatter
2026-08-13 07:00:46 +00:00
// Dependencies: [1391, 1910, 4357, 5965, 1398, 1236, 1400, 2]
2026-07-29 08:29:29 +00:00
// Exports: canDisplayPostUnreadMessageCount, getForumPostReadStates, getForumPostReadStatesById, getForumTimestampFormatter, isForumPostPinned
2026-07-20 16:05:17 +00:00
2026-08-13 07:00:46 +00:00
// Module 5964 (getCreationDefaultFormatter)
2026-07-29 08:29:29 +00:00
import ensureGuildLoaded from "ensureGuildLoaded";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import generateOldThreadCutoff from "generateOldThreadCutoff";
2026-07-23 10:11:24 +00:00
import { ForumTimestampFormats } from "FORUM_GUIDELINES_ACTION_SHEET";
import { ChannelFlags } from "set";
2026-07-21 22:01:30 +00:00
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-29 08:29:29 +00:00
function getCreationDefaultFormatter() {
const obj = { minutes: require(1236) /* getSystemLocale */.t.nFt9ck, hours: require(1236) /* getSystemLocale */.t.jzCewe, days: require(1236) /* getSystemLocale */.t.U4I0sw, month: null };
const intl = require(1236) /* getSystemLocale */.intl;
obj[3] = intl.string(require(1236) /* getSystemLocale */.t["nBNJ/L"]);
return obj;
}
const result = require("generateOldThreadCutoff").fileFinishedImporting("modules/forums/ForumUtils.tsx");
export const getForumPostReadStates = function getForumPostReadStates(isArchivedThread, guild, items) {
2026-07-20 16:05:17 +00:00
let obj;
let tmp = items;
if (items === undefined) {
2026-07-29 08:29:29 +00:00
items = [generateOldThreadCutoff];
2026-07-20 16:05:17 +00:00
tmp = items;
}
[obj] = tmp;
2026-07-29 08:29:29 +00:00
const isArchivedThreadResult = isArchivedThread.isArchivedThread();
let isNewForumThreadResult = !isArchivedThreadResult;
if (!isArchivedThreadResult) {
isNewForumThreadResult = obj.isNewForumThread(isArchivedThread.id, isArchivedThread.parent_id, guild);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj = { isNew: isNewForumThreadResult, hasUnreads: null };
const isArchivedThreadResult1 = isArchivedThread.isArchivedThread();
let isForumPostUnreadResult = !isArchivedThreadResult1;
if (!isArchivedThreadResult1) {
isForumPostUnreadResult = obj.isForumPostUnread(isArchivedThread.id);
}
obj[1] = isForumPostUnreadResult;
2026-07-20 16:05:17 +00:00
return obj;
2026-07-29 08:29:29 +00:00
};
export const getForumPostReadStatesById = function getForumPostReadStatesById(arg0) {
2026-07-20 16:05:17 +00:00
let obj;
let obj2;
2026-07-29 08:29:29 +00:00
let obj4;
2026-07-20 16:05:17 +00:00
let tmp5;
let tmp = arg1;
if (arg1 === undefined) {
2026-07-29 08:29:29 +00:00
const items = [ensureGuildLoaded, createGuildRecordFromRust, generateOldThreadCutoff];
2026-07-20 16:05:17 +00:00
tmp = items;
}
[obj, obj2, tmp5] = tmp;
2026-07-29 08:29:29 +00:00
const channel = obj.getChannel(arg0);
2026-07-20 16:05:17 +00:00
if (null == channel) {
return null;
} else {
const guild = obj2.getGuild(channel.guild_id);
2026-07-29 08:29:29 +00:00
let tmp11 = null;
2026-07-20 16:05:17 +00:00
if (null != guild) {
const items1 = [tmp5];
2026-07-29 08:29:29 +00:00
[obj4] = items1;
const isArchivedThreadResult = channel.isArchivedThread();
let isNewForumThreadResult = !isArchivedThreadResult;
if (!isArchivedThreadResult) {
isNewForumThreadResult = obj4.isNewForumThread(channel.id, channel.parent_id, guild);
}
obj = { isNew: null, hasUnreads: null };
obj[0] = isNewForumThreadResult;
const isArchivedThreadResult1 = channel.isArchivedThread();
let isForumPostUnreadResult = !isArchivedThreadResult1;
if (!isArchivedThreadResult1) {
isForumPostUnreadResult = obj4.isForumPostUnread(channel.id);
}
obj[1] = isForumPostUnreadResult;
tmp11 = obj;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp11;
2026-07-20 16:05:17 +00:00
}
};
2026-07-23 10:11:24 +00:00
export const getForumTimestampFormatter = function getForumTimestampFormatter(closure_1, DURATION_AGO) {
2026-07-20 16:05:17 +00:00
if (DURATION_AGO === ForumTimestampFormats.POSTED_DURATION_AGO) {
2026-08-11 06:20:06 +00:00
if (closure_1 === require(1400) /* set */.ThreadSortOrder.CREATION_DATE) {
2026-07-20 16:05:17 +00:00
return getCreationDefaultFormatter;
}
}
};
export const canDisplayPostUnreadMessageCount = function canDisplayPostUnreadMessageCount(id, items) {
let obj;
[obj] = items;
let hasTrackedUnreadResult = obj.hasTrackedUnread(id);
const hasOpenedThreadResult = obj.hasOpenedThread(id);
if (hasTrackedUnreadResult) {
hasTrackedUnreadResult = hasOpenedThreadResult;
}
if (hasTrackedUnreadResult) {
hasTrackedUnreadResult = tmp3;
}
return hasTrackedUnreadResult;
};
export const isForumPostPinned = function isForumPostPinned(id) {
2026-07-23 10:11:24 +00:00
channel = channel.getChannel(id);
2026-07-20 16:05:17 +00:00
let hasFlagResult;
2026-07-29 08:29:29 +00:00
if (channel != null) {
2026-07-20 16:05:17 +00:00
hasFlagResult = channel.hasFlag(ChannelFlags.PINNED);
}
return true === hasFlagResult;
};