agora-appbuilder-core 3.0.13 → 3.0.28-beta-9

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 (572) hide show
  1. package/Readme.md +6 -0
  2. package/package.json +3 -3
  3. package/template/.bundle/config +2 -0
  4. package/template/Gemfile +4 -0
  5. package/template/Gulpfile.js +31 -30
  6. package/template/_eslintrc.js +3 -3
  7. package/template/_gitignore +12 -11
  8. package/template/_package-lock.json +34387 -27128
  9. package/template/_prettierrc.js +2 -2
  10. package/template/agora-rn-uikit/.eslintrc.js +5 -0
  11. package/template/agora-rn-uikit/package-lock.json +25024 -0
  12. package/template/agora-rn-uikit/package.json +14 -14
  13. package/template/agora-rn-uikit/src/AgoraUIKit.tsx +6 -6
  14. package/template/agora-rn-uikit/src/Contexts/ContentContext.tsx +10 -0
  15. package/template/agora-rn-uikit/src/Contexts/DispatchContext.tsx +22 -0
  16. package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +10 -6
  17. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +98 -37
  18. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +27 -16
  19. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +31 -26
  20. package/template/agora-rn-uikit/src/Controls/Icons.ts +81 -83
  21. package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
  22. package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -4
  23. package/template/agora-rn-uikit/src/Controls/Local/FullScreen.tsx +3 -1
  24. package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +5 -2
  25. package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +5 -2
  26. package/template/agora-rn-uikit/src/Controls/Local/Recording.tsx +0 -2
  27. package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +7 -6
  28. package/template/agora-rn-uikit/src/Controls/LocalControls.tsx +5 -5
  29. package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +5 -4
  30. package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +3 -1
  31. package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +5 -4
  32. package/template/agora-rn-uikit/src/Controls/RemoteControls.tsx +2 -2
  33. package/template/agora-rn-uikit/src/Reducer/ActiveSpeaker.ts +30 -0
  34. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +8 -6
  35. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +8 -6
  36. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +23 -0
  37. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +7 -7
  38. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +9 -8
  39. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +7 -7
  40. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +24 -14
  41. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +6 -6
  42. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +6 -6
  43. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +14 -5
  44. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +28 -0
  45. package/template/agora-rn-uikit/src/Reducer/UserSecondaryPin.ts +23 -0
  46. package/template/agora-rn-uikit/src/Reducer/index.ts +4 -0
  47. package/template/agora-rn-uikit/src/Rtc/Create.tsx +197 -66
  48. package/template/agora-rn-uikit/src/Rtc/Join.tsx +60 -33
  49. package/template/agora-rn-uikit/src/RtcConfigure.tsx +194 -57
  50. package/template/agora-rn-uikit/src/Utils/isBotUser.ts +15 -0
  51. package/template/agora-rn-uikit/src/Utils/quality.tsx +8 -0
  52. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +67 -13
  53. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +53 -17
  54. package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +19 -11
  55. package/template/agora-rn-uikit/src/index.ts +19 -10
  56. package/template/android/app/build.gradle +67 -155
  57. package/template/android/app/src/debug/AndroidManifest.xml +6 -1
  58. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +7 -4
  59. package/template/android/app/src/main/AndroidManifest.xml +21 -27
  60. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  61. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  62. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +67 -0
  63. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +22 -36
  64. package/template/android/app/src/main/java/com/helloworld/SSLPinningFactory.java +30 -0
  65. package/template/android/app/src/main/res/values/colors.xml +7 -0
  66. package/template/android/app/src/main/res/values/strings.xml +3 -0
  67. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
  68. package/template/android/build.gradle +20 -31
  69. package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  70. package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -2
  71. package/template/android/gradle.properties +18 -4
  72. package/template/android/gradlew +165 -104
  73. package/template/android/gradlew.bat +12 -23
  74. package/template/android/link-assets-manifest.json +13 -0
  75. package/template/android/settings.gradle +1 -0
  76. package/template/babel.config.js +1 -0
  77. package/template/bridge/rtc/webNg/RtcEngine.ts +940 -98
  78. package/template/bridge/rtc/webNg/{SurfaceView.tsx → RtcSurfaceView.tsx} +20 -27
  79. package/template/bridge/rtc/webNg/Types.ts +20 -5
  80. package/template/bridge/rtc/webNg/index.ts +81 -14
  81. package/template/bridge/rtm/web/index.ts +86 -35
  82. package/template/configTransform.js +16 -1
  83. package/template/customization-api/action-library.ts +4 -16
  84. package/template/customization-api/app-state.ts +18 -8
  85. package/template/customization-api/atoms.ts +8 -0
  86. package/template/customization-api/customEvents.ts +7 -2
  87. package/template/customization-api/customize.ts +30 -11
  88. package/template/customization-api/index.ts +5 -0
  89. package/template/customization-api/sub-components.ts +43 -18
  90. package/template/customization-api/temp.ts +51 -0
  91. package/template/customization-api/typeDefinition.ts +65 -49
  92. package/template/customization-api/types.ts +48 -0
  93. package/template/customization-api/utils.ts +19 -1
  94. package/template/customization-implementation/createHook.ts +24 -6
  95. package/template/customization-implementation/index.ts +1 -2
  96. package/template/customization-implementation/useCustomization.tsx +5 -7
  97. package/template/defaultConfig.js +84 -0
  98. package/template/electron/index.html +27 -27
  99. package/template/electron/renderer/index.js +1 -0
  100. package/template/global.d.ts +97 -6
  101. package/template/index.js +18 -1
  102. package/template/index.rsdk.tsx +1 -0
  103. package/template/index.web.js +1 -0
  104. package/template/index.wsdk.tsx +2 -13
  105. package/template/ios/.xcode.env +11 -0
  106. package/template/ios/HelloWorld/AppDelegate.h +2 -4
  107. package/template/ios/HelloWorld/AppDelegate.mm +64 -0
  108. package/template/ios/HelloWorld/HelloWorldDebug.entitlements +10 -0
  109. package/template/ios/HelloWorld/Info.plist +20 -1
  110. package/template/ios/HelloWorld/main.m +2 -1
  111. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +596 -11
  112. package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  113. package/template/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/ScreenSharing.xcscheme +95 -0
  114. package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
  115. package/template/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  116. package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
  117. package/template/ios/HelloWorldTests/Info.plist +2 -2
  118. package/template/ios/Podfile +54 -20
  119. package/template/ios/Podfile.lock +975 -0
  120. package/template/ios/ScreenSharing/Info.plist +15 -0
  121. package/template/ios/ScreenSharing/SampleHandler.h +5 -0
  122. package/template/ios/ScreenSharing/SampleHandler.m +39 -0
  123. package/template/ios/link-assets-manifest.json +13 -0
  124. package/template/jest.config.js +4 -0
  125. package/template/metro.config.js +7 -32
  126. package/template/package-lock.json +57746 -0
  127. package/template/package.json +71 -35
  128. package/template/react-native-toast-message/index.d.ts +46 -44
  129. package/template/react-native-toast-message/index.js +1 -0
  130. package/template/react-native-toast-message/package-lock.json +10553 -0
  131. package/template/react-native-toast-message/src/colors/index.js +3 -2
  132. package/template/react-native-toast-message/src/components/base/index.js +38 -63
  133. package/template/react-native-toast-message/src/components/base/styles.js +20 -39
  134. package/template/react-native-toast-message/src/components/checkbox.js +183 -0
  135. package/template/react-native-toast-message/src/components/error.js +3 -2
  136. package/template/react-native-toast-message/src/components/info.js +3 -2
  137. package/template/react-native-toast-message/src/components/success.js +3 -2
  138. package/template/react-native-toast-message/src/index.js +125 -32
  139. package/template/react-native-toast-message/src/index.sdk.tsx +129 -36
  140. package/template/react-native-toast-message/src/styles.js +3 -4
  141. package/template/react-native-toast-message/src/styles.sdk.ts +3 -4
  142. package/template/react-native.config.js +7 -0
  143. package/template/src/App.tsx +53 -63
  144. package/template/src/AppRoutes.tsx +101 -0
  145. package/template/src/AppWrapper.tsx +83 -29
  146. package/template/src/SDKAppWrapper.tsx +145 -58
  147. package/template/src/app-state/useBeautyEffects.ts +30 -0
  148. package/template/src/app-state/useLocalUserInfo.ts +3 -3
  149. package/template/src/app-state/useMessages.ts +49 -9
  150. package/template/src/app-state/useNoiseSupression.native.tsx +73 -0
  151. package/template/src/app-state/useNoiseSupression.tsx +151 -0
  152. package/template/src/app-state/useVideoQuality.tsx +182 -0
  153. package/template/src/app-state/useVirtualBackground.ts +152 -0
  154. package/template/src/assets/font-styles.css +677 -0
  155. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  156. package/template/src/assets/fonts/icomoon.ttf +0 -0
  157. package/template/src/assets/permission.png +0 -0
  158. package/template/src/assets/selection.json +3491 -0
  159. package/template/src/atoms/ActionMenu.tsx +326 -0
  160. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +71 -0
  161. package/template/src/atoms/AnimatedActiveSpeaker.tsx +84 -0
  162. package/template/src/atoms/AnimatedRings.native.tsx +68 -0
  163. package/template/src/atoms/AnimatedRings.tsx +70 -0
  164. package/template/src/atoms/Avatar.tsx +51 -0
  165. package/template/src/atoms/Card.tsx +74 -0
  166. package/template/src/atoms/Carousel.native.tsx +105 -0
  167. package/template/src/atoms/Carousel.tsx +109 -0
  168. package/template/src/atoms/Checkbox.tsx +98 -0
  169. package/template/src/atoms/CircularProgress.native.tsx +121 -0
  170. package/template/src/atoms/CircularProgress.tsx +101 -0
  171. package/template/src/atoms/ClipboardIconButton.tsx +91 -0
  172. package/template/src/atoms/CustomIcon.tsx +153 -0
  173. package/template/src/atoms/CustomSwitch.tsx +287 -0
  174. package/template/src/atoms/DropDownMulti.tsx +349 -0
  175. package/template/src/atoms/Dropdown.tsx +307 -0
  176. package/template/src/atoms/HorizontalRule.tsx +3 -1
  177. package/template/src/atoms/IconButton.tsx +205 -0
  178. package/template/src/atoms/ImageIcon.tsx +127 -0
  179. package/template/src/atoms/InfoBubble.tsx +291 -0
  180. package/template/src/atoms/InlineNotification.tsx +81 -0
  181. package/template/src/atoms/InlinePopup.tsx +185 -0
  182. package/template/src/atoms/Input.tsx +87 -0
  183. package/template/src/atoms/InviteInfo.tsx +166 -0
  184. package/template/src/atoms/LinkButton.tsx +29 -0
  185. package/template/src/atoms/MeetingLink.tsx +160 -0
  186. package/template/src/atoms/OutlineButton.tsx +61 -0
  187. package/template/src/atoms/ParticipantsCount.tsx +78 -0
  188. package/template/src/atoms/Popup.tsx +178 -0
  189. package/template/src/atoms/PrimaryButton.tsx +65 -26
  190. package/template/src/atoms/RecordingInfo.tsx +47 -0
  191. package/template/src/atoms/SecondaryButton.tsx +10 -5
  192. package/template/src/atoms/Spacer.tsx +23 -0
  193. package/template/src/atoms/TertiaryButton.tsx +108 -0
  194. package/template/src/atoms/TextInput.tsx +13 -14
  195. package/template/src/atoms/Toggle.tsx +47 -0
  196. package/template/src/atoms/Toolbar.tsx +94 -0
  197. package/template/src/atoms/ToolbarItem.tsx +99 -0
  198. package/template/src/atoms/ToolbarMenu.tsx +40 -0
  199. package/template/src/atoms/ToolbarMenuItem.tsx +104 -0
  200. package/template/src/atoms/ToolbarPreset.tsx +147 -0
  201. package/template/src/atoms/Tooltip.native.tsx +65 -0
  202. package/template/src/atoms/Tooltip.tsx +111 -0
  203. package/template/src/atoms/UserAvatar.tsx +60 -0
  204. package/template/src/atoms/pagination/Pagination.tsx +127 -0
  205. package/template/src/atoms/pagination/usePagination.tsx +88 -0
  206. package/template/src/auth/AuthProvider.tsx +710 -0
  207. package/template/src/auth/AuthRoute.tsx +94 -0
  208. package/template/src/auth/IDPAuth.electron.tsx +32 -0
  209. package/template/src/auth/IDPAuth.tsx +73 -0
  210. package/template/src/auth/IDPLogoutComponent.tsx +158 -0
  211. package/template/src/auth/UserCancelPopup.tsx +115 -0
  212. package/template/src/auth/config.ts +53 -0
  213. package/template/src/auth/openIDPURL.electron.tsx +39 -0
  214. package/template/src/auth/openIDPURL.native.tsx +62 -0
  215. package/template/src/auth/openIDPURL.tsx +20 -0
  216. package/template/src/auth/useIDPAuth.electron.tsx +125 -0
  217. package/template/src/auth/useIDPAuth.native.tsx +130 -0
  218. package/template/src/auth/useIDPAuth.tsx +124 -0
  219. package/template/src/auth/useTokenAuth.tsx +267 -0
  220. package/template/src/components/Chat.tsx +177 -279
  221. package/template/src/components/ChatContext.ts +22 -1
  222. package/template/src/components/ColorConfigure.tsx +1 -2
  223. package/template/src/components/ColorContext.ts +1 -1
  224. package/template/src/components/CommonStyles.ts +51 -0
  225. package/template/src/components/Controls.tsx +1275 -108
  226. package/template/src/components/{Controls.native.tsx → Controls1.native.tsx} +15 -9
  227. package/template/src/components/CustomSidePanel.tsx +82 -0
  228. package/template/src/components/DeviceConfigure.native.tsx +2 -2
  229. package/template/src/components/DeviceConfigure.tsx +789 -122
  230. package/template/src/components/DeviceContext.tsx +10 -4
  231. package/template/src/components/EventsConfigure.tsx +773 -12
  232. package/template/src/components/GraphQLProvider.tsx +83 -37
  233. package/template/src/components/GridVideo.tsx +86 -53
  234. package/template/src/components/HostControlView.tsx +118 -42
  235. package/template/src/components/JoinPhrase.tsx +0 -1
  236. package/template/src/components/Leftbar.tsx +129 -0
  237. package/template/src/components/Navbar.tsx +469 -488
  238. package/template/src/components/NavbarMobile.tsx +138 -0
  239. package/template/src/components/Navigation.native.tsx +1 -14
  240. package/template/src/components/{Settings.native.tsx → Navigation.sdk.tsx} +17 -6
  241. package/template/src/components/NetworkQualityContext.tsx +32 -26
  242. package/template/src/components/ParticipantsView.tsx +195 -165
  243. package/template/src/components/PinnedVideo.tsx +317 -122
  244. package/template/src/components/Precall.native.tsx +472 -116
  245. package/template/src/components/Precall.tsx +493 -154
  246. package/template/src/components/RTMConfigure.tsx +477 -83
  247. package/template/src/components/Rightbar.tsx +129 -0
  248. package/template/src/components/Router.electron.ts +2 -0
  249. package/template/src/components/Router.native.ts +2 -0
  250. package/template/src/components/Router.sdk.ts +2 -0
  251. package/template/src/components/Router.ts +2 -0
  252. package/template/src/components/SdkApiContext.tsx +319 -0
  253. package/template/src/components/SdkMuteToggleListener.tsx +88 -0
  254. package/template/src/components/SessionContext.tsx +0 -1
  255. package/template/src/components/Settings.tsx +51 -114
  256. package/template/src/components/SettingsView.tsx +293 -54
  257. package/template/src/components/Share.tsx +415 -297
  258. package/template/src/components/StorageContext.tsx +82 -7
  259. package/template/src/components/ToastComponent.tsx +17 -0
  260. package/template/src/components/WhiteboardLayout.tsx +291 -0
  261. package/template/src/components/beauty-effect/useBeautyEffects.native.tsx +119 -0
  262. package/template/src/components/beauty-effect/useBeautyEffects.tsx +152 -0
  263. package/template/src/components/chat/chatConfigure.native.tsx +511 -0
  264. package/template/src/components/chat/chatConfigure.tsx +529 -0
  265. package/template/src/components/chat-messages/useChatMessages.tsx +513 -386
  266. package/template/src/components/chat-ui/useChatUIControls.tsx +132 -0
  267. package/template/src/components/common/Error.tsx +36 -6
  268. package/template/src/components/common/Logo.tsx +16 -15
  269. package/template/src/components/contexts/LiveStreamDataContext.tsx +23 -17
  270. package/template/src/components/contexts/ScreenShareContext.tsx +15 -1
  271. package/template/src/components/contexts/VideoMeetingDataContext.tsx +41 -11
  272. package/template/src/components/contexts/WaitingRoomContext.tsx +61 -0
  273. package/template/src/components/contexts/WhiteboardContext.tsx +54 -54
  274. package/template/src/components/disable-chat/useDisableChat.tsx +32 -0
  275. package/template/src/components/livestream/LiveStreamContext.tsx +493 -165
  276. package/template/src/components/livestream/Types.ts +58 -17
  277. package/template/src/components/livestream/index.ts +1 -0
  278. package/template/src/components/livestream/views/LiveStreamAttendeeLandingTile.tsx +295 -0
  279. package/template/src/components/livestream/views/LiveStreamControls.tsx +8 -4
  280. package/template/src/components/meeting-info-invite/MeetingInfo.tsx +82 -0
  281. package/template/src/components/meeting-info-invite/MeetingInfoCardHeader.tsx +86 -0
  282. package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +221 -0
  283. package/template/src/components/meeting-info-invite/MeetingInfoLinks.tsx +122 -0
  284. package/template/src/components/participants/AllAudienceParticipants.tsx +105 -35
  285. package/template/src/components/participants/AllHostParticipants.tsx +108 -38
  286. package/template/src/components/participants/Participant.tsx +330 -0
  287. package/template/src/components/participants/ParticipantName.tsx +13 -7
  288. package/template/src/components/participants/ParticipantSectionTitle.tsx +38 -10
  289. package/template/src/components/participants/ScreenshareParticipants.tsx +142 -12
  290. package/template/src/components/participants/UserActionMenuOptions.tsx +510 -0
  291. package/template/src/components/participants/WaitingRoomParticipants.tsx +74 -0
  292. package/template/src/components/popups/InvitePopup.tsx +196 -0
  293. package/template/src/components/popups/StartScreenSharePopup.native.tsx +182 -0
  294. package/template/src/components/popups/StartScreenSharePopup.tsx +6 -0
  295. package/template/src/components/popups/StopRecordingPopup.tsx +120 -0
  296. package/template/src/components/popups/StopScreenSharePopup.native.tsx +135 -0
  297. package/template/src/components/popups/StopScreenSharePopup.tsx +6 -0
  298. package/template/src/components/popups/WhiteboardClearAllPopup.tsx +123 -0
  299. package/template/src/components/precall/LocalMute.tsx +109 -15
  300. package/template/src/components/precall/{LocalMute.native.tsx → LocalMute1.native.tsx} +21 -5
  301. package/template/src/components/precall/PermissionHelper.native.tsx +5 -0
  302. package/template/src/components/precall/PermissionHelper.tsx +154 -0
  303. package/template/src/components/precall/PreCallSettings.tsx +53 -0
  304. package/template/src/components/precall/VideoFallback.tsx +173 -0
  305. package/template/src/components/precall/VideoPreview.native.tsx +19 -8
  306. package/template/src/components/precall/VideoPreview.tsx +28 -7
  307. package/template/src/components/precall/index.tsx +2 -0
  308. package/template/src/components/precall/joinCallBtn.native.tsx +12 -5
  309. package/template/src/components/precall/joinCallBtn.tsx +34 -6
  310. package/template/src/components/precall/joinWaitingRoomBtn.native.tsx +215 -0
  311. package/template/src/components/precall/joinWaitingRoomBtn.tsx +255 -0
  312. package/template/src/components/precall/meetingTitle.tsx +42 -13
  313. package/template/src/components/precall/selectDevice.tsx +5 -25
  314. package/template/src/components/precall/textInput.tsx +40 -14
  315. package/template/src/components/precall/usePreCall.tsx +66 -2
  316. package/template/src/components/recording-bot/RecordingBotRoute.tsx +48 -0
  317. package/template/src/components/recordings/RecordingsDateTable.tsx +62 -0
  318. package/template/src/components/recordings/RecordingsModal.tsx +135 -0
  319. package/template/src/components/recordings/ViewRecordingsModal.tsx +51 -0
  320. package/template/src/components/recordings/recording-table.tsx +250 -0
  321. package/template/src/components/recordings/style.ts +238 -0
  322. package/template/src/components/recordings/utils.ts +122 -0
  323. package/template/src/components/room-info/useRoomInfo.tsx +142 -0
  324. package/template/src/components/{meeting-info/useSetMeetingInfo.tsx → room-info/useSetRoomInfo.tsx} +12 -12
  325. package/template/src/components/styles.ts +42 -21
  326. package/template/src/components/useShareLink.tsx +33 -70
  327. package/template/src/{utils/useButtonTemplate.tsx → components/useToast.tsx} +18 -20
  328. package/template/src/components/useUserPreference.tsx +157 -16
  329. package/template/src/components/useVideoCall.tsx +157 -0
  330. package/template/src/components/useWakeLock.tsx +18 -4
  331. package/template/src/components/virtual-background/VBButton.tsx +62 -0
  332. package/template/src/components/virtual-background/VBCard.native.tsx +280 -0
  333. package/template/src/components/virtual-background/VBCard.tsx +308 -0
  334. package/template/src/components/virtual-background/VBPanel.tsx +282 -0
  335. package/template/src/components/virtual-background/VButils.native.ts +72 -0
  336. package/template/src/components/virtual-background/VButils.ts +144 -0
  337. package/template/src/components/virtual-background/VideoPreview.native.tsx +43 -0
  338. package/template/src/components/virtual-background/VideoPreview.tsx +116 -0
  339. package/template/src/components/virtual-background/imagePaths.ts +82 -0
  340. package/template/src/components/virtual-background/images/beachImageBase64.ts +1 -0
  341. package/template/src/components/virtual-background/images/bedroomImageBase64.ts +1 -0
  342. package/template/src/components/virtual-background/images/bookImageBase64.ts +1 -0
  343. package/template/src/components/virtual-background/images/earthImageBase64.ts +1 -0
  344. package/template/src/components/virtual-background/images/index.ts +37 -0
  345. package/template/src/components/virtual-background/images/lampImageBase64.ts +1 -0
  346. package/template/src/components/virtual-background/images/mountainsImageBase64.ts +1 -0
  347. package/template/src/components/virtual-background/images/office1ImageBase64.ts +1 -0
  348. package/template/src/components/virtual-background/images/officeImageBase64.ts +1 -0
  349. package/template/src/components/virtual-background/images/plantsImageBase64.ts +1 -0
  350. package/template/src/components/virtual-background/images/skyImageBase64.ts +1 -0
  351. package/template/src/components/virtual-background/images/wallImageBase64.ts +1 -0
  352. package/template/src/components/virtual-background/useVB.native.tsx +205 -0
  353. package/template/src/components/virtual-background/useVB.tsx +294 -0
  354. package/template/src/components/whiteboard/StrokeWidthTool.tsx +137 -0
  355. package/template/src/components/whiteboard/WhiteboardButton.tsx +93 -0
  356. package/template/src/components/whiteboard/WhiteboardCanvas.tsx +99 -0
  357. package/template/src/components/whiteboard/WhiteboardConfigure.native.tsx +148 -0
  358. package/template/src/components/whiteboard/WhiteboardConfigure.tsx +473 -0
  359. package/template/src/components/whiteboard/WhiteboardCursor.tsx +152 -0
  360. package/template/src/components/whiteboard/WhiteboardToolBox.tsx +1448 -0
  361. package/template/src/components/whiteboard/WhiteboardView.native.tsx +212 -0
  362. package/template/src/components/whiteboard/WhiteboardView.tsx +81 -0
  363. package/template/src/components/whiteboard/WhiteboardWidget.tsx +729 -0
  364. package/template/src/components/whiteboard/WhiteboardWrapper.tsx +38 -0
  365. package/template/src/language/default-labels/commonLabels.ts +51 -14
  366. package/template/src/language/default-labels/createScreenLabels.ts +97 -17
  367. package/template/src/language/default-labels/joinScreenLabels.ts +45 -6
  368. package/template/src/language/default-labels/precallScreenLabels.ts +158 -25
  369. package/template/src/language/default-labels/shareLinkScreenLabels.ts +85 -37
  370. package/template/src/language/default-labels/videoCallScreenLabels.ts +1290 -158
  371. package/template/src/language/i18nTypes.ts +1 -1
  372. package/template/src/language/useLanguage.tsx +10 -4
  373. package/template/src/logger/AppBuilderLogger.tsx +313 -0
  374. package/template/src/logger/constants.ts +18 -0
  375. package/template/src/logger/transports/agora-transport.native.ts +64 -0
  376. package/template/src/logger/transports/agora-transport.ts +36 -0
  377. package/template/src/logger/transports/customer-transport.ts +162 -0
  378. package/template/src/pages/Authenticate.tsx +5 -15
  379. package/template/src/pages/Create.tsx +394 -202
  380. package/template/src/pages/Endcall.tsx +153 -0
  381. package/template/src/pages/Join.tsx +188 -78
  382. package/template/src/pages/Login.tsx +26 -0
  383. package/template/src/pages/VideoCall.tsx +381 -130
  384. package/template/src/pages/video-call/ActionSheet.native.tsx +343 -0
  385. package/template/src/pages/video-call/ActionSheet.tsx +349 -0
  386. package/template/src/pages/video-call/ActionSheetContent.tsx +655 -0
  387. package/template/src/pages/video-call/ActionSheetHandle.tsx +54 -0
  388. package/template/src/pages/video-call/ActionSheetStyles.css +138 -0
  389. package/template/src/pages/video-call/DefaultLayouts.ts +32 -12
  390. package/template/src/pages/video-call/NameWithMicIcon.tsx +104 -51
  391. package/template/src/pages/video-call/PinchableView.tsx +119 -0
  392. package/template/src/pages/video-call/RenderComponent.tsx +16 -31
  393. package/template/src/pages/video-call/SidePanelHeader.tsx +424 -0
  394. package/template/src/pages/video-call/VideoCallMobileView.tsx +299 -0
  395. package/template/src/pages/video-call/VideoCallScreen.native.tsx +38 -0
  396. package/template/src/pages/video-call/VideoCallScreen.tsx +379 -74
  397. package/template/src/pages/video-call/VideoCallScreenWrapper.tsx +51 -0
  398. package/template/src/pages/video-call/VideoComponent.tsx +81 -6
  399. package/template/src/pages/video-call/VideoRenderer.tsx +525 -63
  400. package/template/src/pages/video-call/VisibilitySensor.tsx +104 -0
  401. package/template/src/pages/video-call/ZoomableWrapper.native.tsx +34 -0
  402. package/template/src/pages/video-call/ZoomableWrapper.tsx +5 -0
  403. package/template/src/pages/video-call/index.ts +51 -7
  404. package/template/src/rtm/RTMEngine.ts +22 -4
  405. package/template/src/rtm-events/constants.ts +26 -9
  406. package/template/src/rtm-events-api/Events.ts +114 -23
  407. package/template/src/rtm-events-api/LocalEvents.ts +15 -0
  408. package/template/src/rtm-events-api/types.ts +10 -5
  409. package/template/src/selection.json +1 -0
  410. package/template/src/subComponents/BlockUI.tsx +70 -0
  411. package/template/src/subComponents/ChatBubble.tsx +413 -96
  412. package/template/src/subComponents/ChatContainer.tsx +305 -101
  413. package/template/src/subComponents/ChatInput.native.tsx +269 -0
  414. package/template/src/subComponents/ChatInput.tsx +308 -156
  415. package/template/src/subComponents/Checkbox.native.tsx +46 -35
  416. package/template/src/subComponents/Checkbox.tsx +9 -8
  417. package/template/src/subComponents/CopyJoinInfo.tsx +52 -62
  418. package/template/src/subComponents/EndcallPopup.tsx +182 -0
  419. package/template/src/subComponents/FallbackLogo.tsx +122 -40
  420. package/template/src/subComponents/LanguageSelector.tsx +35 -31
  421. package/template/src/subComponents/LayoutIconButton.tsx +210 -0
  422. package/template/src/subComponents/LayoutIconDropdown.tsx +149 -133
  423. package/template/src/subComponents/{LayoutIconDropdown.native.tsx → LayoutIconDropdown1.native.tsx} +4 -18
  424. package/template/src/subComponents/Loading.tsx +60 -0
  425. package/template/src/subComponents/LocalAudioMute.tsx +181 -30
  426. package/template/src/subComponents/LocalEndCall.tsx +118 -36
  427. package/template/src/subComponents/LocalSwitchCamera.tsx +72 -40
  428. package/template/src/subComponents/LocalVideoMute.tsx +177 -30
  429. package/template/src/subComponents/Logo.tsx +3 -4
  430. package/template/src/subComponents/LogoutButton.tsx +2 -2
  431. package/template/src/subComponents/NetworkQualityPill.tsx +65 -84
  432. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  433. package/template/src/subComponents/Recording.tsx +44 -31
  434. package/template/src/subComponents/RemoteAudioMute.tsx +83 -29
  435. package/template/src/subComponents/RemoteEndCall.tsx +8 -5
  436. package/template/src/subComponents/RemoteMutePopup.tsx +115 -0
  437. package/template/src/subComponents/RemoteVideoMute.tsx +74 -21
  438. package/template/src/subComponents/RemoveMeetingPopup.tsx +122 -0
  439. package/template/src/subComponents/RemoveScreensharePopup.tsx +124 -0
  440. package/template/src/subComponents/ScreenShareNotice.tsx +95 -12
  441. package/template/src/subComponents/SelectDevice.tsx +548 -66
  442. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +210 -0
  443. package/template/src/subComponents/SelectOAuth.tsx +9 -8
  444. package/template/src/subComponents/SidePanelButtons.ts +0 -3
  445. package/template/src/subComponents/SidePanelEnum.tsx +6 -4
  446. package/template/src/subComponents/SidePanelHeader.tsx +146 -0
  447. package/template/src/subComponents/ToastConfig.tsx +160 -11
  448. package/template/src/subComponents/caption/Caption.tsx +132 -0
  449. package/template/src/subComponents/caption/CaptionContainer.tsx +331 -0
  450. package/template/src/subComponents/caption/CaptionIcon.tsx +115 -0
  451. package/template/src/subComponents/caption/CaptionText.tsx +182 -0
  452. package/template/src/subComponents/caption/DownloadTranscriptBtn.tsx +65 -0
  453. package/template/src/subComponents/caption/LanguageSelectorPopup.tsx +192 -0
  454. package/template/src/subComponents/caption/Transcript.tsx +452 -0
  455. package/template/src/subComponents/caption/TranscriptIcon.tsx +126 -0
  456. package/template/src/subComponents/caption/TranscriptText.tsx +98 -0
  457. package/template/src/subComponents/caption/index.ts +3 -0
  458. package/template/src/subComponents/caption/proto/ptoto.js +91 -0
  459. package/template/src/subComponents/caption/proto/test.proto +23 -0
  460. package/template/src/subComponents/caption/useCaption.tsx +123 -0
  461. package/template/src/subComponents/caption/useCaptionWidth.ts +27 -0
  462. package/template/src/subComponents/caption/useSTTAPI.tsx +275 -0
  463. package/template/src/subComponents/caption/useStreamMessageUtils.native.ts +211 -0
  464. package/template/src/subComponents/caption/useStreamMessageUtils.ts +235 -0
  465. package/template/src/subComponents/caption/useTranscriptDownload.native.ts +93 -0
  466. package/template/src/subComponents/caption/useTranscriptDownload.ts +62 -0
  467. package/template/src/subComponents/caption/utils.ts +126 -0
  468. package/template/src/subComponents/chat/ChatActionMenu.tsx +224 -0
  469. package/template/src/subComponents/chat/ChatAttachment.native.tsx +237 -0
  470. package/template/src/subComponents/chat/ChatAttachment.tsx +205 -0
  471. package/template/src/subComponents/chat/ChatEmoji.native.tsx +75 -0
  472. package/template/src/subComponents/chat/ChatEmoji.tsx +182 -0
  473. package/template/src/subComponents/chat/ChatParticipants.tsx +232 -81
  474. package/template/src/subComponents/chat/ChatSendButton.tsx +209 -0
  475. package/template/src/subComponents/chat/ChatUploadStatus.tsx +84 -0
  476. package/template/src/subComponents/chat/ImagePopup.tsx +400 -0
  477. package/template/src/subComponents/livestream/ApprovedLiveStreamControlsView.tsx +2 -2
  478. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +109 -47
  479. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +61 -45
  480. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +9 -8
  481. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +29 -12
  482. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +33 -17
  483. package/template/src/subComponents/recording/useIsRecordingBot.tsx +76 -0
  484. package/template/src/subComponents/recording/useRecording.tsx +761 -108
  485. package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +93 -9
  486. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +82 -75
  487. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +494 -78
  488. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +247 -110
  489. package/template/src/subComponents/screenshare/useScreenshare.tsx +6 -4
  490. package/template/src/subComponents/waiting-rooms/WaitingRoomControls.tsx +85 -0
  491. package/template/src/subComponents/waiting-rooms/useWaitingRoomAPI.ts +126 -0
  492. package/template/src/theme/index.ts +59 -0
  493. package/template/src/utils/PlatformWrapper.tsx +21 -0
  494. package/template/src/utils/SdkEvents.ts +37 -14
  495. package/template/src/utils/SdkMethodEvents.ts +105 -0
  496. package/template/src/utils/axiomLogger.ts +122 -0
  497. package/template/src/utils/book.jpg +0 -0
  498. package/template/src/utils/common.tsx +350 -7
  499. package/template/src/utils/constants.ts +4 -0
  500. package/template/src/utils/fetch-retry.ts +23 -0
  501. package/template/src/utils/getCustomRoute.ts +7 -0
  502. package/template/src/utils/hexadecimalTransparency.ts +108 -0
  503. package/template/src/utils/index.tsx +83 -0
  504. package/template/src/utils/isMobileOrTablet.ts +7 -2
  505. package/template/src/utils/pendingStateUpdateHelper.ts +19 -0
  506. package/template/src/utils/useActionSheet.tsx +50 -0
  507. package/template/src/utils/useActiveSpeaker.ts +38 -0
  508. package/template/src/utils/useAppState.ts +17 -0
  509. package/template/src/utils/useAsyncEffect.ts +138 -0
  510. package/template/src/utils/useCreateRoom.ts +152 -0
  511. package/template/src/utils/useEndCall.ts +74 -0
  512. package/template/src/utils/useFindActiveSpeaker.native.ts +4 -0
  513. package/template/src/utils/useFindActiveSpeaker.ts +373 -0
  514. package/template/src/utils/useFocus.tsx +51 -0
  515. package/template/src/utils/useFullScreen.native.ts +12 -0
  516. package/template/src/utils/useFullScreen.ts +161 -0
  517. package/template/src/utils/useGetMeetingPhrase.ts +61 -10
  518. package/template/src/utils/useIsAudioEnabled.ts +3 -3
  519. package/template/src/utils/useIsHandRaised.ts +13 -0
  520. package/template/src/utils/useIsLocalUserSpeaking.native.ts +4 -0
  521. package/template/src/utils/useIsLocalUserSpeaking.ts +119 -0
  522. package/template/src/utils/useIsPSTN.ts +3 -3
  523. package/template/src/utils/useIsVideoEnabled.ts +3 -3
  524. package/template/src/utils/useJoinRoom.ts +304 -0
  525. package/template/src/utils/useLayout.tsx +9 -3
  526. package/template/src/utils/useLocalAudio.ts +69 -0
  527. package/template/src/utils/useLocalVideo.ts +69 -0
  528. package/template/src/{subComponents/screenshare/ScreenshareButton.native.tsx → utils/useMenu.tsx} +16 -3
  529. package/template/src/utils/useModal.tsx +8 -0
  530. package/template/src/utils/useMutePSTN.ts +45 -2
  531. package/template/src/utils/useMuteToggleLocal.ts +125 -49
  532. package/template/src/utils/useOrientation.native.tsx +3 -0
  533. package/template/src/utils/useOrientation.tsx +59 -0
  534. package/template/src/utils/useRemoteEndCall.ts +4 -4
  535. package/template/src/utils/useRemoteEndScreenshare.ts +26 -0
  536. package/template/src/utils/useRemoteMute.ts +7 -7
  537. package/template/src/utils/useRemoteRequest.ts +84 -0
  538. package/template/src/utils/useSearchParams.tsx +28 -0
  539. package/template/src/utils/useSidePanel.tsx +16 -5
  540. package/template/src/utils/useSpeechToText.ts +102 -0
  541. package/template/src/utils/useString.ts +19 -7
  542. package/template/src/utils/useSwitchCamera.native.tsx +25 -0
  543. package/template/src/utils/useSwitchCamera.tsx +19 -0
  544. package/template/src/utils/useToolbar.tsx +59 -0
  545. package/template/src/wasms/agora-virtual-background.wasm +0 -0
  546. package/template/static.d.ts +42 -0
  547. package/template/tsconfig_rsdk_index.json +3 -3
  548. package/template/tsconfig_wsdk_index.json +3 -3
  549. package/template/web/index.html +45 -17
  550. package/template/webpack.commons.js +16 -0
  551. package/template/webpack.rsdk.config.js +1 -2
  552. package/template/webpack.web.config.js +8 -3
  553. package/template/_buckconfig +0 -6
  554. package/template/_gitattributes +0 -1
  555. package/template/agora-rn-uikit/src/Contexts/RenderContext.tsx +0 -10
  556. package/template/android/app/_BUCK +0 -55
  557. package/template/android/app/build_defs.bzl +0 -19
  558. package/template/bridge/rtc/webNg/LocalView.tsx +0 -20
  559. package/template/ios/HelloWorld/AppDelegate.m +0 -74
  560. package/template/src/assets/icons.ts +0 -102
  561. package/template/src/components/OAuth.electron.tsx +0 -40
  562. package/template/src/components/OAuth.native.tsx +0 -53
  563. package/template/src/components/OAuth.tsx +0 -29
  564. package/template/src/components/OAuthConfig.ts +0 -77
  565. package/template/src/components/StoreToken.tsx +0 -38
  566. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -69
  567. package/template/src/components/meeting-info/useMeetingInfo.tsx +0 -70
  568. package/template/src/components/participants/MeParticipant.tsx +0 -38
  569. package/template/src/components/participants/RemoteParticipants.tsx +0 -71
  570. package/template/src/pages/video-call/CustomUserContextHolder.tsx +0 -20
  571. package/template/src/utils/useCreateMeeting.ts +0 -88
  572. package/template/src/utils/useJoinMeeting.ts +0 -132
