// Metro module 10808 (f10809).
import { Image as Image2, View } from "react-native";
import ApplicationStreamingStore from "../../../../stores/ApplicationStreamingStore";
import AuthenticationStore from "../../../../stores/AuthenticationStore";
import { MediaEngineContextTypes } from "../../../../_bundle/Module4250";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../_bundle/Module712";
import { Icon } from "../../../../design/void/native";
import Module10809 from "../../../../_bundle/Module10809";
import Module10810 from "../../../../_bundle/Module10810";
import { FormSwitch, FormRow, FormLabel } from "../../../../design/void/Form/native/index";
import { useStateFromStores } from "../../../../_bundle/Module589";
import useMuteAwareLocalVolume from "../../../media_engine/useMuteAwareLocalVolume";
import { intl, t } from "../../../../intl/index.native";
import VolumeSlider from "../../../../components_native/common/VolumeSlider";
import { isAndroid } from "../../../../utils/PlatformUtils";
import { useMaskedSpeakerStates } from "../../../voice_calls/native/CallsUtils";
import { showAudioOutputSelector } from "../../../voice_calls/native/audio_output_selector/showAudioOutputSelector";
import useScreenshareUtils from "../useScreenshareUtils";
import useDeafStates from "../../useDeafStates";
import { createDeafHandler } from "../VoiceActionUtils";
import Module10813 from "../../../../_bundle/Module10813";
import Module10814 from "../../../../_bundle/Module10814";
let useStyles, ExpandedControlItem;
const ExpandedControlItemIcon = function ExpandedControlItemIcon(props) {
const { iconSource, showIconSparkle } = props;
const styles = useStyles();
if (iconSource == null) {
return null;
}
const r23 = ;
return showIconSparkle ?
{r23}
: r23;
};
ExpandedControlItem = function ExpandedControlItem(props) {
const { disabled, iconSource, showIconSparkle = false, label, onPress: onPress2, onSwitchValueChange, switchValue } = props;
let trailing = props.trailing;
const styles = useStyles();
if (trailing == null && switchValue != null) {
trailing = ;
}
return } label={} onPress={onPress2} trailing={trailing} />;
};
useStyles = createStyles({
formTintColor: {
tintColor: Module712.colors.ICON_STRONG
},
formColor: {
color: Module712.colors.MOBILE_TEXT_HEADING_PRIMARY
},
sparkle: {
position: "absolute",
bottom: -4,
right: "70%"
},
sparkle2: {
position: "absolute",
right: -5,
height: 10,
width: 10
}
});
export function StreamVolumeItem() {
const styles = useStyles();
const stateFromStores = useStateFromStores([ApplicationStreamingStore, AuthenticationStore], () => {
const lastActiveStream = ApplicationStreamingStore.getLastActiveStream();
return lastActiveStream != null ? lastActiveStream.ownerId !== AuthenticationStore.getId() ? lastActiveStream : null : null;
});
const muteAwareLocalVolume = useMuteAwareLocalVolume(stateFromStores?.ownerId, MediaEngineContextTypes.STREAM);
const { effectiveVolume, handleVolumeChange } = muteAwareLocalVolume;
const label = <>
{[, true : void 0} value={effectiveVolume} onValueChange={handleVolumeChange} color={Module712.unsafe_rawColors.WHITE} maxTrackTintColor={Module712.unsafe_rawColors.PRIMARY_300} />]}
>;
return stateFromStores != null ? : null;
}
export function AudioRouteButton(props) {
const { channelId, isConnectedToVoiceChannel } = props;
return {
showAudioOutputSelector(channelId, isConnectedToVoiceChannel);
}} iconSource={useMaskedSpeakerStates().routeSource} label={intl.string(t["A/Ly/2"])} />;
}
export function ScreenshareButton(props) {
const { channel, disabled } = props;
const screenshareUtils = useScreenshareUtils(channel);
const { onPress: onPress2, imgSource, text, isFeatureEnabled } = screenshareUtils;
return ;
}
export function DeafenButton(props) {
const { channel, disabled = false } = props;
const deafHandler = createDeafHandler(useDeafStates(channel));
return ;
}