agora-appbuilder-core 4.0.0-api.5 → 4.0.0-api.6

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 (406) hide show
  1. package/package.json +2 -2
  2. package/template/.bundle/config +2 -0
  3. package/template/Gemfile +4 -0
  4. package/template/Gulpfile.js +29 -29
  5. package/template/_eslintrc.js +3 -3
  6. package/template/_gitignore +12 -11
  7. package/template/_package-lock.json +26471 -22749
  8. package/template/_prettierrc.js +2 -2
  9. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +30 -10
  10. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +19 -0
  11. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +1 -0
  12. package/template/agora-rn-uikit/src/Controls/Icons.ts +45 -0
  13. package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -4
  14. package/template/agora-rn-uikit/src/Controls/Local/FullScreen.tsx +3 -1
  15. package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +1 -0
  16. package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +1 -0
  17. package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +1 -0
  18. package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +1 -0
  19. package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +3 -1
  20. package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +1 -0
  21. package/template/agora-rn-uikit/src/Reducer/ActiveSpeaker.ts +30 -0
  22. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +3 -1
  23. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +3 -1
  24. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +1 -1
  25. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +3 -3
  26. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +5 -4
  27. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +1 -1
  28. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +8 -5
  29. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +1 -1
  30. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +1 -1
  31. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +1 -1
  32. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +18 -1
  33. package/template/agora-rn-uikit/src/Reducer/UserSecondaryPin.ts +23 -0
  34. package/template/agora-rn-uikit/src/Reducer/index.ts +2 -0
  35. package/template/agora-rn-uikit/src/Rtc/Create.tsx +47 -21
  36. package/template/agora-rn-uikit/src/Rtc/Join.tsx +37 -15
  37. package/template/agora-rn-uikit/src/RtcConfigure.tsx +122 -12
  38. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +32 -4
  39. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +21 -2
  40. package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +2 -0
  41. package/template/android/app/build.gradle +59 -156
  42. package/template/android/app/src/debug/AndroidManifest.xml +6 -1
  43. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +7 -4
  44. package/template/android/app/src/main/AndroidManifest.xml +6 -19
  45. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  46. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +17 -0
  47. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +19 -36
  48. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
  49. package/template/android/build.gradle +19 -33
  50. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  51. package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -2
  52. package/template/android/gradle.properties +18 -4
  53. package/template/android/gradlew +165 -104
  54. package/template/android/gradlew.bat +12 -23
  55. package/template/android/settings.gradle +1 -0
  56. package/template/bridge/rtc/webNg/RtcEngine.ts +131 -16
  57. package/template/bridge/rtc/webNg/index.ts +72 -1
  58. package/template/bridge/rtm/web/index.ts +5 -3
  59. package/template/configTransform.js +16 -1
  60. package/template/customization-api/action-library.ts +0 -8
  61. package/template/customization-api/app-state.ts +11 -2
  62. package/template/customization-api/customEvents.ts +6 -1
  63. package/template/customization-api/index.ts +4 -0
  64. package/template/customization-api/sub-components.ts +6 -3
  65. package/template/customization-api/temp.ts +50 -0
  66. package/template/customization-api/typeDefinition.ts +26 -14
  67. package/template/customization-api/types.ts +26 -0
  68. package/template/customization-api/utils.ts +2 -0
  69. package/template/customization-implementation/index.ts +0 -1
  70. package/template/defaultConfig.js +72 -0
  71. package/template/global.d.ts +13 -1
  72. package/template/index.js +0 -4
  73. package/template/index.web.js +0 -5
  74. package/template/index.wsdk.tsx +1 -19
  75. package/template/ios/.xcode.env +11 -0
  76. package/template/ios/HelloWorld/AppDelegate.h +2 -4
  77. package/template/ios/HelloWorld/AppDelegate.mm +42 -0
  78. package/template/ios/HelloWorld/Info.plist +1 -1
  79. package/template/ios/HelloWorld/main.m +2 -1
  80. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +529 -17
  81. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  82. package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
  83. package/template/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  84. package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
  85. package/template/ios/HelloWorldTests/Info.plist +2 -2
  86. package/template/ios/Podfile +53 -20
  87. package/template/ios/Podfile.lock +873 -0
  88. package/template/ios/ScreenSharing/Info.plist +15 -0
  89. package/template/ios/ScreenSharing/SampleHandler.h +9 -0
  90. package/template/ios/ScreenSharing/SampleHandler.m +70 -0
  91. package/template/jest.config.js +4 -0
  92. package/template/metro.config.js +7 -32
  93. package/template/package.json +52 -39
  94. package/template/react-native-toast-message/index.d.ts +3 -1
  95. package/template/react-native-toast-message/index.js +1 -0
  96. package/template/react-native-toast-message/src/components/base/index.js +20 -32
  97. package/template/react-native-toast-message/src/components/base/styles.js +18 -21
  98. package/template/react-native-toast-message/src/components/checkbox.js +24 -19
  99. package/template/react-native-toast-message/src/index.js +3 -1
  100. package/template/react-native-toast-message/src/index.sdk.tsx +4 -1
  101. package/template/src/App.tsx +13 -85
  102. package/template/src/AppRoutes.tsx +77 -0
  103. package/template/src/AppWrapper.tsx +38 -33
  104. package/template/src/SDKAppWrapper.tsx +79 -43
  105. package/template/src/app-state/useNoiseSupression.native.tsx +67 -0
  106. package/template/src/app-state/useNoiseSupression.tsx +107 -0
  107. package/template/src/app-state/useVideoQuality.tsx +39 -0
  108. package/template/src/assets/font-styles.css +171 -3
  109. package/template/src/assets/fonts/icomoon.ttf +0 -0
  110. package/template/src/assets/selection.json +1 -1
  111. package/template/src/atoms/ActionMenu.tsx +50 -11
  112. package/template/src/atoms/Avatar.tsx +51 -0
  113. package/template/src/atoms/Card.tsx +21 -8
  114. package/template/src/atoms/Carousel.native.tsx +105 -0
  115. package/template/src/atoms/Carousel.tsx +103 -0
  116. package/template/src/atoms/Checkbox.tsx +98 -0
  117. package/template/src/atoms/CircularProgress.tsx +0 -1
  118. package/template/src/atoms/ClipboardIconButton.tsx +91 -0
  119. package/template/src/atoms/CustomIcon.tsx +45 -0
  120. package/template/src/atoms/DropDownMulti.tsx +349 -0
  121. package/template/src/atoms/Dropdown.tsx +3 -3
  122. package/template/src/atoms/IconButton.tsx +52 -9
  123. package/template/src/atoms/ImageIcon.tsx +6 -3
  124. package/template/src/atoms/InlineNotification.tsx +81 -0
  125. package/template/src/atoms/MeetingLink.tsx +160 -0
  126. package/template/src/atoms/ParticipantsCount.tsx +18 -7
  127. package/template/src/atoms/Popup.tsx +49 -27
  128. package/template/src/atoms/PrimaryButton.tsx +19 -5
  129. package/template/src/atoms/RecordingInfo.tsx +2 -2
  130. package/template/src/atoms/SecondaryButton.tsx +2 -0
  131. package/template/src/atoms/Spacer.tsx +1 -0
  132. package/template/src/atoms/TertiaryButton.tsx +35 -5
  133. package/template/src/atoms/TextInput.tsx +2 -1
  134. package/template/src/atoms/Toolbar.tsx +64 -30
  135. package/template/src/atoms/ToolbarItem.tsx +11 -5
  136. package/template/src/atoms/ToolbarPreset.tsx +13 -2
  137. package/template/src/atoms/Tooltip.tsx +26 -4
  138. package/template/src/auth/AuthProvider.tsx +500 -0
  139. package/template/src/auth/AuthRoute.tsx +94 -0
  140. package/template/src/auth/IDPAuth.electron.tsx +31 -0
  141. package/template/src/auth/IDPAuth.tsx +67 -0
  142. package/template/src/auth/IDPLogoutComponent.tsx +158 -0
  143. package/template/src/auth/UserCancelPopup.tsx +115 -0
  144. package/template/src/auth/config.ts +52 -0
  145. package/template/src/auth/openIDPURL.electron.tsx +39 -0
  146. package/template/src/auth/openIDPURL.native.tsx +51 -0
  147. package/template/src/auth/openIDPURL.tsx +20 -0
  148. package/template/src/auth/useIDPAuth.electron.tsx +65 -0
  149. package/template/src/auth/useIDPAuth.native.tsx +70 -0
  150. package/template/src/auth/useIDPAuth.tsx +63 -0
  151. package/template/src/auth/useTokenAuth.tsx +194 -0
  152. package/template/src/components/Chat.tsx +5 -8
  153. package/template/src/components/ChatContext.ts +4 -0
  154. package/template/src/components/ColorConfigure.tsx +0 -1
  155. package/template/src/components/CommonStyles.ts +9 -2
  156. package/template/src/components/Controls.tsx +659 -52
  157. package/template/src/components/DeviceConfigure.tsx +362 -156
  158. package/template/src/components/DeviceContext.tsx +2 -0
  159. package/template/src/components/EventsConfigure.tsx +713 -109
  160. package/template/src/components/GraphQLProvider.tsx +62 -36
  161. package/template/src/components/GridVideo.tsx +23 -13
  162. package/template/src/components/HostControlView.tsx +11 -14
  163. package/template/src/components/JoinPhrase.tsx +0 -1
  164. package/template/src/components/Leftbar.tsx +4 -3
  165. package/template/src/components/Navbar.tsx +110 -42
  166. package/template/src/components/NavbarMobile.tsx +47 -36
  167. package/template/src/components/Navigation.native.tsx +1 -15
  168. package/template/src/{subComponents/screenshare/ScreenshareButton.native.tsx → components/Navigation.sdk.tsx} +17 -3
  169. package/template/src/components/Navigation.tsx +1 -15
  170. package/template/src/components/ParticipantsView.tsx +56 -48
  171. package/template/src/components/PinnedVideo.tsx +188 -114
  172. package/template/src/components/Precall.native.tsx +169 -67
  173. package/template/src/components/Precall.tsx +237 -71
  174. package/template/src/components/RTMConfigure.tsx +167 -55
  175. package/template/src/components/Rightbar.tsx +4 -3
  176. package/template/src/components/Router.electron.ts +1 -0
  177. package/template/src/components/Router.native.ts +1 -0
  178. package/template/src/components/Router.sdk.ts +1 -0
  179. package/template/src/components/Router.ts +1 -0
  180. package/template/src/components/SdkApiContext.tsx +179 -27
  181. package/template/src/components/SdkMuteToggleListener.tsx +88 -0
  182. package/template/src/components/SessionContext.tsx +0 -1
  183. package/template/src/components/Settings.tsx +25 -3
  184. package/template/src/components/SettingsView.tsx +44 -9
  185. package/template/src/components/Share.tsx +149 -71
  186. package/template/src/components/StorageContext.tsx +19 -5
  187. package/template/src/components/ToastComponent.tsx +3 -0
  188. package/template/src/components/WhiteboardLayout.tsx +291 -0
  189. package/template/src/components/chat-messages/useChatMessages.tsx +420 -207
  190. package/template/src/components/common/Error.tsx +2 -0
  191. package/template/src/components/common/Logo.tsx +2 -2
  192. package/template/src/components/contexts/LiveStreamDataContext.tsx +5 -4
  193. package/template/src/components/contexts/ScreenShareContext.tsx +15 -1
  194. package/template/src/components/contexts/WaitingRoomContext.tsx +50 -0
  195. package/template/src/components/contexts/WhiteboardContext.tsx +54 -54
  196. package/template/src/components/disable-chat/useDisableChat.tsx +32 -0
  197. package/template/src/components/livestream/LiveStreamContext.tsx +262 -177
  198. package/template/src/components/livestream/Types.ts +34 -18
  199. package/template/src/components/livestream/views/LiveStreamAttendeeLandingTile.tsx +295 -0
  200. package/template/src/components/livestream/views/LiveStreamControls.tsx +2 -4
  201. package/template/src/components/meeting-info-invite/MeetingInfo.tsx +82 -0
  202. package/template/src/components/meeting-info-invite/MeetingInfoCardHeader.tsx +86 -0
  203. package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +218 -0
  204. package/template/src/components/meeting-info-invite/MeetingInfoLinks.tsx +122 -0
  205. package/template/src/components/participants/AllAudienceParticipants.tsx +4 -5
  206. package/template/src/components/participants/AllHostParticipants.tsx +5 -6
  207. package/template/src/components/participants/Participant.tsx +40 -9
  208. package/template/src/components/participants/ParticipantSectionTitle.tsx +5 -2
  209. package/template/src/components/participants/ScreenshareParticipants.tsx +15 -17
  210. package/template/src/components/participants/UserActionMenuOptions.tsx +157 -49
  211. package/template/src/components/participants/WaitingRoomParticipants.tsx +74 -0
  212. package/template/src/components/popups/InvitePopup.tsx +110 -45
  213. package/template/src/components/popups/StartScreenSharePopup.native.tsx +182 -0
  214. package/template/src/components/popups/StartScreenSharePopup.tsx +6 -0
  215. package/template/src/components/popups/StopRecordingPopup.tsx +11 -5
  216. package/template/src/components/popups/StopScreenSharePopup.native.tsx +135 -0
  217. package/template/src/components/popups/StopScreenSharePopup.tsx +6 -0
  218. package/template/src/components/popups/WhiteboardClearAllPopup.tsx +123 -0
  219. package/template/src/components/precall/LocalMute.tsx +69 -45
  220. package/template/src/components/precall/PermissionHelper.tsx +52 -24
  221. package/template/src/components/precall/PreCallSettings.tsx +1 -0
  222. package/template/src/components/precall/VideoFallback.tsx +173 -0
  223. package/template/src/components/precall/VideoPreview.native.tsx +16 -50
  224. package/template/src/components/precall/VideoPreview.tsx +27 -162
  225. package/template/src/components/precall/index.tsx +2 -0
  226. package/template/src/components/precall/joinCallBtn.native.tsx +10 -3
  227. package/template/src/components/precall/joinCallBtn.tsx +11 -2
  228. package/template/src/components/precall/joinWaitingRoomBtn.native.tsx +210 -0
  229. package/template/src/components/precall/joinWaitingRoomBtn.tsx +250 -0
  230. package/template/src/components/precall/meetingTitle.tsx +35 -9
  231. package/template/src/components/precall/selectDevice.tsx +5 -5
  232. package/template/src/components/precall/textInput.tsx +16 -18
  233. package/template/src/components/precall/usePreCall.tsx +14 -4
  234. package/template/src/components/room-info/useRoomInfo.tsx +34 -0
  235. package/template/src/components/useShareLink.tsx +24 -59
  236. package/template/src/components/useUserPreference.tsx +73 -10
  237. package/template/src/components/useVideoCall.tsx +76 -3
  238. package/template/src/components/virtual-background/VBButton.tsx +64 -0
  239. package/template/src/components/virtual-background/VBCard.native.tsx +282 -0
  240. package/template/src/components/virtual-background/VBCard.tsx +272 -0
  241. package/template/src/components/virtual-background/VBPanel.tsx +279 -0
  242. package/template/src/components/virtual-background/VButils.native.ts +37 -0
  243. package/template/src/components/virtual-background/VButils.ts +104 -0
  244. package/template/src/components/virtual-background/VideoPreview.native.tsx +43 -0
  245. package/template/src/components/virtual-background/VideoPreview.tsx +106 -0
  246. package/template/src/components/virtual-background/imagePaths.ts +87 -0
  247. package/template/src/components/virtual-background/images/beachImageBase64.ts +1 -0
  248. package/template/src/components/virtual-background/images/bedroomImageBase64.ts +1 -0
  249. package/template/src/components/virtual-background/images/bookImageBase64.ts +1 -0
  250. package/template/src/components/virtual-background/images/earthImageBase64.ts +1 -0
  251. package/template/src/components/virtual-background/images/index.ts +37 -0
  252. package/template/src/components/virtual-background/images/lampImageBase64.ts +1 -0
  253. package/template/src/components/virtual-background/images/mountainsImageBase64.ts +1 -0
  254. package/template/src/components/virtual-background/images/office1ImageBase64.ts +1 -0
  255. package/template/src/components/virtual-background/images/officeImageBase64.ts +1 -0
  256. package/template/src/components/virtual-background/images/plantsImageBase64.ts +1 -0
  257. package/template/src/components/virtual-background/images/skyImageBase64.ts +1 -0
  258. package/template/src/components/virtual-background/images/wallImageBase64.ts +1 -0
  259. package/template/src/components/virtual-background/useVB.native.tsx +188 -0
  260. package/template/src/components/virtual-background/useVB.tsx +267 -0
  261. package/template/src/components/whiteboard/StrokeWidthTool.tsx +137 -0
  262. package/template/src/components/whiteboard/WhiteboardButton.tsx +93 -0
  263. package/template/src/components/whiteboard/WhiteboardCanvas.tsx +99 -0
  264. package/template/src/components/whiteboard/WhiteboardConfigure.native.tsx +137 -0
  265. package/template/src/components/whiteboard/WhiteboardConfigure.tsx +441 -0
  266. package/template/src/components/whiteboard/WhiteboardCursor.tsx +152 -0
  267. package/template/src/components/whiteboard/WhiteboardToolBox.tsx +1246 -0
  268. package/template/src/components/whiteboard/WhiteboardView.native.tsx +109 -0
  269. package/template/src/components/whiteboard/WhiteboardView.tsx +81 -0
  270. package/template/src/components/whiteboard/WhiteboardWidget.tsx +674 -0
  271. package/template/src/components/whiteboard/WhiteboardWrapper.tsx +38 -0
  272. package/template/src/language/default-labels/commonLabels.ts +51 -14
  273. package/template/src/language/default-labels/createScreenLabels.ts +97 -17
  274. package/template/src/language/default-labels/joinScreenLabels.ts +45 -6
  275. package/template/src/language/default-labels/precallScreenLabels.ts +145 -23
  276. package/template/src/language/default-labels/shareLinkScreenLabels.ts +85 -37
  277. package/template/src/language/default-labels/videoCallScreenLabels.ts +1137 -158
  278. package/template/src/pages/Create.tsx +125 -80
  279. package/template/src/pages/Join.tsx +76 -34
  280. package/template/src/pages/Login.tsx +26 -0
  281. package/template/src/pages/VideoCall.tsx +229 -114
  282. package/template/src/pages/video-call/ActionSheet.native.tsx +54 -7
  283. package/template/src/pages/video-call/ActionSheet.tsx +55 -16
  284. package/template/src/pages/video-call/ActionSheetContent.tsx +366 -291
  285. package/template/src/pages/video-call/ActionSheetHandle.tsx +7 -1
  286. package/template/src/pages/video-call/DefaultLayouts.ts +11 -5
  287. package/template/src/pages/video-call/NameWithMicIcon.tsx +17 -9
  288. package/template/src/pages/video-call/PinchableView.tsx +119 -0
  289. package/template/src/pages/video-call/RenderComponent.tsx +12 -3
  290. package/template/src/pages/video-call/SidePanelHeader.tsx +208 -6
  291. package/template/src/pages/video-call/VideoCallMobileView.tsx +140 -106
  292. package/template/src/pages/video-call/VideoCallScreen.native.tsx +3 -2
  293. package/template/src/pages/video-call/VideoCallScreen.tsx +113 -66
  294. package/template/src/pages/video-call/VideoComponent.tsx +53 -5
  295. package/template/src/pages/video-call/VideoRenderer.tsx +309 -52
  296. package/template/src/pages/video-call/VisibilitySensor.tsx +104 -0
  297. package/template/src/pages/video-call/ZoomableWrapper.native.tsx +34 -0
  298. package/template/src/pages/video-call/ZoomableWrapper.tsx +5 -0
  299. package/template/src/pages/video-call/index.ts +2 -0
  300. package/template/src/rtm/RTMEngine.ts +9 -4
  301. package/template/src/rtm-events/constants.ts +20 -0
  302. package/template/src/rtm-events-api/Events.ts +2 -0
  303. package/template/src/rtm-events-api/LocalEvents.ts +8 -0
  304. package/template/src/selection.json +1 -0
  305. package/template/src/subComponents/ChatBubble.tsx +81 -64
  306. package/template/src/subComponents/ChatContainer.tsx +20 -13
  307. package/template/src/subComponents/ChatInput.ios.tsx +11 -2
  308. package/template/src/subComponents/ChatInput.tsx +12 -3
  309. package/template/src/subComponents/Checkbox.native.tsx +46 -46
  310. package/template/src/subComponents/Checkbox.tsx +7 -6
  311. package/template/src/subComponents/CopyJoinInfo.tsx +26 -11
  312. package/template/src/subComponents/EndcallPopup.tsx +83 -12
  313. package/template/src/subComponents/LanguageSelector.tsx +34 -30
  314. package/template/src/subComponents/LayoutIconButton.tsx +30 -8
  315. package/template/src/subComponents/LayoutIconDropdown.tsx +19 -3
  316. package/template/src/subComponents/Loading.tsx +60 -0
  317. package/template/src/subComponents/LocalAudioMute.tsx +106 -30
  318. package/template/src/subComponents/LocalEndCall.tsx +91 -15
  319. package/template/src/subComponents/LocalSwitchCamera.tsx +50 -11
  320. package/template/src/subComponents/LocalVideoMute.tsx +126 -32
  321. package/template/src/subComponents/LogoutButton.tsx +1 -1
  322. package/template/src/subComponents/NetworkQualityPill.tsx +14 -31
  323. package/template/src/subComponents/Recording.tsx +23 -6
  324. package/template/src/subComponents/RemoteAudioMute.tsx +3 -3
  325. package/template/src/subComponents/RemoteMutePopup.tsx +55 -14
  326. package/template/src/subComponents/RemoteVideoMute.tsx +3 -3
  327. package/template/src/subComponents/RemoveMeetingPopup.tsx +19 -6
  328. package/template/src/subComponents/RemoveScreensharePopup.tsx +20 -5
  329. package/template/src/subComponents/ScreenShareNotice.tsx +11 -6
  330. package/template/src/subComponents/SelectDevice.tsx +98 -32
  331. package/template/src/subComponents/SidePanelEnum.tsx +2 -0
  332. package/template/src/subComponents/SidePanelHeader.tsx +97 -63
  333. package/template/src/subComponents/ToastConfig.tsx +70 -61
  334. package/template/src/subComponents/caption/Caption.tsx +130 -0
  335. package/template/src/subComponents/caption/CaptionContainer.tsx +302 -0
  336. package/template/src/subComponents/caption/CaptionIcon.tsx +111 -0
  337. package/template/src/subComponents/caption/CaptionText.tsx +182 -0
  338. package/template/src/subComponents/caption/DownloadTranscriptBtn.tsx +65 -0
  339. package/template/src/subComponents/caption/LanguageSelectorPopup.tsx +192 -0
  340. package/template/src/subComponents/caption/Transcript.tsx +449 -0
  341. package/template/src/subComponents/caption/TranscriptIcon.tsx +123 -0
  342. package/template/src/subComponents/caption/TranscriptText.tsx +98 -0
  343. package/template/src/subComponents/caption/index.ts +3 -0
  344. package/template/src/subComponents/caption/proto/ptoto.js +91 -0
  345. package/template/src/subComponents/caption/proto/test.proto +23 -0
  346. package/template/src/subComponents/caption/useCaption.tsx +123 -0
  347. package/template/src/subComponents/caption/useCaptionWidth.ts +27 -0
  348. package/template/src/subComponents/caption/useSTTAPI.tsx +179 -0
  349. package/template/src/subComponents/caption/useStreamMessageUtils.native.ts +211 -0
  350. package/template/src/subComponents/caption/useStreamMessageUtils.ts +235 -0
  351. package/template/src/subComponents/caption/useTranscriptDownload.native.ts +68 -0
  352. package/template/src/subComponents/caption/useTranscriptDownload.ts +52 -0
  353. package/template/src/subComponents/caption/utils.ts +125 -0
  354. package/template/src/subComponents/chat/ChatParticipants.tsx +53 -17
  355. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +11 -13
  356. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +33 -9
  357. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +1 -0
  358. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +10 -6
  359. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +28 -19
  360. package/template/src/subComponents/recording/useRecording.tsx +49 -20
  361. package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +0 -1
  362. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +29 -10
  363. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +270 -66
  364. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +182 -95
  365. package/template/src/subComponents/screenshare/useScreenshare.tsx +2 -0
  366. package/template/src/subComponents/waiting-rooms/WaitingRoomControls.tsx +85 -0
  367. package/template/src/subComponents/waiting-rooms/useWaitingRoomAPI.ts +75 -0
  368. package/template/src/theme/index.ts +9 -0
  369. package/template/src/utils/SdkEvents.ts +14 -0
  370. package/template/src/utils/SdkMethodEvents.ts +23 -3
  371. package/template/src/utils/axiomLogger.ts +117 -0
  372. package/template/src/utils/book.jpg +0 -0
  373. package/template/src/utils/common.tsx +118 -6
  374. package/template/src/utils/endCallEveryOne.ts +7 -0
  375. package/template/src/utils/getCustomRoute.ts +7 -0
  376. package/template/src/utils/index.tsx +23 -0
  377. package/template/src/utils/useActionSheet.tsx +50 -0
  378. package/template/src/utils/useActiveSpeaker.ts +3 -7
  379. package/template/src/utils/useAppState.ts +17 -0
  380. package/template/src/utils/useAsyncEffect.ts +138 -0
  381. package/template/src/utils/useCreateRoom.ts +8 -12
  382. package/template/src/utils/useDisableButton.tsx +37 -0
  383. package/template/src/utils/useFindActiveSpeaker.native.ts +4 -0
  384. package/template/src/utils/useFindActiveSpeaker.ts +335 -0
  385. package/template/src/utils/useIsLocalUserSpeaking.native.ts +4 -0
  386. package/template/src/utils/useIsLocalUserSpeaking.ts +98 -0
  387. package/template/src/utils/useJoinRoom.ts +97 -36
  388. package/template/src/utils/useMuteToggleLocal.ts +114 -96
  389. package/template/src/utils/useString.ts +13 -3
  390. package/template/static.d.ts +42 -0
  391. package/template/tsconfig_rsdk_index.json +3 -3
  392. package/template/tsconfig_wsdk_index.json +1 -1
  393. package/template/web/index.html +20 -0
  394. package/template/webpack.commons.js +21 -10
  395. package/template/webpack.web.config.js +7 -3
  396. package/template/_buckconfig +0 -6
  397. package/template/_gitattributes +0 -1
  398. package/template/android/app/_BUCK +0 -55
  399. package/template/android/app/build_defs.bzl +0 -19
  400. package/template/ios/HelloWorld/AppDelegate.m +0 -74
  401. package/template/src/components/OAuth.electron.tsx +0 -41
  402. package/template/src/components/OAuth.native.tsx +0 -55
  403. package/template/src/components/OAuth.tsx +0 -30
  404. package/template/src/components/OAuthConfig.ts +0 -77
  405. package/template/src/components/Settings.native.tsx +0 -21
  406. package/template/src/components/StoreToken.tsx +0 -39
