// Metro module 6010 (f6011). import GameConsoleStore from "../../game_console/GameConsoleStore"; import { ChannelRecordBase } from "../../../records/ChannelRecord"; import { GUILD_VOCAL_CHANNELS_KEY } from "../../../stores/GuildChannelStore"; import GuildStore from "../../../stores/GuildStore"; import PermissionStore from "../../../stores/PermissionStore"; import VoiceStateStore from "../../../stores/VoiceStateStore"; import { Permissions } from "../../../Constants"; import canJoinVoiceChannel from "../../channel/canJoinVoiceChannel"; import { intl, t } from "../../../intl/index.native"; import { isChannelFull } from "../../../utils/ChannelUtils"; import { shouldAgeVerifyForAgeGate, shouldShowAgeGateForChannelId } from "../../age_gate/AgeGateUtils"; import { useStateFromStoresArray } from "../../../_bundle/Module589"; let c3803_11, canWatchStream; const canStreamInChannel = function canStreamInChannel(a0, a1, a2, r9 = true) { if (a0.isPrivate()) { return true; } const guild = a1.getGuild(a0.getGuildId()); let r17 = guild?.maxStageVideoChannelUsers; if (r17 == null) { r17 = 0; } const r19 = a0.isGuildStageVoice() && r17 <= 0; let r20 = !r19; if (!r19) { if (r9) { r9 = !canJoinVoiceChannel(a0, a2); } r20 = r9 ? !r9 : !!a2.can(Permissions.STREAM, a0) && (guild != null && guild.afkChannelId !== a0.id); } return r20; }; canWatchStream = function canWatchStream(basicChannel2, a1, a2, a3, a4) { let REMOTE_MODE; if (basicChannel2 == null) { return [false, c3803_11.NO_PERMISSION]; } let r12 = a1.isInChannel(basicChannel2.id); const r8 = basicChannel2 instanceof ChannelRecordBase && isChannelFull(basicChannel2, a1, a2); let r23 = canJoinVoiceChannel(basicChannel2, a3); const r26 = a4.getAwaitingRemoteSessionInfo() != null || a4.getRemoteSessionId() != null; const r33 = shouldAgeVerifyForAgeGate() && shouldShowAgeGateForChannelId(basicChannel2.id); L18: { if (r26) { REMOTE_MODE = c3803_11.REMOTE_MODE; } else if (r33) { REMOTE_MODE = c3803_11.AGE_RESTRICTED; } else { if (!r23 && !r12) { REMOTE_MODE = c3803_11.NO_PERMISSION; break L18; } REMOTE_MODE = r8 && !r12 ? c3803_11.CHANNEL_FULL : void 0; } } let r44 = r26 ? !r26 : !r33; if (r44) { if (!r12) { if (r23) { r23 = !r8; } r12 = r23; } r44 = r12; } return [r44, REMOTE_MODE]; }; c3803_11 = { REMOTE_MODE: 0, 0: "REMOTE_MODE", CHANNEL_FULL: 1, 1: "CHANNEL_FULL", NO_PERMISSION: 2, 2: "NO_PERMISSION", AGE_RESTRICTED: 3, 3: "AGE_RESTRICTED" }; export { canStreamInChannel }; export function getStreamCTAString(a0) { if (c3803_11.REMOTE_MODE === a0) { return intl.string(t["1i3tSY"]); } if (c3803_11.CHANNEL_FULL === a0) { return intl.string(t.elyVbv); } if (c3803_11.NO_PERMISSION === a0) { return intl.string(t.pgUTZC); } if (c3803_11.AGE_RESTRICTED === a0) { return intl.string(t.b5FqhF); } return intl.string(t["7Xq/nV"]); } export function getStreamCTAAriaLabel(a0) { if (c3803_11.REMOTE_MODE === a0) { return `${intl.string(t["7Xq/nV"])}: ${intl.string(t["1i3tSY"])}`; } if (c3803_11.CHANNEL_FULL === a0) { return `${intl.string(t["7Xq/nV"])}: ${intl.string(t.elyVbv)}`; } if (c3803_11.NO_PERMISSION === a0) { return `${intl.string(t["7Xq/nV"])}: ${intl.string(t.pgUTZC)}`; } if (c3803_11.AGE_RESTRICTED === a0) { return `${intl.string(t["7Xq/nV"])}: ${intl.string(t.b5FqhF)}`; } return `${intl.string(t["7Xq/nV"])}: ${intl.string(t["9C444m"])}`; } export { c3803_11 as StreamUnavailableReasons }; export { canWatchStream }; export function useCanWatchStream(c15361_0) { return useStateFromStoresArray([VoiceStateStore, GuildStore, PermissionStore, GameConsoleStore], () => canWatchStream(c15361_0, VoiceStateStore, GuildStore, PermissionStore, GameConsoleStore)); } export function getStreamEligibleChannels(a0, a1, a2) { const r0 = []; for (const item of a0[GUILD_VOCAL_CHANNELS_KEY]) { const channel = item.channel; if (canStreamInChannel(channel, a1, a2)) { r0.push(channel); } } return r0; }