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

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 +52 -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 +116 -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 +137 -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
@@ -41,9 +41,26 @@ import ImageIcon from '../atoms/ImageIcon';
41
41
  import hexadecimalTransparency from '../utils/hexadecimalTransparency';
42
42
  import {randomNameGenerator} from '../utils';
43
43
  import {useSetRoomInfo} from '../components/room-info/useSetRoomInfo';
44
+ import IDPLogoutComponent from '../auth/IDPLogoutComponent';
45
+ import isSDK from '../utils/isSDK';
46
+ import {
47
+ createRoomAllowPhoneNumberJoining,
48
+ createRoomAllowPhoneNumberJoiningTooltipText,
49
+ createRoomBtnText,
50
+ createRoomErrorToastHeading,
51
+ createRoomErrorToastSubHeading,
52
+ createRoomHeading,
53
+ createRoomInputLabel,
54
+ createRoomInputPlaceholderText,
55
+ createRoomJoinWithID,
56
+ createRoomMakeEveryOneCoHost,
57
+ createRoomMakeEveryOneCoHostTooltipText,
58
+ createRoomSuccessToastHeading,
59
+ createRoomSuccessToastSubHeading,
60
+ } from '../language/default-labels/createScreenLabels';
44
61
 
45
62
  const Create = () => {
46
- const {CreateComponent} = useCustomization((data) => {
63
+ const {CreateComponent} = useCustomization(data => {
47
64
  let components: {
48
65
  CreateComponent?: React.ElementType;
49
66
  } = {};
@@ -73,39 +90,64 @@ const Create = () => {
73
90
  const [roomCreated, setRoomCreated] = useState(false);
74
91
  const createRoomFun = useCreateRoom();
75
92
  const {setRoomInfo} = useSetRoomInfo();
76
- //commented for v1 release
77
- // const createdText = useString('meetingCreatedNotificationLabel')();
78
- // const hostControlsToggle = useString<boolean>('hostControlsToggle');
79
- // const pstnToggle = useString<boolean>('pstnToggle');
80
- // const loadingWithDots = useString('loadingWithDots')();
81
- // const createMeetingButton = useString('createMeetingButton')();
82
- // const haveMeetingID = useString('haveMeetingID')();
83
93
 
84
- const createdText = ' has been created';
85
- // const meetingNameInputPlaceholder = useString(
86
- // 'meetingNameInputPlaceholder',
87
- // )();
88
- const meetingNameInputPlaceholder = 'The Annual Galactic Meet';
89
- const loadingWithDots = 'Loading...';
94
+ const loadingText = useString('loadingText')();
90
95
 
91
- const btnLabel = () => {
92
- if ($config.AUDIO_ROOM) {
93
- if ($config.EVENT_MODE) {
94
- return 'CREATE A AUDIO LIVECAST';
95
- } else {
96
- return 'CREATE A VOICE CHAT';
97
- }
98
- } else {
99
- if ($config.EVENT_MODE) {
100
- return 'CREATE A STREAM';
101
- } else {
102
- return 'CREATE A ROOM';
103
- }
104
- }
105
- };
96
+ //heading
97
+ const headingText = useString<any>(createRoomHeading)({
98
+ audioRoom: $config.AUDIO_ROOM,
99
+ eventMode: $config.EVENT_MODE,
100
+ });
101
+ //heading
102
+
103
+ //input label
104
+ const inputLabel = useString<any>(createRoomInputLabel)({
105
+ audioRoom: $config.AUDIO_ROOM,
106
+ eventMode: $config.EVENT_MODE,
107
+ });
108
+ //input label
109
+
110
+ //placeholder
111
+ const placeHolderText = useString(createRoomInputPlaceholderText)();
112
+ //placeholder
113
+
114
+ //toggle
115
+ const everyoneCoHost = useString(createRoomMakeEveryOneCoHost)();
116
+ const everyoneCoHostTooltip = useString(
117
+ createRoomMakeEveryOneCoHostTooltipText,
118
+ )();
119
+ const allowPhoneNumberJoining = useString(
120
+ createRoomAllowPhoneNumberJoining,
121
+ )();
122
+ const allowPhoneNumberJoiningToolTip = useString(
123
+ createRoomAllowPhoneNumberJoiningTooltipText,
124
+ )();
125
+ //toggle
126
+
127
+ //create button
128
+ const createBtnText = useString<any>(createRoomBtnText)({
129
+ audioRoom: $config.AUDIO_ROOM,
130
+ eventMode: $config.EVENT_MODE,
131
+ });
132
+ //create button
133
+
134
+ const joinWithRoomID = useString(createRoomJoinWithID)();
135
+
136
+ //toast
137
+ const createRoomSuccessToastHeadingText = useString(
138
+ createRoomSuccessToastHeading,
139
+ );
140
+ const createRoomSuccessToastSubHeadingText = useString(
141
+ createRoomSuccessToastSubHeading,
142
+ )();
143
+ //toast
106
144
 
107
- const createMeetingButton = btnLabel();
108
- const haveMeetingID = 'Join with a room ID';
145
+ const createRoomErrorToastHeadingText = useString(
146
+ createRoomErrorToastHeading,
147
+ )();
148
+ const createRoomErrorToastSubHeadingText = useString(
149
+ createRoomErrorToastSubHeading,
150
+ )();
109
151
 
110
152
  const isDesktop = !isMobileUA();
111
153
  useEffect(() => {
@@ -116,7 +158,7 @@ const Create = () => {
116
158
  // )}-${randomNameGenerator(3)}`,
117
159
  // );
118
160
 
119
- if (isWebInternal()) {
161
+ if (isWebInternal() && !isSDK) {
120
162
  document.title = $config.APP_NAME;
121
163
  }
122
164
  console.log('[SDKEvents] Join listener registered');
@@ -141,17 +183,29 @@ const Create = () => {
141
183
  await createRoomFun(roomTitle, enablePSTN, isSeparateHostLink);
142
184
  setLoading(false);
143
185
  Toast.show({
186
+ leadingIconName: 'tick-fill',
144
187
  type: 'success',
145
- text1: trimText(roomTitle) + createdText,
146
- text2: 'Your New room is now live',
188
+ text1: createRoomSuccessToastHeadingText(trimText(roomTitle)),
189
+ text2: createRoomSuccessToastSubHeadingText,
147
190
  visibilityTime: 3000,
148
191
  primaryBtn: null,
149
192
  secondaryBtn: null,
193
+ leadingIcon: null,
150
194
  });
151
195
  showShareScreen();
152
196
  } catch (error) {
153
197
  setLoading(false);
154
- setGlobalErrorMessage(error);
198
+ if (
199
+ createRoomErrorToastHeadingText ||
200
+ createRoomErrorToastSubHeadingText
201
+ ) {
202
+ setGlobalErrorMessage({
203
+ name: createRoomErrorToastHeadingText,
204
+ message: createRoomErrorToastSubHeadingText,
205
+ });
206
+ } else {
207
+ setGlobalErrorMessage(error);
208
+ }
155
209
  }
156
210
  }
157
211
  };
@@ -173,46 +227,16 @@ const Create = () => {
173
227
  );
174
228
  };
175
229
 
176
- const getHeading = () => {
177
- if ($config.AUDIO_ROOM) {
178
- if ($config.EVENT_MODE) {
179
- return 'Create a Audio Livecast';
180
- } else {
181
- return 'Create a Voice Chat';
182
- }
183
- } else {
184
- if ($config.EVENT_MODE) {
185
- return 'Create a Livestream';
186
- } else {
187
- return 'Create a Room';
188
- }
189
- }
190
- };
191
-
192
- const getInputLabel = () => {
193
- if ($config.AUDIO_ROOM) {
194
- if ($config.EVENT_MODE) {
195
- return 'Audio Livecast Name';
196
- } else {
197
- return 'Voice Chat Name';
198
- }
199
- } else {
200
- if ($config.EVENT_MODE) {
201
- return 'Stream Name';
202
- } else {
203
- return 'Room Name';
204
- }
205
- }
206
- };
207
-
208
230
  const showError = () => {
209
231
  Toast.show({
232
+ leadingIconName: 'alert',
210
233
  type: 'error',
211
234
  text1: 'Backend endpoint not configured',
212
235
  text2: 'Please configure backend endpoint config.json',
213
236
  visibilityTime: 1000 * 10,
214
237
  primaryBtn: null,
215
238
  secondaryBtn: null,
239
+ leadingIcon: null,
216
240
  });
217
241
  };
218
242
 
@@ -226,20 +250,34 @@ const Create = () => {
226
250
  <CreateComponent />
227
251
  ) : (
228
252
  <View style={style.root}>
253
+ {!isMobileUA() ? (
254
+ <IDPLogoutComponent containerStyle={{marginBottom: -100}} />
255
+ ) : (
256
+ <></>
257
+ )}
229
258
  <ScrollView contentContainerStyle={style.main}>
230
259
  <Card>
231
260
  <View>
232
- <Logo />
261
+ <View style={style.logoContainerStyle}>
262
+ <Logo />
263
+ {isMobileUA() ? (
264
+ <IDPLogoutComponent
265
+ containerStyle={{marginTop: 0, marginRight: 0}}
266
+ />
267
+ ) : (
268
+ <></>
269
+ )}
270
+ </View>
233
271
  <Spacer size={isDesktop ? 20 : 16} />
234
- <Text style={style.heading}>{getHeading()}</Text>
272
+ <Text style={style.heading}>{headingText}</Text>
235
273
  <Spacer size={40} />
236
274
  <Input
237
275
  maxLength={maxInputLimit}
238
276
  labelStyle={style.inputLabelStyle}
239
- label={getInputLabel()}
277
+ label={inputLabel}
240
278
  value={roomTitle}
241
- placeholder={meetingNameInputPlaceholder}
242
- onChangeText={(text) => onChangeRoomTitle(text)}
279
+ placeholder={placeHolderText}
280
+ onChangeText={text => onChangeRoomTitle(text)}
243
281
  onSubmitEditing={() => {
244
282
  if (!roomTitle?.trim()) {
245
283
  return;
@@ -270,18 +308,19 @@ const Create = () => {
270
308
  ]}>
271
309
  <View style={style.infoContainer}>
272
310
  <Text numberOfLines={1} style={style.toggleLabel}>
273
- Make everyone a Co-Host
311
+ {everyoneCoHost}
274
312
  </Text>
275
313
  <Tooltip
276
314
  activeBgStyle={style.tooltipActiveBgStyle}
277
315
  defaultBgStyle={style.tooltipDefaultBgStyle}
278
- toolTipMessage="Turning on will give everyone the control of this room"
316
+ toolTipMessage={everyoneCoHostTooltip}
279
317
  renderContent={(
280
318
  isToolTipVisible,
281
319
  setToolTipVisible,
282
320
  ) =>
283
321
  renderInfoIcon(isToolTipVisible, setToolTipVisible)
284
- }></Tooltip>
322
+ }
323
+ />
285
324
  </View>
286
325
  <View style={style.infoToggleContainer}>
287
326
  <Toggle
@@ -303,12 +342,12 @@ const Create = () => {
303
342
  ]}>
304
343
  <View style={style.infoContainer}>
305
344
  <Text numberOfLines={1} style={style.toggleLabel}>
306
- Allow joining via a phone number
345
+ {allowPhoneNumberJoining}
307
346
  </Text>
308
347
  <Tooltip
309
348
  activeBgStyle={style.tooltipActiveBgStyle}
310
349
  defaultBgStyle={style.tooltipDefaultBgStyle}
311
- toolTipMessage="Attendees can dial a number and join via PSTN"
350
+ toolTipMessage={allowPhoneNumberJoiningToolTip}
312
351
  renderContent={(
313
352
  isToolTipVisible,
314
353
  setToolTipVisible,
@@ -317,7 +356,8 @@ const Create = () => {
317
356
  isToolTipVisible,
318
357
  setToolTipVisible,
319
358
  )
320
- }></Tooltip>
359
+ }
360
+ />
321
361
  </View>
322
362
  <View style={style.infoToggleContainer}>
323
363
  <Toggle
@@ -350,11 +390,11 @@ const Create = () => {
350
390
  );
351
391
  }
352
392
  }}
353
- text={loading ? loadingWithDots : createMeetingButton}
393
+ text={loading ? loadingText : createBtnText}
354
394
  />
355
395
  <Spacer size={16} />
356
396
  <LinkButton
357
- text={haveMeetingID}
397
+ text={joinWithRoomID}
358
398
  onPress={() => history.push('/join')}
359
399
  />
360
400
  </View>
@@ -371,6 +411,11 @@ const Create = () => {
371
411
  };
372
412
 
373
413
  const style = StyleSheet.create({
414
+ logoContainerStyle: {
415
+ flexDirection: 'row',
416
+ justifyContent: 'space-between',
417
+ alignItems: 'center',
418
+ },
374
419
  root: {
375
420
  flex: 1,
376
421
  },
@@ -38,23 +38,52 @@ import Toast from '../../react-native-toast-message';
38
38
  import useJoinRoom from '../utils/useJoinRoom';
39
39
  import isMobileOrTablet from '../utils/isMobileOrTablet';
40
40
  import ThemeConfig from '../theme';
41
+ import IDPLogoutComponent from '../auth/IDPLogoutComponent';
42
+ import {
43
+ joinRoomBtnText,
44
+ joinRoomCreateBtnText,
45
+ joinRoomErrorToastHeading,
46
+ joinRoomErrorToastSubHeading,
47
+ joinRoomHeading,
48
+ joinRoomInputLabel,
49
+ joinRoomInputPlaceHolderText,
50
+ } from '../language/default-labels/joinScreenLabels';
41
51
 
42
- const isLiveStream = $config.EVENT_MODE;
43
52
  const mobileOrTablet = isMobileOrTablet();
44
53
 
45
54
  const Join = () => {
46
55
  const hasBrandLogo = useHasBrandLogo();
47
- //commented for v1 release
48
- // const meetingIdInputPlaceholder = useString('meetingIdInputPlaceholder')();
49
- // const enterMeetingButton = useString('enterMeetingButton')();
50
- // const createMeetingButton = useString('createMeetingButton')();
51
- const meetingIdInputPlaceholder = isLiveStream
52
- ? 'Enter Stream ID'
53
- : 'Enter Room ID';
54
- const enterMeetingButton = isLiveStream ? 'Join Stream' : 'Join Room';
55
- const createMeetingButton = isLiveStream
56
- ? 'Create a Stream'
57
- : 'Create a Room';
56
+
57
+ const headingText = useString<any>(joinRoomHeading)({
58
+ eventMode: $config.EVENT_MODE,
59
+ });
60
+
61
+ const inputLabel = useString<any>(joinRoomInputLabel)({
62
+ eventMode: $config.EVENT_MODE,
63
+ });
64
+
65
+ const placeHolderText = useString<any>(joinRoomInputPlaceHolderText)({
66
+ eventMode: $config.EVENT_MODE,
67
+ });
68
+
69
+ const joinBtnText = useString<any>(joinRoomBtnText)({
70
+ eventMode: $config.EVENT_MODE,
71
+ });
72
+
73
+ const createBtnText = useString<any>(joinRoomCreateBtnText)({
74
+ eventMode: $config.EVENT_MODE,
75
+ });
76
+
77
+ //toast
78
+ const invalidRoomIdToastHeading = useString<any>(joinRoomErrorToastHeading)({
79
+ eventMode: $config.EVENT_MODE,
80
+ });
81
+ const invalidRoomIdToastSubheading = useString<any>(
82
+ joinRoomErrorToastSubHeading,
83
+ )({
84
+ eventMode: $config.EVENT_MODE,
85
+ });
86
+
58
87
  const history = useHistory();
59
88
  const [phrase, setPhrase] = useState('');
60
89
  const [error, setError] = useState<null | {name: string; message: string}>(
@@ -74,22 +103,26 @@ const Join = () => {
74
103
  history.push(phrase);
75
104
  })
76
105
 
77
- .catch((error) => {
106
+ .catch(error => {
78
107
  const isInvalidUrl =
79
- error?.message.toLowerCase().trim() === 'invalid url' || false;
108
+ error?.message.toLowerCase().trim() === 'invalid passphrase' || false;
80
109
  Toast.show({
110
+ leadingIconName: 'alert',
81
111
  type: 'error',
82
- text1: isInvalidUrl ? 'Room ID Invalid.' : 'Some Error Occured.',
112
+ text1: isInvalidUrl
113
+ ? invalidRoomIdToastHeading
114
+ : 'Some Error Occured.',
83
115
  text2: isInvalidUrl
84
- ? 'Please enter a valid Room ID'
116
+ ? invalidRoomIdToastSubheading
85
117
  : 'Please try again',
86
118
  visibilityTime: 3000,
87
119
  primaryBtn: null,
88
120
  secondaryBtn: null,
121
+ leadingIcon: null,
89
122
  });
90
123
  });
91
124
  };
92
- const {JoinComponent} = useCustomization((data) => {
125
+ const {JoinComponent} = useCustomization(data => {
93
126
  let components: {
94
127
  JoinComponent?: React.ComponentType;
95
128
  } = {};
@@ -108,28 +141,35 @@ const Join = () => {
108
141
  <JoinComponent />
109
142
  ) : (
110
143
  <View style={style.root}>
144
+ {!isMobileUA() ? (
145
+ <IDPLogoutComponent containerStyle={{marginBottom: -100}} />
146
+ ) : (
147
+ <></>
148
+ )}
111
149
  <ScrollView contentContainerStyle={style.main}>
112
150
  {error ? <Error error={error} /> : <></>}
113
151
  <Card>
114
152
  <View>
115
- <Logo />
153
+ <View style={style.logoContainerStyle}>
154
+ <Logo />
155
+ {isMobileUA() ? (
156
+ <IDPLogoutComponent
157
+ containerStyle={{marginTop: 0, marginRight: 0}}
158
+ />
159
+ ) : (
160
+ <></>
161
+ )}
162
+ </View>
116
163
  <Spacer size={20} />
117
- <Text style={style.heading}>
118
- {isLiveStream ? 'Join a Stream' : 'Join a Room'}
119
- </Text>
164
+ <Text style={style.heading}>{headingText}</Text>
120
165
  <Spacer size={40} />
121
166
  <Input
122
167
  labelStyle={style.labelStyle}
123
- label={isLiveStream ? 'Stream ID' : 'Room ID'}
168
+ label={inputLabel}
124
169
  autoFocus
125
170
  value={phrase}
126
- helpText={
127
- isLiveStream
128
- ? 'Enter the stream ID here for the room you’d like to join'
129
- : 'Enter the room ID here for the room you’d like to join'
130
- }
131
- placeholder={meetingIdInputPlaceholder}
132
- onChangeText={(text) => setPhrase(text)}
171
+ placeholder={placeHolderText}
172
+ onChangeText={text => setPhrase(text)}
133
173
  onSubmitEditing={() => startCall()}
134
174
  />
135
175
  <Spacer size={60} />
@@ -139,14 +179,11 @@ const Join = () => {
139
179
  iconName="video-on"
140
180
  disabled={phrase === ''}
141
181
  onPress={() => startCall()}
142
- text={enterMeetingButton}
182
+ text={joinBtnText}
143
183
  containerStyle={isMobileUA() && {width: '100%'}}
144
184
  />
145
185
  <Spacer size={16} />
146
- <LinkButton
147
- text={createMeetingButton}
148
- onPress={() => createMeeting()}
149
- />
186
+ <LinkButton text={createBtnText} onPress={() => createMeeting()} />
150
187
  {shouldAuthenticate ? (
151
188
  <LogoutButton
152
189
  //@ts-ignore
@@ -163,6 +200,11 @@ const Join = () => {
163
200
  };
164
201
 
165
202
  const style = StyleSheet.create({
203
+ logoContainerStyle: {
204
+ flexDirection: 'row',
205
+ justifyContent: 'space-between',
206
+ alignItems: 'center',
207
+ },
166
208
  btnContainer: {
167
209
  width: '100%',
168
210
  alignItems: 'center',
@@ -0,0 +1,26 @@
1
+ import React, {useState} from 'react';
2
+ import {StyleSheet, View} from 'react-native';
3
+ import {Logo} from '../components/common';
4
+ import PrimaryButton from '../atoms/PrimaryButton';
5
+ import {useAuth} from '../auth/AuthProvider';
6
+ import Spacer from '../atoms/Spacer';
7
+
8
+ export default function Login() {
9
+ const {authLogin} = useAuth();
10
+
11
+ return (
12
+ <View style={styles.container}>
13
+ <Logo />
14
+ <Spacer size={20} />
15
+ <PrimaryButton onPress={authLogin} text={'LOGIN/SIGNUP'} />
16
+ </View>
17
+ );
18
+ }
19
+
20
+ const styles = StyleSheet.create({
21
+ container: {
22
+ flex: 1,
23
+ alignItems: 'center',
24
+ justifyContent: 'center',
25
+ },
26
+ });