@@ -24,10 +24,10 @@ import {isMobileUA} from '../../../utils/common';
24
24
  import {IconButtonProps} from '../../../atoms/IconButton';
25
25
  import {useToolbarMenu} from '../../../utils/useMenu';
26
26
  import ToolbarMenuItem from '../../../atoms/ToolbarMenuItem';
27
+ import {useActionSheet} from '../../../utils/useActionSheet';
28
+ import {toolbarItemRaiseHandText} from '../../../language/default-labels/videoCallScreenLabels';
27
29
 
28
- interface LocalRaiseHandProps {
29
- showLabel?: boolean;
30
- }
30
+ interface LocalRaiseHandProps {}
31
31
  const LocalRaiseHand = (props: LocalRaiseHandProps) => {
32
32
  const {isToolbarMenuItem} = useToolbarMenu();
33
33
  const {audienceSendsRequest, audienceRecallsRequest, raiseHandList} =
@@ -35,11 +35,9 @@ const LocalRaiseHand = (props: LocalRaiseHandProps) => {
35
35
  const {rtcProps} = useContext(PropsContext);
36
36
  const {localUid} = useContext(ChatContext);
37
37
  const {activeUids} = useContent();
38
- const {showLabel = $config.ICON_TEXT} = props;
39
- //commented for v1 release
40
- //const handStatusText = useString<boolean>('raiseHandButton');
41
- const handStatusText = (toggle: boolean) =>
42
- toggle ? 'Lower hand' : 'Raise Hand';
38
+ const {isOnActionSheet, showLabel} = useActionSheet();
39
+
40
+ const handStatusText = useString<boolean>(toolbarItemRaiseHandText);
43
41
  const isHandRasied = raiseHandList[localUid]?.raised === RaiseHandValue.TRUE;
44
42
  const iconButtonProps: IconButtonProps = {
45
43
  iconProps: {
@@ -53,8 +51,14 @@ const LocalRaiseHand = (props: LocalRaiseHandProps) => {
53
51
  base64: isMobileUA() ? true : false,
54
52
  },
55
53
  btnTextProps: {
56
- text: showLabel ? handStatusText(isHandRasied) : '',
54
+ text: showLabel
55
+ ? handStatusText(isHandRasied)?.replace(
56
+ ' ',
57
+ isOnActionSheet ? '\n' : ' ',
58
+ )
59
+ : '',
57
60
  textColor: $config.FONT_COLOR,
61
+ numberOfLines: 2,
58
62
  },
59
63
  onPress: () => {
60
64
  if (isHandRasied) {
@@ -64,6 +68,26 @@ const LocalRaiseHand = (props: LocalRaiseHandProps) => {
64
68
  }
65
69
  },
66
70
  };
71
+ iconButtonProps.isOnActionSheet = isOnActionSheet;
72
+ if (isOnActionSheet) {
73
+ // iconButtonProps.containerStyle = {
74
+ // backgroundColor: $config.CARD_LAYER_2_COLOR,
75
+ // width: 52,
76
+ // height: 52,
77
+ // borderRadius: 26,
78
+ // justifyContent: 'center',
79
+ // alignItems: 'center',
80
+ // };
81
+
82
+ iconButtonProps.btnTextProps.textStyle = {
83
+ color: $config.FONT_COLOR,
84
+ marginTop: 8,
85
+ fontSize: 12,
86
+ fontWeight: '400',
87
+ fontFamily: 'Source Sans Pro',
88
+ textAlign: 'center',
89
+ };
90
+ }
67
91
  return isToolbarMenuItem ? (
68
92
  <ToolbarMenuItem {...iconButtonProps} />
69
93
  ) : (
@@ -11,6 +11,7 @@ const RemoteLiveStreamApprovedRequestRecall = (
11
11
  props: RemoteLiveStreamApprovedRequestRecallProps,
12
12
  ) => {
13
13
  return (
14
+ //@ts-ignore
14
15
  <IconButton
15
16
  onPress={() => {
16
17
  events.send(
@@ -5,6 +5,8 @@ import LiveStreamContext from '../../../components/livestream';
5
5
  import PrimaryButton from '../../../atoms/PrimaryButton';
6
6
  import ThemeConfig from '../../../theme';
7
7
  import Toast from '../../../../react-native-toast-message';
8
+ import {useString} from '../../../utils/useString';
9
+ import {peoplePanelLivestreamingApprovalBtnText} from '../../../language/default-labels/videoCallScreenLabels';
8
10
 
9
11
  export interface RemoteLiveStreamControlProps {
10
12
  uid: UidType;
@@ -16,23 +18,25 @@ const RemoteLiveStreamRequestApprove = (
16
18
  ) => {
17
19
  const {uid, toastId} = props;
18
20
  const {hostApprovesRequestOfUID} = useContext(LiveStreamContext);
19
-
21
+ const btnText = useString(peoplePanelLivestreamingApprovalBtnText)();
20
22
  return (
21
- <View style={{flex: 1}}>
23
+ <View>
22
24
  <PrimaryButton
23
25
  containerStyle={{
24
26
  minWidth: 'auto',
25
- borderRadius: ThemeConfig.BorderRadius.small,
26
- height: 38,
27
- paddingHorizontal: 8,
27
+ paddingHorizontal: 13,
28
28
  paddingVertical: 8,
29
+ borderRadius: 4,
29
30
  }}
30
31
  textStyle={{
31
32
  fontWeight: '600',
32
33
  fontSize: 12,
34
+ lineHeight: 12,
35
+ fontFamily: ThemeConfig.FontFamily.sansPro,
36
+ textTransform: 'capitalize',
33
37
  }}
34
38
  disabled={!uid}
35
- text={'Accept'}
39
+ text={btnText}
36
40
  onPress={() => {
37
41
  //Hiding the toast if its get approved in the participant panel
38
42
  if (Toast.getToastId() === toastId) {
@@ -4,6 +4,9 @@ import {PropsContext, UidType} from '../../../../agora-rn-uikit';
4
4
  import LiveStreamContext from '../../../components/livestream';
5
5
  import TertiaryButton from '../../../atoms/TertiaryButton';
6
6
  import Toast from '../../../../react-native-toast-message';
7
+ import ThemeConfig from '../../../theme';
8
+ import {useString} from '../../../utils/useString';
9
+ import {peoplePanelLivestreamingDenyBtnText} from '../../../language/default-labels/videoCallScreenLabels';
7
10
 
8
11
  interface RemoteLiveStreamControlProps {
9
12
  uid: UidType;
@@ -13,26 +16,32 @@ interface RemoteLiveStreamControlProps {
13
16
  const RemoteLiveStreamRequestReject = (props: RemoteLiveStreamControlProps) => {
14
17
  const {uid, toastId} = props;
15
18
  const {hostRejectsRequestOfUID} = useContext(LiveStreamContext);
16
-
19
+ const denyBtntext = useString(peoplePanelLivestreamingDenyBtnText)();
17
20
  return (
18
- <View style={{flex: 1}}>
19
- <TertiaryButton
20
- containerStyle={{
21
- paddingHorizontal: 8,
22
- paddingVertical: 8,
23
- height: 38,
24
- }}
25
- disabled={!uid}
26
- onPress={() => {
27
- //Hiding the toast if its get rejected in the participant panel
28
- if (Toast.getToastId() === toastId) {
29
- Toast.hide();
30
- }
31
- hostRejectsRequestOfUID(uid);
32
- }}
33
- text={'DENY'}
34
- />
35
- </View>
21
+ <TertiaryButton
22
+ containerStyle={{
23
+ minWidth: 'auto',
24
+ paddingHorizontal: 13,
25
+ paddingVertical: 7,
26
+ borderRadius: 4,
27
+ }}
28
+ textStyle={{
29
+ fontWeight: '600',
30
+ fontSize: 12,
31
+ lineHeight: 12,
32
+ fontFamily: ThemeConfig.FontFamily.sansPro,
33
+ textTransform: 'capitalize',
34
+ }}
35
+ disabled={!uid}
36
+ onPress={() => {
37
+ //Hiding the toast if its get rejected in the participant panel
38
+ if (Toast.getToastId() === toastId) {
39
+ Toast.hide();
40
+ }
41
+ hostRejectsRequestOfUID(uid);
42
+ }}
43
+ text={denyBtntext}
44
+ />
36
45
  );
37
46
  };
38
47
 
@@ -30,6 +30,12 @@ import useRecordingLayoutQuery from './useRecordingLayoutQuery';
30
30
  import {useScreenContext} from '../../components/contexts/ScreenShareContext';
31
31
  import {useContent} from 'customization-api';
32
32
  import {trimText} from '../../utils/common';
33
+ import {useRoomInfo} from 'customization-api';
34
+ import {
35
+ videoRoomRecordingToastHeading,
36
+ videoRoomRecordingToastSubHeading,
37
+ videoRoomUserFallbackText,
38
+ } from '../../language/default-labels/videoCallScreenLabels';
33
39
 
34
40
  export interface RecordingContextInterface {
35
41
  startRecording: () => void;
@@ -46,8 +52,16 @@ const RecordingContext = createContext<RecordingContextInterface>({
46
52
  });
47
53
 
48
54
  const START_RECORDING = gql`
49
- mutation startRecordingSession($passphrase: String!, $secret: String) {
50
- startRecordingSession(passphrase: $passphrase, secret: $secret)
55
+ mutation startRecordingSession(
56
+ $passphrase: String!
57
+ $secret: String
58
+ $config: recordingConfig!
59
+ ) {
60
+ startRecordingSession(
61
+ passphrase: $passphrase
62
+ secret: $secret
63
+ config: $config
64
+ )
51
65
  }
52
66
  `;
53
67
 
@@ -75,6 +89,7 @@ interface RecordingProviderProps {
75
89
  value: {
76
90
  setRecordingActive: React.Dispatch<SetStateAction<boolean>>;
77
91
  isRecordingActive: boolean;
92
+ callActive: boolean;
78
93
  };
79
94
  }
80
95
 
@@ -86,7 +101,10 @@ interface RecordingProviderProps {
86
101
 
87
102
  const RecordingProvider = (props: RecordingProviderProps) => {
88
103
  const {rtcProps} = useContext(PropsContext);
89
- const {setRecordingActive, isRecordingActive} = props?.value;
104
+ const {setRecordingActive, isRecordingActive, callActive} = props?.value;
105
+ const {
106
+ data: {isHost},
107
+ } = useRoomInfo();
90
108
  const [inProgress, setInProgress] = useState(false);
91
109
  const [uidWhoStarted, setUidWhoStarted] = useState(0);
92
110
  const {defaultContent, activeUids} = useContent();
@@ -96,16 +114,18 @@ const RecordingProvider = (props: RecordingProviderProps) => {
96
114
  const prevRecordingState = usePrevious<{isRecordingActive: boolean}>({
97
115
  isRecordingActive,
98
116
  });
99
- //commented for v1 release
100
- //const recordingStartedText = useString<boolean>('recordingNotificationLabel');
101
- const recordingStartedText = (active: boolean) =>
102
- active ? 'Recording Started' : 'Recording Stopped';
117
+ const recordingStartedText = useString<boolean>(
118
+ videoRoomRecordingToastHeading,
119
+ );
120
+ const subheading = useString(videoRoomRecordingToastSubHeading);
121
+ const userlabel = useString(videoRoomUserFallbackText)();
122
+
103
123
  const {executePresenterQuery, executeNormalQuery} = useRecordingLayoutQuery();
104
124
  const {localUid} = useContext(ChatContext);
105
125
  const {screenShareData} = useScreenContext();
106
126
 
107
127
  React.useEffect(() => {
108
- events.on(EventNames.RECORDING_ATTRIBUTE, (data) => {
128
+ events.on(EventNames.RECORDING_ATTRIBUTE, data => {
109
129
  const payload = JSON.parse(data.payload);
110
130
  const action = payload.action;
111
131
  const value = payload.value;
@@ -124,7 +144,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
124
144
  break;
125
145
  }
126
146
  });
127
- () => {
147
+ return () => {
128
148
  events.off(EventNames.RECORDING_ATTRIBUTE);
129
149
  };
130
150
  }, []);
@@ -138,20 +158,27 @@ const RecordingProvider = (props: RecordingProviderProps) => {
138
158
  */
139
159
  if (prevRecordingState) {
140
160
  if (prevRecordingState?.isRecordingActive === isRecordingActive) return;
161
+
162
+ if ($config.ENABLE_WAITING_ROOM && !isHost && !callActive) {
163
+ return;
164
+ }
165
+
141
166
  Toast.show({
167
+ leadingIconName: 'recording',
142
168
  type: 'info',
143
169
  text1: recordingStartedText(isRecordingActive),
144
170
  text2: isRecordingActive
145
- ? `This room is being recorded by ${
146
- trimText(defaultContent[uidWhoStarted]?.name) || 'user'
147
- }`
171
+ ? subheading(
172
+ trimText(defaultContent[uidWhoStarted]?.name) || userlabel,
173
+ )
148
174
  : '',
149
175
  visibilityTime: 3000,
150
176
  primaryBtn: null,
151
177
  secondaryBtn: null,
178
+ leadingIcon: null,
152
179
  });
153
180
  }
154
- }, [isRecordingActive]);
181
+ }, [isRecordingActive, callActive, isHost]);
155
182
 
156
183
  const startRecording = () => {
157
184
  setInProgress(true);
@@ -163,10 +190,13 @@ const RecordingProvider = (props: RecordingProviderProps) => {
163
190
  rtcProps.encryption && rtcProps.encryption.key
164
191
  ? rtcProps.encryption.key
165
192
  : '',
193
+ config: {
194
+ resolution: 'SD360p',
195
+ trigger: 'AUTO',
196
+ },
166
197
  },
167
198
  })
168
- .then((res) => {
169
- console.log(res.data);
199
+ .then(res => {
170
200
  setInProgress(false);
171
201
  if (res.data.startRecordingSession === 'success') {
172
202
  /**
@@ -187,7 +217,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
187
217
  // 3. set the presenter mode if screen share is active
188
218
  // 3.a Get the most recent screenshare uid
189
219
  const sorted = Object.entries(screenShareData)
190
- .filter((el) => el[1]?.ts && el[1].ts > 0 && el[1]?.isActive)
220
+ .filter(el => el[1]?.ts && el[1].ts > 0 && el[1]?.isActive)
191
221
  .sort((a, b) => b[1].ts - a[1].ts);
192
222
 
193
223
  const activeScreenshareUid = sorted.length > 0 ? sorted[0][0] : 0;
@@ -202,7 +232,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
202
232
  }
203
233
  }
204
234
  })
205
- .catch((err) => {
235
+ .catch(err => {
206
236
  setInProgress(false);
207
237
  console.log(err);
208
238
  });
@@ -228,8 +258,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
228
258
  setInProgress(true);
229
259
  // If recording is already going on, stop the recording by executing the graphql query.
230
260
  stopRecordingQuery({variables: {passphrase: phrase}})
231
- .then((res) => {
232
- console.log(res.data);
261
+ .then(res => {
233
262
  setInProgress(false);
234
263
  if (res.data.stopRecordingSession === 'success') {
235
264
  /**
@@ -248,7 +277,7 @@ const RecordingProvider = (props: RecordingProviderProps) => {
248
277
  setRecordingActive(false);
249
278
  }
250
279
  })
251
- .catch((err) => {
280
+ .catch(err => {
252
281
  setInProgress(false);
253
282
  console.log(err);
254
283
  });
@@ -47,7 +47,6 @@ function useRecordingLayoutQuery() {
47
47
  const executeNormalQuery = () => {
48
48
  setNormalQuery({variables: {passphrase: phrase}})
49
49
  .then((res) => {
50
- console.log(res.data);
51
50
  if (res.data.stopRecordingSession === 'success') {
52
51
  // Once the backend sucessfuly stops recording,
53
52
  // send a control message to everbody in the channel indicating that cloud recording is now inactive.
@@ -19,8 +19,14 @@ import hexadecimalTransparency from '../../utils/hexadecimalTransparency';
19
19
  import {PropsContext, ClientRole} from '../../../agora-rn-uikit';
20
20
  import {useLocalUserInfo, useRoomInfo} from 'customization-api';
21
21
  import useIsHandRaised from '../../utils/useIsHandRaised';
22
+ import {isAndroid, isIOS} from '../../utils/common';
23
+ import {useVideoCall} from '../../components/useVideoCall';
22
24
  import {useToolbarMenu} from '../../utils/useMenu';
23
25
  import ToolbarMenuItem from '../../atoms/ToolbarMenuItem';
26
+ import {
27
+ livestreamingShareTooltipText,
28
+ toolbarItemShareText,
29
+ } from '../../language/default-labels/videoCallScreenLabels';
24
30
  /**
25
31
  * A component to start and stop screen sharing on web clients.
26
32
  * Screen sharing is not yet implemented on mobile platforms.
@@ -29,11 +35,15 @@ import ToolbarMenuItem from '../../atoms/ToolbarMenuItem';
29
35
 
30
36
  export interface ScreenshareButtonProps {
31
37
  render?: (onPress: () => void, isScreenshareActive: boolean) => JSX.Element;
38
+ showLabel?: boolean;
39
+ isOnActionSheet?: boolean;
32
40
  }
33
41
 
34
42
  const ScreenshareButton = (props: ScreenshareButtonProps) => {
35
43
  const {isToolbarMenuItem} = useToolbarMenu();
36
44
  const {rtcProps} = useContext(PropsContext);
45
+ const {showLabel = $config.ICON_TEXT || false, isOnActionSheet = false} =
46
+ props;
37
47
  const {
38
48
  data: {isHost},
39
49
  } = useRoomInfo();
@@ -41,12 +51,23 @@ const ScreenshareButton = (props: ScreenshareButtonProps) => {
41
51
  const isHandRaised = useIsHandRaised();
42
52
  const {isScreenshareActive, startUserScreenshare, stopUserScreenShare} =
43
53
  useScreenshare();
44
- //commented for v1 release
45
- //const screenShareButton = useString('screenShareButton')();
54
+ const {setShowStartScreenSharePopup} = useVideoCall();
55
+ const screenShareButtonLabel = useString<boolean>(toolbarItemShareText);
56
+ const lstooltip = useString<boolean>(livestreamingShareTooltipText);
57
+ const onPress = () => {
58
+ if (isScreenshareActive) {
59
+ stopUserScreenShare();
60
+ } else {
61
+ if (isAndroid() || isIOS()) {
62
+ //native screen we need to stop user video before proceeding the screenshare
63
+ //so showing confirm popup to stop camera(if cam on ) and option to share audio
64
+ setShowStartScreenSharePopup(true);
65
+ } else {
66
+ startUserScreenshare();
67
+ }
68
+ }
69
+ };
46
70
 
47
- const onPress = () =>
48
- isScreenshareActive ? stopUserScreenShare() : startUserScreenshare();
49
- const screenShareButton = isScreenshareActive ? 'Stop Share' : 'Share';
50
71
  let iconButtonProps: IconButtonProps = {
51
72
  iconProps: {
52
73
  name: isScreenshareActive ? 'stop-screen-share' : 'screen-share',
@@ -56,11 +77,11 @@ const ScreenshareButton = (props: ScreenshareButtonProps) => {
56
77
  },
57
78
  onPress,
58
79
  btnTextProps: {
59
- text: $config.ICON_TEXT ? screenShareButton : '',
80
+ text: showLabel ? screenShareButtonLabel(isScreenshareActive) : '',
60
81
  textColor: $config.FONT_COLOR,
61
82
  },
62
83
  };
63
-
84
+ iconButtonProps.isOnActionSheet = isOnActionSheet;
64
85
  if (
65
86
  rtcProps.role == ClientRole.Audience &&
66
87
  $config.EVENT_MODE &&
@@ -79,9 +100,7 @@ const ScreenshareButton = (props: ScreenshareButtonProps) => {
79
100
  ...iconButtonProps.iconProps,
80
101
  tintColor: $config.SEMANTIC_NEUTRAL,
81
102
  };
82
- iconButtonProps.toolTipMessage = isHandRaised(local.uid)
83
- ? 'Waiting for host to appove the request'
84
- : 'Raise Hand in order to present';
103
+ iconButtonProps.toolTipMessage = lstooltip(isHandRaised(local.uid));
85
104
  iconButtonProps.disabled = true;
86
105
  }
87
106