@@ -0,0 +1,38 @@
1
+ import React, {useContext} from 'react';
2
+ import {whiteboardContext} from './WhiteboardConfigure';
3
+ import VideoRenderer from '../../pages/video-call/VideoRenderer';
4
+ import {useContent} from 'customization-api';
5
+ import WhiteboardView from './WhiteboardView';
6
+
7
+ const WhiteboardWrapper = () => {
8
+ const {getWhiteboardUid} = useContext(whiteboardContext);
9
+ const {customContent, pinnedUid, activeUids} = useContent();
10
+
11
+ if (
12
+ customContent &&
13
+ getWhiteboardUid() &&
14
+ customContent[getWhiteboardUid()]?.uid
15
+ ) {
16
+ return (
17
+ <VideoRenderer
18
+ isMax={
19
+ getWhiteboardUid() === pinnedUid ||
20
+ getWhiteboardUid() === activeUids[0]
21
+ }
22
+ user={{
23
+ uid: customContent[getWhiteboardUid()]?.uid,
24
+ type: 'whiteboard',
25
+ video: 0,
26
+ audio: 0,
27
+ parentUid: undefined,
28
+ name: 'Whiteboard',
29
+ muted: undefined,
30
+ }}
31
+ CustomChild={WhiteboardView}
32
+ />
33
+ );
34
+ }
35
+ return null;
36
+ };
37
+
38
+ export default WhiteboardWrapper;
@@ -1,21 +1,58 @@
1
1
  import {I18nBaseType} from '../i18nTypes';
