@100mslive/react-native-room-kit 0.0.2 → 0.0.4

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.
Files changed (413) hide show
  1. package/lib/commonjs/HMSInstanceSetup.js +1 -14
  2. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  3. package/lib/commonjs/HMSPrebuilt.js +13 -4
  4. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  5. package/lib/commonjs/HMSRoomSetup.js +38 -14
  6. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  7. package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone.png +0 -0
  8. package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
  9. package/lib/commonjs/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
  10. package/lib/commonjs/Icons/AnswerPhone/index.js +30 -0
  11. package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -0
  12. package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
  13. package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
  14. package/lib/commonjs/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
  15. package/lib/commonjs/Icons/Bluetooth/index.js +30 -0
  16. package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -0
  17. package/lib/commonjs/Icons/Check/assets/check.png +0 -0
  18. package/lib/commonjs/Icons/Check/assets/check@2x.png +0 -0
  19. package/lib/commonjs/Icons/Check/assets/check@3x.png +0 -0
  20. package/lib/commonjs/Icons/Check/index.js +30 -0
  21. package/lib/commonjs/Icons/Check/index.js.map +1 -0
  22. package/lib/commonjs/Icons/GenericLogo/assets/generic-logo.png +0 -0
  23. package/lib/commonjs/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
  24. package/lib/commonjs/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
  25. package/lib/commonjs/Icons/GenericLogo/index.js +30 -0
  26. package/lib/commonjs/Icons/GenericLogo/index.js.map +1 -0
  27. package/lib/commonjs/Icons/Headphones/assets/headphones.png +0 -0
  28. package/lib/commonjs/Icons/Headphones/assets/headphones@2x.png +0 -0
  29. package/lib/commonjs/Icons/Headphones/assets/headphones@3x.png +0 -0
  30. package/lib/commonjs/Icons/Headphones/index.js +30 -0
  31. package/lib/commonjs/Icons/Headphones/index.js.map +1 -0
  32. package/lib/commonjs/Icons/Person/assets/person.png +0 -0
  33. package/lib/commonjs/Icons/Person/assets/person@2x.png +0 -0
  34. package/lib/commonjs/Icons/Person/assets/person@3x.png +0 -0
  35. package/lib/commonjs/Icons/Person/index.js +30 -0
  36. package/lib/commonjs/Icons/Person/index.js.map +1 -0
  37. package/lib/commonjs/Icons/Radio/assets/radio.png +0 -0
  38. package/lib/commonjs/Icons/Radio/assets/radio@2x.png +0 -0
  39. package/lib/commonjs/Icons/Radio/assets/radio@3x.png +0 -0
  40. package/lib/commonjs/Icons/Radio/index.js +30 -0
  41. package/lib/commonjs/Icons/Radio/index.js.map +1 -0
  42. package/lib/commonjs/Icons/Speaker/assets/speaker-large.png +0 -0
  43. package/lib/commonjs/Icons/Speaker/assets/speaker-large@2x.png +0 -0
  44. package/lib/commonjs/Icons/Speaker/assets/speaker-large@3x.png +0 -0
  45. package/lib/commonjs/Icons/Speaker/index.js +7 -2
  46. package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
  47. package/lib/commonjs/Icons/Wave/assets/wave.png +0 -0
  48. package/lib/commonjs/Icons/Wave/assets/wave@2x.png +0 -0
  49. package/lib/commonjs/Icons/Wave/assets/wave@3x.png +0 -0
  50. package/lib/commonjs/Icons/Wave/index.js +30 -0
  51. package/lib/commonjs/Icons/Wave/index.js.map +1 -0
  52. package/lib/commonjs/Icons/index.js +88 -0
  53. package/lib/commonjs/Icons/index.js.map +1 -1
  54. package/lib/commonjs/components/BackButton.js +3 -3
  55. package/lib/commonjs/components/BackButton.js.map +1 -1
  56. package/lib/commonjs/components/DisplayView.js +0 -6
  57. package/lib/commonjs/components/DisplayView.js.map +1 -1
  58. package/lib/commonjs/components/HMSHLSStreamLoading.js +56 -0
  59. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -0
  60. package/lib/commonjs/components/HMSLocalVideoView.js +41 -0
  61. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -0
  62. package/lib/commonjs/components/{HMSPreviewDeviceSettings.js → HMSManageAudioOutput.js} +97 -161
  63. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -0
  64. package/lib/commonjs/components/HMSManageLeave.js +7 -60
  65. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  66. package/lib/commonjs/components/HMSMeetingEnded.js +36 -0
  67. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -0
  68. package/lib/commonjs/components/HMSPreviewEditName.js +7 -4
  69. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  70. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +64 -0
  71. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
  72. package/lib/commonjs/components/HMSPreviewJoinButton.js +25 -6
  73. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  74. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +43 -0
  75. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -0
  76. package/lib/commonjs/components/HMSPreviewPeersList.js +4 -50
  77. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  78. package/lib/commonjs/components/HMSPreviewSubtitle.js +26 -3
  79. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  80. package/lib/commonjs/components/HMSPreviewTile.js +11 -77
  81. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  82. package/lib/commonjs/components/HMSPreviewTitle.js +0 -1
  83. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  84. package/lib/commonjs/components/HMSRoomOptions.js +2 -3
  85. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  86. package/lib/commonjs/components/HMSShowNetworkQuality.js +0 -2
  87. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
  88. package/lib/commonjs/components/Meeting.js +7 -0
  89. package/lib/commonjs/components/Meeting.js.map +1 -1
  90. package/lib/commonjs/components/MenuModal/Menu.js +1 -2
  91. package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
  92. package/lib/commonjs/components/Modals.js +39 -299
  93. package/lib/commonjs/components/Modals.js.map +1 -1
  94. package/lib/commonjs/components/Participants/ParticipantsList.js +1 -20
  95. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  96. package/lib/commonjs/components/PeerSettingsModalContent.js +2 -13
  97. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  98. package/lib/commonjs/components/Preview.js +87 -28
  99. package/lib/commonjs/components/Preview.js.map +1 -1
  100. package/lib/commonjs/components/RoomSettingsModalContent.js +2 -101
  101. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  102. package/lib/commonjs/components/index.js +0 -11
  103. package/lib/commonjs/components/index.js.map +1 -1
  104. package/lib/commonjs/hooks/useHmsInstance.js +0 -1
  105. package/lib/commonjs/hooks/useHmsInstance.js.map +1 -1
  106. package/lib/commonjs/hooks-util-selectors.js +8 -1
  107. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  108. package/lib/commonjs/hooks-util.js +140 -82
  109. package/lib/commonjs/hooks-util.js.map +1 -1
  110. package/lib/commonjs/redux/actionTypes.js +7 -1
  111. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  112. package/lib/commonjs/redux/actions/index.js +25 -1
  113. package/lib/commonjs/redux/actions/index.js.map +1 -1
  114. package/lib/commonjs/redux/reducers/appState.js +14 -1
  115. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  116. package/lib/commonjs/redux/reducers/hmsStates.js +12 -1
  117. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  118. package/lib/commonjs/utils/theme.js +6 -1
  119. package/lib/commonjs/utils/theme.js.map +1 -1
  120. package/lib/commonjs/utils/types.js +0 -1
  121. package/lib/commonjs/utils/types.js.map +1 -1
  122. package/lib/commonjs/utils.js +2 -2
  123. package/lib/commonjs/utils.js.map +1 -1
  124. package/lib/module/HMSInstanceSetup.js +1 -14
  125. package/lib/module/HMSInstanceSetup.js.map +1 -1
  126. package/lib/module/HMSPrebuilt.js +13 -3
  127. package/lib/module/HMSPrebuilt.js.map +1 -1
  128. package/lib/module/HMSRoomSetup.js +43 -19
  129. package/lib/module/HMSRoomSetup.js.map +1 -1
  130. package/lib/module/Icons/AnswerPhone/assets/answer-phone.png +0 -0
  131. package/lib/module/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
  132. package/lib/module/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
  133. package/lib/module/Icons/AnswerPhone/index.js +22 -0
  134. package/lib/module/Icons/AnswerPhone/index.js.map +1 -0
  135. package/lib/module/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
  136. package/lib/module/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
  137. package/lib/module/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
  138. package/lib/module/Icons/Bluetooth/index.js +22 -0
  139. package/lib/module/Icons/Bluetooth/index.js.map +1 -0
  140. package/lib/module/Icons/Check/assets/check.png +0 -0
  141. package/lib/module/Icons/Check/assets/check@2x.png +0 -0
  142. package/lib/module/Icons/Check/assets/check@3x.png +0 -0
  143. package/lib/module/Icons/Check/index.js +22 -0
  144. package/lib/module/Icons/Check/index.js.map +1 -0
  145. package/lib/module/Icons/GenericLogo/assets/generic-logo.png +0 -0
  146. package/lib/module/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
  147. package/lib/module/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
  148. package/lib/module/Icons/GenericLogo/index.js +22 -0
  149. package/lib/module/Icons/GenericLogo/index.js.map +1 -0
  150. package/lib/module/Icons/Headphones/assets/headphones.png +0 -0
  151. package/lib/module/Icons/Headphones/assets/headphones@2x.png +0 -0
  152. package/lib/module/Icons/Headphones/assets/headphones@3x.png +0 -0
  153. package/lib/module/Icons/Headphones/index.js +22 -0
  154. package/lib/module/Icons/Headphones/index.js.map +1 -0
  155. package/lib/module/Icons/Person/assets/person.png +0 -0
  156. package/lib/module/Icons/Person/assets/person@2x.png +0 -0
  157. package/lib/module/Icons/Person/assets/person@3x.png +0 -0
  158. package/lib/module/Icons/Person/index.js +22 -0
  159. package/lib/module/Icons/Person/index.js.map +1 -0
  160. package/lib/module/Icons/Radio/assets/radio.png +0 -0
  161. package/lib/module/Icons/Radio/assets/radio@2x.png +0 -0
  162. package/lib/module/Icons/Radio/assets/radio@3x.png +0 -0
  163. package/lib/module/Icons/Radio/index.js +22 -0
  164. package/lib/module/Icons/Radio/index.js.map +1 -0
  165. package/lib/module/Icons/Speaker/assets/speaker-large.png +0 -0
  166. package/lib/module/Icons/Speaker/assets/speaker-large@2x.png +0 -0
  167. package/lib/module/Icons/Speaker/assets/speaker-large@3x.png +0 -0
  168. package/lib/module/Icons/Speaker/index.js +7 -2
  169. package/lib/module/Icons/Speaker/index.js.map +1 -1
  170. package/lib/module/Icons/Wave/assets/wave.png +0 -0
  171. package/lib/module/Icons/Wave/assets/wave@2x.png +0 -0
  172. package/lib/module/Icons/Wave/assets/wave@3x.png +0 -0
  173. package/lib/module/Icons/Wave/index.js +22 -0
  174. package/lib/module/Icons/Wave/index.js.map +1 -0
  175. package/lib/module/Icons/index.js +8 -0
  176. package/lib/module/Icons/index.js.map +1 -1
  177. package/lib/module/components/BackButton.js +4 -4
  178. package/lib/module/components/BackButton.js.map +1 -1
  179. package/lib/module/components/DisplayView.js +1 -7
  180. package/lib/module/components/DisplayView.js.map +1 -1
  181. package/lib/module/components/HMSHLSStreamLoading.js +47 -0
  182. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -0
  183. package/lib/module/components/HMSLocalVideoView.js +32 -0
  184. package/lib/module/components/HMSLocalVideoView.js.map +1 -0
  185. package/lib/module/components/HMSManageAudioOutput.js +232 -0
  186. package/lib/module/components/HMSManageAudioOutput.js.map +1 -0
  187. package/lib/module/components/HMSManageLeave.js +9 -62
  188. package/lib/module/components/HMSManageLeave.js.map +1 -1
  189. package/lib/module/components/HMSMeetingEnded.js +27 -0
  190. package/lib/module/components/HMSMeetingEnded.js.map +1 -0
  191. package/lib/module/components/HMSPreviewEditName.js +8 -5
  192. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  193. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +55 -0
  194. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
  195. package/lib/module/components/HMSPreviewJoinButton.js +25 -6
  196. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  197. package/lib/module/components/HMSPreviewNetworkQuality.js +34 -0
  198. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -0
  199. package/lib/module/components/HMSPreviewPeersList.js +4 -50
  200. package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
  201. package/lib/module/components/HMSPreviewSubtitle.js +26 -3
  202. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  203. package/lib/module/components/HMSPreviewTile.js +12 -78
  204. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  205. package/lib/module/components/HMSPreviewTitle.js +0 -1
  206. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  207. package/lib/module/components/HMSRoomOptions.js +2 -3
  208. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  209. package/lib/module/components/HMSShowNetworkQuality.js +0 -2
  210. package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
  211. package/lib/module/components/Meeting.js +7 -0
  212. package/lib/module/components/Meeting.js.map +1 -1
  213. package/lib/module/components/MenuModal/Menu.js +1 -2
  214. package/lib/module/components/MenuModal/Menu.js.map +1 -1
  215. package/lib/module/components/Modals.js +40 -298
  216. package/lib/module/components/Modals.js.map +1 -1
  217. package/lib/module/components/Participants/ParticipantsList.js +1 -20
  218. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  219. package/lib/module/components/PeerSettingsModalContent.js +2 -13
  220. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  221. package/lib/module/components/Preview.js +88 -30
  222. package/lib/module/components/Preview.js.map +1 -1
  223. package/lib/module/components/RoomSettingsModalContent.js +3 -100
  224. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  225. package/lib/module/components/index.js +0 -1
  226. package/lib/module/components/index.js.map +1 -1
  227. package/lib/module/hooks/useHmsInstance.js +0 -1
  228. package/lib/module/hooks/useHmsInstance.js.map +1 -1
  229. package/lib/module/hooks-util-selectors.js +6 -0
  230. package/lib/module/hooks-util-selectors.js.map +1 -1
  231. package/lib/module/hooks-util.js +142 -86
  232. package/lib/module/hooks-util.js.map +1 -1
  233. package/lib/module/redux/actionTypes.js +7 -1
  234. package/lib/module/redux/actionTypes.js.map +1 -1
  235. package/lib/module/redux/actions/index.js +20 -0
  236. package/lib/module/redux/actions/index.js.map +1 -1
  237. package/lib/module/redux/reducers/appState.js +14 -1
  238. package/lib/module/redux/reducers/appState.js.map +1 -1
  239. package/lib/module/redux/reducers/hmsStates.js +12 -1
  240. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  241. package/lib/module/utils/theme.js +6 -1
  242. package/lib/module/utils/theme.js.map +1 -1
  243. package/lib/module/utils/types.js +0 -1
  244. package/lib/module/utils/types.js.map +1 -1
  245. package/lib/module/utils.js +2 -2
  246. package/lib/module/utils.js.map +1 -1
  247. package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
  248. package/lib/typescript/HMSPrebuilt.d.ts +2 -3
  249. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  250. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  251. package/lib/typescript/Icons/AnswerPhone/index.d.ts +7 -0
  252. package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -0
  253. package/lib/typescript/Icons/Bluetooth/index.d.ts +7 -0
  254. package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -0
  255. package/lib/typescript/Icons/Check/index.d.ts +7 -0
  256. package/lib/typescript/Icons/Check/index.d.ts.map +1 -0
  257. package/lib/typescript/Icons/GenericLogo/index.d.ts +7 -0
  258. package/lib/typescript/Icons/GenericLogo/index.d.ts.map +1 -0
  259. package/lib/typescript/Icons/Headphones/index.d.ts +7 -0
  260. package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -0
  261. package/lib/typescript/Icons/Person/index.d.ts +7 -0
  262. package/lib/typescript/Icons/Person/index.d.ts.map +1 -0
  263. package/lib/typescript/Icons/Radio/index.d.ts +7 -0
  264. package/lib/typescript/Icons/Radio/index.d.ts.map +1 -0
  265. package/lib/typescript/Icons/Speaker/index.d.ts +1 -0
  266. package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
  267. package/lib/typescript/Icons/Wave/index.d.ts +7 -0
  268. package/lib/typescript/Icons/Wave/index.d.ts.map +1 -0
  269. package/lib/typescript/Icons/index.d.ts +8 -0
  270. package/lib/typescript/Icons/index.d.ts.map +1 -1
  271. package/lib/typescript/components/CustomInput.d.ts +1 -1
  272. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  273. package/lib/typescript/components/HMSHLSStreamLoading.d.ts +3 -0
  274. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -0
  275. package/lib/typescript/components/HMSLocalVideoView.d.ts +3 -0
  276. package/lib/typescript/components/HMSLocalVideoView.d.ts.map +1 -0
  277. package/lib/typescript/components/HMSManageAudioOutput.d.ts +3 -0
  278. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -0
  279. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  280. package/lib/typescript/components/HMSMeetingEnded.d.ts +3 -0
  281. package/lib/typescript/components/HMSMeetingEnded.d.ts.map +1 -0
  282. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts +3 -0
  283. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -0
  284. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  285. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts +3 -0
  286. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -0
  287. package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
  288. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  289. package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
  290. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  291. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
  292. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  293. package/lib/typescript/components/MenuModal/Menu.d.ts.map +1 -1
  294. package/lib/typescript/components/Modals.d.ts +1 -9
  295. package/lib/typescript/components/Modals.d.ts.map +1 -1
  296. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
  297. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  298. package/lib/typescript/components/Preview.d.ts.map +1 -1
  299. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  300. package/lib/typescript/components/index.d.ts +0 -1
  301. package/lib/typescript/components/index.d.ts.map +1 -1
  302. package/lib/typescript/hooks-util-selectors.d.ts +2 -0
  303. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  304. package/lib/typescript/hooks-util.d.ts +9 -2
  305. package/lib/typescript/hooks-util.d.ts.map +1 -1
  306. package/lib/typescript/redux/actionTypes.d.ts +5 -1
  307. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  308. package/lib/typescript/redux/actions/index.d.ts +24 -3
  309. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  310. package/lib/typescript/redux/index.d.ts +4 -1
  311. package/lib/typescript/redux/index.d.ts.map +1 -1
  312. package/lib/typescript/redux/reducers/appState.d.ts +3 -0
  313. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  314. package/lib/typescript/redux/reducers/hmsStates.d.ts +11 -2
  315. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  316. package/lib/typescript/redux/reducers/index.d.ts +4 -1
  317. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  318. package/lib/typescript/redux/reducers/userState.d.ts +2 -2
  319. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  320. package/lib/typescript/utils/theme.d.ts +5 -0
  321. package/lib/typescript/utils/theme.d.ts.map +1 -1
  322. package/lib/typescript/utils/types.d.ts +3 -4
  323. package/lib/typescript/utils/types.d.ts.map +1 -1
  324. package/package.json +11 -17
  325. package/src/HMSInstanceSetup.tsx +4 -31
  326. package/src/HMSPrebuilt.tsx +24 -6
  327. package/src/HMSRoomSetup.tsx +55 -17
  328. package/src/Icons/AnswerPhone/assets/answer-phone.png +0 -0
  329. package/src/Icons/AnswerPhone/assets/answer-phone@2x.png +0 -0
  330. package/src/Icons/AnswerPhone/assets/answer-phone@3x.png +0 -0
  331. package/src/Icons/AnswerPhone/index.tsx +27 -0
  332. package/src/Icons/Bluetooth/assets/bluetooth-on.png +0 -0
  333. package/src/Icons/Bluetooth/assets/bluetooth-on@2x.png +0 -0
  334. package/src/Icons/Bluetooth/assets/bluetooth-on@3x.png +0 -0
  335. package/src/Icons/Bluetooth/index.tsx +27 -0
  336. package/src/Icons/Check/assets/check.png +0 -0
  337. package/src/Icons/Check/assets/check@2x.png +0 -0
  338. package/src/Icons/Check/assets/check@3x.png +0 -0
  339. package/src/Icons/Check/index.tsx +27 -0
  340. package/src/Icons/GenericLogo/assets/generic-logo.png +0 -0
  341. package/src/Icons/GenericLogo/assets/generic-logo@2x.png +0 -0
  342. package/src/Icons/GenericLogo/assets/generic-logo@3x.png +0 -0
  343. package/src/Icons/GenericLogo/index.tsx +27 -0
  344. package/src/Icons/Headphones/assets/headphones.png +0 -0
  345. package/src/Icons/Headphones/assets/headphones@2x.png +0 -0
  346. package/src/Icons/Headphones/assets/headphones@3x.png +0 -0
  347. package/src/Icons/Headphones/index.tsx +27 -0
  348. package/src/Icons/Person/assets/person.png +0 -0
  349. package/src/Icons/Person/assets/person@2x.png +0 -0
  350. package/src/Icons/Person/assets/person@3x.png +0 -0
  351. package/src/Icons/Person/index.tsx +27 -0
  352. package/src/Icons/Radio/assets/radio.png +0 -0
  353. package/src/Icons/Radio/assets/radio@2x.png +0 -0
  354. package/src/Icons/Radio/assets/radio@3x.png +0 -0
  355. package/src/Icons/Radio/index.tsx +27 -0
  356. package/src/Icons/Speaker/assets/speaker-large.png +0 -0
  357. package/src/Icons/Speaker/assets/speaker-large@2x.png +0 -0
  358. package/src/Icons/Speaker/assets/speaker-large@3x.png +0 -0
  359. package/src/Icons/Speaker/index.tsx +10 -2
  360. package/src/Icons/Wave/assets/wave.png +0 -0
  361. package/src/Icons/Wave/assets/wave@2x.png +0 -0
  362. package/src/Icons/Wave/assets/wave@3x.png +0 -0
  363. package/src/Icons/Wave/index.tsx +24 -0
  364. package/src/Icons/index.ts +8 -0
  365. package/src/components/BackButton.tsx +4 -4
  366. package/src/components/DisplayView.tsx +0 -10
  367. package/src/components/HMSHLSStreamLoading.tsx +57 -0
  368. package/src/components/HMSLocalVideoView.tsx +42 -0
  369. package/src/components/HMSManageAudioOutput.tsx +311 -0
  370. package/src/components/HMSManageLeave.tsx +6 -77
  371. package/src/components/HMSMeetingEnded.tsx +29 -0
  372. package/src/components/HMSPreviewEditName.tsx +6 -5
  373. package/src/components/HMSPreviewHLSLiveIndicator.tsx +58 -0
  374. package/src/components/HMSPreviewJoinButton.tsx +44 -4
  375. package/src/components/HMSPreviewNetworkQuality.tsx +40 -0
  376. package/src/components/HMSPreviewPeersList.tsx +12 -72
  377. package/src/components/HMSPreviewSubtitle.tsx +27 -3
  378. package/src/components/HMSPreviewTile.tsx +13 -91
  379. package/src/components/HMSPreviewTitle.tsx +0 -1
  380. package/src/components/HMSRoomOptions.tsx +2 -8
  381. package/src/components/HMSShowNetworkQuality.tsx +0 -1
  382. package/src/components/Meeting.tsx +11 -0
  383. package/src/components/MenuModal/Menu.tsx +1 -1
  384. package/src/components/Modals.tsx +4 -299
  385. package/src/components/Participants/ParticipantsList.tsx +0 -24
  386. package/src/components/PeerSettingsModalContent.tsx +9 -23
  387. package/src/components/Preview.tsx +131 -48
  388. package/src/components/RoomSettingsModalContent.tsx +1 -138
  389. package/src/components/index.ts +0 -1
  390. package/src/hooks/useHmsInstance.ts +0 -1
  391. package/src/hooks-util-selectors.tsx +10 -0
  392. package/src/hooks-util.ts +168 -89
  393. package/src/redux/actionTypes.ts +8 -0
  394. package/src/redux/actions/index.ts +23 -2
  395. package/src/redux/reducers/appState.ts +9 -0
  396. package/src/redux/reducers/hmsStates.ts +28 -1
  397. package/src/redux/reducers/userState.ts +2 -2
  398. package/src/utils/theme.ts +6 -1
  399. package/src/utils/types.ts +3 -4
  400. package/src/utils.ts +2 -2
  401. package/lib/commonjs/components/HMSPreviewDeviceSettings.js.map +0 -1
  402. package/lib/commonjs/components/ZoomableView.js +0 -84
  403. package/lib/commonjs/components/ZoomableView.js.map +0 -1
  404. package/lib/module/components/HMSPreviewDeviceSettings.js +0 -296
  405. package/lib/module/components/HMSPreviewDeviceSettings.js.map +0 -1
  406. package/lib/module/components/ZoomableView.js +0 -76
  407. package/lib/module/components/ZoomableView.js.map +0 -1
  408. package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts +0 -3
  409. package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts.map +0 -1
  410. package/lib/typescript/components/ZoomableView.d.ts +0 -6
  411. package/lib/typescript/components/ZoomableView.d.ts.map +0 -1
  412. package/src/components/HMSPreviewDeviceSettings.tsx +0 -387
  413. package/src/components/ZoomableView.tsx +0 -91
