// Metro module 15192 (f15193).
import NewChannelsStore from "../../recent_channels/NewChannelsStore";
import GuildStore from "../../../stores/GuildStore";
import PermissionStore from "../../../stores/PermissionStore";
import ReadStateStore from "../../../stores/ReadStateStore";
import VoiceStateStore from "../../../stores/VoiceStateStore";
import { GuildFeatures, Permissions, Fonts } from "../../../Constants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import { useStateFromStoresObject } from "../../../_bundle/Module589";
import useEmbeddedAppsForChannel from "../../activities/useEmbeddedAppsForChannel";
import { useOptInEnabledForGuild } from "../../opt_in_channels/isOptInEnabled";
import { useUnreadThreadsCountForParent } from "../../forums/ForumHooks";
import showChannelBadge from "../showChannelBadge";
import ChannelBadge from "./ChannelBadge";
import { hasStream } from "../ChannelListUtils";
import { LiveTag } from "../../../design/void/native";
import { showChannelItemEmbeddedActivities } from "../showChannelItemEmbeddedActivities";
import ChannelItemEmbeddedActivities from "./ChannelItemEmbeddedActivities";
import GuildRoleSubscriptionGatedChannelIcon from "../../guild_role_subscriptions/native/premium_channel/GuildRoleSubscriptionGatedChannelIcon";
import { getStageHasMedia } from "../../stage_channels/StageMediaHooks";
import useShowConnectedUserLimit from "../useShowConnectedUserLimit";
import { ConnectedUserLimit } from "./ConnectedUserLimit";
import { useStartTime } from "../../channel/useVoiceChannelStartTime";
import { ActiveTimestamp } from "../../icymi/native/content_inventory/Badges";
let useStyles, DurationInfo;
const LimitAndDurationInfo = function LimitAndDurationInfo(props) {
let r29;
const { channel, voiceStatesCount, selected } = props;
const stateFromStoresObject = useStateFromStoresObject([VoiceStateStore, PermissionStore], () => {
const hasVideo = VoiceStateStore.hasVideo(channel.id);
const hasMedia = channel.isGuildStageVoice() && getStageHasMedia(channel.id);
return {
isLocked: !PermissionStore.can(Permissions.CONNECT, channel),
hasVideo,
hasMedia
};
});
const isLocked = stateFromStoresObject.isLocked;
let hasVideo = stateFromStoresObject.hasVideo;
const hasMedia = stateFromStoresObject.hasMedia;
if (useShowConnectedUserLimit({
channel,
locked: isLocked,
video: hasVideo ? hasVideo : hasMedia,
selected
})) {
if (!hasVideo) {
hasVideo = hasMedia;
}
r29 = ;
} else {
r29 = ;
}
return r29;
};
DurationInfo = function DurationInfo(props) {
const channel3 = props.channel;
const styles = useStyles();
const startTime = useStartTime(channel3);
return startTime != null ? : null;
};
useStyles = createStyles({
activeTimestamp: {
fontFamily: Fonts.CODE_NORMAL,
fontSize: 12,
lineHeight: 16
}
});
export default function ChannelInfo(props) {
let r64;
let channel2;
L32: {
channel2 = props.channel;
const { isChannelSelected, isChannelCollapsed, voiceStates, enableConnectedUserLimit, enableActivities, muted, isSubscriptionGated, needSubscriptionToAccess } = props;
const stateFromStoresObject = useStateFromStoresObject([GuildStore, ReadStateStore, NewChannelsStore], () => ({
guild: GuildStore.getGuild(channel2.guild_id),
mentionsCount: ReadStateStore.getMentionCount(channel2.id),
isMentionLowImportance: ReadStateStore.getIsMentionLowImportance(channel2.id),
isNewChannel: NewChannelsStore.shouldIndicateNewChannel(channel2.guild_id, channel2.id)
}));
const { guild, mentionsCount, isMentionLowImportance } = stateFromStoresObject;
let isNewChannel = stateFromStoresObject.isNewChannel;
const embeddedAppsForChannel = useEmbeddedAppsForChannel(channel2);
const optInEnabledForGuild = useOptInEnabledForGuild(channel2.guild_id);
const unreadThreadsCountForParent = useUnreadThreadsCountForParent(channel2.guild_id, channel2.id);
if (showChannelBadge({
mentionsCount,
isNewChannel,
postsWithUnreadsCount: unreadThreadsCountForParent,
muted
})) {
if (isNewChannel) {
isNewChannel = optInEnabledForGuild;
}
r64 = ;
} else {
if (isChannelCollapsed != null && isChannelCollapsed && (guild == null ? void 0 : guild.features.has(GuildFeatures.COMMUNITY)) && hasStream(voiceStates)) {
r64 = ;
break L32;
}
if (enableActivities != null && enableActivities && showChannelItemEmbeddedActivities(embeddedAppsForChannel)) {
r64 = ;
break L32;
}
if (isSubscriptionGated != null && needSubscriptionToAccess != null && isSubscriptionGated) {
r64 = ;
break L32;
}
const r63 = enableConnectedUserLimit != null;
r64 = null;
if (r63) {
r64 = null;
if (enableConnectedUserLimit) {
let voiceStatesCount = voiceStates?.length;
if (voiceStatesCount == null) {
voiceStatesCount = 0;
}
r64 = ;
}
}
}
}
return r64;
};