2
2
 
3
+ export const cancelText = 'cancelText';
4
+ export const loadingText = 'loadingText';
5
+ export const logoutText = 'logoutText';
6
+ export const authLogoutPopupHeading = 'authLogoutPopupHeading';
7
+ export const authLogoutPopupSubHeading = 'authLogoutPopupSubHeading';
8
+ export const authLogoutPopupPrimaryBtnText = 'authLogoutPopupPrimaryBtnText';
9
+ export const authLogInRequiredPopupHeading = 'authLogInRequiredPopupHeading';
10
+ export const authLogInRequiredPopupSubHeading =
11
+ 'authLogInRequiredPopupSubHeading';
12
+ export const authLogInRequiredPopupPrimaryBtnText =
13
+ 'authLogInRequiredPopupPrimaryBtnText';
14
+ export const authLogInRequiredPopupSecondaryBtnText =
15
+ 'authLogInRequiredPopupSecondaryBtnText';
16
+
17
+ export const authSessionTimeoutToastHeading = 'authSessionTimeoutToastHeading';
18
+ export const authErrorOnLoginToastHeading = 'authErrorOnLoginToastHeading';
19
+ export const authAuthenticationFailedText = 'authAuthenticationFailedText';
20
+ export const authAuthorizingApplicationText = 'authAuthorizingApplicationText';
21
+
3
22
  export interface I18nCommonLabelsInterface {
4
- //commented for v1 release
5
- // goBackButton?: I18nBaseType; //
6
- // logoutButton?: I18nBaseType; //
7
- // googleAuthButton?: I18nBaseType; //
8
- // microsoftAuthButton?: I18nBaseType; //
9
- // slackAuthButton?: I18nBaseType; //
10
- // appleAuthButton?: I18nBaseType; //
23
+ [cancelText]?: I18nBaseType;
24
+ [loadingText]?: I18nBaseType;
25
+ [logoutText]?: I18nBaseType;
26
+ [authLogoutPopupHeading]?: I18nBaseType;
27
+ [authLogoutPopupSubHeading]?: I18nBaseType;
28
+ [authLogoutPopupPrimaryBtnText]?: I18nBaseType;
29
+
30
+ [authLogInRequiredPopupHeading]?: I18nBaseType;
31
+ [authLogInRequiredPopupSubHeading]?: I18nBaseType;
32
+ [authLogInRequiredPopupPrimaryBtnText]?: I18nBaseType;
33
+ [authLogInRequiredPopupSecondaryBtnText]?: I18nBaseType;
34
+
35
+ [authSessionTimeoutToastHeading]?: I18nBaseType;
36
+ [authErrorOnLoginToastHeading]?: I18nBaseType;
37
+ [authAuthenticationFailedText]?: I18nBaseType;
38
+ [authAuthorizingApplicationText]?: I18nBaseType;
11
39
  }
