agora-appbuilder-core 4.0.0 → 4.0.2
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.
- package/package.json +3 -3
- package/template/.bundle/config +2 -0
- package/template/Gemfile +4 -0
- package/template/Gulpfile.js +29 -29
- package/template/_eslintrc.js +3 -3
- package/template/_gitignore +12 -11
- package/template/_package-lock.json +28491 -23647
- package/template/_prettierrc.js +2 -2
- package/template/agora-rn-uikit/.eslintrc.js +5 -0
- package/template/agora-rn-uikit/package.json +14 -14
- package/template/agora-rn-uikit/src/AgoraUIKit.tsx +6 -6
- package/template/agora-rn-uikit/src/Contexts/ContentContext.tsx +10 -0
- package/template/agora-rn-uikit/src/Contexts/DispatchContext.tsx +22 -0
- package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +6 -6
- package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +79 -38
- package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +26 -17
- package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +1 -0
- package/template/agora-rn-uikit/src/Controls/Icons.ts +45 -0
- package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -4
- package/template/agora-rn-uikit/src/Controls/Local/FullScreen.tsx +3 -1
- package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +5 -2
- package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +5 -2
- package/template/agora-rn-uikit/src/Controls/Local/Recording.tsx +0 -2
- package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +7 -6
- package/template/agora-rn-uikit/src/Controls/LocalControls.tsx +5 -5
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +5 -4
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +3 -1
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +5 -4
- package/template/agora-rn-uikit/src/Controls/RemoteControls.tsx +2 -2
- package/template/agora-rn-uikit/src/Reducer/ActiveSpeaker.ts +30 -0
- package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +8 -7
- package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +8 -7
- package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +6 -7
- package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +7 -8
- package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +9 -9
- package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +7 -8
- package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +14 -13
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +6 -7
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +6 -7
- package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +5 -6
- package/template/agora-rn-uikit/src/Reducer/UserPin.ts +20 -3
- package/template/agora-rn-uikit/src/Reducer/UserSecondaryPin.ts +23 -0
- package/template/agora-rn-uikit/src/Reducer/index.ts +2 -1
- package/template/agora-rn-uikit/src/Rtc/Create.tsx +138 -100
- package/template/agora-rn-uikit/src/Rtc/Join.tsx +55 -28
- package/template/agora-rn-uikit/src/RtcConfigure.tsx +177 -77
- package/template/agora-rn-uikit/src/Utils/isBotUser.ts +15 -0
- package/template/agora-rn-uikit/src/Utils/quality.tsx +8 -0
- package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +56 -12
- package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +47 -17
- package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +19 -11
- package/template/agora-rn-uikit/src/index.ts +15 -9
- package/template/android/app/build.gradle +59 -156
- package/template/android/app/src/debug/AndroidManifest.xml +6 -1
- package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +7 -4
- package/template/android/app/src/main/AndroidManifest.xml +6 -19
- package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +17 -0
- package/template/android/app/src/main/java/com/helloworld/MainApplication.java +22 -36
- package/template/android/app/src/main/java/com/helloworld/SSLPinningFactory.java +30 -0
- package/template/android/app/src/main/res/values/strings.xml +3 -0
- package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
- package/template/android/build.gradle +19 -33
- package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -2
- package/template/android/gradle.properties +18 -4
- package/template/android/gradlew +165 -104
- package/template/android/gradlew.bat +12 -23
- package/template/android/settings.gradle +1 -0
- package/template/bridge/rtc/webNg/RtcEngine.ts +200 -70
- package/template/bridge/rtc/webNg/{SurfaceView.tsx → RtcSurfaceView.tsx} +20 -26
- package/template/bridge/rtc/webNg/Types.ts +20 -5
- package/template/bridge/rtc/webNg/index.ts +81 -14
- package/template/bridge/rtm/web/index.ts +5 -3
- package/template/configTransform.js +16 -1
- package/template/customization-api/action-library.ts +4 -16
- package/template/customization-api/app-state.ts +15 -8
- package/template/customization-api/customEvents.ts +7 -2
- package/template/customization-api/customize.ts +1 -1
- package/template/customization-api/index.ts +4 -0
- package/template/customization-api/sub-components.ts +17 -16
- package/template/customization-api/temp.ts +52 -0
- package/template/customization-api/typeDefinition.ts +34 -46
- package/template/customization-api/types.ts +26 -0
- package/template/customization-api/utils.ts +4 -0
- package/template/customization-implementation/createHook.ts +24 -6
- package/template/customization-implementation/index.ts +1 -2
- package/template/customization-implementation/useCustomization.tsx +5 -7
- package/template/defaultConfig.js +72 -0
- package/template/global.d.ts +14 -1
- package/template/index.js +1 -4
- package/template/index.web.js +0 -5
- package/template/index.wsdk.tsx +1 -12
- package/template/ios/.xcode.env +11 -0
- package/template/ios/HelloWorld/AppDelegate.h +2 -4
- package/template/ios/HelloWorld/AppDelegate.mm +64 -0
- package/template/ios/HelloWorld/HelloWorldDebug.entitlements +10 -0
- package/template/ios/HelloWorld/Info.plist +8 -2
- package/template/ios/HelloWorld/main.m +2 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +533 -17
- package/template/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/template/ios/HelloWorld.xcworkspace/contents.xcworkspacedata +10 -0
- package/template/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/template/ios/HelloWorldTests/HelloWorldTests.m +14 -13
- package/template/ios/HelloWorldTests/Info.plist +2 -2
- package/template/ios/Podfile +54 -20
- package/template/ios/Podfile.lock +809 -0
- package/template/ios/ScreenSharing/Info.plist +15 -0
- package/template/ios/ScreenSharing/SampleHandler.h +9 -0
- package/template/ios/ScreenSharing/SampleHandler.m +70 -0
- package/template/jest.config.js +4 -0
- package/template/metro.config.js +7 -32
- package/template/package.json +53 -39
- package/template/react-native-toast-message/index.d.ts +3 -1
- package/template/react-native-toast-message/index.js +1 -0
- package/template/react-native-toast-message/src/components/base/index.js +20 -32
- package/template/react-native-toast-message/src/components/base/styles.js +18 -21
- package/template/react-native-toast-message/src/components/checkbox.js +24 -19
- package/template/react-native-toast-message/src/index.js +3 -1
- package/template/react-native-toast-message/src/index.sdk.tsx +4 -1
- package/template/src/App.tsx +53 -69
- package/template/src/AppRoutes.tsx +90 -0
- package/template/src/AppWrapper.tsx +42 -25
- package/template/src/SDKAppWrapper.tsx +90 -57
- package/template/src/app-state/useLocalUserInfo.ts +3 -3
- package/template/src/app-state/useNoiseSupression.native.tsx +67 -0
- package/template/src/app-state/useNoiseSupression.tsx +107 -0
- package/template/src/app-state/useVideoQuality.tsx +39 -0
- package/template/src/assets/font-styles.css +175 -3
- package/template/src/assets/fonts/icomoon.ttf +0 -0
- package/template/src/assets/selection.json +1 -1
- package/template/src/atoms/ActionMenu.tsx +50 -11
- package/template/src/atoms/Avatar.tsx +51 -0
- package/template/src/atoms/Card.tsx +21 -8
- package/template/src/atoms/Carousel.native.tsx +105 -0
- package/template/src/atoms/Carousel.tsx +103 -0
- package/template/src/atoms/Checkbox.tsx +98 -0
- package/template/src/atoms/CircularProgress.tsx +0 -1
- package/template/src/atoms/ClipboardIconButton.tsx +91 -0
- package/template/src/atoms/CustomIcon.tsx +46 -0
- package/template/src/atoms/DropDownMulti.tsx +349 -0
- package/template/src/atoms/Dropdown.tsx +3 -3
- package/template/src/atoms/IconButton.tsx +52 -9
- package/template/src/atoms/ImageIcon.tsx +18 -5
- package/template/src/atoms/InlineNotification.tsx +81 -0
- package/template/src/atoms/InviteInfo.tsx +4 -4
- package/template/src/atoms/MeetingLink.tsx +160 -0
- package/template/src/atoms/ParticipantsCount.tsx +20 -8
- package/template/src/atoms/Popup.tsx +49 -27
- package/template/src/atoms/PrimaryButton.tsx +19 -5
- package/template/src/atoms/RecordingInfo.tsx +8 -5
- package/template/src/atoms/SecondaryButton.tsx +2 -0
- package/template/src/atoms/Spacer.tsx +1 -0
- package/template/src/atoms/TertiaryButton.tsx +35 -5
- package/template/src/atoms/TextInput.tsx +2 -1
- package/template/src/atoms/Toolbar.tsx +102 -0
- package/template/src/atoms/ToolbarItem.tsx +85 -0
- package/template/src/atoms/ToolbarMenu.tsx +40 -0
- package/template/src/atoms/ToolbarMenuItem.tsx +104 -0
- package/template/src/atoms/ToolbarPreset.tsx +71 -0
- package/template/src/atoms/Tooltip.tsx +30 -13
- package/template/src/atoms/pagination/Pagination.tsx +127 -0
- package/template/src/atoms/pagination/usePagination.tsx +88 -0
- package/template/src/auth/AuthProvider.tsx +500 -0
- package/template/src/auth/AuthRoute.tsx +94 -0
- package/template/src/auth/IDPAuth.electron.tsx +31 -0
- package/template/src/auth/IDPAuth.tsx +67 -0
- package/template/src/auth/IDPLogoutComponent.tsx +158 -0
- package/template/src/auth/UserCancelPopup.tsx +115 -0
- package/template/src/auth/config.ts +52 -0
- package/template/src/auth/openIDPURL.electron.tsx +39 -0
- package/template/src/auth/openIDPURL.native.tsx +51 -0
- package/template/src/auth/openIDPURL.tsx +20 -0
- package/template/src/auth/useIDPAuth.electron.tsx +65 -0
- package/template/src/auth/useIDPAuth.native.tsx +70 -0
- package/template/src/auth/useIDPAuth.tsx +63 -0
- package/template/src/auth/useTokenAuth.tsx +194 -0
- package/template/src/components/Chat.tsx +92 -72
- package/template/src/components/ChatContext.ts +2 -0
- package/template/src/components/ColorConfigure.tsx +0 -1
- package/template/src/components/CommonStyles.ts +9 -2
- package/template/src/components/Controls.tsx +914 -182
- package/template/src/components/Controls1.native.tsx +9 -5
- package/template/src/components/DeviceConfigure.native.tsx +2 -2
- package/template/src/components/DeviceConfigure.tsx +400 -149
- package/template/src/components/DeviceContext.tsx +2 -0
- package/template/src/components/EventsConfigure.tsx +722 -82
- package/template/src/components/GraphQLProvider.tsx +82 -39
- package/template/src/components/GridVideo.tsx +30 -16
- package/template/src/components/HostControlView.tsx +11 -14
- package/template/src/components/JoinPhrase.tsx +0 -1
- package/template/src/components/Leftbar.tsx +110 -0
- package/template/src/components/Navbar.tsx +305 -147
- package/template/src/components/NavbarMobile.tsx +119 -0
- package/template/src/components/Navigation.native.tsx +1 -15
- package/template/src/components/{Settings.native.tsx → Navigation.sdk.tsx} +17 -6
- package/template/src/components/NetworkQualityContext.tsx +12 -6
- package/template/src/components/ParticipantsView.tsx +63 -56
- package/template/src/components/PinnedVideo.tsx +191 -119
- package/template/src/components/Precall.native.tsx +177 -72
- package/template/src/components/Precall.tsx +247 -78
- package/template/src/components/RTMConfigure.tsx +205 -67
- package/template/src/components/Rightbar.tsx +112 -0
- package/template/src/components/Router.electron.ts +1 -0
- package/template/src/components/Router.native.ts +1 -0
- package/template/src/components/Router.sdk.ts +1 -0
- package/template/src/components/Router.ts +1 -0
- package/template/src/components/SdkApiContext.tsx +313 -0
- package/template/src/components/SdkMuteToggleListener.tsx +88 -0
- package/template/src/components/SessionContext.tsx +0 -1
- package/template/src/components/Settings.tsx +33 -4
- package/template/src/components/SettingsView.tsx +44 -9
- package/template/src/components/Share.tsx +152 -74
- package/template/src/components/StorageContext.tsx +23 -6
- package/template/src/components/ToastComponent.tsx +10 -1
- package/template/src/components/WhiteboardLayout.tsx +291 -0
- package/template/src/components/chat-messages/useChatMessages.tsx +454 -239
- package/template/src/components/chat-ui/{useChatUIControl.tsx → useChatUIControls.tsx} +29 -29
- package/template/src/components/common/Error.tsx +2 -0
- package/template/src/components/common/Logo.tsx +2 -2
- package/template/src/components/contexts/LiveStreamDataContext.tsx +13 -12
- package/template/src/components/contexts/ScreenShareContext.tsx +15 -1
- package/template/src/components/contexts/VideoMeetingDataContext.tsx +6 -6
- package/template/src/components/contexts/WaitingRoomContext.tsx +50 -0
- package/template/src/components/contexts/WhiteboardContext.tsx +54 -54
- package/template/src/components/disable-chat/useDisableChat.tsx +32 -0
- package/template/src/components/livestream/LiveStreamContext.tsx +314 -220
- package/template/src/components/livestream/Types.ts +36 -20
- package/template/src/components/livestream/views/LiveStreamAttendeeLandingTile.tsx +295 -0
- package/template/src/components/livestream/views/LiveStreamControls.tsx +5 -10
- package/template/src/components/meeting-info-invite/MeetingInfo.tsx +82 -0
- package/template/src/components/meeting-info-invite/MeetingInfoCardHeader.tsx +86 -0
- package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +218 -0
- package/template/src/components/meeting-info-invite/MeetingInfoLinks.tsx +122 -0
- package/template/src/components/participants/AllAudienceParticipants.tsx +19 -20
- package/template/src/components/participants/AllHostParticipants.tsx +20 -19
- package/template/src/components/participants/Participant.tsx +45 -16
- package/template/src/components/participants/ParticipantSectionTitle.tsx +5 -2
- package/template/src/components/participants/ScreenshareParticipants.tsx +17 -19
- package/template/src/components/participants/UserActionMenuOptions.tsx +173 -62
- package/template/src/components/participants/WaitingRoomParticipants.tsx +74 -0
- package/template/src/components/popups/InvitePopup.tsx +110 -45
- package/template/src/components/popups/StartScreenSharePopup.native.tsx +182 -0
- package/template/src/components/popups/StartScreenSharePopup.tsx +6 -0
- package/template/src/components/popups/StopRecordingPopup.tsx +11 -5
- package/template/src/components/popups/StopScreenSharePopup.native.tsx +135 -0
- package/template/src/components/popups/StopScreenSharePopup.tsx +6 -0
- package/template/src/components/popups/WhiteboardClearAllPopup.tsx +123 -0
- package/template/src/components/precall/LocalMute.tsx +69 -45
- package/template/src/components/precall/PermissionHelper.tsx +56 -28
- package/template/src/components/precall/PreCallSettings.tsx +1 -0
- package/template/src/components/precall/VideoFallback.tsx +173 -0
- package/template/src/components/precall/VideoPreview.native.tsx +19 -53
- package/template/src/components/precall/VideoPreview.tsx +29 -164
- package/template/src/components/precall/index.tsx +2 -0
- package/template/src/components/precall/joinCallBtn.native.tsx +12 -5
- package/template/src/components/precall/joinCallBtn.tsx +13 -4
- package/template/src/components/precall/joinWaitingRoomBtn.native.tsx +210 -0
- package/template/src/components/precall/joinWaitingRoomBtn.tsx +250 -0
- package/template/src/components/precall/meetingTitle.tsx +37 -11
- package/template/src/components/precall/selectDevice.tsx +5 -5
- package/template/src/components/precall/textInput.tsx +17 -19
- package/template/src/components/precall/usePreCall.tsx +33 -1
- package/template/src/components/recording-bot/RecordingBotRoute.tsx +42 -0
- package/template/src/components/recordings/RecordingsDateTable.tsx +62 -0
- package/template/src/components/recordings/RecordingsModal.tsx +135 -0
- package/template/src/components/recordings/ViewRecordingsModal.tsx +51 -0
- package/template/src/components/recordings/recording-table.tsx +154 -0
- package/template/src/components/recordings/style.ts +183 -0
- package/template/src/components/recordings/utils.ts +80 -0
- package/template/src/components/room-info/useRoomInfo.tsx +128 -0
- package/template/src/components/{meeting-info/useSetMeetingInfo.tsx → room-info/useSetRoomInfo.tsx} +12 -12
- package/template/src/components/useShareLink.tsx +28 -63
- package/template/src/components/useUserPreference.tsx +82 -16
- package/template/src/components/useVideoCall.tsx +93 -1
- package/template/src/components/virtual-background/VBButton.tsx +64 -0
- package/template/src/components/virtual-background/VBCard.native.tsx +282 -0
- package/template/src/components/virtual-background/VBCard.tsx +272 -0
- package/template/src/components/virtual-background/VBPanel.tsx +279 -0
- package/template/src/components/virtual-background/VButils.native.ts +37 -0
- package/template/src/components/virtual-background/VButils.ts +104 -0
- package/template/src/components/virtual-background/VideoPreview.native.tsx +43 -0
- package/template/src/components/virtual-background/VideoPreview.tsx +106 -0
- package/template/src/components/virtual-background/imagePaths.ts +87 -0
- package/template/src/components/virtual-background/images/beachImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/bedroomImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/bookImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/earthImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/index.ts +37 -0
- package/template/src/components/virtual-background/images/lampImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/mountainsImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/office1ImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/officeImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/plantsImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/skyImageBase64.ts +1 -0
- package/template/src/components/virtual-background/images/wallImageBase64.ts +1 -0
- package/template/src/components/virtual-background/useVB.native.tsx +185 -0
- package/template/src/components/virtual-background/useVB.tsx +267 -0
- package/template/src/components/whiteboard/StrokeWidthTool.tsx +137 -0
- package/template/src/components/whiteboard/WhiteboardButton.tsx +93 -0
- package/template/src/components/whiteboard/WhiteboardCanvas.tsx +99 -0
- package/template/src/components/whiteboard/WhiteboardConfigure.native.tsx +148 -0
- package/template/src/components/whiteboard/WhiteboardConfigure.tsx +446 -0
- package/template/src/components/whiteboard/WhiteboardCursor.tsx +152 -0
- package/template/src/components/whiteboard/WhiteboardToolBox.tsx +1246 -0
- package/template/src/components/whiteboard/WhiteboardView.native.tsx +188 -0
- package/template/src/components/whiteboard/WhiteboardView.tsx +81 -0
- package/template/src/components/whiteboard/WhiteboardWidget.tsx +685 -0
- package/template/src/components/whiteboard/WhiteboardWrapper.tsx +38 -0
- package/template/src/language/default-labels/commonLabels.ts +51 -14
- package/template/src/language/default-labels/createScreenLabels.ts +97 -17
- package/template/src/language/default-labels/joinScreenLabels.ts +45 -6
- package/template/src/language/default-labels/precallScreenLabels.ts +149 -25
- package/template/src/language/default-labels/shareLinkScreenLabels.ts +85 -37
- package/template/src/language/default-labels/videoCallScreenLabels.ts +1195 -158
- package/template/src/pages/Create.tsx +136 -106
- package/template/src/pages/Endcall.tsx +2 -2
- package/template/src/pages/Join.tsx +82 -40
- package/template/src/pages/Login.tsx +26 -0
- package/template/src/pages/VideoCall.tsx +329 -127
- package/template/src/pages/video-call/ActionSheet.native.tsx +54 -6
- package/template/src/pages/video-call/ActionSheet.tsx +55 -15
- package/template/src/pages/video-call/ActionSheetContent.tsx +498 -308
- package/template/src/pages/video-call/ActionSheetHandle.tsx +7 -1
- package/template/src/pages/video-call/DefaultLayouts.ts +20 -8
- package/template/src/pages/video-call/NameWithMicIcon.tsx +41 -64
- package/template/src/pages/video-call/PinchableView.tsx +119 -0
- package/template/src/pages/video-call/RenderComponent.tsx +14 -30
- package/template/src/pages/video-call/SidePanelHeader.tsx +227 -29
- package/template/src/pages/video-call/VideoCallMobileView.tsx +231 -89
- package/template/src/pages/video-call/VideoCallScreen.native.tsx +3 -2
- package/template/src/pages/video-call/VideoCallScreen.tsx +233 -84
- package/template/src/pages/video-call/VideoCallScreenWrapper.tsx +41 -0
- package/template/src/pages/video-call/VideoComponent.tsx +60 -8
- package/template/src/pages/video-call/VideoRenderer.tsx +343 -57
- package/template/src/pages/video-call/VisibilitySensor.tsx +104 -0
- package/template/src/pages/video-call/ZoomableWrapper.native.tsx +34 -0
- package/template/src/pages/video-call/ZoomableWrapper.tsx +5 -0
- package/template/src/pages/video-call/index.ts +42 -8
- package/template/src/rtm/RTMEngine.ts +17 -4
- package/template/src/rtm-events/constants.ts +21 -3
- package/template/src/rtm-events-api/Events.ts +7 -4
- package/template/src/rtm-events-api/LocalEvents.ts +14 -0
- package/template/src/rtm-events-api/types.ts +5 -5
- package/template/src/selection.json +1 -0
- package/template/src/subComponents/ChatBubble.tsx +87 -67
- package/template/src/subComponents/ChatContainer.tsx +70 -49
- package/template/src/subComponents/ChatInput.ios.tsx +32 -85
- package/template/src/subComponents/ChatInput.tsx +31 -80
- package/template/src/subComponents/Checkbox.native.tsx +46 -46
- package/template/src/subComponents/Checkbox.tsx +7 -6
- package/template/src/subComponents/CopyJoinInfo.tsx +31 -11
- package/template/src/subComponents/EndcallPopup.tsx +83 -12
- package/template/src/subComponents/FallbackLogo.tsx +2 -2
- package/template/src/subComponents/LanguageSelector.tsx +34 -30
- package/template/src/subComponents/LayoutIconButton.tsx +34 -17
- package/template/src/subComponents/LayoutIconDropdown.tsx +21 -8
- package/template/src/subComponents/Loading.tsx +60 -0
- package/template/src/subComponents/LocalAudioMute.tsx +87 -34
- package/template/src/subComponents/LocalEndCall.tsx +61 -24
- package/template/src/subComponents/LocalSwitchCamera.tsx +57 -13
- package/template/src/subComponents/LocalVideoMute.tsx +105 -36
- package/template/src/subComponents/LogoutButton.tsx +1 -1
- package/template/src/subComponents/NetworkQualityPill.tsx +22 -38
- package/template/src/subComponents/Recording.tsx +29 -9
- package/template/src/subComponents/RemoteAudioMute.tsx +5 -5
- package/template/src/subComponents/RemoteMutePopup.tsx +55 -14
- package/template/src/subComponents/RemoteVideoMute.tsx +5 -5
- package/template/src/subComponents/RemoveMeetingPopup.tsx +19 -6
- package/template/src/subComponents/RemoveScreensharePopup.tsx +20 -5
- package/template/src/subComponents/ScreenShareNotice.tsx +11 -6
- package/template/src/subComponents/SelectDevice.tsx +103 -34
- package/template/src/subComponents/SelectDeviceSettings.backup.tsx +9 -6
- package/template/src/subComponents/SidePanelButtons.ts +0 -3
- package/template/src/subComponents/SidePanelEnum.tsx +2 -0
- package/template/src/subComponents/SidePanelHeader.tsx +97 -63
- package/template/src/subComponents/ToastConfig.tsx +70 -61
- package/template/src/subComponents/caption/Caption.tsx +132 -0
- package/template/src/subComponents/caption/CaptionContainer.tsx +302 -0
- package/template/src/subComponents/caption/CaptionIcon.tsx +111 -0
- package/template/src/subComponents/caption/CaptionText.tsx +182 -0
- package/template/src/subComponents/caption/DownloadTranscriptBtn.tsx +65 -0
- package/template/src/subComponents/caption/LanguageSelectorPopup.tsx +192 -0
- package/template/src/subComponents/caption/Transcript.tsx +452 -0
- package/template/src/subComponents/caption/TranscriptIcon.tsx +123 -0
- package/template/src/subComponents/caption/TranscriptText.tsx +98 -0
- package/template/src/subComponents/caption/index.ts +3 -0
- package/template/src/subComponents/caption/proto/ptoto.js +91 -0
- package/template/src/subComponents/caption/proto/test.proto +23 -0
- package/template/src/subComponents/caption/useCaption.tsx +123 -0
- package/template/src/subComponents/caption/useCaptionWidth.ts +27 -0
- package/template/src/subComponents/caption/useSTTAPI.tsx +179 -0
- package/template/src/subComponents/caption/useStreamMessageUtils.native.ts +211 -0
- package/template/src/subComponents/caption/useStreamMessageUtils.ts +235 -0
- package/template/src/subComponents/caption/useTranscriptDownload.native.ts +63 -0
- package/template/src/subComponents/caption/useTranscriptDownload.ts +52 -0
- package/template/src/subComponents/caption/utils.ts +126 -0
- package/template/src/subComponents/chat/ChatParticipants.tsx +60 -24
- package/template/src/subComponents/livestream/ApprovedLiveStreamControlsView.tsx +2 -2
- package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +19 -20
- package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +66 -35
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +3 -2
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +10 -6
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +28 -19
- package/template/src/subComponents/recording/useIsRecordingBot.tsx +38 -0
- package/template/src/subComponents/recording/useRecording.tsx +251 -138
- package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +0 -1
- package/template/src/subComponents/screenshare/ScreenshareButton.tsx +39 -15
- package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +275 -69
- package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +193 -124
- package/template/src/subComponents/screenshare/useScreenshare.tsx +2 -0
- package/template/src/subComponents/waiting-rooms/WaitingRoomControls.tsx +85 -0
- package/template/src/subComponents/waiting-rooms/useWaitingRoomAPI.ts +75 -0
- package/template/src/theme/index.ts +13 -0
- package/template/src/utils/SdkEvents.ts +37 -14
- package/template/src/utils/SdkMethodEvents.ts +101 -0
- package/template/src/utils/axiomLogger.ts +117 -0
- package/template/src/utils/book.jpg +0 -0
- package/template/src/utils/common.tsx +118 -6
- package/template/src/utils/constants.ts +4 -0
- package/template/src/utils/getCustomRoute.ts +7 -0
- package/template/src/utils/index.tsx +34 -0
- package/template/src/utils/useActionSheet.tsx +50 -0
- package/template/src/utils/useActiveSpeaker.ts +38 -0
- package/template/src/utils/useAppState.ts +17 -0
- package/template/src/utils/useAsyncEffect.ts +138 -0
- package/template/src/utils/{useCreateMeeting.ts → useCreateRoom.ts} +27 -26
- package/template/src/utils/useEndCall.ts +65 -0
- package/template/src/utils/useFindActiveSpeaker.native.ts +4 -0
- package/template/src/utils/useFindActiveSpeaker.ts +335 -0
- package/template/src/utils/useGetMeetingPhrase.ts +10 -10
- package/template/src/utils/useIsAudioEnabled.ts +3 -3
- package/template/src/utils/useIsLocalUserSpeaking.native.ts +4 -0
- package/template/src/utils/useIsLocalUserSpeaking.ts +103 -0
- package/template/src/utils/useIsPSTN.ts +3 -3
- package/template/src/utils/useIsVideoEnabled.ts +3 -3
- package/template/src/utils/useJoinRoom.ts +199 -0
- package/template/src/utils/{useIsActiveSpeaker.ts → useLocalAudio.ts} +23 -12
- package/template/src/{components/OAuth.tsx → utils/useMenu.tsx} +16 -15
- package/template/src/utils/useModal.tsx +8 -0
- package/template/src/utils/useMutePSTN.ts +2 -2
- package/template/src/utils/useMuteToggleLocal.ts +121 -96
- package/template/src/utils/useRemoteEndCall.ts +4 -4
- package/template/src/utils/useRemoteEndScreenshare.ts +4 -4
- package/template/src/utils/useRemoteMute.ts +7 -7
- package/template/src/utils/useRemoteRequest.ts +7 -7
- package/template/src/utils/useSearchParams.tsx +28 -0
- package/template/src/utils/useString.ts +13 -3
- package/template/src/utils/useSwitchCamera.native.tsx +25 -0
- package/template/src/{subComponents/screenshare/ScreenshareButton.native.tsx → utils/useSwitchCamera.tsx} +12 -11
- package/template/src/utils/useToolbar.tsx +59 -0
- package/template/src/wasms/agora-virtual-background.wasm +0 -0
- package/template/static.d.ts +42 -0
- package/template/tsconfig_rsdk_index.json +3 -3
- package/template/tsconfig_wsdk_index.json +1 -1
- package/template/web/index.html +20 -0
- package/template/webpack.commons.js +21 -10
- package/template/webpack.rsdk.config.js +1 -2
- package/template/webpack.web.config.js +7 -3
- package/template/_buckconfig +0 -6
- package/template/_gitattributes +0 -1
- package/template/agora-rn-uikit/src/Contexts/RenderContext.tsx +0 -10
- package/template/agora-rn-uikit/src/Reducer/ActiveSpeakerDetected.ts +0 -11
- package/template/android/app/_BUCK +0 -55
- package/template/android/app/build_defs.bzl +0 -19
- package/template/bridge/rtc/webNg/LocalView.tsx +0 -20
- package/template/ios/HelloWorld/AppDelegate.m +0 -74
- package/template/src/components/OAuth.electron.tsx +0 -41
- package/template/src/components/OAuth.native.tsx +0 -55
- package/template/src/components/OAuthConfig.ts +0 -77
- package/template/src/components/StoreToken.tsx +0 -39
- package/template/src/components/meeting-info/useMeetingInfo.tsx +0 -70
- package/template/src/pages/video-call/CustomUserContextHolder.tsx +0 -20
- package/template/src/utils/useButtonTemplate.tsx +0 -44
- package/template/src/utils/useJoinMeeting.ts +0 -132
|
@@ -9,11 +9,26 @@
|
|
|
9
9
|
information visit https://appbuilder.agora.io.
|
|
10
10
|
*********************************************
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Adaptive,
|
|
12
|
+
|
|
13
|
+
export interface RtcEngineContext {
|
|
14
|
+
appId?: string;
|
|
16
15
|
}
|
|
16
|
+
|
|
17
|
+
export enum RenderModeType {
|
|
18
|
+
/**
|
|
19
|
+
* 1: Hidden mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). One dimension of the video may have clipped contents.
|
|
20
|
+
*/
|
|
21
|
+
RenderModeHidden = 1,
|
|
22
|
+
/**
|
|
23
|
+
* 2: Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to disparity in the aspect ratio are filled with black.
|
|
24
|
+
*/
|
|
25
|
+
RenderModeFit = 2,
|
|
26
|
+
/**
|
|
27
|
+
* @ignore
|
|
28
|
+
*/
|
|
29
|
+
RenderModeAdaptive = 3,
|
|
30
|
+
}
|
|
31
|
+
|
|
17
32
|
export enum VideoMirrorMode {
|
|
18
33
|
/**
|
|
19
34
|
* 0: (Default) The SDK determines the mirror mode.
|
|
@@ -26,7 +41,7 @@ export enum VideoMirrorMode {
|
|
|
26
41
|
/**
|
|
27
42
|
* 2: Disables mirror mode.
|
|
28
43
|
*/
|
|
29
|
-
Disabled = 2
|
|
44
|
+
Disabled = 2,
|
|
30
45
|
}
|
|
31
46
|
/**
|
|
32
47
|
*
|
|
@@ -10,23 +10,90 @@
|
|
|
10
10
|
*********************************************
|
|
11
11
|
*/
|
|
12
12
|
import RtcEngine from './RtcEngine';
|
|
13
|
-
|
|
14
|
-
import LocalView from './LocalView';
|
|
15
|
-
import * as Types from './Types';
|
|
13
|
+
export {default as RtcSurfaceView} from './RtcSurfaceView';
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
SurfaceView: LocalView,
|
|
19
|
-
TextureView: LocalView,
|
|
20
|
-
};
|
|
15
|
+
import * as Types from './Types';
|
|
21
16
|
|
|
22
|
-
export const
|
|
23
|
-
|
|
24
|
-
TextureView: SurfaceView as any,
|
|
25
|
-
};
|
|
17
|
+
export const VideoMirrorMode = {...Types.RenderModeType};
|
|
18
|
+
export const RenderModeType = {...Types.RenderModeType};
|
|
26
19
|
|
|
27
|
-
export
|
|
28
|
-
|
|
20
|
+
export function createAgoraRtcEngine() {
|
|
21
|
+
let engine = new RtcEngine();
|
|
22
|
+
window.engine = engine;
|
|
23
|
+
return engine;
|
|
24
|
+
}
|
|
29
25
|
|
|
30
26
|
export {RnEncryptionEnum as EncryptionMode} from './RtcEngine';
|
|
31
|
-
export {AREAS as AreaCode} from './RtcEngine'
|
|
27
|
+
export {AREAS as AreaCode} from './RtcEngine';
|
|
28
|
+
export type VideoEncoderConfiguration = any;
|
|
29
|
+
export declare enum AudioScenario {
|
|
30
|
+
/**
|
|
31
|
+
* 0: Default audio scenario.
|
|
32
|
+
*
|
|
33
|
+
* **Note**
|
|
34
|
+
* If you run the iOS app on an M1 Mac, due to the hardware differences between M1 Macs, iPhones, and iPads,
|
|
35
|
+
* the default audio scenario of the Agora iOS SDK is the same as that of the Agora macOS SDK.
|
|
36
|
+
*/
|
|
37
|
+
Default = 0,
|
|
38
|
+
/**
|
|
39
|
+
* 1: Entertainment scenario where users need to frequently switch the user role.
|
|
40
|
+
*/
|
|
41
|
+
ChatRoomEntertainment = 1,
|
|
42
|
+
/**
|
|
43
|
+
* 2: Education scenario where users want smoothness and stability.
|
|
44
|
+
*/
|
|
45
|
+
Education = 2,
|
|
46
|
+
/**
|
|
47
|
+
* 3: High-quality audio chatroom scenario where hosts mainly play music.
|
|
48
|
+
*/
|
|
49
|
+
GameStreaming = 3,
|
|
50
|
+
/**
|
|
51
|
+
* 4: Showroom scenario where a single host wants high-quality audio.
|
|
52
|
+
*/
|
|
53
|
+
ShowRoom = 4,
|
|
54
|
+
/**
|
|
55
|
+
* 5: Gaming scenario for group chat that only contains the human voice.
|
|
56
|
+
*/
|
|
57
|
+
ChatRoomGaming = 5,
|
|
58
|
+
/**
|
|
59
|
+
* IoT (Internet of Things) scenario where users use IoT devices with low power consumption.
|
|
60
|
+
*
|
|
61
|
+
* @since v3.2.0.
|
|
62
|
+
*/
|
|
63
|
+
IOT = 6,
|
|
64
|
+
/**
|
|
65
|
+
* Meeting scenario that mainly contains the human voice.
|
|
66
|
+
*
|
|
67
|
+
* @since v3.2.0.
|
|
68
|
+
*/
|
|
69
|
+
MEETING = 8,
|
|
70
|
+
}
|
|
71
|
+
export declare enum AudioProfile {
|
|
72
|
+
/**
|
|
73
|
+
* 0: Default audio profile.
|
|
74
|
+
* - In the `Communication` profile: A sample rate of 32 KHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
|
|
75
|
+
* - In the `LiveBroadcasting` profile: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
|
76
|
+
*/
|
|
77
|
+
Default = 0,
|
|
78
|
+
/**
|
|
79
|
+
* 1: A sample rate of 32 KHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
|
|
80
|
+
*/
|
|
81
|
+
SpeechStandard = 1,
|
|
82
|
+
/**
|
|
83
|
+
* 2: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 64 Kbps.
|
|
84
|
+
*/
|
|
85
|
+
MusicStandard = 2,
|
|
86
|
+
/**
|
|
87
|
+
* 3: A sample rate of 48 KHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
|
|
88
|
+
*/
|
|
89
|
+
MusicStandardStereo = 3,
|
|
90
|
+
/**
|
|
91
|
+
* 4: A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 96 Kbps.
|
|
92
|
+
*/
|
|
93
|
+
MusicHighQuality = 4,
|
|
94
|
+
/**
|
|
95
|
+
* 5: A sample rate of 48 KHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
|
|
96
|
+
*/
|
|
97
|
+
MusicHighQualityStereo = 5,
|
|
98
|
+
}
|
|
32
99
|
export default RtcEngine;
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
} from 'agora-react-native-rtm/lib/typescript/src';
|
|
19
19
|
import {RtmClientEvents} from 'agora-react-native-rtm/lib/typescript/src/RtmEngine';
|
|
20
20
|
import AgoraRTM, {VERSION} from 'agora-rtm-sdk';
|
|
21
|
+
import RtmClient from 'agora-react-native-rtm';
|
|
21
22
|
// export {RtmAttribute}
|
|
22
23
|
//
|
|
23
|
-
interface RtmAttributePlaceholder {
|
|
24
|
-
};
|
|
24
|
+
interface RtmAttributePlaceholder {}
|
|
25
25
|
export {RtmAttributePlaceholder as RtmAttribute};
|
|
26
26
|
|
|
27
27
|
type callbackType = (args?: any) => void;
|
|
@@ -99,6 +99,8 @@ export default class RtmEngine {
|
|
|
99
99
|
this.appId = APP_ID;
|
|
100
100
|
this.client = AgoraRTM.createInstance(this.appId);
|
|
101
101
|
|
|
102
|
+
window.rtmClient = this.client;
|
|
103
|
+
|
|
102
104
|
this.client.on('ConnectionStateChanged', (state, reason) => {
|
|
103
105
|
this.clientEventsMap.get('connectionStateChanged')({state, reason});
|
|
104
106
|
});
|
|
@@ -174,7 +176,7 @@ export default class RtmEngine {
|
|
|
174
176
|
}
|
|
175
177
|
|
|
176
178
|
async logout(): Promise<any> {
|
|
177
|
-
return this.client.logout();
|
|
179
|
+
return await this.client.logout();
|
|
178
180
|
}
|
|
179
181
|
|
|
180
182
|
async joinChannel(channelId: string): Promise<any> {
|
|
@@ -12,7 +12,22 @@
|
|
|
12
12
|
let jsonFile = require('./config.json');
|
|
13
13
|
let PREFIX = '$config';
|
|
14
14
|
let config = {};
|
|
15
|
-
Object.keys(jsonFile).map(
|
|
15
|
+
Object.keys(jsonFile).map(key => {
|
|
16
16
|
config[`${PREFIX}.${key}`] = jsonFile[key];
|
|
17
17
|
});
|
|
18
|
+
|
|
19
|
+
//find any missing config
|
|
20
|
+
const defaultConfig = require('./defaultConfig');
|
|
21
|
+
const filteredArray = Object.keys(defaultConfig).filter(
|
|
22
|
+
value => !Object.keys(jsonFile).includes(value),
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
//add missing config with default value
|
|
26
|
+
if (filteredArray && filteredArray?.length) {
|
|
27
|
+
//console.error('config.json missing ', filteredArray);
|
|
28
|
+
filteredArray.forEach(i => {
|
|
29
|
+
config[`${PREFIX}.${i}`] = defaultConfig[i];
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
18
33
|
module.exports = config;
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
//hooks used for create/join meeting
|
|
2
|
-
export {default as
|
|
3
|
-
export {default as
|
|
4
|
-
|
|
5
|
-
//mute local audio state
|
|
6
|
-
export {
|
|
7
|
-
MUTE_LOCAL_TYPE,
|
|
8
|
-
default as useMuteToggleLocal,
|
|
9
|
-
} from '../src/utils/useMuteToggleLocal';
|
|
2
|
+
export {default as useCreateRoom} from '../src/utils/useCreateRoom';
|
|
3
|
+
export {default as useJoinRoom} from '../src/utils/useJoinRoom';
|
|
10
4
|
|
|
11
5
|
//remove remote user from the call
|
|
12
6
|
export {default as useRemoteEndcall} from '../src/utils/useRemoteEndCall';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export {
|
|
16
|
-
default as useRemoteMute,
|
|
17
|
-
MUTE_REMOTE_TYPE,
|
|
18
|
-
} from '../src/utils/useRemoteMute';
|
|
7
|
+
//switch camera
|
|
8
|
+
export {default as useSwitchCamera} from '../src/utils/useSwitchCamera';
|
|
19
9
|
|
|
20
10
|
export {controlMessageEnum} from '../src/components/ChatContext';
|
|
21
|
-
//audio/video toggle state
|
|
22
|
-
export {ToggleState} from '../agora-rn-uikit/src/Contexts/PropsContext';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Core contexts
|
|
3
3
|
*/
|
|
4
4
|
import {createHook} from 'customization-implementation';
|
|
5
|
-
import {RtcContext,
|
|
5
|
+
import {RtcContext, ContentContext} from '../agora-rn-uikit';
|
|
6
6
|
|
|
7
7
|
// commented for v1 release
|
|
8
8
|
//import {default as DeviceContext} from '../src/components/DeviceContext';
|
|
@@ -14,7 +14,7 @@ export const useRtc = createHook(RtcContext);
|
|
|
14
14
|
/**
|
|
15
15
|
* The Render app state governs the information necessary to render each user content view displayed in the videocall screen.
|
|
16
16
|
*/
|
|
17
|
-
export const
|
|
17
|
+
export const useContent = createHook(ContentContext);
|
|
18
18
|
|
|
19
19
|
export {useLocalUserInfo} from '../src/app-state/useLocalUserInfo';
|
|
20
20
|
|
|
@@ -26,8 +26,8 @@ export {useLocalUserInfo} from '../src/app-state/useLocalUserInfo';
|
|
|
26
26
|
* UI contexts
|
|
27
27
|
*/
|
|
28
28
|
// commented for v1 release
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
export {usePreCall} from '../src/components/precall/usePreCall';
|
|
30
|
+
export type {PreCallContextInterface} from '../src/components/precall/usePreCall';
|
|
31
31
|
export {useLayout} from '../src/utils/useLayout';
|
|
32
32
|
export type {LayoutContextInterface} from '../src/utils/useLayout';
|
|
33
33
|
// commented for v1 release
|
|
@@ -40,14 +40,21 @@ export type {LayoutContextInterface} from '../src/utils/useLayout';
|
|
|
40
40
|
// export type {ScreenshareContextInterface} from '../src/subComponents/screenshare/useScreenshare';
|
|
41
41
|
export {useRecording} from '../src/subComponents/recording/useRecording';
|
|
42
42
|
export type {RecordingContextInterface} from '../src/subComponents/recording/useRecording';
|
|
43
|
-
export {
|
|
44
|
-
export type {
|
|
45
|
-
export {useChatUIControl} from '../src/components/chat-ui/useChatUIControl';
|
|
46
|
-
export type {ChatUIControlInterface} from '../src/components/chat-ui/useChatUIControl';
|
|
43
|
+
export {useRoomInfo} from '../src/components/room-info/useRoomInfo';
|
|
44
|
+
export type {RoomInfoContextInterface} from '../src/components/room-info/useRoomInfo';
|
|
47
45
|
export {useMessages} from '../src/app-state/useMessages';
|
|
48
46
|
export type {messageInterface} from '../src/app-state/useMessages';
|
|
49
47
|
export {SidePanelType} from '../src/subComponents/SidePanelEnum';
|
|
50
48
|
export {useSidePanel} from '../src/utils/useSidePanel';
|
|
51
49
|
|
|
50
|
+
export {useNoiseSupression} from '../src/app-state/useNoiseSupression';
|
|
51
|
+
export {useVideoQuality} from '../src/app-state/useVideoQuality';
|
|
52
|
+
|
|
52
53
|
//hook used to get/set username
|
|
53
54
|
export {default as useUserName} from '../src/utils/useUserName';
|
|
55
|
+
|
|
56
|
+
export {
|
|
57
|
+
useChatUIControls,
|
|
58
|
+
ChatType,
|
|
59
|
+
} from '../src/components/chat-ui/useChatUIControls';
|
|
60
|
+
export type {ChatUIControlsInterface} from '../src/components/chat-ui/useChatUIControls';
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
// 1. Import Events
|
|
2
2
|
import Events from '../src/rtm-events-api/Events';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
EventSource,
|
|
5
|
+
PersistanceLevel,
|
|
6
|
+
EventCallback,
|
|
7
|
+
} from '../src/rtm-events-api';
|
|
4
8
|
|
|
5
9
|
// 2. Initialize with source "fpe"
|
|
6
10
|
const customEvents = new Events(EventSource.fpe);
|
|
7
11
|
|
|
8
12
|
// 3. export
|
|
9
|
-
export {customEvents};
|
|
13
|
+
export {customEvents, PersistanceLevel};
|
|
14
|
+
export type {EventCallback};
|
|
@@ -46,7 +46,7 @@ function isComponent(data: any) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
//These keys value are not react component. so doing indexOf and checking whether its function or not
|
|
49
|
-
const ignoreTheseKeys = ['customLayout'
|
|
49
|
+
const ignoreTheseKeys = ['customLayout'];
|
|
50
50
|
|
|
51
51
|
function validateComponents(components: any) {
|
|
52
52
|
for (const key in components) {
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
//Common components
|
|
2
|
-
export {default as HorizontalRule} from '../src/atoms/HorizontalRule';
|
|
3
|
-
export {default as PrimaryButton} from '../src/atoms/PrimaryButton';
|
|
4
|
-
export {default as SecondaryButton} from '../src/atoms/SecondaryButton';
|
|
5
2
|
export {default as TextInput} from '../src/atoms/TextInput';
|
|
6
3
|
//Icons
|
|
7
|
-
export {Icons} from '../agora-rn-uikit';
|
|
4
|
+
//export {Icons} from '../agora-rn-uikit';
|
|
8
5
|
|
|
9
6
|
// commented for v1 release
|
|
10
7
|
//create screen
|
|
@@ -16,30 +13,28 @@ export {Icons} from '../agora-rn-uikit';
|
|
|
16
13
|
|
|
17
14
|
// commented for v1 release
|
|
18
15
|
//Precall components
|
|
19
|
-
|
|
16
|
+
export * from '../src/components/precall/index';
|
|
20
17
|
|
|
21
18
|
//video call components
|
|
22
19
|
export {
|
|
23
20
|
ParticipantsView,
|
|
24
|
-
Controls,
|
|
25
|
-
ControlsComponentsArray,
|
|
26
|
-
Navbar,
|
|
27
|
-
NavBarComponentsArray,
|
|
28
21
|
ChatBubble,
|
|
29
|
-
|
|
30
|
-
ChatTextInput,
|
|
22
|
+
ChatInput,
|
|
31
23
|
Chat,
|
|
32
24
|
SettingsView,
|
|
25
|
+
ToolbarComponents,
|
|
33
26
|
} from '../src/pages/video-call/index';
|
|
34
27
|
export {default as GridLayout} from '../src/components/GridVideo';
|
|
35
28
|
export {default as PinnedLayout} from '../src/components/PinnedVideo';
|
|
36
29
|
export {default as VideoComponent} from '../src/pages/video-call/VideoComponent';
|
|
37
30
|
export {default as MaxVideoView} from '../src/pages/video-call/VideoRenderer';
|
|
38
|
-
export {default as RenderComponent} from '../src/pages/video-call/RenderComponent';
|
|
39
31
|
export {default as NameWithMicIcon} from '../src/pages/video-call/NameWithMicIcon';
|
|
40
32
|
export {default as NetworkQualityPill} from '../src/subComponents/NetworkQualityPill';
|
|
41
33
|
//videocall screen
|
|
42
34
|
export {default as VideocallScreen} from '../src/pages/video-call/VideoCallScreen';
|
|
35
|
+
export {default as PrecallScreen} from '../src/components/Precall';
|
|
36
|
+
export {default as VBPanel} from '../src/components/virtual-background/VBPanel';
|
|
37
|
+
export {WhiteboardListener} from '../src/components/Controls';
|
|
43
38
|
|
|
44
39
|
// commented for v1 release
|
|
45
40
|
//Settings screen
|
|
@@ -51,12 +46,18 @@ export {default as VideocallScreen} from '../src/pages/video-call/VideoCallScree
|
|
|
51
46
|
//export {default as LanguageSelector} from '../src/subComponents/LanguageSelector';
|
|
52
47
|
|
|
53
48
|
//Sidepanel buttons
|
|
54
|
-
export {SidePanelButtonsArray} from '../src/subComponents/SidePanelButtons';
|
|
49
|
+
//export {SidePanelButtonsArray} from '../src/subComponents/SidePanelButtons';
|
|
55
50
|
export {
|
|
56
|
-
ImageIcon as UiKitImageIcon,
|
|
57
51
|
MaxVideoView as UiKitMaxVideoView,
|
|
58
|
-
BtnTemplate as UiKitBtnTemplate,
|
|
59
52
|
ClientRole as UikitClientRole,
|
|
60
53
|
ChannelProfile as UikitChannelProfile,
|
|
54
|
+
PropsContext as UikitPropsContext,
|
|
61
55
|
} from '../agora-rn-uikit';
|
|
62
|
-
export
|
|
56
|
+
export {default as Toolbar} from '../src/atoms/Toolbar';
|
|
57
|
+
export {default as ToolbarItem} from '../src/atoms/ToolbarItem';
|
|
58
|
+
export {default as ToolbarPreset} from '../src/atoms/ToolbarPreset';
|
|
59
|
+
export {default as ToolbarMenu} from '../src/atoms/ToolbarMenu';
|
|
60
|
+
export type {
|
|
61
|
+
ToolbarCustomItem,
|
|
62
|
+
ToolbarPresetProps,
|
|
63
|
+
} from '../src/atoms/ToolbarPreset';
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//exporting for simple-practice demo
|
|
2
|
+
|
|
3
|
+
import VideoRenderer from '../src/pages/video-call/VideoRenderer';
|
|
4
|
+
import {DispatchContext} from '../agora-rn-uikit';
|
|
5
|
+
import IconButton from '../src/atoms/IconButton';
|
|
6
|
+
import WhiteboardView from '../src/components/whiteboard/WhiteboardView';
|
|
7
|
+
import {
|
|
8
|
+
useWhiteboard,
|
|
9
|
+
whiteboardContext,
|
|
10
|
+
} from '../src/components/whiteboard/WhiteboardConfigure';
|
|
11
|
+
import {useVideoCall} from '../src/components/useVideoCall';
|
|
12
|
+
import {useScreenshare} from '../src/subComponents/screenshare/useScreenshare';
|
|
13
|
+
import EndcallPopup from '../src/subComponents/EndcallPopup';
|
|
14
|
+
import useSTTAPI from '../src/subComponents/caption/useSTTAPI';
|
|
15
|
+
import {useCaption} from '../src/subComponents/caption/useCaption';
|
|
16
|
+
import useMuteToggleLocal, {
|
|
17
|
+
MUTE_LOCAL_TYPE,
|
|
18
|
+
} from '../src/utils/useMuteToggleLocal';
|
|
19
|
+
import {RoomPhase} from 'white-web-sdk';
|
|
20
|
+
import {useScreenContext} from '../src/components/contexts/ScreenShareContext';
|
|
21
|
+
import {filterObject} from '../src/utils/index';
|
|
22
|
+
import {useToggleWhiteboard} from '../src/components/Controls';
|
|
23
|
+
import {ShowInputURL} from '../src/components/Share';
|
|
24
|
+
import useRemoteMute, {MUTE_REMOTE_TYPE} from '../src/utils/useRemoteMute';
|
|
25
|
+
import getCustomRoute from '../src/utils/getCustomRoute';
|
|
26
|
+
import TertiaryButton from '../src/atoms/TertiaryButton';
|
|
27
|
+
import useEndCall from '../src/utils/useEndCall';
|
|
28
|
+
export {
|
|
29
|
+
VideoRenderer,
|
|
30
|
+
DispatchContext,
|
|
31
|
+
IconButton,
|
|
32
|
+
WhiteboardView,
|
|
33
|
+
whiteboardContext,
|
|
34
|
+
useVideoCall,
|
|
35
|
+
useScreenshare,
|
|
36
|
+
EndcallPopup,
|
|
37
|
+
useSTTAPI,
|
|
38
|
+
useCaption,
|
|
39
|
+
useWhiteboard,
|
|
40
|
+
useMuteToggleLocal,
|
|
41
|
+
MUTE_LOCAL_TYPE,
|
|
42
|
+
RoomPhase,
|
|
43
|
+
useScreenContext,
|
|
44
|
+
filterObject,
|
|
45
|
+
useToggleWhiteboard,
|
|
46
|
+
ShowInputURL,
|
|
47
|
+
useRemoteMute,
|
|
48
|
+
MUTE_REMOTE_TYPE,
|
|
49
|
+
getCustomRoute,
|
|
50
|
+
TertiaryButton,
|
|
51
|
+
useEndCall,
|
|
52
|
+
};
|
|
@@ -13,21 +13,14 @@ import React from 'react';
|
|
|
13
13
|
export type {ChatBubbleProps} from '../src/components/ChatContext';
|
|
14
14
|
import {ChatBubbleProps} from '../src/components/ChatContext';
|
|
15
15
|
import {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
ContentInterface,
|
|
17
|
+
ContentStateInterface,
|
|
18
18
|
UidType,
|
|
19
19
|
} from '../agora-rn-uikit';
|
|
20
20
|
import {I18nInterface} from '../src/language/i18nTypes';
|
|
21
21
|
import {IconsInterface} from '../src/atoms/CustomIcon';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
ChatTextInputProps,
|
|
25
|
-
ChatSendButtonProps,
|
|
26
|
-
} from '../src/subComponents/ChatInput';
|
|
27
|
-
import {
|
|
28
|
-
ChatTextInputProps,
|
|
29
|
-
ChatSendButtonProps,
|
|
30
|
-
} from '../src/subComponents/ChatInput';
|
|
22
|
+
import {ToolbarCustomItem} from './sub-components';
|
|
23
|
+
import {TextDataInterface} from '../src/language/default-labels';
|
|
31
24
|
|
|
32
25
|
export const CUSTOM_ROUTES_PREFIX = '/r/';
|
|
33
26
|
|
|
@@ -50,49 +43,37 @@ export interface ChatCmpInterface {
|
|
|
50
43
|
//commented for v1 release
|
|
51
44
|
//extends BeforeAndAfterInterface
|
|
52
45
|
chatBubble?: React.ComponentType<ChatBubbleProps>;
|
|
53
|
-
chatInput?: React.ComponentType
|
|
54
|
-
chatSendButton?: React.ComponentType<ChatSendButtonProps>;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface renderComponentInterface {
|
|
58
|
-
user: RenderInterface;
|
|
59
|
-
isMax?: boolean;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export interface renderComponentObjectInterface {
|
|
63
|
-
[key: string]: React.ComponentType<renderComponentInterface>;
|
|
46
|
+
chatInput?: React.ComponentType;
|
|
64
47
|
}
|
|
65
48
|
|
|
66
|
-
export type
|
|
67
|
-
renderData:
|
|
49
|
+
export type LayoutComponent = React.ComponentType<{
|
|
50
|
+
renderData: ContentStateInterface['activeUids'];
|
|
68
51
|
}>;
|
|
69
52
|
|
|
70
|
-
export interface
|
|
53
|
+
export interface LayoutItem {
|
|
71
54
|
name: string;
|
|
72
55
|
label: string;
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export interface layoutObjectWithIcon extends layoutObjectBase {
|
|
56
|
+
translationKey?: keyof TextDataInterface;
|
|
77
57
|
icon: string;
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
export interface layoutObjectWithIconName extends layoutObjectBase {
|
|
81
|
-
icon?: never;
|
|
82
|
-
iconName: keyof IconsInterface;
|
|
58
|
+
component: LayoutComponent;
|
|
83
59
|
}
|
|
84
|
-
export type layoutObjectType = layoutObjectWithIcon | layoutObjectWithIconName;
|
|
85
60
|
|
|
61
|
+
export type ToolbarType = React.ComponentType | Array<ToolbarCustomItem>;
|
|
86
62
|
export interface VideoCallInterface extends BeforeAndAfterInterface {
|
|
87
63
|
// commented for v1 release
|
|
88
|
-
|
|
64
|
+
topToolBar?: ToolbarType;
|
|
65
|
+
bottomToolBar?: ToolbarType;
|
|
66
|
+
leftToolBar?: ToolbarType;
|
|
67
|
+
rightToolBar?: ToolbarType;
|
|
89
68
|
//settingsPanel?: React.ComponentType;
|
|
90
69
|
participantsPanel?: React.ComponentType;
|
|
91
|
-
bottomBar?: React.ComponentType;
|
|
92
70
|
chat?: ChatCmpInterface;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
71
|
+
customLayout?: (layouts: LayoutItem[]) => LayoutItem[];
|
|
72
|
+
wrapper?: React.ComponentType;
|
|
73
|
+
invitePopup?: {
|
|
74
|
+
title: string;
|
|
75
|
+
renderComponent?: React.ComponentType;
|
|
76
|
+
};
|
|
96
77
|
}
|
|
97
78
|
|
|
98
79
|
export type ComponentsInterface = {
|
|
@@ -101,7 +82,8 @@ export type ComponentsInterface = {
|
|
|
101
82
|
*/
|
|
102
83
|
appRoot?: React.ComponentType;
|
|
103
84
|
// commented for v1 release
|
|
104
|
-
//precall?: PreCallInterface | React.ComponentType;
|
|
85
|
+
// precall?: PreCallInterface | React.ComponentType;
|
|
86
|
+
precall?: React.ComponentType;
|
|
105
87
|
//create?: React.ComponentType;
|
|
106
88
|
//share?: React.ComponentType;
|
|
107
89
|
//join?: React.ComponentType;
|
|
@@ -119,6 +101,10 @@ export interface CustomRoutesInterface {
|
|
|
119
101
|
}
|
|
120
102
|
|
|
121
103
|
export type CustomHookType = () => () => Promise<void>;
|
|
104
|
+
export type EndCallHookType = () => (
|
|
105
|
+
isHost: boolean,
|
|
106
|
+
history: History,
|
|
107
|
+
) => Promise<void>;
|
|
122
108
|
|
|
123
109
|
export interface CustomizationApiInterface {
|
|
124
110
|
/**
|
|
@@ -129,7 +115,7 @@ export interface CustomizationApiInterface {
|
|
|
129
115
|
* custom routes used to add new page/routes
|
|
130
116
|
*/
|
|
131
117
|
// commented for v1 release
|
|
132
|
-
|
|
118
|
+
customRoutes?: CustomRoutesInterface[];
|
|
133
119
|
/**
|
|
134
120
|
* Internationlization
|
|
135
121
|
*/
|
|
@@ -138,8 +124,10 @@ export interface CustomizationApiInterface {
|
|
|
138
124
|
* Life cycle events
|
|
139
125
|
*/
|
|
140
126
|
// commented for v1 release
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
127
|
+
lifecycle?: {
|
|
128
|
+
useAfterEndCall?: EndCallHookType;
|
|
129
|
+
useBeforeEndCall?: EndCallHookType;
|
|
130
|
+
// useBeforeJoin?: CustomHookType;
|
|
131
|
+
// useBeforeCreate?: CustomHookType;
|
|
132
|
+
};
|
|
145
133
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//audio/video toggle state
|
|
2
|
+
export {
|
|
3
|
+
ToggleState,
|
|
4
|
+
ClientRole,
|
|
5
|
+
} from '../agora-rn-uikit/src/Contexts/PropsContext';
|
|
6
|
+
export type {
|
|
7
|
+
ContentInterface,
|
|
8
|
+
ContentStateInterface,
|
|
9
|
+
UidType,
|
|
10
|
+
} from '../agora-rn-uikit';
|
|
11
|
+
export {
|
|
12
|
+
I18nDeviceStatus,
|
|
13
|
+
I18nMuteType,
|
|
14
|
+
} from '../src/language/default-labels/videoCallScreenLabels';
|
|
15
|
+
export type {
|
|
16
|
+
NetworkQualities,
|
|
17
|
+
I18nRequestConfirmation,
|
|
18
|
+
I18nMuteConfirmation,
|
|
19
|
+
deviceDetectionToastSubHeadingDataInterface,
|
|
20
|
+
sttSpokenLanguageToastHeadingDataType,
|
|
21
|
+
whiteboardFileUploadToastDataType,
|
|
22
|
+
publicChatToastSubHeadingDataInterface,
|
|
23
|
+
privateChatToastHeadingDataInterface,
|
|
24
|
+
publicAndPrivateChatToastSubHeadingDataInterface,
|
|
25
|
+
} from '../src/language/default-labels/videoCallScreenLabels';
|
|
26
|
+
export type {TextDataInterface} from '../src/language/default-labels';
|
|
@@ -21,6 +21,9 @@ export {default as useIsPSTN} from '../src/utils/useIsPSTN';
|
|
|
21
21
|
export {default as useIsAudioEnabled} from '../src/utils/useIsAudioEnabled';
|
|
22
22
|
export {default as useIsVideoEnabled} from '../src/utils/useIsVideoEnabled';
|
|
23
23
|
|
|
24
|
+
//hook to get active speaker uid
|
|
25
|
+
export {default as useActiveSpeaker} from '../src/utils/useActiveSpeaker';
|
|
26
|
+
|
|
24
27
|
//hooks used for navigation
|
|
25
28
|
export {useHistory, useParams} from '../src/components/Router';
|
|
26
29
|
|
|
@@ -28,3 +31,4 @@ export {useHistory, useParams} from '../src/components/Router';
|
|
|
28
31
|
export {isWeb, isIOS, isAndroid, isDesktop} from '../src/utils/common';
|
|
29
32
|
export {default as isMobileOrTablet} from '../src/utils/isMobileOrTablet';
|
|
30
33
|
export {useLocalUid} from '../agora-rn-uikit';
|
|
34
|
+
export {default as useLocalAudio} from '../src/utils/useLocalAudio';
|