@100mslive/roomkit-react 0.3.12-alpha.0 → 0.3.12-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{HLSView-OAQTW322.css → HLSView-BTT7LI2J.css} +3 -3
- package/dist/{HLSView-OAQTW322.css.map → HLSView-BTT7LI2J.css.map} +1 -1
- package/dist/{HLSView-2BPYWKSN.js → HLSView-CRIT7T2T.js} +120 -109
- package/dist/{HLSView-2BPYWKSN.js.map → HLSView-CRIT7T2T.js.map} +2 -2
- package/dist/Prebuilt/components/Notifications/TranscriptionNotifications.d.ts +1 -0
- package/dist/{chunk-D5F44IP2.js → chunk-KJZOZLIO.js} +1774 -1463
- package/dist/chunk-KJZOZLIO.js.map +7 -0
- package/dist/index.cjs.css +2 -2
- package/dist/index.cjs.css.map +1 -1
- package/dist/index.cjs.js +1940 -1622
- 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 +848 -199
- package/dist/meta.esbuild.json +872 -219
- package/package.json +7 -7
- package/src/Prebuilt/components/MoreSettings/CaptionContent.tsx +3 -4
- package/src/Prebuilt/components/Notifications/Notifications.tsx +5 -44
- package/src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx +58 -0
- package/dist/chunk-D5F44IP2.js.map +0 -7
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"prebuilt",
|
|
11
11
|
"roomkit"
|
|
12
12
|
],
|
|
13
|
-
"version": "0.3.12-alpha.
|
|
13
|
+
"version": "0.3.12-alpha.2",
|
|
14
14
|
"author": "100ms",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"repository": {
|
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
"react": ">=17.0.2 <19.0.0"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@100mslive/hls-player": "0.3.12-alpha.
|
|
77
|
+
"@100mslive/hls-player": "0.3.12-alpha.2",
|
|
78
78
|
"@100mslive/hms-noise-cancellation": "0.0.1",
|
|
79
|
-
"@100mslive/hms-virtual-background": "1.13.12-alpha.
|
|
80
|
-
"@100mslive/hms-whiteboard": "0.0.2-alpha.
|
|
81
|
-
"@100mslive/react-icons": "0.10.12-alpha.
|
|
82
|
-
"@100mslive/react-sdk": "0.10.12-alpha.
|
|
79
|
+
"@100mslive/hms-virtual-background": "1.13.12-alpha.2",
|
|
80
|
+
"@100mslive/hms-whiteboard": "0.0.2-alpha.2",
|
|
81
|
+
"@100mslive/react-icons": "0.10.12-alpha.2",
|
|
82
|
+
"@100mslive/react-sdk": "0.10.12-alpha.2",
|
|
83
83
|
"@100mslive/types-prebuilt": "0.12.8",
|
|
84
84
|
"@emoji-mart/data": "^1.0.6",
|
|
85
85
|
"@emoji-mart/react": "^1.0.1",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"uuid": "^8.3.2",
|
|
116
116
|
"worker-timers": "^7.0.40"
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "661d33178068de7f764ef7b31119b04c12c22176"
|
|
119
119
|
}
|
|
@@ -89,12 +89,11 @@ export const CaptionContent = ({ isMobile, onExit }: { isMobile: boolean; onExit
|
|
|
89
89
|
data-testid="popup_change_btn"
|
|
90
90
|
onClick={async () => {
|
|
91
91
|
try {
|
|
92
|
-
ToastManager.removeToast(toastId);
|
|
93
92
|
if (isTranscriptionEnabled) {
|
|
94
93
|
await actions.stopTranscription({
|
|
95
94
|
mode: HMSTranscriptionMode.CAPTION,
|
|
96
95
|
});
|
|
97
|
-
const id = ToastManager.
|
|
96
|
+
const id = ToastManager.replaceToast(toastId, {
|
|
98
97
|
title: `Disabling Closed Caption for everyone.`,
|
|
99
98
|
variant: 'standard',
|
|
100
99
|
duration: DURATION,
|
|
@@ -107,7 +106,7 @@ export const CaptionContent = ({ isMobile, onExit }: { isMobile: boolean; onExit
|
|
|
107
106
|
await actions.startTranscription({
|
|
108
107
|
mode: HMSTranscriptionMode.CAPTION,
|
|
109
108
|
});
|
|
110
|
-
const id = ToastManager.
|
|
109
|
+
const id = ToastManager.replaceToast(toastId, {
|
|
111
110
|
title: `Enabling Closed Caption for everyone.`,
|
|
112
111
|
variant: 'standard',
|
|
113
112
|
duration: DURATION,
|
|
@@ -115,7 +114,7 @@ export const CaptionContent = ({ isMobile, onExit }: { isMobile: boolean; onExit
|
|
|
115
114
|
});
|
|
116
115
|
setToastId(id);
|
|
117
116
|
} catch (err) {
|
|
118
|
-
const id = ToastManager.
|
|
117
|
+
const id = ToastManager.replaceToast(toastId, {
|
|
119
118
|
title: `Failed to ${isTranscriptionEnabled ? 'disabled' : 'enabled'} closed caption`,
|
|
120
119
|
variant: 'error',
|
|
121
120
|
icon: <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />,
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/* eslint-disable no-case-declarations */
|
|
2
2
|
import React, { useCallback, useEffect } from 'react';
|
|
3
|
-
import { match } from 'ts-pattern';
|
|
4
3
|
import {
|
|
5
4
|
HMSNotificationTypes,
|
|
6
5
|
HMSRoleChangeRequest,
|
|
7
6
|
HMSRoomState,
|
|
8
|
-
HMSTranscriptionState,
|
|
9
7
|
selectIsLocalScreenShared,
|
|
10
8
|
selectLocalPeerID,
|
|
11
9
|
selectPeerNameByID,
|
|
@@ -16,7 +14,7 @@ import {
|
|
|
16
14
|
useHMSStore,
|
|
17
15
|
useHMSVanillaStore,
|
|
18
16
|
} from '@100mslive/react-sdk';
|
|
19
|
-
import {
|
|
17
|
+
import { GroupIcon } from '@100mslive/react-icons';
|
|
20
18
|
import { Box, Button } from '../../..';
|
|
21
19
|
import { useRoomLayout, useUpdateRoomLayout } from '../../provider/roomLayoutProvider';
|
|
22
20
|
// @ts-ignore: No implicit Any
|
|
@@ -31,12 +29,13 @@ import { ReconnectNotifications } from './ReconnectNotifications';
|
|
|
31
29
|
import { TrackBulkUnmuteModal } from './TrackBulkUnmuteModal';
|
|
32
30
|
import { TrackNotifications } from './TrackNotifications';
|
|
33
31
|
import { TrackUnmuteModal } from './TrackUnmuteModal';
|
|
32
|
+
import { TranscriptionNotifications } from './TranscriptionNotifications';
|
|
34
33
|
import { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
|
|
35
34
|
// @ts-ignore: No implicit Any
|
|
36
35
|
import { usePollViewToggle } from '../AppData/useSidepane';
|
|
37
36
|
// @ts-ignore: No implicit Any
|
|
38
|
-
import { useIsNotificationDisabled,
|
|
39
|
-
import {
|
|
37
|
+
import { useIsNotificationDisabled, useSubscribedNotifications } from '../AppData/useUISettings';
|
|
38
|
+
import { ROLE_CHANGE_DECLINED } from '../../common/constants';
|
|
40
39
|
|
|
41
40
|
const pollToastKey: Record<string, string> = {};
|
|
42
41
|
|
|
@@ -53,7 +52,6 @@ export function Notifications() {
|
|
|
53
52
|
const { showNotification } = useAwayNotifications();
|
|
54
53
|
const amIScreenSharing = useHMSStore(selectIsLocalScreenShared);
|
|
55
54
|
const logoURL = useRoomLayout()?.logo?.url;
|
|
56
|
-
const [toastId, setToastId] = useSetAppDataByKey(CAPTION_TOAST.captionToast);
|
|
57
55
|
|
|
58
56
|
const handleRoleChangeDenied = useCallback((request: HMSRoleChangeRequest & { peerName: string }) => {
|
|
59
57
|
ToastManager.addToast({
|
|
@@ -181,44 +179,6 @@ export function Notifications() {
|
|
|
181
179
|
});
|
|
182
180
|
}
|
|
183
181
|
break;
|
|
184
|
-
case HMSNotificationTypes.TRANSCRIPTION_STATE_UPDATED:
|
|
185
|
-
const transcriptionStates = notification.data;
|
|
186
|
-
if (transcriptionStates && transcriptionStates.length > 0) {
|
|
187
|
-
let id = '';
|
|
188
|
-
match({ state: transcriptionStates[0].state, error: transcriptionStates[0].error })
|
|
189
|
-
.when(
|
|
190
|
-
({ error }) => !!error,
|
|
191
|
-
() => {
|
|
192
|
-
ToastManager.removeToast(toastId);
|
|
193
|
-
id = ToastManager.addToast({
|
|
194
|
-
title: `Failed to enable Closed Caption`,
|
|
195
|
-
variant: 'error',
|
|
196
|
-
icon: <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />,
|
|
197
|
-
});
|
|
198
|
-
},
|
|
199
|
-
)
|
|
200
|
-
.with({ state: HMSTranscriptionState.STARTED }, () => {
|
|
201
|
-
ToastManager.removeToast(toastId);
|
|
202
|
-
id = ToastManager.addToast({
|
|
203
|
-
title: `Closed Captioning enabled for everyone`,
|
|
204
|
-
variant: 'standard',
|
|
205
|
-
duration: 2000,
|
|
206
|
-
icon: <OpenCaptionIcon style={{ marginRight: '0.5rem' }} />,
|
|
207
|
-
});
|
|
208
|
-
})
|
|
209
|
-
.with({ state: HMSTranscriptionState.STOPPED }, () => {
|
|
210
|
-
ToastManager.removeToast(toastId);
|
|
211
|
-
id = ToastManager.addToast({
|
|
212
|
-
title: `Closed Captioning disabled for everyone`,
|
|
213
|
-
variant: 'standard',
|
|
214
|
-
duration: 2000,
|
|
215
|
-
icon: <ClosedCaptionIcon style={{ marginRight: '0.5rem' }} />,
|
|
216
|
-
});
|
|
217
|
-
})
|
|
218
|
-
.otherwise(() => null);
|
|
219
|
-
setToastId(id);
|
|
220
|
-
}
|
|
221
|
-
break;
|
|
222
182
|
default:
|
|
223
183
|
break;
|
|
224
184
|
}
|
|
@@ -241,6 +201,7 @@ export function Notifications() {
|
|
|
241
201
|
<InitErrorModal />
|
|
242
202
|
<ChatNotifications />
|
|
243
203
|
<HandRaisedNotifications />
|
|
204
|
+
<TranscriptionNotifications />
|
|
244
205
|
</>
|
|
245
206
|
);
|
|
246
207
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
import { match } from 'ts-pattern';
|
|
3
|
+
import { HMSNotificationTypes, HMSTranscriptionState, useHMSNotifications } from '@100mslive/react-sdk';
|
|
4
|
+
import { AlertTriangleIcon, ClosedCaptionIcon, OpenCaptionIcon } from '@100mslive/react-icons';
|
|
5
|
+
// @ts-ignore: No implicit Any
|
|
6
|
+
import { ToastManager } from '../Toast/ToastManager';
|
|
7
|
+
// @ts-ignore: No implicit Any
|
|
8
|
+
import { useSetAppDataByKey } from '../AppData/useUISettings';
|
|
9
|
+
import { CAPTION_TOAST } from '../../common/constants';
|
|
10
|
+
|
|
11
|
+
export const TranscriptionNotifications = () => {
|
|
12
|
+
const notification = useHMSNotifications(HMSNotificationTypes.TRANSCRIPTION_STATE_UPDATED);
|
|
13
|
+
const [toastId, setToastId] = useSetAppDataByKey(CAPTION_TOAST.captionToast);
|
|
14
|
+
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!notification?.data) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
console.debug(`[${notification.type}]`, notification);
|
|
21
|
+
const transcriptionStates = notification.data;
|
|
22
|
+
if (transcriptionStates.length > 0) {
|
|
23
|
+
let id = '';
|
|
24
|
+
match({ state: transcriptionStates[0].state, error: transcriptionStates[0].error })
|
|
25
|
+
.when(
|
|
26
|
+
({ error }) => !!error,
|
|
27
|
+
() => {
|
|
28
|
+
id = ToastManager.replaceToast(toastId, {
|
|
29
|
+
title: `Failed to enable Closed Caption`,
|
|
30
|
+
variant: 'error',
|
|
31
|
+
icon: <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />,
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
)
|
|
35
|
+
.with({ state: HMSTranscriptionState.STARTED }, () => {
|
|
36
|
+
id = ToastManager.replaceToast(toastId, {
|
|
37
|
+
title: `Closed Captioning enabled for everyone`,
|
|
38
|
+
variant: 'standard',
|
|
39
|
+
duration: 2000,
|
|
40
|
+
icon: <OpenCaptionIcon style={{ marginRight: '0.5rem' }} />,
|
|
41
|
+
});
|
|
42
|
+
})
|
|
43
|
+
.with({ state: HMSTranscriptionState.STOPPED }, () => {
|
|
44
|
+
id = ToastManager.replaceToast(toastId, {
|
|
45
|
+
title: `Closed Captioning disabled for everyone`,
|
|
46
|
+
variant: 'standard',
|
|
47
|
+
duration: 2000,
|
|
48
|
+
icon: <ClosedCaptionIcon style={{ marginRight: '0.5rem' }} />,
|
|
49
|
+
});
|
|
50
|
+
})
|
|
51
|
+
.otherwise(() => null);
|
|
52
|
+
setToastId(id);
|
|
53
|
+
}
|
|
54
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55
|
+
}, [notification, setToastId]);
|
|
56
|
+
|
|
57
|
+
return null;
|
|
58
|
+
};
|