// Metro module 15933 (f15934). import { useContext, memo, useCallback } from "react"; import { View } from "react-native"; import ApplicationStore from "../../../applications/ApplicationStore"; import StageInstanceStore from "../../../stage_channels/StageInstanceStore"; import ChannelStore from "../../../../stores/ChannelStore"; import { ParticipantTypes } from "../../../calls/CallConstants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import { ShieldLockIcon } from "../../../../design/components/Icon/native/redesign/generated/ShieldLockIcon"; import { intl, t } from "../../../../intl/index.native"; import { BaseTextButton } from "../../../../design/components/Button/native/BaseTextButton.native"; import Module5229 from "../../../../_bundle/Module5229"; import { useStateFromStores } from "../../../../_bundle/Module589"; import useChannelName from "../../../channel/useChannelName"; import { useIsCallSecureFramesVerified } from "../../../rtc/hooks/useIsSecureFramesVerified"; import { HeaderButton } from "../../../../design/components/experimental/native"; import Module712 from "../../../../_bundle/Module712"; import VoicePanelStateContext from "../VoicePanelStateContext"; import NicknameUtils from "../../../../utils/NicknameUtils"; import Module15934 from "../../../../_bundle/Module15934"; import { Stack } from "../../../../design/components/Stack/native/Stack.native"; import Module6614 from "../../../../_bundle/Module6614"; import QuestActivityButton from "../../../frames/panel/native/QuestActivityButton"; import { useVoicePanelHeaderUserStateIcons } from "../header/VoicePanelHeaderUserState"; import Module4658 from "../../../../_bundle/Module4658"; import { useDerivedStateFromSharedValue } from "../../../reanimated/native/useStateFromSharedValue"; import { ChannelTypes } from "../../../../_bundle/Module692"; import useStableParticipant from "../utils/useStableParticipant"; import { openVoicePanelSettingsActionSheet } from "../header/VoicePanelSettingsActionCreators"; let useStyles, ChannelButton, StreamButton, ActivityButton, UserButton, StageButton; const ChannelButtonIcons = function ChannelButtonIcons() { return ; }; ChannelButton = function ChannelButton(props) { const { channelId, onPress } = props; let text = useChannelName(useStateFromStores([ChannelStore], () => ChannelStore.getChannel(channelId))); const isCallSecureFramesVerified = useIsCallSecureFramesVerified({ channelId }); const props2 = { accessibilityRole: "button", accessibilityHint: intl.string(t["Y2b7+e"]), text: null, icon: null, iconOpticalOffsetMargin: null, iconPosition: "end", onPress: null, maxFontSizeMultiplier: 2 }; if (text == null) { text = "???"; } props2.text = text; props2.icon = isCallSecureFramesVerified ? : Module5229; props2.iconOpticalOffsetMargin = -Module712.space.PX_4; props2.onPress = onPress; return ; }; StreamButton = function StreamButton(props) { const { participant: participant2, onPress } = props; const context = useContext(VoicePanelStateContext); const name = NicknameUtils.useName(context.guildId, context.channelId, participant2.user); return ; }; ActivityButton = function ActivityButton(props) { const { participant, onPress } = props; const stateFromStores = useStateFromStores([ApplicationStore], () => ApplicationStore.getApplication(participant.applicationId)); const props2 = { accessibilityRole: "button", accessibilityHint: intl.string(t["Y2b7+e"]), text: null, icon: null, iconPosition: "start", onPress: null, shrink: true }; let text = stateFromStores?.name; if (text == null) { text = "???"; } props2.text = text; props2.icon = Module6614; props2.onPress = onPress; return ; }; UserButton = function UserButton(props) { const { participant: participant2, onPress } = props; const styles = useStyles(); const context = useContext(VoicePanelStateContext); const guildId2 = context.guildId; const name = NicknameUtils.useName(guildId2, context.channelId, participant2.user); const voicePanelHeaderUserStateIcons = useVoicePanelHeaderUserStateIcons(participant2, guildId2, styles.userIcons); return ; }; StageButton = function StageButton(props) { const { channelId: channelId2, onPress } = props; const stateFromStores = useStateFromStores([StageInstanceStore], () => StageInstanceStore.getStageInstanceByChannel(channelId2), [channelId2]); const channelName = useChannelName(useStateFromStores([ChannelStore], () => ChannelStore.getChannel(channelId2))); const props2 = { accessibilityRole: "button", accessibilityHint: intl.string(t["Y2b7+e"]), text: null, icon: null, iconPosition: "start", onPress: null }; let text = stateFromStores?.topic; if (text == null) { text = channelName; } if (text == null) { text = intl.string(t.zLZPmk); } props2.text = text; props2.icon = Module4658; props2.onPress = onPress; return ; }; useStyles = createStyles({ userIcons: { marginLeft: -6 }, channelButtons: { alignItems: "center", flexDirection: "row", gap: 2 } }); const r46 = memo(function VoicePanelTitleButton() { const context = useContext(VoicePanelStateContext); const { guildId, channelId: channelId3, channelType } = context; const derivedStateFromSharedValue = useDerivedStateFromSharedValue(context.focused, (a0) => a0?.id); const GUILD_STAGE_VOICE = ChannelTypes.GUILD_STAGE_VOICE; const stableParticipant = useStableParticipant(derivedStateFromSharedValue, channelId3, guildId); const callback = useCallback(() => { openVoicePanelSettingsActionSheet(guildId, channelId3); }, [guildId, channelId3]); if (stableParticipant != null) { if (stableParticipant.type === ParticipantTypes.STREAM) { return ; } if (stableParticipant.type === ParticipantTypes.ACTIVITY) { return ; } if (stableParticipant.type === ParticipantTypes.USER) { return ; } } return channelType === GUILD_STAGE_VOICE ? : ; }); export default r46;