UNPKG

@100mslive/roomkit-react

Version:

![Banner](https://github.com/100mslive/web-sdks/blob/06c65259912db6ccd8617f2ecb6fef51429251ec/prebuilt-banner.png)

47 lines (39 loc) 1.34 kB
import { useEffect } from 'react'; import { selectRoomID, useHMSStore } from '@100mslive/react-sdk'; export class FeatureFlags { static enableTranscription = process.env.REACT_APP_ENABLE_TRANSCRIPTION === 'true'; static enableStatsForNerds = process.env.REACT_APP_ENABLE_STATS_FOR_NERDS === 'true'; static enableWhiteboard = process.env.REACT_APP_ENABLE_WHITEBOARD && process.env.REACT_APP_PUSHER_APP_KEY && process.env.REACT_APP_PUSHER_AUTHENDPOINT; static init(roomId) { if (!window.HMS) { window.HMS = {}; } // some extra config to hls js to bring down latency window.HMS.OPTIMISE_HLS_LATENCY = false; // ask permissions in preview even if role doesn't have it window.HMS.ALWAYS_REQUEST_PERMISSIONS = false; window.HMS.SHOW_NS = process.env.REACT_APP_ENV !== 'prod'; this.enableTranscription = process.env.REACT_APP_TRANSCRIPTION_ROOM_ID === roomId; } static showNS() { return window.HMS.SHOW_NS; } static optimiseHLSLatency() { return window.HMS.OPTIMISE_HLS_LATENCY; } static alwaysRequestPermissions() { return window.HMS.ALWAYS_REQUEST_PERMISSIONS; } } export function FeatureFlagsInit() { const roomId = useHMSStore(selectRoomID); useEffect(() => { if (roomId) { FeatureFlags.init(roomId); } }, [roomId]); return null; }