32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
// Metro module 10233 (f10234).
|
|
import { useEffect } from "react";
|
|
import useChannelName from "../../../channel/useChannelName";
|
|
import ChannelRTCActionCreators from "../../../../actions/ChannelRTCActionCreators";
|
|
import ModalStackNavigator from "../../../main_tabs_v2/native/utils/ModalStackNavigator";
|
|
import { StageIcon } from "../../../../design/components/Icon/native/redesign/generated/StageIcon";
|
|
import GuildThemeGuildIdOverrideContext from "../../../guild_themes/native/GuildThemeGuildIdOverrideContext";
|
|
import ChannelVoiceChat from "./ChannelVoiceChat";
|
|
export default function ChannelVoiceChatModal(props) {
|
|
const channel = props.channel;
|
|
const channelName = useChannelName(channel);
|
|
useEffect(() => {
|
|
ChannelRTCActionCreators.updateChatOpen(channel.id, true);
|
|
return () => {
|
|
ChannelRTCActionCreators.updateChatOpen(channel.id, false);
|
|
};
|
|
}, [channel.id]);
|
|
let title = channelName;
|
|
if (title == null) {
|
|
title = "";
|
|
}
|
|
return <ModalStackNavigator screenKey="StageVoiceChat" title={title} titleIcon={<StageIcon size="sm" />} render={() => {
|
|
let guild_id = channel.guild_id;
|
|
if (guild_id == null) {
|
|
guild_id = null;
|
|
}
|
|
return <GuildThemeGuildIdOverrideContext.Provider value={guild_id}>
|
|
<ChannelVoiceChat channel={channel} inModal />
|
|
</GuildThemeGuildIdOverrideContext.Provider>;
|
|
}} />;
|
|
};
|