@100mslive/roomkit-react 0.3.12-alpha.0 → 0.3.12-alpha.1

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.
@@ -3879,7 +3879,7 @@
3879
3879
  "format": "esm"
3880
3880
  },
3881
3881
  "src/Prebuilt/components/MoreSettings/CaptionContent.tsx": {
3882
- "bytes": 5156,
3882
+ "bytes": 5144,
3883
3883
  "imports": [
3884
3884
  {
3885
3885
  "path": "react",
@@ -4640,7 +4640,7 @@
4640
4640
  "format": "cjs"
4641
4641
  },
4642
4642
  "../hms-video-store/dist/index.js": {
4643
- "bytes": 338171,
4643
+ "bytes": 338124,
4644
4644
  "imports": [
4645
4645
  {
4646
4646
  "path": "../../node_modules/reselect/es/index.js",
@@ -10454,7 +10454,7 @@
10454
10454
  ],
10455
10455
  "format": "esm"
10456
10456
  },
10457
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1ded163/tldraw.css": {
10457
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fdeb3/tldraw.css": {
10458
10458
  "bytes": 80111,
10459
10459
  "imports": [
10460
10460
  {
@@ -10504,7 +10504,7 @@
10504
10504
  }
10505
10505
  ]
10506
10506
  },
10507
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1deca50/index.css": {
10507
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fddc1/index.css": {
10508
10508
  "bytes": 597,
10509
10509
  "imports": [
10510
10510
  {
@@ -10513,7 +10513,7 @@
10513
10513
  "external": true
10514
10514
  },
10515
10515
  {
10516
- "path": "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1ded163/tldraw.css",
10516
+ "path": "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fdeb3/tldraw.css",
10517
10517
  "kind": "import-rule",
10518
10518
  "original": "@tldraw/tldraw/tldraw.css"
10519
10519
  }
@@ -10588,7 +10588,7 @@
10588
10588
  "original": "../../common/constants"
10589
10589
  },
10590
10590
  {
10591
- "path": "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1deca50/index.css",
10591
+ "path": "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fddc1/index.css",
10592
10592
  "kind": "import-statement",
10593
10593
  "original": "@100mslive/hms-whiteboard/index.css"
10594
10594
  },
@@ -12754,8 +12754,8 @@
12754
12754
  ],
12755
12755
  "format": "esm"
12756
12756
  },
