decord/source/modules/guild_sidebar/native/ChannelInfo.tsx
2026-08-15 05:55:55 +00:00

175 lines
6.4 KiB
TypeScript

// Module ID: 15487
// Function ID: 15488
// Name: LimitAndDurationInfo
// Dependencies: [19, 5276, 1910, 4021, 4772, 4542, 676, 21, 4661, 589, 11233, 8513, 15488, 15489, 4980, 1297, 15491, 15492, 15380, 4988, 11461, 15381, 15493, 12105, 2]
// Exports: default
// Module 15487 (LimitAndDurationInfo)
import "useStageHasMedia";
import guildHasCommunity from "guildHasCommunity";
import createGuildRecordFromRust from "createGuildRecordFromRust";
import getUncachedChannelPermissions from "getUncachedChannelPermissions";
import generateOldThreadCutoff from "generateOldThreadCutoff";
import updateVoiceState from "updateVoiceState";
import ME from "ME";
import { jsx } from "ConnectedUserLimit";
import createCacheKey from "createCacheKey";
let Fonts;
let c9;
let metroImportAll;
const require = arg1;
function LimitAndDurationInfo(channel) {
let hasMedia;
let hasVideo;
let selected;
let voiceStatesCount;
channel = channel.channel;
({ voiceStatesCount, selected } = channel);
let obj = channel(589);
const items = [updateVoiceState, getUncachedChannelPermissions];
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => {
let isGuildStageVoiceResult = channel.isGuildStageVoice();
if (isGuildStageVoiceResult) {
let obj = channel(outer1_2[19]);
isGuildStageVoiceResult = obj.getStageHasMedia(tmp.id);
}
obj = { isLocked: !outer1_5.can(outer1_9.CONNECT, tmp), hasVideo: outer1_7.hasVideo(channel.id), hasMedia: isGuildStageVoiceResult };
return obj;
});
({ hasVideo, hasMedia } = stateFromStoresObject);
obj = { channel, locked: stateFromStoresObject.isLocked, video: null, selected: null };
let tmp5 = hasVideo;
if (!hasVideo) {
tmp5 = hasMedia;
}
obj[2] = tmp5;
obj[3] = selected;
if (tmp4(obj)) {
obj = { userCount: null, video: null, channel: null };
obj[0] = voiceStatesCount;
if (!hasVideo) {
hasVideo = hasMedia;
}
obj[1] = hasVideo;
obj[2] = channel;
let tmp6Result = tmp6(channel(15381).ConnectedUserLimit, obj);
} else {
const obj1 = { channel: null };
obj1[0] = channel;
tmp6Result = tmp6(DurationInfo, obj1);
}
return tmp6Result;
}
function DurationInfo(channel) {
let obj = require(15493) /* useStartTime */;
const startTime = obj.useStartTime(channel.channel);
let tmp5 = null;
if (null != startTime) {
obj = { entry: null, style: null };
obj = { start: null };
obj[0] = startTime;
obj[0] = obj;
obj[1] = tmp.activeTimestamp;
tmp5 = jsx(require(12105) /* ActiveTimestamp */.ActiveTimestamp, { start: null });
}
return tmp5;
}
({ GuildFeatures: metroImportAll, Permissions: c9, Fonts } = ME);
createCacheKey = { fontFamily: Fonts.CODE_NORMAL, fontSize: 12, lineHeight: 16 };
let closure_11 = createCacheKey.createStyles({ activeTimestamp: createCacheKey });
const result = require("createGuildRecordFromRust").fileFinishedImporting("modules/guild_sidebar/native/ChannelInfo.tsx");
export default function ChannelInfo(channel) {
let enableActivities;
let enableConnectedUserLimit;
let guild;
let isChannelCollapsed;
let isNewChannel;
let isSubscriptionGated;
let mentionsCount;
let muted;
let needSubscriptionToAccess;
let voiceStates;
channel = channel.channel;
({ isChannelCollapsed, voiceStates, enableConnectedUserLimit, enableActivities, muted, isSubscriptionGated, needSubscriptionToAccess } = channel);
let obj = channel(589);
const items = [createGuildRecordFromRust, generateOldThreadCutoff, guildHasCommunity];
const stateFromStoresObject = obj.useStateFromStoresObject(items, () => ({ guild: outer1_4.getGuild(channel.guild_id), mentionsCount: outer1_6.getMentionCount(channel.id), isMentionLowImportance: outer1_6.getIsMentionLowImportance(channel.id), isNewChannel: outer1_3.shouldIndicateNewChannel(channel.guild_id, channel.id) }));
({ guild, mentionsCount, isNewChannel } = stateFromStoresObject);
const tmp5 = importDefault(11233)(channel);
let obj1 = channel(8513);
const postsWithUnreadsCount = obj1.useUnreadThreadsCountForParent(channel.guild_id, channel.id);
if (importDefault(15488)({ mentionsCount, isNewChannel, postsWithUnreadsCount, muted })) {
obj = { mentionCount: null, isMentionLowImportance: null, isNewChannel: null, postsWithUnreadsCount: null, muted: null };
obj[0] = mentionsCount;
obj[1] = stateFromStoresObject.isMentionLowImportance;
obj[2] = isNewChannel;
let tmp18 = null;
if (channel.isForumLikeChannel()) {
tmp18 = postsWithUnreadsCount;
}
obj[3] = tmp18;
obj[4] = muted;
let tmp11Result = jsx(tmp4(15489), { mentionCount: null, isMentionLowImportance: null, isNewChannel: null, postsWithUnreadsCount: null, muted: null });
const tmp16 = jsx;
const tmp4Result = tmp4(15489);
} else {
if (null != isChannelCollapsed) {
if (isChannelCollapsed) {
let hasItem;
if (guild != null) {
const features = guild.features;
hasItem = features.has(constants.COMMUNITY);
}
if (hasItem) {
let tmpResult = tmp(4980);
if (tmpResult.hasStream(voiceStates)) {
tmp11Result = jsx(tmp(1297).LiveTag, {});
}
}
}
}
if (null != enableActivities) {
if (enableActivities) {
tmpResult = tmp(15491);
if (tmpResult.showChannelItemEmbeddedActivities(tmp5)) {
obj = { embeddedApps: null, muted: null };
obj[0] = tmp5;
obj[1] = muted;
tmp11Result = jsx(tmp4(15492), { embeddedApps: null, muted: null });
}
}
}
if (null != isSubscriptionGated) {
if (null != needSubscriptionToAccess) {
if (isSubscriptionGated) {
obj1 = { locked: null };
obj1[0] = needSubscriptionToAccess;
tmp11Result = jsx(tmp4(15380), { locked: null });
}
}
}
tmp11Result = null;
if (null != enableConnectedUserLimit) {
tmp11Result = null;
if (enableConnectedUserLimit) {
const obj2 = { channel: null, voiceStatesCount: null, selected: null };
obj2[0] = channel;
let num;
if (voiceStates != null) {
num = voiceStates.length;
}
if (num == null) {
num = 0;
}
obj2[1] = num;
obj2[2] = channel.isChannelSelected;
tmp11Result = <LimitAndDurationInfo channel={null} voiceStatesCount={null} selected={null} />;
const tmp11 = jsx;
const tmp12 = LimitAndDurationInfo;
}
}
}
return tmp11Result;
};