Files
discord-decomp/sources/modules/forums/ForumUtils.tsx
T
2026-07-28 01:06:53 +03:00

145 lines
6.3 KiB
TypeScript

/* Metro module 6899; source: modules/forums/ForumUtils.tsx; dependencies: [1379, 1867, 4605, 6900, 1386, 1244, 1388, 2] */
import ChannelStore from '../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import GuildStore from '../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import ReadStateStore from '../../stores/ReadStateStore.tsx'; /* Metro dependency 4605 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ChannelConstantsModule from '../channel/ChannelConstants.tsx'; /* Metro dependency 1386 */
import * as ForumConstantsModule from './ForumConstants.tsx'; /* Metro dependency 6900 */
function _fun54876(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#54876, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7077:6, offset: 0x0136fff4, size: 245 bytes, params: 8, frame: 20
const env0_0 = require;
const getForumPostReadStates2 = getForumPostReadStates;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/forums/ForumUtils.tsx');
exports.getForumPostReadStates = getForumPostReadStates2;
exports.getForumPostReadStatesById = getForumPostReadStatesById;
exports.getForumTimestampFormatter = function(a0, a1) {
if (a1 === ForumTimestampFormats.POSTED_DURATION_AGO) {
var CREATION_DATE = require(dependencyMap[6]).ThreadSortOrder.CREATION_DATE;
if (a0 === CREATION_DATE) {
return getCreationDefaultFormatter;
}
}
};
exports.canDisplayPostUnreadMessageCount = function(a0, a1) {
var iterator = a1[Symbol.iterator]();
var item2 = iterator.next();
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
var r3 = value2 ? value : item;
if (!value2) {
item2.return();
}
return r3.hasTrackedUnread(a0) && r3.hasOpenedThread(a0) && r3.getTrackedAckMessageId(a0) != null;
};
exports.isForumPostPinned = isForumPostPinned;
function getForumPostReadStates(a0, a1) { // fn#54877, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7077:181, offset: 0x013700e9, size: 150 bytes, params: 3, frame: 18
let value = a2;
const value2 = undefined;
const iterator = (value !== value2 ? value : [ReadStateStore])[Symbol.iterator]();
let item2 = iterator.next();
const item = item2.value;
item2 = item2.done ? undefined : iterator;
value = item2 === value2;
const r4 = value ? value2 : item;
if (!value) {
item2.return();
}
const object = {};
object.isNew = !a0.isArchivedThread() && r4.isNewForumThread(a0.id, a0.parent_id, a1);
object.hasUnreads = !a0.isArchivedThread() && r4.isForumPostUnread(a0.id);
return object;
}
function getCreationDefaultFormatter() { // fn#54878, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7077:394, offset: 0x0137017f, size: 152 bytes, params: 1, frame: 15
const object = {};
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
object.minutes = t.nFt9ck;
object.hours = t.jzCewe;
const U4I0sw = t.U4I0sw;
object.days = U4I0sw;
object.month = (require(1244) /* metro dependency 1244: indexNative */).intl.string(t['nBNJ/L']);
return object;
}
function getForumPostReadStatesById(a0) { // fn#54879, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7077:659, offset: 0x01370217, size: 204 bytes, params: 2, frame: 19
var r1;
var r0;
var r3;
var r7;
var item3;
var item4;
let value = a1;
const value2 = undefined;
const iterator = (value !== value2 ? value : [ChannelStore, GuildStore, ReadStateStore])[Symbol.iterator]();
const iterator2 = iterator.next;
let item2 = Reflect.apply(iterator2, iterator, []);
let item = item2.value;
item2 = item2.done ? undefined : iterator;
const r2 = item2 === value2 ? value2 : item;
if (value) {
r0 = item2;
r1 = value;
r3 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value = item3 === value2;
if (value) {
r0 = item3;
r1 = value;
r3 = value2;
} else {
r0 = item3;
r1 = value;
r3 = item;
}
}
if (r1) {
r7 = value2;
} else {
item4 = Reflect.apply(iterator2, r0, []);
item = item4.value;
item4 = item4.done ? undefined : r0;
value = item4 === value2;
if (value) {
r0 = item4;
r1 = value;
r7 = value2;
} else {
r0 = item4;
r1 = value;
r7 = item;
}
}
if (!r1) {
r0.return();
}
value = r2.getChannel(a0);
const value3 = null;
if (value3 == value) {
return value3;
}
const guild = r3.getGuild(value.guild_id);
if (value3 == guild) {
r1 = value3;
} else {
value = getForumPostReadStates(value, guild, [r7]);
r1 = value;
}
return r1;
}
function isForumPostPinned(a0) { // fn#54882, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7077:1226, offset: 0x01370381, size: 60 bytes, params: 2, frame: 12
return ChannelStore.getChannel(a0)?.hasFlag(ChannelFlags.PINNED) === true;
}
}
global.__d(_fun54876, 6899, [1379, 1867, 4605, 6900, 1386, 1244, 1388,
2]) /* metro module 6899, dependencies: [1379, 1867, 4605, 6900, 1386, 1244, 1388, 2] */;