12757
- "src/Prebuilt/components/Notifications/Notifications.tsx": {
12758
- "bytes": 9725,
12757
+ "src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx": {
12758
+ "bytes": 2246,
12759
12759
  "imports": [
12760
12760
  {
12761
12761
  "path": "react",
@@ -12777,6 +12777,47 @@
12777
12777
  "kind": "import-statement",
12778
12778
  "external": true
12779
12779
  },
12780
+ {
12781
+ "path": "src/Prebuilt/components/Toast/ToastManager.js",
12782
+ "kind": "import-statement",
12783
+ "original": "../Toast/ToastManager"
12784
+ },
12785
+ {
12786
+ "path": "src/Prebuilt/components/AppData/useUISettings.js",
12787
+ "kind": "import-statement",
12788
+ "original": "../AppData/useUISettings"
12789
+ },
12790
+ {
12791
+ "path": "src/Prebuilt/common/constants.ts",
12792
+ "kind": "import-statement",
12793
+ "original": "../../common/constants"
12794
+ },
12795
+ {
12796
+ "path": "<define:process.env>",
12797
+ "kind": "import-statement",
12798
+ "external": true
12799
+ }
12800
+ ],
12801
+ "format": "esm"
12802
+ },
12803
+ "src/Prebuilt/components/Notifications/Notifications.tsx": {
12804
+ "bytes": 8003,
12805
+ "imports": [
12806
+ {
12807
+ "path": "react",
12808
+ "kind": "import-statement",
12809
+ "external": true
12810
+ },
12811
+ {
12812
+ "path": "@100mslive/react-sdk",
12813
+ "kind": "import-statement",
12814
+ "external": true
12815
+ },
12816
+ {
12817
+ "path": "@100mslive/react-icons",
12818
+ "kind": "import-statement",
12819
+ "external": true
12820
+ },
12780
12821
  {
12781
12822
  "path": "src/index.ts",
12782
12823
  "kind": "import-statement",
@@ -12842,6 +12883,11 @@
12842
12883
  "kind": "import-statement",
12843
12884
  "original": "./TrackUnmuteModal"
12844
12885
  },
12886
+ {
12887
+ "path": "src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx",
12888
+ "kind": "import-statement",
12889
+ "original": "./TranscriptionNotifications"
12890
+ },
12845
12891
  {
12846
12892
  "path": "src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts",
12847
12893
  "kind": "import-statement",
@@ -13671,7 +13717,7 @@
13671
13717
  "dist/index.js": {
13672
13718
  "imports": [
13673
13719
  {
13674
- "path": "dist/chunk-D5F44IP2.js",
13720
+ "path": "dist/chunk-ZPUJUJBA.js",
13675
13721
  "kind": "import-statement"
13676
13722
  }
13677
13723
  ],
@@ -13745,16 +13791,16 @@
13745
13791
  "inputs": {},
13746
13792
  "bytes": 1822
13747
13793
  },
13748
- "dist/HLSView-2BPYWKSN.js.map": {
13794
+ "dist/HLSView-EHEKBMBJ.js.map": {
13749
13795
  "imports": [],
13750
13796
  "exports": [],
13751
13797
  "inputs": {},
13752
13798
  "bytes": 99904
13753
13799
  },
13754
- "dist/HLSView-2BPYWKSN.js": {
13800
+ "dist/HLSView-EHEKBMBJ.js": {
13755
13801
  "imports": [
13756
13802
  {
13757
- "path": "dist/chunk-D5F44IP2.js",
13803
+ "path": "dist/chunk-ZPUJUJBA.js",
13758
13804
  "kind": "import-statement"
13759
13805
  },
13760
13806
  {
@@ -13932,7 +13978,7 @@
13932
13978
  "default"
13933
13979
  ],
13934
13980
  "entryPoint": "src/Prebuilt/layouts/HLSView.jsx",
13935
- "cssBundle": "dist/HLSView-OAQTW322.css",
13981
+ "cssBundle": "dist/HLSView-BJWPNE7P.css",
13936
13982
  "inputs": {
13937
13983
  "src/Prebuilt/layouts/HLSView.jsx": {
13938
13984
  "bytesInOutput": 25793
@@ -13991,13 +14037,13 @@
13991
14037
  },
13992
14038
  "bytes": 58515
13993
14039
  },
13994
- "dist/chunk-D5F44IP2.js.map": {
14040
+ "dist/chunk-ZPUJUJBA.js.map": {
13995
14041
  "imports": [],
13996
14042
  "exports": [],
13997
14043
  "inputs": {},
13998
- "bytes": 3261159
14044
+ "bytes": 3262044
13999
14045
  },
14000
- "dist/chunk-D5F44IP2.js": {
14046
+ "dist/chunk-ZPUJUJBA.js": {
14001
14047
  "imports": [
14002
14048
  {
14003
14049
  "path": "react",
@@ -16470,7 +16516,7 @@
16470
16516
  "external": true
16471
16517
  },
16472
16518
  {
16473
- "path": "dist/HLSView-2BPYWKSN.js",
16519
+ "path": "dist/HLSView-EHEKBMBJ.js",
16474
16520
  "kind": "dynamic-import"
16475
16521
  },
16476
16522
  {
@@ -16623,11 +16669,6 @@
16623
16669
  "kind": "import-statement",
16624
16670
  "external": true
16625
16671
  },
16626
- {
16627
- "path": "ts-pattern",
16628
- "kind": "import-statement",
16629
- "external": true
16630
- },
16631
16672
  {
16632
16673
  "path": "@100mslive/react-sdk",
16633
16674
  "kind": "import-statement",
@@ -16783,6 +16824,26 @@
16783
16824
  "kind": "import-statement",
16784
16825
  "external": true
16785
16826
  },
16827
+ {
16828
+ "path": "ts-pattern",
16829
+ "kind": "import-statement",
16830
+ "external": true
16831
+ },
16832
+ {
16833
+ "path": "@100mslive/react-sdk",
16834
+ "kind": "import-statement",
16835
+ "external": true
16836
+ },
16837
+ {
16838
+ "path": "@100mslive/react-icons",
16839
+ "kind": "import-statement",
16840
+ "external": true
16841
+ },
16842
+ {
16843
+ "path": "react",
16844
+ "kind": "import-statement",
16845
+ "external": true
16846
+ },
16786
16847
  {
16787
16848
  "path": "react-use",
16788
16849
  "kind": "import-statement",
@@ -16953,7 +17014,7 @@
16953
17014
  ],
16954
17015
  "inputs": {
16955
17016
  "<define:process.env>": {
16956
- "bytesInOutput": 17885
17017
+ "bytesInOutput": 17904
16957
17018
  },
16958
17019
  "../../node_modules/lodash/lodash.js": {
16959
17020
  "bytesInOutput": 224310
@@ -17376,7 +17437,7 @@
17376
17437
  "bytesInOutput": 989
17377
17438
  },
17378
17439
  "src/Prebuilt/components/MoreSettings/CaptionContent.tsx": {
17379
- "bytesInOutput": 5013
17440
+ "bytesInOutput": 5003
17380
17441
  },
17381
17442
  "src/Prebuilt/components/MoreSettings/FullScreenItem.tsx": {
17382
17443
  "bytesInOutput": 628
@@ -17795,7 +17856,7 @@
17795
17856
  "src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx": {
17796
17857
  "bytesInOutput": 2656
17797
17858
  },
17798
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1deca50/index.css": {
17859
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fddc1/index.css": {
17799
17860
  "bytesInOutput": 0
17800
17861
  },
17801
17862
  "src/Prebuilt/common/PeersSorter.ts": {
@@ -17856,7 +17917,7 @@
17856
17917
  "bytesInOutput": 27
17857
17918
  },
17858
17919
  "src/Prebuilt/components/Notifications/Notifications.tsx": {
17859
- "bytesInOutput": 9069
17920
+ "bytesInOutput": 7252
17860
17921
  },
17861
17922
  "src/Prebuilt/components/Notifications/AutoplayBlockedModal.tsx": {
17862
17923
  "bytesInOutput": 1053
@@ -17900,6 +17961,9 @@
17900
17961
  "src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx": {
17901
17962
  "bytesInOutput": 1651
17902
17963
  },
17964
+ "src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx": {
17965
+ "bytesInOutput": 2152
17966
+ },
17903
17967
  "src/Prebuilt/components/Preview/PreviewScreen.tsx": {
17904
17968
  "bytesInOutput": 1173
17905
17969
  },
@@ -17934,7 +17998,7 @@
17934
17998
  "bytesInOutput": 651
17935
17999
  }
17936
18000
  },
17937
- "bytes": 1305955
18001
+ "bytes": 1306372
17938
18002
  },
17939
18003
  "dist/index.css.map": {
17940
18004
  "imports": [],
@@ -17996,22 +18060,22 @@
17996
18060
  }
17997
18061
  ],
17998
18062
  "inputs": {
17999
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1ded163/tldraw.css": {
18063
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fdeb3/tldraw.css": {
18000
18064
  "bytesInOutput": 75223
18001
18065
  },
18002
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1deca50/index.css": {
18066
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fddc1/index.css": {
18003
18067
  "bytesInOutput": 401
18004
18068
  }
18005
18069
  },
18006
18070
  "bytes": 75901
18007
18071
  },
18008
- "dist/HLSView-OAQTW322.css.map": {
18072
+ "dist/HLSView-BJWPNE7P.css.map": {
18009
18073
  "imports": [],
18010
18074
  "exports": [],
18011
18075
  "inputs": {},
18012
18076
  "bytes": 122402
18013
18077
  },
18014
- "dist/HLSView-OAQTW322.css": {
18078
+ "dist/HLSView-BJWPNE7P.css": {
18015
18079
  "imports": [
18016
18080
  {
18017
18081
  "path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
@@ -18065,10 +18129,10 @@
18065
18129
  }
18066
18130
  ],
18067
18131
  "inputs": {
18068
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1ded163/tldraw.css": {
18132
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fdeb3/tldraw.css": {
18069
18133
  "bytesInOutput": 75223
18070
18134
  },
18071
- "../../../../../../../tmp/tmp-2737-MgFOw37oAaow/18fbf1deca50/index.css": {
18135
+ "../../../../../../../tmp/tmp-2856-GnTENBz90iJn/18fc335fddc1/index.css": {
18072
18136
  "bytesInOutput": 401
18073
18137
  }
18074
18138
  },
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "prebuilt",
11
11
  "roomkit"
12
12
  ],
13
- "version": "0.3.12-alpha.0",
13
+ "version": "0.3.12-alpha.1",
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.0",
77
+ "@100mslive/hls-player": "0.3.12-alpha.1",
78
78
  "@100mslive/hms-noise-cancellation": "0.0.1",
79
- "@100mslive/hms-virtual-background": "1.13.12-alpha.0",
80
- "@100mslive/hms-whiteboard": "0.0.2-alpha.0",
81
- "@100mslive/react-icons": "0.10.12-alpha.0",
82
- "@100mslive/react-sdk": "0.10.12-alpha.0",
79
+ "@100mslive/hms-virtual-background": "1.13.12-alpha.1",
80
+ "@100mslive/hms-whiteboard": "0.0.2-alpha.1",
81
+ "@100mslive/react-icons": "0.10.12-alpha.1",
82
+ "@100mslive/react-sdk": "0.10.12-alpha.1",
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": "5e32c0c62aba5aa7786a01912511da6ac33461a2"
118
+ "gitHead": "d1da18b74e26ac0defecd1509864a9d8dd8c258e"
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.addToast({
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.addToast({
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.addToast({
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 { AlertTriangleIcon, ClosedCaptionIcon, GroupIcon, OpenCaptionIcon } from '@100mslive/react-icons';
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, useSetAppDataByKey, useSubscribedNotifications } from '../AppData/useUISettings';
39
- import { CAPTION_TOAST, ROLE_CHANGE_DECLINED } from '../../common/constants';
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
+ };