@100mslive/roomkit-react 0.3.17-alpha.0 → 0.3.17-alpha.10
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{HLSView-2B7JRVYF.css → HLSView-2TQQHGUX.css} +3 -3
- package/dist/{HLSView-2B7JRVYF.css.map → HLSView-2TQQHGUX.css.map} +1 -1
- package/dist/{HLSView-WZULAPSG.js → HLSView-NMG7P72A.js} +2 -2
- package/dist/Prebuilt/components/MoreSettings/constants.d.ts +4 -0
- package/dist/{chunk-5GS4O2BK.js → chunk-GCTIXYTC.js} +579 -578
- package/dist/chunk-GCTIXYTC.js.map +7 -0
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +552 -554
- package/dist/index.cjs.js.map +4 -4
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/meta.cjs.json +83 -77
- package/dist/meta.esbuild.json +95 -89
- package/package.json +8 -8
- package/src/Prebuilt/components/AppData/AppData.tsx +8 -1
- package/src/Prebuilt/components/AudioVideoToggle.tsx +31 -18
- package/src/Prebuilt/components/MoreSettings/constants.ts +2 -0
- package/src/Prebuilt/components/Preview/PreviewJoin.tsx +10 -13
- package/src/Prebuilt/components/ScreenShareToggle.jsx +12 -1
- package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +1 -4
- package/dist/Prebuilt/components/VirtualBackground/constants.d.ts +0 -1
- package/dist/chunk-5GS4O2BK.js.map +0 -7
- package/src/Prebuilt/components/VirtualBackground/constants.ts +0 -14
- /package/dist/{HLSView-WZULAPSG.js.map → HLSView-NMG7P72A.js.map} +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import React, { Fragment, useEffect, useState } from 'react';
|
1
|
+
import React, { Fragment, useCallback, useEffect, useState } from 'react';
|
2
2
|
import { HMSKrispPlugin } from '@100mslive/hms-noise-cancellation';
|
3
3
|
import {
|
4
4
|
DeviceType,
|
@@ -14,6 +14,7 @@ import {
|
|
14
14
|
useDevices,
|
15
15
|
useHMSActions,
|
16
16
|
useHMSStore,
|
17
|
+
useHMSVanillaStore,
|
17
18
|
} from '@100mslive/react-sdk';
|
18
19
|
import {
|
19
20
|
AudioLevelIcon,
|
@@ -105,22 +106,26 @@ const useNoiseCancellationWithPlugin = () => {
|
|
105
106
|
const actions = useHMSActions();
|
106
107
|
const [inProgress, setInProgress] = useState(false);
|
107
108
|
const [, setNoiseCancellationEnabled] = useSetNoiseCancellation();
|
108
|
-
const
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
109
|
+
const isEnabledForRoom = useHMSStore(selectRoom)?.isNoiseCancellationEnabled;
|
110
|
+
const setNoiseCancellationWithPlugin = useCallback(
|
111
|
+
async (enabled: boolean) => {
|
112
|
+
if (!isEnabledForRoom || inProgress) {
|
113
|
+
return;
|
114
|
+
}
|
115
|
+
if (!krispPlugin.checkSupport().isSupported) {
|
116
|
+
throw Error('Krisp plugin is not supported');
|
117
|
+
}
|
118
|
+
setInProgress(true);
|
119
|
+
if (enabled) {
|
120
|
+
await actions.addPluginToAudioTrack(krispPlugin);
|
121
|
+
} else {
|
122
|
+
await actions.removePluginFromAudioTrack(krispPlugin);
|
123
|
+
}
|
124
|
+
setNoiseCancellationEnabled(enabled);
|
125
|
+
setInProgress(false);
|
126
|
+
},
|
127
|
+
[actions, inProgress, isEnabledForRoom, setNoiseCancellationEnabled],
|
128
|
+
);
|
124
129
|
return {
|
125
130
|
setNoiseCancellationWithPlugin,
|
126
131
|
inProgress,
|
@@ -274,6 +279,7 @@ export const AudioVideoToggle = ({ hideOptions = false }: { hideOptions?: boolea
|
|
274
279
|
const localPeer = useHMSStore(selectLocalPeer);
|
275
280
|
const { isLocalVideoEnabled, isLocalAudioEnabled, toggleAudio, toggleVideo } = useAVToggle();
|
276
281
|
const actions = useHMSActions();
|
282
|
+
const vanillaStore = useHMSVanillaStore();
|
277
283
|
const videoTrackId = useHMSStore(selectLocalVideoTrackID);
|
278
284
|
const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));
|
279
285
|
const roomState = useHMSStore(selectRoomState);
|
@@ -289,7 +295,14 @@ export const AudioVideoToggle = ({ hideOptions = false }: { hideOptions?: boolea
|
|
289
295
|
|
290
296
|
useEffect(() => {
|
291
297
|
(async () => {
|
292
|
-
|
298
|
+
const isEnabledForRoom = vanillaStore.getState(selectRoom)?.isNoiseCancellationEnabled;
|
299
|
+
if (
|
300
|
+
isEnabledForRoom &&
|
301
|
+
isNoiseCancellationEnabled &&
|
302
|
+
!isKrispPluginAdded &&
|
303
|
+
!inProgress &&
|
304
|
+
localPeer?.audioTrack
|
305
|
+
) {
|
293
306
|
try {
|
294
307
|
await setNoiseCancellationWithPlugin(true);
|
295
308
|
ToastManager.addToast({
|
@@ -131,23 +131,20 @@ const PreviewJoin = ({
|
|
131
131
|
|
132
132
|
return roomState === HMSRoomState.Preview ? (
|
133
133
|
<Flex justify="center" css={{ size: '100%', position: 'relative' }}>
|
134
|
-
<Container css={{ h: '100%', pt: '$
|
134
|
+
<Container css={{ h: '100%', pt: '$6', '@md': { justifyContent: 'space-between', pt: '$10' } }}>
|
135
135
|
{toggleVideo ? null : <Box />}
|
136
|
-
<Flex direction="column" justify="center" css={{ w: '100%', maxWidth: '
|
136
|
+
<Flex direction="column" justify="center" css={{ w: '100%', maxWidth: '600px', gap: '$8' }}>
|
137
137
|
<Logo />
|
138
|
-
<Text
|
139
|
-
variant="h4"
|
140
|
-
css={{ wordBreak: 'break-word', textAlign: 'center', mt: '$14', mb: '$4', '@md': { mt: '$8', mb: '$2' } }}
|
141
|
-
>
|
138
|
+
<Text variant="h4" css={{ wordBreak: 'break-word', textAlign: 'center' }}>
|
142
139
|
{previewHeader.title}
|
143
140
|
</Text>
|
144
141
|
<Text
|
145
|
-
css={{ c: '$on_surface_medium',
|
142
|
+
css={{ c: '$on_surface_medium', textAlign: 'center', maxWidth: '100%', wordWrap: 'break-word' }}
|
146
143
|
variant="sm"
|
147
144
|
>
|
148
145
|
{previewHeader.sub_title}
|
149
146
|
</Text>
|
150
|
-
<Flex justify="center" css={{
|
147
|
+
<Flex justify="center" css={{ gap: '$4' }}>
|
151
148
|
{isStreamingOn ? (
|
152
149
|
<Chip
|
153
150
|
content="LIVE"
|
@@ -160,7 +157,7 @@ const PreviewJoin = ({
|
|
160
157
|
</Flex>
|
161
158
|
</Flex>
|
162
159
|
{toggleVideo ? <PreviewTile name={name} error={previewError} /> : null}
|
163
|
-
<Box css={{ w: '100%', maxWidth: `${Math.max(aspectRatio, 1) *
|
160
|
+
<Box css={{ w: '100%', maxWidth: `${Math.max(aspectRatio, 1) * 340}px` }}>
|
164
161
|
<PreviewControls hideSettings={!toggleVideo && !toggleAudio} vbEnabled={!!virtual_background} />
|
165
162
|
<PreviewForm
|
166
163
|
name={name}
|
@@ -210,11 +207,11 @@ export const PreviewTile = ({ name, error }: { name: string; error?: boolean })
|
|
210
207
|
css={{
|
211
208
|
bg: '$surface_default',
|
212
209
|
aspectRatio,
|
213
|
-
height: 'min(
|
210
|
+
height: 'min(340px, 70vh)',
|
214
211
|
width: 'auto',
|
215
|
-
maxWidth: '
|
212
|
+
maxWidth: '600px',
|
216
213
|
overflow: 'clip',
|
217
|
-
mt: '$
|
214
|
+
mt: '$10',
|
218
215
|
'@md': {
|
219
216
|
mt: 0,
|
220
217
|
width: 'min(220px, 70vw)',
|
@@ -261,7 +258,7 @@ export const PreviewControls = ({ hideSettings, vbEnabled }: { hideSettings: boo
|
|
261
258
|
justify={hideSettings && isMobile ? 'center' : 'between'}
|
262
259
|
css={{
|
263
260
|
width: '100%',
|
264
|
-
mt: '$
|
261
|
+
mt: '$6',
|
265
262
|
}}
|
266
263
|
>
|
267
264
|
<Flex css={{ gap: '$4' }}>
|
@@ -2,6 +2,7 @@ import React, { Fragment } from 'react';
|
|
2
2
|
import { selectIsAllowedToPublish, useAwayNotifications, useHMSStore, useScreenShare } from '@100mslive/react-sdk';
|
3
3
|
import { ShareScreenIcon } from '@100mslive/react-icons';
|
4
4
|
import { ShareScreenOptions } from './pdfAnnotator/shareScreenOptions';
|
5
|
+
import { ToastManager } from './Toast/ToastManager';
|
5
6
|
import { Box, Flex } from '../../Layout';
|
6
7
|
import { Tooltip } from '../../Tooltip';
|
7
8
|
import { ScreenShareButton } from './ShareMenuIcon';
|
@@ -13,7 +14,17 @@ export const ScreenshareToggle = ({ css = {} }) => {
|
|
13
14
|
const isAllowedToPublish = useHMSStore(selectIsAllowedToPublish);
|
14
15
|
const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
|
15
16
|
|
16
|
-
const {
|
17
|
+
const {
|
18
|
+
amIScreenSharing,
|
19
|
+
screenShareVideoTrackId: video,
|
20
|
+
toggleScreenShare,
|
21
|
+
} = useScreenShare(error => {
|
22
|
+
ToastManager.addToast({
|
23
|
+
title: error.message,
|
24
|
+
variant: 'error',
|
25
|
+
duration: 2000,
|
26
|
+
});
|
27
|
+
});
|
17
28
|
const { requestPermission } = useAwayNotifications();
|
18
29
|
const isVideoScreenshare = amIScreenSharing && !!video;
|
19
30
|
if (!isAllowedToPublish.screen || !isScreenshareSupported()) {
|
@@ -30,7 +30,6 @@ import { useSidepaneResetOnLayoutUpdate } from '../AppData/useSidepaneResetOnLay
|
|
30
30
|
// @ts-ignore
|
31
31
|
import { useSetAppDataByKey, useUISettings } from '../AppData/useUISettings';
|
32
32
|
import { APP_DATA, SIDE_PANE_OPTIONS, UI_SETTINGS } from '../../common/constants';
|
33
|
-
import { defaultMedia } from './constants';
|
34
33
|
|
35
34
|
const iconDims = { height: '40px', width: '40px' };
|
36
35
|
|
@@ -52,9 +51,7 @@ export const VBPicker = ({ backgroundMedia = [] }: { backgroundMedia: VirtualBac
|
|
52
51
|
const [loadingEffects, setLoadingEffects] = useSetAppDataByKey(APP_DATA.loadingEffects);
|
53
52
|
const isPluginAdded = useHMSStore(selectIsLocalVideoPluginPresent(VBHandler?.getName() || ''));
|
54
53
|
const background = useHMSStore(selectAppData(APP_DATA.background));
|
55
|
-
const mediaList = backgroundMedia.
|
56
|
-
? backgroundMedia.map((media: VirtualBackgroundMedia) => media.url || '')
|
57
|
-
: defaultMedia;
|
54
|
+
const mediaList = backgroundMedia.map((media: VirtualBackgroundMedia) => media.url || '');
|
58
55
|
|
59
56
|
const inPreview = roomState === HMSRoomState.Preview;
|
60
57
|
// Hidden in preview as the effect will be visible in the preview tile
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare const defaultMedia: string[];
|