12
40
 
13
41
  export const CommonLabels: I18nCommonLabelsInterface = {
14
- //commented for v1 release
15
- // goBackButton: 'Go back',
16
- // logoutButton: 'Logout',
17
- // googleAuthButton: 'Google',
18
- // microsoftAuthButton: 'Microsoft',
19
- // slackAuthButton: 'Slack',
20
- // appleAuthButton: 'Apple',
42
+ [cancelText]: 'CANCEL',
43
+ [loadingText]: 'Loading...',
44
+ [logoutText]: 'Logout',
45
+ [authLogoutPopupHeading]: 'Logout?',
46
+ [authLogoutPopupSubHeading]: 'Are you sure you wanna log out?',
47
+ [authLogoutPopupPrimaryBtnText]: 'CONFIRM',
48
+
49
+ [authLogInRequiredPopupHeading]: 'Login Required',
50
+ [authLogInRequiredPopupSubHeading]: 'Log-in to your organization to contiue',
51
+ [authLogInRequiredPopupPrimaryBtnText]: 'LOGIN',
52
+ [authLogInRequiredPopupSecondaryBtnText]: 'CLOSE APP',
53
+
54
+ [authSessionTimeoutToastHeading]: 'Your session has timed out, Retrying...',
55
+ [authErrorOnLoginToastHeading]: 'Error occured on Login, Please login again.',
56
+ [authAuthenticationFailedText]: 'Authentication failed',
57
+ [authAuthorizingApplicationText]: 'Authorizing app...',
21
58
  };
