@100mslive/roomkit-react 0.3.19 → 0.3.20-alpha.0

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.
@@ -3006,7 +3006,7 @@
3006
3006
  "format": "esm"
3007
3007
  },
3008
3008
  "src/Prebuilt/components/Settings/SettingsModal.jsx": {
3009
- "bytes": 9473,
3009
+ "bytes": 9451,
3010
3010
  "imports": [
3011
3011
  {
3012
3012
  "path": "react",
@@ -5749,7 +5749,7 @@
5749
5749
  "format": "cjs"
5750
5750
  },
5751
5751
  "../hms-video-store/dist/index.js": {
5752
- "bytes": 367512,
5752
+ "bytes": 367546,
5753
5753
  "imports": [
5754
5754
  {
5755
5755
  "path": "../../node_modules/reselect/es/index.js",
@@ -9586,6 +9586,22 @@
9586
9586
  ],
9587
9587
  "format": "esm"
9588
9588
  },
9589
+ "src/Prebuilt/components/peerTileUtils.tsx": {
9590
+ "bytes": 1529,
9591
+ "imports": [
9592
+ {
9593
+ "path": "@100mslive/react-sdk",
9594
+ "kind": "import-statement",
9595
+ "external": true
9596
+ },
9597
+ {
9598
+ "path": "<define:process.env>",
9599
+ "kind": "import-statement",
9600
+ "external": true
9601
+ }
9602
+ ],
9603
+ "format": "esm"
9604
+ },
9589
9605
  "src/Prebuilt/components/TileMenu/utils.ts": {
9590
9606
  "bytes": 214,
9591
9607
  "imports": [
@@ -9598,7 +9614,7 @@
9598
9614
  "format": "esm"
9599
9615
  },
9600
9616
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
9601
- "bytes": 12236,
9617
+ "bytes": 12271,
9602
9618
  "imports": [
9603
9619
  {
9604
9620
  "path": "react",
@@ -9689,7 +9705,7 @@
9689
9705
  "format": "esm"
9690
9706
  },
9691
9707
  "src/Prebuilt/components/TileMenu/TileMenu.tsx": {
9692
- "bytes": 5158,
9708
+ "bytes": 5392,
9693
9709
  "imports": [
9694
9710
  {
9695
9711
  "path": "react",
@@ -9741,6 +9757,11 @@
9741
9757
  "kind": "import-statement",
9742
9758
  "original": "../MoreSettings/ChangeNameModal"
9743
9759
  },
9760
+ {
9761
+ "path": "src/Prebuilt/components/peerTileUtils.tsx",
9762
+ "kind": "import-statement",
9763
+ "original": "../peerTileUtils"
9764
+ },
9744
9765
  {
9745
9766
  "path": "src/Prebuilt/components/RoleChangeModal.tsx",
9746
9767
  "kind": "import-statement",
@@ -9779,19 +9800,8 @@
9779
9800
  ],
9780
9801
  "format": "esm"
9781
9802
  },
9782
- "src/Prebuilt/components/peerTileUtils.jsx": {
9783
- "bytes": 1197,
9784
- "imports": [
9785
- {
9786
- "path": "<define:process.env>",
9787
- "kind": "import-statement",
9788
- "external": true
9789
- }
9790
- ],
9791
- "format": "esm"
9792
- },
9793
9803
  "src/Prebuilt/components/VideoTile.tsx": {
9794
- "bytes": 7106,
9804
+ "bytes": 7103,
9795
9805
  "imports": [
9796
9806
  {
9797
9807
  "path": "react",
@@ -9854,7 +9864,7 @@
9854
9864
  "original": "../../VideoTile"
9855
9865
  },
9856
9866
  {
9857
- "path": "src/Prebuilt/components/peerTileUtils.jsx",
9867
+ "path": "src/Prebuilt/components/peerTileUtils.tsx",
9858
9868
  "kind": "import-statement",
9859
9869
  "original": "./peerTileUtils"
9860
9870
  },
@@ -10728,7 +10738,7 @@
10728
10738
  "format": "esm"
10729
10739
  },
10730
10740
  "src/Prebuilt/components/VideoLayouts/EqualProminence.tsx": {
10731
- "bytes": 2113,
10741
+ "bytes": 2301,
10732
10742
  "imports": [
10733
10743
  {
10734
10744
  "path": "react",
@@ -10740,6 +10750,11 @@
10740
10750
  "kind": "import-statement",
10741
10751
  "external": true
10742
10752
  },
10753
+ {
10754
+ "path": "@100mslive/react-sdk",
10755
+ "kind": "import-statement",
10756
+ "external": true
10757
+ },
10743
10758
  {
10744
10759
  "path": "@100mslive/react-icons",
10745
10760
  "kind": "import-statement",
@@ -11110,7 +11125,7 @@
11110
11125
  "format": "esm"
11111
11126
  },
11112
11127
  "src/Prebuilt/components/ScreenshareTile.tsx": {
11113
- "bytes": 4479,
11128
+ "bytes": 4476,
11114
11129
  "imports": [
11115
11130
  {
11116
11131
  "path": "react",
@@ -11173,7 +11188,7 @@
11173
11188
  "original": "./LayoutModeSelector"
11174
11189
  },
11175
11190
  {
11176
- "path": "src/Prebuilt/components/peerTileUtils.jsx",
11191
+ "path": "src/Prebuilt/components/peerTileUtils.tsx",
11177
11192
  "kind": "import-statement",
11178
11193
  "original": "./peerTileUtils"
11179
11194
  },
@@ -11276,7 +11291,7 @@
11276
11291
  ],
11277
11292
  "format": "esm"
11278
11293
  },
11279
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314533/tldraw.css": {
11294
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10ba3/tldraw.css": {
11280
11295
  "bytes": 80111,
11281
11296
  "imports": [
11282
11297
  {
@@ -11326,7 +11341,7 @@
11326
11341
  }
11327
11342
  ]
11328
11343
  },
11329
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314391/index.css": {
11344
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10281/index.css": {
11330
11345
  "bytes": 597,
11331
11346
  "imports": [
11332
11347
  {
@@ -11335,7 +11350,7 @@
11335
11350
  "external": true
11336
11351
  },
11337
11352
  {
11338
- "path": "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314533/tldraw.css",
11353
+ "path": "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10ba3/tldraw.css",
11339
11354
  "kind": "import-rule",
11340
11355
  "original": "@tldraw/tldraw/tldraw.css"
11341
11356
  }
@@ -11410,7 +11425,7 @@
11410
11425
  "original": "../../common/constants"
11411
11426
  },
11412
11427
  {
11413
- "path": "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314391/index.css",
11428
+ "path": "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10281/index.css",
11414
11429
  "kind": "import-statement",
11415
11430
  "original": "@100mslive/hms-whiteboard/index.css"
11416
11431
  },
@@ -13742,7 +13757,7 @@
13742
13757
  "format": "esm"
13743
13758
  },
13744
13759
  "src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx": {
13745
- "bytes": 1639,
13760
+ "bytes": 1640,
13746
13761
  "imports": [
13747
13762
  {
13748
13763
  "path": "react",
@@ -15398,7 +15413,7 @@
15398
15413
  "dist/index.js": {
15399
15414
  "imports": [
15400
15415
  {
15401
- "path": "dist/chunk-DIIFM6TW.js",
15416
+ "path": "dist/chunk-JCM6FDIX.js",
15402
15417
  "kind": "import-statement"
15403
15418
  }
15404
15419
  ],
@@ -15474,16 +15489,16 @@
15474
15489
  "inputs": {},
15475
15490
  "bytes": 1882
15476
15491
  },
15477
- "dist/HLSView-GYB2QDIN.js.map": {
15492
+ "dist/HLSView-VBMAXHBP.js.map": {
15478
15493
  "imports": [],
15479
15494
  "exports": [],
15480
15495
  "inputs": {},
15481
15496
  "bytes": 100275
15482
15497
  },
15483
- "dist/HLSView-GYB2QDIN.js": {
15498
+ "dist/HLSView-VBMAXHBP.js": {
15484
15499
  "imports": [
15485
15500
  {
15486
- "path": "dist/chunk-DIIFM6TW.js",
15501
+ "path": "dist/chunk-JCM6FDIX.js",
15487
15502
  "kind": "import-statement"
15488
15503
  },
15489
15504
  {
@@ -15661,7 +15676,7 @@
15661
15676
  "default"
15662
15677
  ],
15663
15678
  "entryPoint": "src/Prebuilt/layouts/HLSView.jsx",
15664
- "cssBundle": "dist/HLSView-LNJLFWK4.css",
15679
+ "cssBundle": "dist/HLSView-5JM7XVA4.css",
15665
15680
  "inputs": {
15666
15681
  "src/Prebuilt/layouts/HLSView.jsx": {
15667
15682
  "bytesInOutput": 27671
@@ -15720,13 +15735,13 @@
15720
15735
  },
15721
15736
  "bytes": 61702
15722
15737
  },
15723
- "dist/chunk-DIIFM6TW.js.map": {
15738
+ "dist/chunk-JCM6FDIX.js.map": {
15724
15739
  "imports": [],
15725
15740
  "exports": [],
15726
15741
  "inputs": {},
15727
- "bytes": 3520614
15742
+ "bytes": 3521854
15728
15743
  },
15729
- "dist/chunk-DIIFM6TW.js": {
15744
+ "dist/chunk-JCM6FDIX.js": {
15730
15745
  "imports": [
15731
15746
  {
15732
15747
  "path": "react",
@@ -18018,6 +18033,11 @@
18018
18033
  "kind": "import-statement",
18019
18034
  "external": true
18020
18035
  },
18036
+ {
18037
+ "path": "@100mslive/react-sdk",
18038
+ "kind": "import-statement",
18039
+ "external": true
18040
+ },
18021
18041
  {
18022
18042
  "path": "@100mslive/react-icons",
18023
18043
  "kind": "import-statement",
@@ -18269,7 +18289,7 @@
18269
18289
  "external": true
18270
18290
  },
18271
18291
  {
18272
- "path": "dist/HLSView-GYB2QDIN.js",
18292
+ "path": "dist/HLSView-VBMAXHBP.js",
18273
18293
  "kind": "dynamic-import"
18274
18294
  },
18275
18295
  {
@@ -18888,7 +18908,7 @@
18888
18908
  ],
18889
18909
  "inputs": {
18890
18910
  "<define:process.env>": {
18891
- "bytesInOutput": 17932
18911
+ "bytesInOutput": 18008
18892
18912
  },
18893
18913
  "../../node_modules/lodash/lodash.js": {
18894
18914
  "bytesInOutput": 224301
@@ -19260,7 +19280,7 @@
19260
19280
  "bytesInOutput": 1390
19261
19281
  },
19262
19282
  "src/Prebuilt/components/Settings/SettingsModal.jsx": {
19263
- "bytesInOutput": 8960
19283
+ "bytesInOutput": 8942
19264
19284
  },
19265
19285
  "src/Sheet/index.ts": {
19266
19286
  "bytesInOutput": 27
@@ -19431,7 +19451,7 @@
19431
19451
  "bytesInOutput": 9861
19432
19452
  },
19433
19453
  "../hms-video-store/dist/index.js": {
19434
- "bytesInOutput": 52063
19454
+ "bytesInOutput": 52071
19435
19455
  },
19436
19456
  "../../node_modules/reselect/es/index.js": {
19437
19457
  "bytesInOutput": 2539
@@ -19689,23 +19709,23 @@
19689
19709
  "bytesInOutput": 2469
19690
19710
  },
19691
19711
  "src/Prebuilt/components/VideoTile.tsx": {
19692
- "bytesInOutput": 6608
19712
+ "bytesInOutput": 6636
19693
19713
  },
19694
19714
  "src/Prebuilt/components/Connection/TileConnection.tsx": {
19695
19715
  "bytesInOutput": 2406
19696
19716
  },
19697
19717
  "src/Prebuilt/components/TileMenu/TileMenu.tsx": {
19698
- "bytesInOutput": 4811
19718
+ "bytesInOutput": 4909
19719
+ },
19720
+ "src/Prebuilt/components/peerTileUtils.tsx": {
19721
+ "bytesInOutput": 1164
19699
19722
  },
19700
19723
  "src/Prebuilt/components/TileMenu/TileMenuContent.tsx": {
19701
- "bytesInOutput": 12243
19724
+ "bytesInOutput": 12271
19702
19725
  },
19703
19726
  "src/Prebuilt/components/TileMenu/utils.ts": {
19704
19727
  "bytesInOutput": 160
19705
19728
  },
19706
- "src/Prebuilt/components/peerTileUtils.jsx": {
19707
- "bytesInOutput": 1050
19708
- },
19709
19729
  "src/Prebuilt/components/VirtualBackground/VBPicker.tsx": {
19710
19730
  "bytesInOutput": 8754
19711
19731
  },
@@ -19734,7 +19754,7 @@
19734
19754
  "bytesInOutput": 4550
19735
19755
  },
19736
19756
  "src/Prebuilt/components/VideoLayouts/EqualProminence.tsx": {
19737
- "bytesInOutput": 1886
19757
+ "bytesInOutput": 2110
19738
19758
  },
19739
19759
  "src/Prebuilt/layouts/WaitingView.tsx": {
19740
19760
  "bytesInOutput": 1370
@@ -19770,7 +19790,7 @@
19770
19790
  "bytesInOutput": 2638
19771
19791
  },
19772
19792
  "src/Prebuilt/components/ScreenshareTile.tsx": {
19773
- "bytesInOutput": 4411
19793
+ "bytesInOutput": 4439
19774
19794
  },
19775
19795
  "src/Prebuilt/components/LayoutModeSelector.tsx": {
19776
19796
  "bytesInOutput": 3276
@@ -19781,7 +19801,7 @@
19781
19801
  "src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx": {
19782
19802
  "bytesInOutput": 2830
19783
19803
  },
19784
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314391/index.css": {
19804
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10281/index.css": {
19785
19805
  "bytesInOutput": 0
19786
19806
  },
19787
19807
  "src/Prebuilt/common/PeersSorter.ts": {
@@ -19887,7 +19907,7 @@
19887
19907
  "bytesInOutput": 640
19888
19908
  },
19889
19909
  "src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx": {
19890
- "bytesInOutput": 1760
19910
+ "bytesInOutput": 1761
19891
19911
  },
19892
19912
  "src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx": {
19893
19913
  "bytesInOutput": 2185
@@ -19950,7 +19970,7 @@
19950
19970
  "bytesInOutput": 2628
19951
19971
  }
19952
19972
  },
19953
- "bytes": 1460019
19973
+ "bytes": 1460606
19954
19974
  },
19955
19975
  "dist/index.css.map": {
19956
19976
  "imports": [],
@@ -20012,22 +20032,22 @@
20012
20032
  }
20013
20033
  ],
20014
20034
  "inputs": {
20015
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314533/tldraw.css": {
20035
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10ba3/tldraw.css": {
20016
20036
  "bytesInOutput": 75223
20017
20037
  },
20018
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314391/index.css": {
20038
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10281/index.css": {
20019
20039
  "bytesInOutput": 401
20020
20040
  }
20021
20041
  },
20022
20042
  "bytes": 75901
20023
20043
  },
20024
- "dist/HLSView-LNJLFWK4.css.map": {
20044
+ "dist/HLSView-5JM7XVA4.css.map": {
20025
20045
  "imports": [],
20026
20046
  "exports": [],
20027
20047
  "inputs": {},
20028
20048
  "bytes": 122402
20029
20049
  },
20030
- "dist/HLSView-LNJLFWK4.css": {
20050
+ "dist/HLSView-5JM7XVA4.css": {
20031
20051
  "imports": [
20032
20052
  {
20033
20053
  "path": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap",
@@ -20081,10 +20101,10 @@
20081
20101
  }
20082
20102
  ],
20083
20103
  "inputs": {
20084
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314533/tldraw.css": {
20104
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10ba3/tldraw.css": {
20085
20105
  "bytesInOutput": 75223
20086
20106
  },
20087
- "../../../../../../../tmp/tmp-2799-ZYtx9hL3ahhi/191d74314391/index.css": {
20107
+ "../../../../../../../tmp/tmp-2794-9MjVo32PL1Ra/191e53e10281/index.css": {
20088
20108
  "bytesInOutput": 401
20089
20109
  }
20090
20110
  },
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "prebuilt",
11
11
  "roomkit"
12
12
  ],
13
- "version": "0.3.19",
13
+ "version": "0.3.20-alpha.0",
14
14
  "author": "100ms",
15
15
  "license": "MIT",
16
16
  "repository": {
@@ -75,12 +75,12 @@
75
75
  "react": ">=17.0.2 <19.0.0"
76
76
  },
77
77
  "dependencies": {
78
- "@100mslive/hls-player": "0.3.19",
78
+ "@100mslive/hls-player": "0.3.20-alpha.0",
79
79
  "@100mslive/hms-noise-cancellation": "0.0.1",
80
- "@100mslive/hms-virtual-background": "1.13.19",
81
- "@100mslive/hms-whiteboard": "0.0.9",
82
- "@100mslive/react-icons": "0.10.19",
83
- "@100mslive/react-sdk": "0.10.19",
80
+ "@100mslive/hms-virtual-background": "1.13.20-alpha.0",
81
+ "@100mslive/hms-whiteboard": "0.0.10-alpha.0",
82
+ "@100mslive/react-icons": "0.10.20-alpha.0",
83
+ "@100mslive/react-sdk": "0.10.20-alpha.0",
84
84
  "@100mslive/types-prebuilt": "0.12.12",
85
85
  "@emoji-mart/data": "^1.0.6",
86
86
  "@emoji-mart/react": "^1.0.1",
@@ -117,5 +117,5 @@
117
117
  "uuid": "^8.3.2",
118
118
  "worker-timers": "^7.0.40"
119
119
  },
120
- "gitHead": "b1bdfdb1965a14fd6b61e9bb8f9a9c48c556fd37"
120
+ "gitHead": "9292ef206d23ad3743254e046fce98240fa3a134"
121
121
  }
@@ -44,7 +44,7 @@ export const TrackUnmuteModal = () => {
44
44
  <RequestDialog
45
45
  title={`Unmute your ${track.type}?`}
46
46
  onOpenChange={(value: boolean) => !value && setMuteNotification(null)}
47
- body={`${peer?.name}is requesting you to unmute your ${track?.type}.`}
47
+ body={`${peer?.name} is requesting you to unmute your ${track?.type}.`}
48
48
  onAction={() => {
49
49
  hmsActions.setEnabledTrack(track.id, enabled);
50
50
  setMuteNotification(null);
@@ -16,7 +16,6 @@ import { config as cssConfig, useTheme } from '../../Theme';
16
16
  import { Video } from '../../Video';
17
17
  import { StyledVideoTile } from '../../VideoTile';
18
18
  import { LayoutModeSelector } from './LayoutModeSelector';
19
- // @ts-ignore: No implicit Any
20
19
  import { getVideoTileLabel } from './peerTileUtils';
21
20
  import { ScreenshareDisplay } from './ScreenshareDisplay';
22
21
  // @ts-ignore: No implicit Any
@@ -62,7 +61,8 @@ const Tile = ({ peerId, width = '100%', height = '100%' }: { peerId: string; wid
62
61
  const label = getVideoTileLabel({
63
62
  peerName: peer?.name,
64
63
  isLocal: false,
65
- track,
64
+ videoTrack: track,
65
+ audioTrack,
66
66
  });
67
67
 
68
68
  return (
@@ -140,7 +140,6 @@ const MobileSettingModal = ({
140
140
  <Flex
141
141
  direction="column"
142
142
  css={{
143
- px: '$8',
144
143
  pb: '$8',
145
144
  overflowY: 'auto',
146
145
  }}
@@ -159,7 +158,7 @@ const MobileSettingModal = ({
159
158
  css={{
160
159
  all: 'unset',
161
160
  fontFamily: '$sans',
162
- py: '$10',
161
+ p: '$10 $8',
163
162
  display: 'flex',
164
163
  alignItems: 'center',
165
164
  fontSize: '$sm',
@@ -1,6 +1,7 @@
1
1
  import React, { useState } from 'react';
2
2
  import { useMedia } from 'react-use';
3
3
  import {
4
+ HMSAudioTrack,
4
5
  HMSVideoTrack,
5
6
  selectLocalPeerID,
6
7
  selectPeerByID,
@@ -17,6 +18,7 @@ import { Text } from '../../../Text';
17
18
  import { config as cssConfig, useTheme } from '../../../Theme';
18
19
  import { StyledMenuTile } from '../../../TileMenu';
19
20
  import { ChangeNameModal } from '../MoreSettings/ChangeNameModal';
21
+ import { getVideoTileLabel } from '../peerTileUtils';
20
22
  import { RoleChangeModal } from '../RoleChangeModal';
21
23
  import { TileMenuContent } from './TileMenuContent';
22
24
  import { useDropdownList } from '../hooks/useDropdownList';
@@ -52,7 +54,8 @@ const TileMenu = ({
52
54
  const isPrimaryVideoTrack = useHMSStore(selectVideoTrackByPeerID(peerID))?.id === videoTrackID;
53
55
  const showPinAction = !!(audioTrackID || (videoTrackID && isPrimaryVideoTrack));
54
56
 
55
- const track = useHMSStore(selectTrackByID(videoTrackID)) as HMSVideoTrack;
57
+ const track = useHMSStore(selectTrackByID(videoTrackID)) as HMSVideoTrack | null;
58
+ const audioTrack = useHMSStore(selectTrackByID(audioTrackID)) as HMSAudioTrack | null;
56
59
  const hideSimulcastLayers = !track?.layerDefinitions?.length || track.degraded || !track.enabled;
57
60
  const isMobile = useMedia(cssConfig.media.md);
58
61
  const peer = useHMSStore(selectPeerByID(peerID));
@@ -61,20 +64,19 @@ const TileMenu = ({
61
64
  useDropdownList({ open, name: 'TileMenu' });
62
65
  const dragClassName = getDragClassName();
63
66
 
64
- if (!(removeOthers || toggleAudio || toggleVideo || setVolume || showPinAction) && hideSimulcastLayers) {
67
+ if (!peer || (!(removeOthers || toggleAudio || toggleVideo || setVolume || showPinAction) && hideSimulcastLayers)) {
65
68
  return null;
66
69
  }
67
70
 
68
71
  const openNameChangeModal = () => setShowNameChangeModal(true);
69
72
  const openRoleChangeModal = () => setShowRoleChangeModal(true);
70
73
 
71
- const props = {
74
+ const props: React.ComponentPropsWithoutRef<typeof TileMenuContent> = {
72
75
  isLocal,
73
76
  isScreenshare,
74
77
  audioTrackID,
75
78
  videoTrackID,
76
79
  peerID,
77
- isPrimaryVideoTrack,
78
80
  showSpotlight,
79
81
  showPinAction,
80
82
  canMinimise,
@@ -111,8 +113,7 @@ const TileMenu = ({
111
113
  >
112
114
  <Box>
113
115
  <Text css={{ color: '$on_surface_high', fontWeight: '$semiBold' }}>
114
- {peer?.name}
115
- {isLocal ? ` (You)` : null}
116
+ {getVideoTileLabel({ peerName: peer?.name, isLocal, audioTrack, videoTrack: track })}
116
117
  </Text>
117
118
  {peer?.roleName ? (
118
119
  <Text variant="xs" css={{ color: '$on_surface_low', mt: '$2' }}>
@@ -41,7 +41,7 @@ import { useSetAppDataByKey } from '../AppData/useUISettings';
41
41
  // @ts-ignore
42
42
  import { useDropdownSelection } from '../hooks/useDropdownSelection';
43
43
  import { getDragClassName } from './utils';
44
- import { APP_DATA, REMOTE_STOP_SCREENSHARE_TYPE, SESSION_STORE_KEY } from '../../common/constants';
44
+ import { APP_DATA, isIOS, REMOTE_STOP_SCREENSHARE_TYPE, SESSION_STORE_KEY } from '../../common/constants';
45
45
 
46
46
  export const isSameTile = ({
47
47
  trackId,
@@ -317,7 +317,7 @@ export const TileMenuContent = ({
317
317
  </StyledMenuTile.ItemButton>
318
318
  ) : null}
319
319
 
320
- {canChangeRole && roles.length > 1 ? (
320
+ {!isScreenshare && canChangeRole && roles.length > 1 ? (
321
321
  <StyledMenuTile.ItemButton
322
322
  className={dragClassName}
323
323
  css={spacingCSS}
@@ -332,7 +332,7 @@ export const TileMenuContent = ({
332
332
  </StyledMenuTile.ItemButton>
333
333
  ) : null}
334
334
 
335
- {audioTrackID ? (
335
+ {!isIOS && audioTrackID ? (
336
336
  <StyledMenuTile.VolumeItem data-testid="participant_volume_slider" css={{ ...spacingCSS, mb: '$0' }}>
337
337
  <Flex align="center" gap={1}>
338
338
  <SpeakerIcon height={20} width={20} />
@@ -1,5 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import { useMedia } from 'react-use';
3
+ import { selectPeerCount, useHMSStore } from '@100mslive/react-sdk';
3
4
  import { PeopleAddIcon } from '@100mslive/react-icons';
4
5
  import { Flex } from '../../../Layout';
5
6
  import { config as cssConfig } from '../../../Theme';
@@ -17,6 +18,7 @@ export function EqualProminence({ isInsetEnabled = false, peers, onPageChange, o
17
18
  const isMobile = useMedia(cssConfig.media.md);
18
19
  let maxTileCount = useUISettings(UI_SETTINGS.maxTileCount);
19
20
  maxTileCount = isMobile ? Math.min(maxTileCount, 6) : maxTileCount;
21
+ const peerCount = useHMSStore(selectPeerCount);
20
22
  const pageList = usePagesWithTiles({
21
23
  peers,
22
24
  maxTileCount,
@@ -51,8 +53,8 @@ export function EqualProminence({ isInsetEnabled = false, peers, onPageChange, o
51
53
  )}
52
54
  {pageList.length === 0 ? (
53
55
  <WaitingView
54
- title="You're the first to join"
55
- subtitle="Sit back and relax till others join"
56
+ title={peerCount <= 1 ? "You're the only one here" : 'Glad to have you here'}
57
+ subtitle={peerCount <= 1 ? 'Sit back and relax till others join' : ''}
56
58
  icon={<PeopleAddIcon width="56px" height="56px" style={{ color: 'white' }} />}
57
59
  />
58
60
  ) : null}
@@ -20,7 +20,6 @@ import { VideoTileStats } from '../../Stats';
20
20
  import { CSS } from '../../Theme';
21
21
  import { Video } from '../../Video';
22
22
  import { StyledVideoTile } from '../../VideoTile';
23
- // @ts-ignore: No implicit Any
24
23
  import { getVideoTileLabel } from './peerTileUtils';
25
24
  // @ts-ignore: No implicit Any
26
25
  import { useSetAppDataByKey, useUISettings } from './AppData/useUISettings';
@@ -101,8 +100,9 @@ const Tile = ({
101
100
  });
102
101
  const label = getVideoTileLabel({
103
102
  peerName,
104
- track,
105
103
  isLocal,
104
+ videoTrack: track,
105
+ audioTrack,
106
106
  });
107
107
  const onHoverHandler = useCallback((event: React.MouseEvent) => {
108
108
  setIsMouseHovered(event.type === 'mouseenter');
@@ -1,4 +1,8 @@
1
+ import { HMSAudioTrack, HMSVideoTrack } from '@100mslive/react-sdk';
2
+
1
3
  const PEER_NAME_PLACEHOLDER = 'peerName';
4
+
5
+ // Map [isLocal, videoSource] to the label to be displayed.
2
6
  const labelMap = new Map([
3
7
  [[true, 'screen'].toString(), 'Your Screen'],
4
8
  [[true, 'regular'].toString(), `You (${PEER_NAME_PLACEHOLDER})`],
@@ -8,19 +12,30 @@ const labelMap = new Map([
8
12
  [[false, undefined].toString(), `${PEER_NAME_PLACEHOLDER}`],
9
13
  ]);
10
14
 
11
- export const getVideoTileLabel = ({ peerName, isLocal, track }) => {
15
+ export const getVideoTileLabel = ({
16
+ peerName,
17
+ isLocal,
18
+ videoTrack,
19
+ audioTrack,
20
+ }: {
21
+ isLocal: boolean;
22
+ peerName?: string;
23
+ videoTrack?: HMSVideoTrack | null;
24
+ audioTrack?: HMSAudioTrack | null;
25
+ }) => {
12
26
  const isPeerPresent = peerName !== undefined;
13
- if (!isPeerPresent || !track) {
27
+ if (!isPeerPresent || !videoTrack) {
14
28
  // for peers with only audio track
15
- return isPeerPresent ? labelMap.get([isLocal, undefined].toString()).replace(PEER_NAME_PLACEHOLDER, peerName) : '';
29
+ const label = labelMap.get([isLocal, undefined].toString());
30
+ return isPeerPresent && label ? label.replace(PEER_NAME_PLACEHOLDER, peerName) : '';
16
31
  }
17
- const isLocallyMuted = track.volume === 0;
32
+ const isLocallyMuted = audioTrack?.volume === 0;
18
33
  // Map [isLocal, videoSource] to the label to be displayed.
19
- let label = labelMap.get([isLocal, track.source].toString());
34
+ let label = labelMap.get([isLocal, videoTrack.source].toString());
20
35
  if (label) {
21
36
  label = label.replace(PEER_NAME_PLACEHOLDER, peerName);
22
37
  } else {
23
- label = `${peerName} ${track.source}`;
38
+ label = `${peerName} ${videoTrack.source}`;
24
39
  }
25
40
  // label = `${label}${track.degraded ? '(Degraded)' : ''}`;
26
41
  return `${label}${isLocallyMuted ? ' (Muted for you)' : ''}`;