Files
discord-decomp/sources/modules/threads/ThreadBrowserHooks.tsx
T
2026-07-27 16:20:00 +03:00

235 lines
13 KiB
TypeScript

/* Metro module 12057; source: modules/threads/ThreadBrowserHooks.tsx; dependencies: [57, 31, 12058, 1379, 3784, 4605, 4790, 7154, 3786, 482, 7169, 566, 22, 1360, 21, 7153, 9621, 2] */
function _fun92636(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#92636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:6, offset: 0x02093496, size: 339 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = useActiveThreadIds;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(12058) /* metro dependency 12058: ReportToModChannelStore */).useShouldShowResolvedFlagsForChannel;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */;
const readStateStore = importDefault(4605) /* metro dependency 4605: ReadStateStore */;
const activeThreadsStore = importDefault(4790) /* metro dependency 4790: ActiveThreadsStore */;
const archivedThreadsStore = importDefault(7154) /* metro dependency 7154: ArchivedThreadsStore */;
const joinedThreadsStore = importDefault(3786) /* metro dependency 3786: JoinedThreadsStore */;
const env0_12 = (require(482) /* metro dependency 482: Constants */).Permissions;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/threads/ThreadBrowserHooks.tsx');
exports.useTrackThreadBrowserTab = useTrackThreadBrowserTab;
exports.useActiveThreadIds = closure;
exports.useActiveThreads = useActiveThreads;
exports.useActiveGuildThreads = useActiveGuildThreads;
exports.useArchivedThreads = useArchivedThreads;
}
function useActiveThreadIds(a0) { // fn#92637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:247, offset: 0x020935e9, size: 140 bytes, params: 2, frame: 18
const env0_0 = a0;
return env0_4.useMemo(_fun92642,
[(require(566) /* metro dependency 566: flux */).useStateFromStoresArray([PermissionStore, ActiveThreadsStore,
ChannelStore], _fun92638, [a0.guild_id, a0.id])]);
}
function useTrackThreadBrowserTab() { // fn#92644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:760, offset: 0x020937f3, size: 35 bytes, params: 1, frame: 13
env0_4.useEffect(_fun92645, []);
}
function useActiveThreads(a0) { // fn#92646, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:913, offset: 0x0209383b, size: 143 bytes, params: 2, frame: 22
const value2 = useActiveThreadIds(a0);
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
const value = env0_3(Reflect.apply(useStateFromStores, fluxModule, [[JoinedThreadsStore], _fun92647, [value2],
fluxModule.statesWillNeverBeEqual]), 2);
return {joinedThreadIds: value[0], unjoinedThreadIds: value[1]};
}
function useActiveGuildThreads(a0) { // fn#92649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1175, offset: 0x02093918, size: 126 bytes, params: 2, frame: 17
const env0_0 = a0;
return env0_4.useMemo(_fun92655,
[(require(566) /* metro dependency 566: flux */).useStateFromStoresArray([PermissionStore, ActiveThreadsStore,
ChannelStore], _fun92650, [a0])]);
}
function useArchivedThreads(a0, a1, a2, a3) { // fn#92657, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1623, offset: 0x02093ac4, size: 460 bytes, params: 5, frame: 30
var object2;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const env0_3 = a3;
let value = a0.isModeratorReportChannel();
const env0_4 = value;
const showResolvedFlags = useShouldShowResolvedFlagsForChannel(a0.id).showResolvedFlags;
const {canLoadMore, loading, nextOffset,
isInitialLoad} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([ArchivedThreadsStore],
_fun92658);
value = env0_4.useCallback(_fun92659, [a0, a1, a2, a3, nextOffset, showResolvedFlags, value]);
const env0_9 = env0_4.useRef(value);
env0_4.useEffect(_fun92660);
env0_4.useEffect(_fun92661, [a0.id, a1, a2, isInitialLoad, showResolvedFlags]);
env0_4.useEffect(_fun92662, [a0.id, showResolvedFlags]);
object2 = {};
object2.threadIds = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([ArchivedThreadsStore,
ChannelStore, PermissionStore], _fun92663);
object2.canLoadMore = canLoadMore;
object2.loading = (loading || isInitialLoad) && showResolvedFlags && PermissionStore.can(Permissions.READ_MESSAGE_HISTORY,
a0);
object2.loadMore = value;
return object2;
}
function _fun92638() { // fn#92638, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:326, offset: 0x02093675, size: 168 bytes, params: 1, frame: 18
var environment;
let value = environment.__proto__;
const defaultImport = importDefault(22) /* metro dependency 22 */;
const getThreadsForParent = ActiveThreadsStore.getThreadsForParent;
const binding = env0_0;
const value5 = defaultImport(Reflect.apply(getThreadsForParent, ActiveThreadsStore, [binding.guild_id,
binding.id])).values().map(function({id}) {
return ChannelStore.getChannel(id);
});
value = value5.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish);
value = value.filter(function(a0) {
return PermissionStore.can(Permissions.VIEW_CHANNEL, a0);
});
value = value.map(function(a0) {
return a0.id;
});
return value.value();
}
function _fun92642() { // fn#92642, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:549, offset: 0x0209375a, size: 78 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = importDefault(22) /* metro dependency 22 */;
value = value(env0_1);
value = value.sort(function(a0, a1) {
return importDefault(dependencyMap[14]).compare(ReadStateStore.lastMessageId(a0),
ReadStateStore.lastMessageId(a1));
});
value = value.reverse();
return value.value();
}
function _fun92645() { // fn#92645, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:809, offset: 0x02093816, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
(require(7169) /* metro dependency 7169: ThreadUtils */).trackThreadBrowserTab();
}
function _fun92647() { // fn#92647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1005, offset: 0x020938ca, size: 55 bytes, params: 1, frame: 13
var environment;
let value = environment.__proto__;
value = importDefault(22) /* metro dependency 22 */;
return value.partition(env0_0, function(a0) {
return JoinedThreadsStore.hasJoined(a0);
});
}
function _fun92650() { // fn#92650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1257, offset: 0x02093996, size: 184 bytes, params: 1, frame: 16
var environment;
let value = environment.__proto__;
const defaultImport = importDefault(22) /* metro dependency 22 */;
const getThreadsForGuild = ActiveThreadsStore.getThreadsForGuild;
const value7 = defaultImport(Reflect.apply(getThreadsForGuild, ActiveThreadsStore,
[env0_0])).values().map(_fun92651).flatten().map(function({id}) {
return ChannelStore.getChannel(id);
});
value = value7.filter((require(1360) /* metro dependency 1360: GlobalUtils */).isNotNullish);
value = value.filter(function(a0) {
return PermissionStore.can(Permissions.VIEW_CHANNEL, a0);
});
value = value.map(function(a0) {
return a0.id;
});
return value.value();
}
function _fun92655() { // fn#92655, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1490, offset: 0x02093a76, size: 78 bytes, params: 1, frame: 11
var environment;
let value = environment.__proto__;
value = importDefault(22) /* metro dependency 22 */;
value = value(env0_1);
value = value.sort(function(a0, a1) {
return importDefault(dependencyMap[14]).compare(ReadStateStore.lastMessageId(a0),
ReadStateStore.lastMessageId(a1));
});
value = value.reverse();
return value.value();
}
function _fun92658() { // fn#92658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1764, offset: 0x02093c90, size: 164 bytes, params: 1, frame: 19
const isLoading = ArchivedThreadsStore.isLoading;
const binding = env0_0;
const getIsInitialLoad = ArchivedThreadsStore.getIsInitialLoad;
const getCanLoadMore = ArchivedThreadsStore.getCanLoadMore;
const getNextOffset = ArchivedThreadsStore.getNextOffset;
return {loading: Reflect.apply(isLoading, ArchivedThreadsStore, [binding.id, require, importDefault, importAll]),
isInitialLoad: Reflect.apply(getIsInitialLoad, ArchivedThreadsStore, [binding.id, require, importDefault,
importAll]), canLoadMore: Reflect.apply(getCanLoadMore, ArchivedThreadsStore, [binding.id, require,
importDefault, importAll]), nextOffset: Reflect.apply(getNextOffset, ArchivedThreadsStore, [binding.id, require,
importDefault, importAll])};
}
function _fun92659() { // fn#92659, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:2009, offset: 0x02093d34, size: 159 bytes, params: 1, frame: 15
var binding;
var loadArchivedThreads;
let value = environment.__proto__;
const can = PermissionStore.can;
const READ_MESSAGE_HISTORY = Permissions.READ_MESSAGE_HISTORY;
const value3 = Reflect.apply(can, PermissionStore, [READ_MESSAGE_HISTORY, env0_0]);
if (!(value3 ? env0_4 && !showResolvedFlags : !value3)) {
value = importDefault(7153) /* metro dependency 7153: ThreadActionCreators */;
loadArchivedThreads = value.loadArchivedThreads;
binding = env0_0;
Reflect.apply(loadArchivedThreads, value, [{guildId: binding.guild_id, channelId: binding.id,
sortOrder: require,
tagFilter: importDefault, tagSetting: importAll, offset: nextOffset}]);
}
}
function _fun92661() { // fn#92661, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:2253, offset: 0x02093dd3, size: 27 bytes, params: 1, frame: 9
if (isInitialLoad) {
env0_9.current();
}
}
function _fun92662() { // fn#92662, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:2304, offset: 0x02093dee, size: 50 bytes, params: 1, frame: 12
let value = environment.__proto__;
value = importDefault(9621) /* metro dependency 9621: ForumActionCreators */;
value.resort(env0_0.id);
}
function _fun92663() { // fn#92663, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:2396, offset: 0x02093e20, size: 103 bytes, params: 1, frame: 19
var environment;
let value = environment.__proto__;
const defaultImport = importDefault(22) /* metro dependency 22 */;
const getThreads = ArchivedThreadsStore.getThreads;
value = defaultImport(Reflect.apply(getThreads, ArchivedThreadsStore, [env0_0.id, require, importDefault,
importAll]));
value = value.filter(_fun92664);
return value.value();
}
function _fun92651(a0) { // fn#92651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:1309, offset: 0x02093a4e, size: 40 bytes, params: 2, frame: 11
const value = environment.__proto__.__proto__;
return (importDefault(22) /* metro dependency 22 */).values(a0);
}
function _fun92664(a0) { // fn#92664, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12243:2443, offset: 0x02093e87, size: 94 bytes, params: 2, frame: 14
var r0;
var channel;
let value = environment.__proto__;
if (env1_4) {
if (showResolvedFlags) {
value = environment.__proto__.__proto__;
channel = ChannelStore.getChannel(a0);
r0 = channel != null && PermissionStore.can(Permissions.VIEW_CHANNEL, channel);
r0 = r0 && !channel.isMediaThread();
return r0;
}
return false;
}
value = environment.__proto__.__proto__;
channel = ChannelStore.getChannel(a0);
return channel != null && PermissionStore.can(Permissions.VIEW_CHANNEL, channel) && !channel.isMediaThread();
}