@@ -1,22 +1,102 @@
1
- import {I18nBaseType, I18nConditionalType} from '../i18nTypes';
1
+ import {I18nBaseType, I18nDynamicType} from '../i18nTypes';
2
+
3
+ export const room = 'Room';
4
+ export const createRoomHeading = `create${room}Heading`;
5
+ export const createRoomInputLabel = `create${room}InputLabel`;
6
+ export const createRoomInputPlaceholderText = `create${room}InputPlaceholderText`;
7
+ export const createRoomMakeEveryOneCoHost = `create${room}MakeEveryOneCoHost`;
8
+ export const createRoomMakeEveryOneCoHostTooltipText = `create${room}MakeEveryOneCoHostTooltipText`;
9
+
10
+ export const createRoomAllowPhoneNumberJoining = `create${room}AllowPhoneNumberJoining`;
11
+ export const createRoomAllowPhoneNumberJoiningTooltipText = `create${room}AllowPhoneNumberJoiningTooltipText`;
12
+
13
+ export const createRoomBtnText = `create${room}BtnText`;
14
+ export const createRoomJoinWithID = `create${room}JoinWithID`;
15
+
16
+ export const createRoomSuccessToastHeading = `create${room}SuccessToastHeading`;
17
+ export const createRoomSuccessToastSubHeading = `create${room}SuccessToastSubHeading`;
18
+
19
+ export const createRoomErrorToastHeading = `create${room}ErrorToastHeading`;
20
+ export const createRoomErrorToastSubHeading = `create${room}ErrorToastSubHeading`;
21
+ // [screen/[sidepanel/chat/setting/vb]] [room or action] [where is placed/label/text/heading/subheading/tooltiptext/content]
22
+ //label for buttons
23
+ //heading/subheading for toast
24
+ //text inside button text
25
+ //text outside button called label
26
+ //btn use chatPanel
27
+ //chatPanelInputPlaceHolder
28
+ //settingPanelHeading
2
29
 
