// Metro module 15931 (f15932). import { memo, useContext } from "react"; import ChannelRTCStore from "../../../calls/ChannelRTCStore"; import ReanimatedRexport, { useAnimatedStyle } from "../../../reanimated/ReanimatedRexport"; import { BackgroundBlurView } from "../../../../design/components/experimental/native"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import Module712 from "../../../../_bundle/Module712"; import useVoicePanelCardUserStateIcons, { VoicePanelCardUserStateIconType } from "../hooks/useVoicePanelCardUserStateIcons"; import useStableParticipant, { isStableParticipantWithUser } from "../utils/useStableParticipant"; import { VideoIcon, MuteDeafenIcon } from "../shared/VoiceStateIcons"; import NativeView from "../../../core/native/NativeView"; import VoicePanelStateContext from "../VoicePanelStateContext"; import { useStateFromStores } from "../../../../_bundle/Module589"; import * as _timing from "../../../../design/animation/reanimated/timing/timing"; let AnimatedComponent, OPACITY_TIMING, useStyles, __initData; const useVoicePanelHeaderUserStateIcons = function useVoicePanelHeaderUserStateIcons(participant2, a1, userIcons) { const styles = useStyles(); const voicePanelCardUserStateIcons = useVoicePanelCardUserStateIcons(participant2?.type, isStableParticipantWithUser(participant2) ? participant2.user.id : void 0, a1); const r47 = []; for (const item of voicePanelCardUserStateIcons) { if (item.type === VoicePanelCardUserStateIconType.USER_VIDEO_ICON) { r47.push( ); } if (item.type === VoicePanelCardUserStateIconType.MUTE_DEAFEN_ICON) { r47.push( ); } } if (r47.length !== 0) { return {r47}; } }; AnimatedComponent = ReanimatedRexport.createAnimatedComponent(BackgroundBlurView); OPACITY_TIMING = { duration: 100 }; useStyles = createStyles({ container: { position: "absolute", top: 0, left: 0, borderRadius: Module712.radii.round, padding: 6 }, iconContainer: { flexDirection: "row" }, floatingIconWrapper: { width: 20, height: 20, borderRadius: Module712.radii.round, alignItems: "center", justifyContent: "center" }, floatingIcon: { width: 12, height: 12, tintColor: Module712.colors.WHITE }, leftMargin: { marginLeft: 4 } }); __initData = { code: "function VoicePanelHeaderUserStateTsx1(){const{withTiming,isHeaderHidden,OPACITY_TIMING}=this.__closure;return{opacity:withTiming(isHeaderHidden.get()?1:0,OPACITY_TIMING)};}" }; const r54 = memo(function VoicePanelHeaderUserState(props) { const isHeaderHidden = props.isHeaderHidden; const context = useContext(VoicePanelStateContext); const { channelId, guildId } = context; const styles = useStyles(); const voicePanelHeaderUserStateIcons = useVoicePanelHeaderUserStateIcons(useStableParticipant(useStateFromStores([ChannelRTCStore], () => ChannelRTCStore.getSelectedParticipant(channelId)?.id), channelId, guildId), guildId); const h = function h() { return { opacity: _timing.withTiming(isHeaderHidden.get() ? 1 : 0, OPACITY_TIMING) }; }; h.__closure = { withTiming: _timing.withTiming, isHeaderHidden, OPACITY_TIMING }; h.__workletHash = 7032221979181; h.__initData = __initData; const animatedStyle = useAnimatedStyle(h); return voicePanelHeaderUserStateIcons != null ? {voicePanelHeaderUserStateIcons} : null; }); export default r54; export { useVoicePanelHeaderUserStateIcons };