@@ -5,12 +5,21 @@ import {
5
5
  HMSUpdateListenerActions,
6
6
  } from '@100mslive/react-native-hms';
7
7
  import React, { useCallback, useEffect, useRef, useState } from 'react';
8
- import { Alert, Platform, StatusBar, StyleSheet, View } from 'react-native';
8
+ import {
9
+ Alert,
10
+ Keyboard,
11
+ Platform,
12
+ StatusBar,
13
+ StyleSheet,
14
+ View,
15
+ } from 'react-native';
9
16
  import Toast from 'react-native-simple-toast';
10
- import { batch, useDispatch } from 'react-redux';
17
+ import { batch, useDispatch, useSelector, useStore } from 'react-redux';
11
18
 
12
19
  import { Preview } from './components';
13
20
  import {
21
+ changeMeetingState,
22
+ changeStartingHLSStream,
14
23
  clearStore,
15
24
  setHMSLocalPeerState,
16
25
  setHMSRoomState,
@@ -23,6 +32,7 @@ import {
23
32
  useHMSInstance,
24
33
  useHMSListeners,
25
34
  useHMSSessionStore,
35
+ useLeaveMethods,
26
36
  } from './hooks-util';
27
37
  import {
28
38
  peerTrackNodeExistForPeerAndTrack,
@@ -34,7 +44,9 @@ import { MeetingState } from './types';
34
44
  import { getJoinConfig } from './utils';
35
45
  import { COLORS } from './utils/theme';
36
46
  import { FullScreenIndicator } from './components/FullScreenIndicator';
37
- import { selectIsHLSViewer } from './hooks-util-selectors';
47
+ import { HMSMeetingEnded } from './components/HMSMeetingEnded';
48
+ import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
49
+ import type { RootState } from './redux';
38
50
 
39
51
  type PreviewData = {
40
52
  room: HMSRoom;
@@ -42,19 +54,23 @@ type PreviewData = {
42
54
  };
43
55
 
44
56
  export const HMSRoomSetup = () => {
45
- console.log('### Inside HMSRoomSetup');
57
+ const ignoreHLSStreamPromise = useRef(false);
46
58
  const didInitMeetingAction = useRef(false);
47
59
  const hmsInstance = useHMSInstance();
48
60
  const dispatch = useDispatch();
49
- console.log('### after dispatch');
61
+ const reduxStore = useStore();
50
62
 
51
63
  const { getConfig, clearConfig } = useHMSConfig();
52
- const [meetingState, setMeetingState] = useState(MeetingState.NOT_JOINED);
64
+ const meetingState = useSelector(
65
+ (state: RootState) => state.app.meetingState
66
+ );
53
67
  const [peerTrackNodes, setPeerTrackNodes] = useState<PeerTrackNode[]>([]);
54
68
  const [loading, setLoading] = useState(false);
69
+ const { goToPreview } = useLeaveMethods();
55
70
 
56
71
  const joinMeeting = useCallback(async () => {
57
72
  setLoading(true);
73
+ Keyboard.dismiss();
58
74
  const hmsConfig = await getConfig();
59
75
  // TODO: handle case when promise returned from `getConfig()` is resolved when Root component has been unmounted
60
76
  hmsInstance.join(hmsConfig);
@@ -67,8 +83,22 @@ export const HMSRoomSetup = () => {
67
83
  hmsInstance.preview(hmsConfig);
68
84
  }, [getConfig, hmsInstance]);
69
85
 
86
+ const startHLSStreaming = useCallback(async () => {
87
+ dispatch(changeStartingHLSStream(true));
88
+ try {
89
+ const d = await hmsInstance.startHLSStreaming();
90
+ console.log('Start HLS Streaming Success: ', d);
91
+ } catch (e) {
92
+ console.log('Start HLS Streaming Error: ', e);
93
+ if (!ignoreHLSStreamPromise.current) {
94
+ console.log('Unable to go live at the moment: ', e);
95
+ goToPreview();
96
+ }
97
+ }
98
+ }, [goToPreview, hmsInstance]);
99
+
70
100
  // HMS Room, Peers, Track Listeners
71
- useHMSListeners(setPeerTrackNodes, setMeetingState);
101
+ useHMSListeners(setPeerTrackNodes);
72
102
 
73
103
  /**
74
104
  * Session store is a shared realtime key-value store that is accessible by everyone in the room.
@@ -126,24 +156,20 @@ export const HMSRoomSetup = () => {
126
156
  // HMS Preview Listener
127
157
  useEffect(() => {
128
158
  const onPreviewHandler = (data: PreviewData) => {
129
- console.log('ON_PREVIEW called');
159
+ setLoading(false);
130
160
  batch(() => {
131
161
  dispatch(setHMSRoomState(data.room));
132
162
  dispatch(setHMSLocalPeerState(data.room.localPeer));
163
+ dispatch(changeMeetingState(MeetingState.IN_PREVIEW));
133
164
  });
134
-
135
- setLoading(false);
136
- setMeetingState(MeetingState.IN_PREVIEW);
137
165
  };
138
166
 
139
- console.log('HMSUpdateListenerActions.ON_PREVIEW registered');
140
167
  hmsInstance.addEventListener(
141
168
  HMSUpdateListenerActions.ON_PREVIEW,
142
169
  onPreviewHandler
143
170
  );
144
171
 
145
172
  return () => {
146
- console.log('HMSUpdateListenerActions.ON_PREVIEW removed');
147
173
  hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_PREVIEW);
148
174
  };
149
175
  }, [hmsInstance]);
@@ -186,7 +212,12 @@ export const HMSRoomSetup = () => {
186
212
  return [hmsLocalPeer, ...prevPeerTrackNodes];
187
213
  });
188
214
 
189
- setMeetingState(MeetingState.IN_MEETING);
215
+ const shouldGoLive = selectShouldGoLive(reduxStore.getState());
216
+
217
+ if (shouldGoLive) {
218
+ startHLSStreaming();
219
+ }
220
+ dispatch(changeMeetingState(MeetingState.IN_MEETING));
190
221
  };
191
222
 
192
223
  hmsInstance.addEventListener(
@@ -197,10 +228,13 @@ export const HMSRoomSetup = () => {
197
228
  return () => {
198
229
  hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_JOIN);
199
230
  };
200
- }, [hmsInstance]);
231
+ }, [startHLSStreaming, hmsInstance]);
232
+
233
+ const meetingEnded = meetingState === MeetingState.MEETING_ENDED;
201
234
 
235
+ // Handling Automatically calling Preview or Join API
202
236
  useEffect(() => {
203
- if (!didInitMeetingAction.current) {
237
+ if (!meetingEnded && !didInitMeetingAction.current) {
204
238
  didInitMeetingAction.current = true;
205
239
 
206
240
  // let ignore = false;
@@ -227,10 +261,12 @@ export const HMSRoomSetup = () => {
227
261
  // ignore = true;
228
262
  };
229
263
  }
230
- }, []);
264
+ }, [meetingEnded]);
231
265
 
232
266
  useEffect(() => {
233
267
  return () => {
268
+ ignoreHLSStreamPromise.current = true;
269
+
234
270
  // TODOS:
235
271
  // - Check If we have already left meeting, or destroyed native HMSSDK
236
272
  // - No need to reset redux state?
@@ -264,6 +300,8 @@ export const HMSRoomSetup = () => {
264
300
  <Preview join={joinMeeting} loadingButtonState={loading} />
265
301
  ) : meetingState === MeetingState.IN_MEETING ? (
266
302
  <Meeting peerTrackNodes={peerTrackNodes} />
303
+ ) : meetingState === MeetingState.MEETING_ENDED ? (
304
+ <HMSMeetingEnded />
267
305
  ) : loading ? (
268
306
  <FullScreenIndicator />
269
307
  ) : (
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface AnswerPhoneIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const AnswerPhoneIcon: React.FC<AnswerPhoneIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/answer-phone.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface BluetoothIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const BluetoothIcon: React.FC<BluetoothIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/bluetooth-on.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
Binary file
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface CheckIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const CheckIcon: React.FC<CheckIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/check.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface GenericLogoIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const GenericLogoIcon: React.FC<GenericLogoIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/generic-logo.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 30,
23
+ height: 30,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface HeadphonesIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const HeadphonesIcon: React.FC<HeadphonesIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/headphones.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface PersonIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const PersonIcon: React.FC<PersonIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/person.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
Binary file
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface RadioIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const RadioIcon: React.FC<RadioIconProps> = ({
8
+ style,
9
+ ...restProps
10
+ }) => {
11
+ return (
12
+ <Image
13
+ source={require('./assets/radio.png')}
14
+ style={[styles.icon, style]}
15
+ {...restProps}
16
+ />
17
+ );
18
+ };
19
+
20
+ const styles = StyleSheet.create({
21
+ icon: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ },
27
+ });
@@ -4,9 +4,11 @@ import type { ImageProps } from 'react-native';
4
4
 
5
5
  interface SpeakerIconProps extends Omit<ImageProps, 'source'> {
6
6
  muted: boolean;
7
+ size?: 'normal' | 'large';
7
8
  }
8
9
 
9
10
  export const SpeakerIcon: React.FC<SpeakerIconProps> = ({
11
+ size = 'normal',
10
12
  muted,
11
13
  style,
12
14
  ...restProps
@@ -16,9 +18,11 @@ export const SpeakerIcon: React.FC<SpeakerIconProps> = ({
16
18
  source={
17
19
  muted
18
20
  ? require('./assets/speaker-muted.png')
19
- : require('./assets/speaker.png')
21
+ : size === 'normal'
22
+ ? require('./assets/speaker.png')
23
+ : require('./assets/speaker-large.png')
20
24
  }
21
- style={[styles.icon, style]}
25
+ style={[styles.icon, style, size === 'large' ? styles.large : null]}
22
26
  {...restProps}
23
27
  />
24
28
  );
@@ -31,4 +35,8 @@ const styles = StyleSheet.create({
31
35
  alignItems: 'center',
32
36
  justifyContent: 'center',
33
37
  },
38
+ large: {
39
+ width: 32,
40
+ height: 32,
41
+ },
34
42
  });
Binary file
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Image, StyleSheet } from 'react-native';
3
+ import type { ImageProps } from 'react-native';
4
+
5
+ interface WaveIconProps extends Omit<ImageProps, 'source'> {}
6
+
7
+ export const WaveIcon: React.FC<WaveIconProps> = ({ style, ...restProps }) => {
8
+ return (
9
+ <Image
10
+ source={require('./assets/wave.png')}
11
+ style={[styles.icon, style]}
12
+ {...restProps}
13
+ />
14
+ );
15
+ };
16
+
17
+ const styles = StyleSheet.create({
18
+ icon: {
19
+ width: 24,
20
+ height: 24,
21
+ alignItems: 'center',
22
+ justifyContent: 'center',
23
+ },
24
+ });
@@ -17,3 +17,11 @@ export * from './Clock';
17
17
  export * from './End';
18
18
  export * from './100ms';
19
19
  export * from './Hand';
20
+ export * from './Person';
21
+ export * from './AnswerPhone';
22
+ export * from './Bluetooth';
23
+ export * from './Headphones';
24
+ export * from './Wave';
25
+ export * from './GenericLogo';
26
+ export * from './Radio';
27
+ export * from './Check';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { StyleSheet } from 'react-native';
3
- import { useNavigation } from '@react-navigation/native';
3
+ import { NavigationContext } from '@react-navigation/native';
4
4
 
5
5
  import { COLORS } from '../utils/theme';
6
6
  import { PressableIcon } from './PressableIcon';
@@ -9,9 +9,9 @@ import { ChevronIcon } from '../Icons';
9
9
  export interface BackButtonProps {}
10
10
 
11
11
  export const BackButton: React.FC<BackButtonProps> = () => {
12
- const navigation = useNavigation();
12
+ const navigation = React.useContext(NavigationContext);
13
13
 
14
- if (!navigation.canGoBack()) {
14
+ if (!navigation || !navigation.canGoBack()) {
15
15
  return null;
16
16
  }
17
17
 
@@ -36,7 +36,7 @@ export const BackButton: React.FC<BackButtonProps> = () => {
36
36
  const styles = StyleSheet.create({
37
37
  button: {
38
38
  marginTop: 16,
39
- marginLeft: 8,
39
+ marginLeft: 16,
40
40
  backgroundColor: COLORS.SURFACE.DEFAULT,
41
41
  },
42
42
  });
@@ -19,7 +19,6 @@ import {
19
19
  ChangeRoleAccepteModal,
20
20
  ChangeRoleModal,
21
21
  ChangeTrackStateModal,
22
- ChangeVolumeModal,
23
22
  SaveScreenshot,
24
23
  } from './Modals';
25
24
  import type { RootState } from '../redux';
@@ -289,15 +288,6 @@ export const DisplayView: React.FC<DisplayViewProps> = ({
289
288
  cancelModal={() => setModalVisible(ModalTypes.DEFAULT)}
290
289
  />
291
290
  </DefaultModal>
292
- <DefaultModal
293
- modalPosiion="center"
294
- modalVisible={modalVisible === ModalTypes.VOLUME}
295
- setModalVisible={() => setModalVisible(ModalTypes.DEFAULT)}
296
- >
297
- <ChangeVolumeModal
298
- cancelModal={() => setModalVisible(ModalTypes.DEFAULT)}
299
- />
300
- </DefaultModal>
301
291
  <DefaultModal
302
292
  modalPosiion="center"
303
293
  modalVisible={modalVisible === ModalTypes.CHANGE_NAME}
@@ -0,0 +1,57 @@
1
+ import * as React from 'react';
2
+ import { View, ActivityIndicator, Text, StyleSheet } from 'react-native';
3
+ import { useSelector } from 'react-redux';
4
+
5
+ import { COLORS } from '../utils/theme';
6
+ import type { RootState } from '../redux';
7
+ import { HMSLocalVideoView } from './HMSLocalVideoView';
8
+
9
+ export const HMSHLSStreamLoading = () => {
10
+ const isLocalVideoMuted = useSelector(
11
+ (state: RootState) => state.hmsStates.isLocalVideoMuted
12
+ );
13
+
14
+ return (
15
+ <View style={styles.container}>
16
+ {isLocalVideoMuted ? null : <HMSLocalVideoView />}
17
+
18
+ <View style={styles.hlsLoaderContainer}>
19
+ <ActivityIndicator
20
+ style={styles.hlsLoader}
21
+ size={'large'}
22
+ color={COLORS.PRIMARY.DEFAULT}
23
+ />
24
+
25
+ <Text style={styles.hlsLoaderText}>Starting live stream...</Text>
26
+ </View>
27
+ </View>
28
+ );
29
+ };
30
+
31
+ const styles = StyleSheet.create({
32
+ container: {
33
+ flex: 1,
34
+ position: 'relative',
35
+ backgroundColor: COLORS.BACKGROUND.DIM,
36
+ },
37
+ hlsLoaderContainer: {
38
+ position: 'absolute',
39
+ width: '100%',
40
+ height: '100%',
41
+ backgroundColor: COLORS.LOADING_BACKDROP,
42
+ zIndex: 5,
43
+ alignItems: 'center',
44
+ justifyContent: 'center',
45
+ },
46
+ hlsLoader: {
47
+ marginBottom: 30,
48
+ },
49
+ hlsLoaderText: {
50
+ color: COLORS.SURFACE.ON_SURFACE.HIGH,
51
+ fontSize: 16,
52
+ fontFamily: 'Inter',
53
+ fontWeight: '400',
54
+ lineHeight: 24,
55
+ letterSpacing: 0.5,
56
+ },
57
+ });
@@ -0,0 +1,42 @@
1
+ import * as React from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import { useSelector } from 'react-redux';
4
+ import { HMSVideoViewMode } from '@100mslive/react-native-hms';
5
+
6
+ import type { RootState } from '../redux';
7
+ import { useHMSInstance } from '../hooks-util';
8
+
9
+ export const HMSLocalVideoView = () => {
10
+ const hmsInstance = useHMSInstance();
11
+ const HmsView = hmsInstance.HmsView;
12
+ const mirrorCamera = useSelector(
13
+ (state: RootState) => state.app.joinConfig.mirrorCamera
14
+ );
15
+ const autoSimulcast = useSelector(
16
+ (state: RootState) => state.app.joinConfig.autoSimulcast
17
+ );
18
+ const localVideoTrackId = useSelector(
19
+ (state: RootState) => state.hmsStates.localPeer?.videoTrack?.trackId
20
+ );
21
+
22
+ if (!localVideoTrackId) {
23
+ return null;
24
+ }
25
+
26
+ return (
27
+ <HmsView
28
+ trackId={localVideoTrackId}
29
+ key={localVideoTrackId}
30
+ mirror={mirrorCamera}
31
+ autoSimulcast={autoSimulcast}
32
+ scaleType={HMSVideoViewMode.ASPECT_FILL}
33
+ style={styles.hmsView}
34
+ />
35
+ );
36
+ };
37
+
38
+ const styles = StyleSheet.create({
39
+ hmsView: {
40
+ flex: 1,
41
+ },
42
+ });