3
30
  export interface I18nCreateScreenLabelsInterface {
4
- meetingNameInputPlaceholder?: I18nBaseType; //
5
- //commented for v1 release
6
- // createMeetingButton?: I18nBaseType; //
7
- // haveMeetingID?: I18nBaseType;
8
- // pstnToggle?: I18nConditionalType; //
9
- // hostControlsToggle?: I18nConditionalType; //
31
+ [createRoomHeading]?: I18nBaseType;
32
+ [createRoomInputLabel]?: I18nBaseType;
33
+ [createRoomInputPlaceholderText]?: I18nBaseType;
34
+ [createRoomMakeEveryOneCoHost]?: I18nBaseType; //
35
+ [createRoomMakeEveryOneCoHostTooltipText]?: I18nBaseType; //
36
+ [createRoomAllowPhoneNumberJoining]?: I18nBaseType; //
37
+ [createRoomAllowPhoneNumberJoiningTooltipText]?: I18nBaseType; //
38
+ [createRoomBtnText]?: I18nBaseType;
39
+ [createRoomJoinWithID]?: I18nBaseType; //
40
+ [createRoomSuccessToastHeading]?: I18nDynamicType; //
41
+ [createRoomSuccessToastSubHeading]?: I18nBaseType; //
42
+ [createRoomErrorToastHeading]?: I18nBaseType; //
43
+ [createRoomErrorToastSubHeading]?: I18nBaseType; //
10
44
  }
11
-
12
45
  export const CreateScreenLabels: I18nCreateScreenLabelsInterface = {
13
- meetingNameInputPlaceholder: 'Name your Meeting',
14
- //commented for v1 release
15
- // createMeetingButton: 'Create Meeting',
16
- // haveMeetingID: 'Have a Meeting ID?',
17
- // pstnToggle: 'Use PSTN (Join by dialing a number)',
18
- // hostControlsToggle: (toggle) =>
19
- // toggle
20
- // ? 'Restrict Host Controls (Separate host link)'
21
- // : 'Restrict Host Controls (Everyone is a Host)',
46
+ [createRoomHeading]: ({eventMode, audioRoom}) => {
47
+ if (audioRoom) {
48
+ if (eventMode) {
49
+ return 'Create a Audio Livecast';
50
+ } else {
51
+ return 'Create a Voice Chat';
52
+ }
53
+ } else {
54
+ if (eventMode) {
55
+ return 'Create a Livestream';
56
+ } else {
57
+ return 'Create a Room';
58
+ }
59
+ }
60
+ },
61
+ [createRoomInputLabel]: ({eventMode, audioRoom}) => {
62
+ if (audioRoom) {
63
+ if (eventMode) {
64
+ return 'Audio Livecast Name';
65
+ } else {
66
+ return 'Voice Chat Name';
67
+ }
68
+ } else {
69
+ if (eventMode) {
70
+ return 'Stream Name';
71
+ } else {
72
+ return 'Room Name';
73
+ }
74
+ }
75
+ },
76
+ [createRoomInputPlaceholderText]: 'The Annual Galactic Meet',
77
+ [createRoomMakeEveryOneCoHost]: 'Make everyone a Co-Host',
78
+ [createRoomMakeEveryOneCoHostTooltipText]:
79
+ 'Turning on will give everyone the control of this room',
80
+ [createRoomAllowPhoneNumberJoining]: 'Allow joining via a phone number',
81
+ [createRoomAllowPhoneNumberJoiningTooltipText]:
82
+ 'Attendees can dial a number and join via PSTN',
83
+ [createRoomBtnText]: ({eventMode, audioRoom}) => {
84
+ if (audioRoom) {
85
+ if (eventMode) {
86
+ return 'CREATE A AUDIO LIVECAST';
87
+ } else {
88
+ return 'CREATE A VOICE CHAT';
89
+ }
90
+ } else {
91
+ if (eventMode) {
92
+ return 'CREATE A STREAM';
93
+ } else {
94
+ return 'CREATE A ROOM';
95
+ }
96
+ }
97
+ },
98
+ [createRoomJoinWithID]: 'Join with a room ID',
99
+ [createRoomSuccessToastHeading]: (meetingName: string) =>
100
+ `${meetingName} has been created`,
101
+ [createRoomSuccessToastSubHeading]: 'Your New room is now live',
22
102
  };
@@ -1,13 +1,52 @@
1
1
  import {I18nBaseType} from '../i18nTypes';
2
+ import {room} from './createScreenLabels';
3
+
4
+ export const joinRoomHeading = `join${room}Heading`;
5
+ export const joinRoomInputLabel = `join${room}InputLabel`;
6
+ export const joinRoomInputPlaceHolderText = `join${room}InputPlaceHolderText`;
7
+ export const joinRoomBtnText = `join${room}BtnText`;
8
+ export const joinRoomCreateBtnText = `join${room}CreateBtnText`;
9
+
10
+ export const joinRoomErrorToastHeading = `join${room}ErrorToastHeading`;
11
+ export const joinRoomErrorToastSubHeading = `join${room}ErrorToastSubHeading`;
2
12
 
3
13
  export interface I18nJoinScreenLabelsInterface {
4
- //commented for v1 release
5
- // meetingIdInputPlaceholder?: I18nBaseType; //
6
- // enterMeetingButton?: I18nBaseType; //
14
+ [joinRoomHeading]?: I18nBaseType;
15
+ [joinRoomInputLabel]?: I18nBaseType;
16
+ [joinRoomInputPlaceHolderText]?: I18nBaseType;
17
+ [joinRoomBtnText]?: I18nBaseType;
18
+ [joinRoomCreateBtnText]?: I18nBaseType;
19
+ [joinRoomErrorToastHeading]?: I18nBaseType;
20
+ [joinRoomErrorToastSubHeading]?: I18nBaseType;
7
21
  }
8
22
 
9
23
  export const JoinScreenLabels: I18nJoinScreenLabelsInterface = {
10
- //commented for v1 release
11
- // meetingIdInputPlaceholder: 'Enter Meeting ID',
12
- // enterMeetingButton: 'Enter Meeting',
24
+ [joinRoomHeading]: ({eventMode}) => {
25
+ if (eventMode) {
26
+ return 'Join a Room';
27
+ } else {
28
+ return 'Join a Stream';
29
+ }
30
+ },
31
+ [joinRoomInputLabel]: ({eventMode}) => {
32
+ if (eventMode) {
33
+ return 'Stream ID';
34
+ } else {
35
+ return 'Room ID';
36
+ }
37
+ },
38
+ [joinRoomInputPlaceHolderText]: ({eventMode}) => {
39
+ if (eventMode) {
40
+ return 'Enter Stream ID';
41
+ } else {
42
+ return 'Enter Room ID';
43
+ }
44
+ },
45
+ [joinRoomBtnText]: ({eventMode}) => (eventMode ? 'Join Stream' : 'Join Room'),
46
+ [joinRoomCreateBtnText]: ({eventMode}) =>
47
+ eventMode ? 'Create a Stream' : 'Create a Room',
48
+ [joinRoomErrorToastHeading]: ({eventMode}) =>
49
+ `${eventMode ? 'Stream' : 'Room'} ID Invalid.`,
50
+ [joinRoomErrorToastSubHeading]: ({eventMode}) =>
51
+ `Please enter a valid ${eventMode ? 'Stream' : 'Room'} ID`,
13
52
  };
