import { YouTubeRoomSettingsComposer, YouTubeRoomSettingsEvent } from '@nitrots/nitro-renderer'; import { FC, useState } from 'react'; import { getYoutubeRoomEnabled, IRoomData, LocalizeText, SendMessageComposer, setYoutubeRoomEnabled } from '../../../../api'; import { useMessageEvent, useSoundboard } from '../../../../hooks'; interface NavigatorRoomSettingsMiscTabViewProps { roomData: IRoomData; } export const NavigatorRoomSettingsMiscTabView: FC = props => { const { roomData = null } = props; const [ youtubeEnabled, setYoutubeEnabled ] = useState(getYoutubeRoomEnabled()); const [ cooldown, setCooldown ] = useState(false); const { enabled: soundboardEnabled, setRoomEnabled: setSoundboardEnabled } = useSoundboard(); useMessageEvent(YouTubeRoomSettingsEvent, event => { setYoutubeEnabled(event.getParser().youtubeEnabled); }); const toggleYouTube = (enabled: boolean) => { if (cooldown) return; setYoutubeEnabled(enabled); setYoutubeRoomEnabled(enabled); SendMessageComposer(new YouTubeRoomSettingsComposer(enabled)); setCooldown(true); setTimeout(() => setCooldown(false), 300); }; const toggleSoundboard = (enabled: boolean) => { if (cooldown) return; setSoundboardEnabled(enabled); setCooldown(true); setTimeout(() => setCooldown(false), 300); }; return ( <>
{ LocalizeText('product.type.other') }
📺 YouTube TV
Allow YouTube video broadcasting in this room
🔊 { LocalizeText('soundboard.title') }
{ LocalizeText('soundboard.room.setting.desc') }
); };