@@ -1,33 +1,166 @@
1
- import {ClientRole} from '../../../agora-rn-uikit';
2
- import {I18nBaseType} from '../i18nTypes';
1
+ import {ClientRoleType} from '../../../agora-rn-uikit';
2
+ import {I18nBaseType, I18nConditionalType} from '../i18nTypes';
3
+ import {VBMode} from '../../components/virtual-background/useVB';
3
4
 
4
- export interface JoinRoomButtonTextInterface {
5
+ export interface PrecallJoinBtnTextInterface {
5
6
  ready: boolean;
6
- role?: ClientRole;
7
+ role?: ClientRoleType;
8
+ waitingRoom?: boolean;
7
9
  }
10
+
11
+ export const permissionPopupHeading = `permissionPopupHeading`;
12
+ export const permissionPopupSubHeading = `permissionPopupSubHeading`;
13
+ export const permissionPopupDismissBtnText = `permissionPopupDismissBtnText`;
14
+ export const permissionPopupErrorToastHeading = `permissionPopupErrorToastHeading`;
15
+ export const permissionPopupErrorToastSubHeading = `permissionPopupErrorToastSubHeading`;
16
+
17
+ export const settingsPanelHeading = `settingsPanelHeading`;
18
+ export const settingsPanelMicrophoneLabel = 'settingsPanelMicrophoneLabel';
19
+ export const settingsPanelNoMicrophoneDetectedText =
20
+ 'settingsPanelNoMicrophoneDetectedText';
21
+ export const settingsPanelNoMicrophoneSelectedText =
22
+ 'settingsPanelNoMicrophoneSelectedText';
23
+ export const settingsPanelCameraLabel = 'settingsPanelCameraLabel';
24
+ export const settingsPanelNoCameraDetectedText =
25
+ 'settingsPanelNoCameraDetectedText';
26
+ export const settingsPanelNoCameraSelectedText =
27
+ 'settingsPanelNoCameraSelectedText';
28
+ export const settingsPanelSpeakerLabel = 'settingsPanelSpeakerLabel';
29
+ export const settingsPanelNoSpeakerDetectedText =
30
+ 'settingsPanelNoSpeakerDetectedText';
31
+ export const settingsPanelNoSpeakerSelectedText =
32
+ 'settingsPanelNoSpeakerSelectedText';
33
+ export const settingsPanelSystemDefaultSpeakerText =
34
+ 'settingsPanelSystemDefaultSpeakerText';
35
+ export const settingsPanelLiveStreamingAttendeeInfo =
36
+ 'settingsPanelLiveStreamingAttendeeInfo';
37
+ export const settingsPanelUpdatingText = 'settingsPanelUpdatingText';
38
+
39
+ export const settingsPanelLanguageLabel = 'settingsPanelLanguageLabel';
40
+
41
+ export const precallYouAreJoiningAsHeading = 'precallYouAreJoiningAsHeading';
42
+ export const precallNameInputPlaceholderText =
43
+ 'precallNameInputPlaceholderText';
44
+ export const precallJoinBtnText = 'precallJoinBtnText';
45
+ export const precallInputGettingName = 'precallInputGettingName';
46
+
47
+ export const vbPanelHeading = 'vbPanelHeading';
48
+ export const vbPanelInfo = 'vbPanelInfo';
49
+
50
+ export const vbOptionText = 'vbOptionText';
51
+
8
52
  export interface I18nPrecallScreenLabelsInterface {
9
- //commented for v1 release
10
- // precallLabel?: I18nBaseType; //
11
- // selectInputDeviceLabel?: I18nBaseType; //
12
- // userNamePlaceholder?: I18nBaseType; //
13
- // fetchingNamePlaceholder?: I18nBaseType; //
14
- // loadingWithDots?: I18nBaseType;
15
- joinRoomButton?: I18nBaseType<JoinRoomButtonTextInterface>; // need to check
53
+ [permissionPopupHeading]?: I18nBaseType;
54
+ [permissionPopupSubHeading]?: I18nBaseType;
55
+ [permissionPopupDismissBtnText]?: I18nBaseType;
56
+ [permissionPopupErrorToastHeading]?: I18nBaseType;
57
+ [permissionPopupErrorToastSubHeading]?: I18nBaseType;
58
+
59
+ [settingsPanelHeading]?: I18nBaseType;
60
+
61
+ [settingsPanelCameraLabel]?: I18nBaseType;
62
+ [settingsPanelNoCameraDetectedText]?: I18nBaseType;
63
+ [settingsPanelNoCameraSelectedText]?: I18nBaseType;
64
+
65
+ [settingsPanelMicrophoneLabel]?: I18nBaseType;
66
+ [settingsPanelNoMicrophoneDetectedText]?: I18nBaseType;
67
+ [settingsPanelNoMicrophoneSelectedText]?: I18nBaseType;
68
+
69
+ [settingsPanelSpeakerLabel]?: I18nBaseType;
70
+ [settingsPanelNoSpeakerDetectedText]?: I18nBaseType;
71
+ [settingsPanelNoSpeakerSelectedText]?: I18nBaseType;
72
+ [settingsPanelSystemDefaultSpeakerText]?: I18nBaseType;
73
+
74
+ [settingsPanelLiveStreamingAttendeeInfo]?: I18nBaseType;
75
+ [settingsPanelUpdatingText]?: I18nBaseType;
76
+ [settingsPanelLanguageLabel]?: I18nBaseType;
77
+
78
+ [precallYouAreJoiningAsHeading]?: I18nBaseType;
79
+ [precallNameInputPlaceholderText]?: I18nBaseType;
80
+ [precallJoinBtnText]?: I18nBaseType<PrecallJoinBtnTextInterface>;
81
+
82
+ [vbPanelHeading]?: I18nBaseType;
83
+ [vbPanelInfo]?: I18nConditionalType;
84
+
85
+ [vbOptionText]?: I18nBaseType<VBMode>;
86
+
87
+ [precallInputGettingName]?: I18nBaseType;
16
88
  }
17
89
 
18
90
  export const PrecallScreenLabels: I18nPrecallScreenLabelsInterface = {
19
- //commented for v1 release
20
- // precallLabel: 'Precall',
21
- // selectInputDeviceLabel: 'Select Input Device',
22
- // userNamePlaceholder: 'Display name*',
23
- // fetchingNamePlaceholder: 'Getting name...',
24
- // loadingWithDots: 'Loading...',
25
- joinRoomButton: ({ready, role}) =>
26
- ready
27
- ? !role
28
- ? 'Join Room'
29
- : `Join Room as ${
30
- role === ClientRole.Broadcaster ? 'Host' : 'Audience'
31
- }`
32
- : `Loading...`,
91
+ //permission popup
92
+ [permissionPopupHeading]: ({audioRoom}) =>
93
+ audioRoom
94
+ ? 'Allow access to microphone'
95
+ : 'Allow access to camera and microphone',
96
+ [permissionPopupSubHeading]: ({audioRoom}) =>
97
+ audioRoom
98
+ ? 'Select “Allow” for others to hear you'
99
+ : 'Select “Allow” for others to see and hear you',
100
+ [permissionPopupDismissBtnText]: 'Dismiss',
101
+ [permissionPopupErrorToastHeading]: ({audioRoom}) =>
102
+ `Can't find your ${audioRoom ? ' Microphone' : ' Camera'}`,
103
+ [permissionPopupErrorToastSubHeading]: audioRoom =>
104
+ `Check your system settings to make sure that a ${
105
+ audioRoom ? 'microphone' : 'camera'
106
+ } is available. If not, plug one in and restart your browser`,
107
+
108
+ [settingsPanelHeading]: 'Settings',
109
+
110
+ [settingsPanelCameraLabel]: 'Camera',
111
+ [settingsPanelNoCameraDetectedText]: 'No Camera Detected',
112
+ [settingsPanelNoCameraSelectedText]: 'No Camera Selected',
113
+
114
+ [settingsPanelMicrophoneLabel]: 'Microphone',
115
+ [settingsPanelNoMicrophoneDetectedText]: 'No Microphone Detected',
116
+ [settingsPanelNoMicrophoneSelectedText]: 'No Microphone Selected',
117
+
118
+ [settingsPanelSpeakerLabel]: 'Speaker',
119
+ [settingsPanelNoSpeakerDetectedText]: 'No Speaker Detected',
120
+ [settingsPanelNoSpeakerSelectedText]: 'No Speaker Selected',
121
+ [settingsPanelSystemDefaultSpeakerText]: 'System Default Speaker Device',
122
+
123
+ [settingsPanelLiveStreamingAttendeeInfo]:
124
+ 'Attendees need to raise their hand to access the devices.',
125
+ [settingsPanelUpdatingText]: 'Updating',
126
+
127
+ [settingsPanelLanguageLabel]: 'Language',
128
+
129
+ [precallYouAreJoiningAsHeading]: 'You are joining',
130
+ [precallNameInputPlaceholderText]: 'Enter Your Name',
131
+ [precallInputGettingName]: 'Getting name...',
132
+ [precallJoinBtnText]: ({waitingRoom, ready, role}) => {
133
+ if (waitingRoom) {
134
+ return ready ? 'Ask To Join' : `Waiting for approval...`;
135
+ } else {
136
+ return ready
137
+ ? !role
138
+ ? 'JOIN ROOM'
139
+ : `JOIN ROOM AS ${
140
+ role === ClientRoleType.ClientRoleBroadcaster
141
+ ? 'HOST'
142
+ : 'AUDIENCE'
143
+ }`
144
+ : `Loading...`;
145
+ }
146
+ },
147
+
148
+ [vbPanelHeading]: 'Virtual Background',
149
+ [vbPanelInfo]: (isCamOn: boolean) =>
150
+ isCamOn
151
+ ? 'Camera is currently off. Selected background will be applied as soon as your camera turns on.'
152
+ : 'Your camera is switched off. Save a background to apply once it’s turned on.',
153
+
154
+ [vbOptionText]: mode => {
155
+ switch (mode) {
156
+ case 'none':
157
+ return 'None';
158
+ case 'custom':
159
+ return 'Custom';
160
+ case 'blur':
161
+ return 'Blur';
162
+ default:
163
+ return '';
164
+ }
165
+ },
33
166
  };
@@ -1,44 +1,92 @@
1
1
  import {I18nBaseType} from '../i18nTypes';
2
+ import {room} from './createScreenLabels';
3
+ import {MeetingInviteInterface} from './videoCallScreenLabels';
2
4
 
5
+ export const shareRoomAttendeeLinkLabel = `share${room}AttendeeLinkLabel`;
6
+ export const shareRoomAttendeeLinkSubText = `share${room}AttendeeLinkSubText`;
7
+ export const shareRoomHostLinkLabel = `share${room}HostLinkLabel`;
8
+ export const shareRoomHostLinkSubText = `share${room}HostLinkSubText`;
9
+ export const shareRoomPSTNLabel = `share${room}PSTNLabel`;
10
+ export const shareRoomPSTNNumberLabel = `share${room}PSTNNumberLabel`;
11
+ export const shareRoomPSTNPinLabel = `share${room}PSTNPinLabel`;
12
+ export const shareRoomPSTNSubText = `share${room}PSTNSubText`;
13
+ export const shareRoomCopyBtnText = `share${room}CopyBtnText`;
14
+ export const shareRoomCopyBtnTooltipText = `share${room}CopyBtnTooltipText`;
15
+ export const shareRoomStartBtnText = `share${room}StartBtnText`;
16
+ export const shareRoomCopyInviteToClipboardContent = `share${room}CopyInviteToClipboardContent`;
3
17
  export interface I18nShareLinkScreenLabelsInterface {
4
- //commented for v1 release
5
- // attendeeUrlLabel?: I18nBaseType; //
6
- // hostUrlLabel?: I18nBaseType; //
7
- // enterMeetingAfterCreateButton?: I18nBaseType; //
8
- // copyInviteButton?: I18nBaseType; //
9
- // pstnLabel?: I18nBaseType; //
10
- // pstnNumberLabel?: I18nBaseType; //
11
- // meetingUrlLabel?: I18nBaseType; //
12
- // hostIdLabel?: I18nBaseType; //
13
- // meetingIdLabel?: I18nBaseType; //
14
- // attendeeIdLabel?: I18nBaseType; //
15
- // copiedToClipboardNotificationLabel?: I18nBaseType; //
16
- // PSTNNumber?: I18nBaseType;
17
- // PSTNPin?: I18nBaseType;
18
- // meeting?: I18nBaseType;
19
- // URLForAttendee?: I18nBaseType;
20
- // URLForHost?: I18nBaseType;
21
- // attendeeMeetingID?: I18nBaseType;
22
- // hostMeetingID?: I18nBaseType;
18
+ [shareRoomAttendeeLinkLabel]?: I18nBaseType;
19
+ [shareRoomAttendeeLinkSubText]?: I18nBaseType;
20
+ [shareRoomHostLinkLabel]?: I18nBaseType;
21
+ [shareRoomHostLinkSubText]?: I18nBaseType;
22
+ [shareRoomPSTNLabel]?: I18nBaseType;
23
+ [shareRoomPSTNNumberLabel]?: I18nBaseType;
24
+ [shareRoomPSTNPinLabel]?: I18nBaseType;
25
+ [shareRoomPSTNSubText]?: I18nBaseType;
26
+ [shareRoomCopyBtnText]?: I18nBaseType; // need to discuss
27
+ [shareRoomCopyBtnTooltipText]?: I18nBaseType; // need to discuss
28
+ [shareRoomStartBtnText]?: I18nBaseType;
29
+ [shareRoomCopyInviteToClipboardContent]?: I18nBaseType<MeetingInviteInterface>; //
23
30
  }
24
31
 
25
32
  export const ShareLinkScreenLabels: I18nShareLinkScreenLabelsInterface = {
26
- //commented for v1 release
27
- // attendeeUrlLabel: 'Attendee URL',
28
- // hostUrlLabel: 'Host URL',
29
- // enterMeetingAfterCreateButton: 'Start Meeting (as host)',
30
- // copyInviteButton: 'Copy invite to clipboard',
31
- // pstnLabel: 'PSTN',
32
- // pstnNumberLabel: 'Number',
33
- // meetingUrlLabel: 'Meeting URL',
34
- // hostIdLabel: 'Host ID',
35
- // meetingIdLabel: 'Meeting ID',
36
- // attendeeIdLabel: 'Attendee ID',
37
- // copiedToClipboardNotificationLabel: 'Copied to Clipboard',
38
- // PSTNNumber: 'PSTN Number',
39
- // PSTNPin: 'PSTN Pin',
40
- // URLForAttendee: 'URL for Attendee',
41
- // URLForHost: 'URL for Host',
42
- // attendeeMeetingID: 'Attendee Meeting ID',
43
- // hostMeetingID: 'Host Meeting ID',
33
+ [shareRoomAttendeeLinkLabel]: isWeb =>
34
+ isWeb ? 'Attendee Link' : 'Attendee ID',
35
+ [shareRoomAttendeeLinkSubText]:
36
+ 'Share this with attendees you want to invite.',
37
+ [shareRoomHostLinkLabel]: isWeb => (isWeb ? 'Host Link' : 'Host ID'),
38
+ [shareRoomHostLinkSubText]:
39
+ 'Share this with other co-hosts you want to invite.',
40
+ [shareRoomPSTNLabel]: 'PSTN',
41
+ [shareRoomPSTNNumberLabel]: 'Number',
42
+ [shareRoomPSTNPinLabel]: 'Pin',
43
+ [shareRoomPSTNSubText]: 'Share this phone number and pin to dial from phone.',
44
+
45
+ [shareRoomCopyBtnText]: 'Copy invite to clipboard',
46
+ [shareRoomCopyBtnTooltipText]: 'Copied to clipboard',
47
+ [shareRoomStartBtnText]: ({eventMode}) =>
48
+ eventMode ? 'Start Stream (as host)' : 'Start Room (as host)',
49
+
50
+ [shareRoomCopyInviteToClipboardContent]: ({
51
+ meetingName,
52
+ id,
53
+ url,
54
+ pstn,
55
+ isHost,
56
+ isSeparateHostLink,
57
+ }) => {
58
+ let inviteContent = '';
59
+ if (url) {
60
+ //for host
61
+ if (isHost) {
62
+ if (isSeparateHostLink) {
63
+ //seperate link for host and attendee
64
+ inviteContent += `Room: ${meetingName}\n\nAttendee Link:\n${url?.attendee}\n\nHost Link:\n${url?.host}`;
65
+ } else {
66
+ //single link for everyone
67
+ inviteContent += `Room: ${meetingName}\n\nMeeting Link:\n${url?.host}`;
68
+ }
69
+ }
70
+ //for attendee
71
+ else {
72
+ inviteContent += `Room: ${meetingName}\n\nAttendee Link:\n${url?.attendee}`;
73
+ }
74
+ } else {
75
+ if (isHost) {
76
+ if (isSeparateHostLink) {
77
+ inviteContent += `Room: ${meetingName}\n\nAttendee Room ID:\n${id?.attendee}\n\nHost Room ID:\n${id?.host}`;
78
+ } else {
79
+ inviteContent += `Room: ${meetingName}\n\nRoom ID:\n${id?.host}`;
80
+ }
81
+ } else {
82
+ //copy this label on videocall screen
83
+ inviteContent += `Room: ${meetingName}\n\nAttendee Room ID:\n${id?.attendee}`;
84
+ }
85
+ }
86
+ // Adding pstn data into meeting data if present
87
+ if (pstn?.number && pstn?.pin) {
88
+ inviteContent += `\n\nPSTN Number:\n${pstn.number}\n\nPSTN Pin:\n${pstn.pin}`;
89
+ }
90
+ return inviteContent;
91
+ },
44
92
  };