agora-appbuilder-core 2.2.0 → 2.3.0-beta.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/Readme.md +7 -1
- package/package.json +4 -3
- package/template/Gulpfile.js +306 -87
- package/template/_gitignore +4 -1
- package/template/_package-lock.json +32186 -3078
- package/template/agora-rn-uikit/src/AgoraUIKit.tsx +23 -20
- package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +13 -8
- package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +25 -9
- package/template/agora-rn-uikit/src/Contexts/RenderContext.tsx +10 -0
- package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +11 -5
- package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +6 -2
- package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +1 -1
- package/template/agora-rn-uikit/src/Controls/Local/EndCall.tsx +6 -2
- package/template/agora-rn-uikit/src/Controls/Local/LocalAudioMute.tsx +2 -2
- package/template/agora-rn-uikit/src/Controls/Local/LocalVideoMute.tsx +2 -2
- package/template/agora-rn-uikit/src/Controls/Local/SwitchCamera.tsx +6 -2
- package/template/agora-rn-uikit/src/Controls/LocalControls.tsx +11 -6
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteAudioMute.tsx +10 -6
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteSwap.tsx +7 -6
- package/template/agora-rn-uikit/src/Controls/Remote/RemoteVideoMute.tsx +6 -5
- package/template/agora-rn-uikit/src/Controls/RemoteControls.tsx +3 -3
- package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +16 -13
- package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +16 -13
- package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +13 -13
- package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +16 -13
- package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +28 -31
- package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +48 -35
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +11 -13
- package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +11 -13
- package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +18 -15
- package/template/agora-rn-uikit/src/Rtc/Create.tsx +14 -2
- package/template/agora-rn-uikit/src/Rtc/Join.tsx +19 -3
- package/template/agora-rn-uikit/src/RtcConfigure.tsx +161 -44
- package/template/agora-rn-uikit/src/Utils/useLocalUid.ts +8 -0
- package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +8 -6
- package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +8 -6
- package/template/agora-rn-uikit/src/Views/MinVideoView.tsx +18 -9
- package/template/agora-rn-uikit/src/index.ts +12 -12
- package/template/babel.config.js +17 -1
- package/template/bridge/rtc/webNg/RtcEngine.ts +34 -28
- package/template/bridge/rtc/webNg/SurfaceView.tsx +3 -2
- package/template/bridge/rtc/webNg/Types.ts +14 -0
- package/template/bridge/rtc/webNg/index.ts +5 -2
- package/template/bridge/rtm/web/index.ts +13 -7
- package/template/electron-builder.js +3 -2
- package/template/esbuild.rsdk.go +226 -0
- package/template/{src/subComponents/LayoutEnum.tsx → esbuildConfigTransform.js} +1 -5
- package/template/fpe-api/components.ts +42 -0
- package/template/fpe-api/context.ts +45 -0
- package/template/fpe-api/fpeEvents.ts +9 -0
- package/template/fpe-api/index.ts +21 -0
- package/template/fpe-api/install.ts +128 -0
- package/template/fpe-api/typeDefinition.ts +143 -0
- package/template/fpe-api/useFpe.tsx +35 -0
- package/template/fpe-api/utils.ts +62 -0
- package/template/fpe-implementation/createHook.ts +33 -0
- package/template/fpe-implementation/dummyFpe.ts +17 -0
- package/template/fpe-implementation/index.ts +1 -0
- package/template/fpe-todo.txt +14 -0
- package/template/fpe.config.js +29 -0
- package/template/global.d.ts +4 -0
- package/template/index.rsdk.tsx +27 -0
- package/template/index.wsdk.tsx +27 -0
- package/template/package.json +28 -12
- package/template/react-native-toast-message/src/index.js +9 -10
- package/template/react-native-toast-message/src/index.wsdk.js +419 -0
- package/template/src/App.tsx +97 -65
- package/template/src/AppWrapper.tsx +79 -0
- package/template/src/SDKAppWrapper.tsx +67 -0
- package/template/src/atoms/PrimaryButton.tsx +14 -8
- package/template/src/atoms/TextInput.tsx +13 -5
- package/template/src/components/Chat.tsx +171 -139
- package/template/src/components/ChatContext.ts +14 -22
- package/template/src/components/ColorConfigure.tsx +2 -2
- package/template/src/components/Controls.native.tsx +72 -62
- package/template/src/components/Controls.tsx +90 -69
- package/template/src/components/DeviceConfigure.tsx +1 -1
- package/template/src/components/DeviceContext.tsx +14 -7
- package/template/src/components/GraphQLProvider.tsx +9 -2
- package/template/src/components/GridVideo.tsx +20 -159
- package/template/src/components/HostControlView.tsx +54 -15
- package/template/src/components/Navbar.tsx +408 -157
- package/template/src/components/NetworkQualityContext.tsx +29 -22
- package/template/src/components/ParticipantsView.tsx +91 -115
- package/template/src/components/PinnedVideo.tsx +41 -188
- package/template/src/components/Precall.native.tsx +131 -97
- package/template/src/components/Precall.tsx +193 -158
- package/template/src/components/RTMConfigure.tsx +328 -416
- package/template/src/components/Router.sdk.ts +20 -0
- package/template/src/components/SessionContext.tsx +6 -3
- package/template/src/components/Settings.native.tsx +3 -0
- package/template/src/components/Settings.tsx +65 -31
- package/template/src/components/SettingsView.tsx +14 -8
- package/template/src/components/Share.tsx +188 -220
- package/template/src/components/StorageContext.tsx +5 -5
- package/template/src/components/StoreToken.tsx +5 -1
- package/template/src/components/chat-messages/useChatMessages.tsx +208 -0
- package/template/src/components/chat-notification/useChatNotification.tsx +78 -0
- package/template/src/components/chat-ui/useChatUIControl.tsx +66 -0
- package/template/src/components/common/Error.tsx +54 -0
- package/template/src/components/common/Logo.tsx +35 -0
- package/template/src/components/common/index.tsx +8 -0
- package/template/src/components/contexts/LiveStreamDataContext.tsx +79 -0
- package/template/src/components/contexts/ScreenShareContext.tsx +47 -0
- package/template/src/components/contexts/WhiteboardContext.tsx +59 -0
- package/template/src/components/dimension/DimensionContext.ts +27 -0
- package/template/src/components/dimension/DimensionProvider.tsx +34 -0
- package/template/src/components/livestream/LiveStreamContext.tsx +293 -272
- package/template/src/components/livestream/Types.ts +26 -7
- package/template/src/components/livestream/index.ts +13 -2
- package/template/src/components/livestream/views/LiveStreamControls.tsx +5 -1
- package/template/src/components/meeting-info/useMeetingInfo.tsx +63 -0
- package/template/src/components/meeting-info/useSetMeetingInfo.tsx +38 -0
- package/template/src/components/participants/AllAudienceParticipants.tsx +26 -21
- package/template/src/components/participants/AllHostParticipants.tsx +41 -53
- package/template/src/components/participants/MeParticipant.tsx +9 -10
- package/template/src/components/participants/ParticipantName.tsx +2 -1
- package/template/src/components/participants/RemoteParticipants.tsx +3 -3
- package/template/src/components/precall/LocalMute.native.tsx +91 -0
- package/template/src/components/precall/LocalMute.tsx +90 -0
- package/template/src/components/precall/VideoPreview.native.tsx +35 -0
- package/template/src/components/precall/VideoPreview.tsx +33 -0
- package/template/src/components/precall/index.tsx +28 -0
- package/template/src/components/precall/joinCallBtn.native.tsx +69 -0
- package/template/src/components/precall/joinCallBtn.tsx +91 -0
- package/template/src/components/precall/meetingTitle.tsx +26 -0
- package/template/src/components/precall/selectDevice.tsx +46 -0
- package/template/src/components/precall/textInput.tsx +43 -0
- package/template/src/components/precall/usePreCall.tsx +41 -0
- package/template/src/components/styles.ts +20 -3
- package/template/src/components/useShareLink.tsx +239 -0
- package/template/src/components/useWakeLock.tsx +3 -3
- package/template/src/custom-events/CustomEvents.ts +221 -0
- package/template/src/custom-events/index.tsx +4 -0
- package/template/src/custom-events/types.ts +51 -0
- package/template/src/language/default-labels/commonLabels.ts +21 -0
- package/template/src/language/default-labels/createScreenLabels.ts +22 -0
- package/template/src/language/default-labels/index.ts +38 -0
- package/template/src/language/default-labels/joinScreenLabels.ts +13 -0
- package/template/src/language/default-labels/precallScreenLabels.ts +33 -0
- package/template/src/language/default-labels/shareLinkScreenLabels.ts +44 -0
- package/template/src/language/default-labels/videoCallScreenLabels.ts +189 -0
- package/template/src/language/i18nTypes.ts +10 -0
- package/template/src/language/index.ts +18 -0
- package/template/src/language/useLanguage.tsx +92 -0
- package/template/src/pages/Authenticate.tsx +21 -15
- package/template/src/pages/Create.tsx +176 -159
- package/template/src/pages/Join.tsx +44 -32
- package/template/src/pages/VideoCall.tsx +134 -406
- package/template/src/pages/create/useCreate.tsx +37 -0
- package/template/src/pages/video-call/CustomLayout.ts +17 -0
- package/template/src/pages/video-call/CustomUserContextHolder.tsx +12 -0
- package/template/src/pages/video-call/DefaultLayouts.ts +65 -0
- package/template/src/pages/video-call/NameWithMicStatus.tsx +62 -0
- package/template/src/pages/video-call/RenderComponent.tsx +52 -0
- package/template/src/pages/video-call/VideoCallScreen.tsx +191 -0
- package/template/src/pages/video-call/VideoComponent.tsx +34 -0
- package/template/src/pages/video-call/VideoRenderer.tsx +86 -0
- package/template/src/pages/video-call/index.ts +20 -0
- package/template/src/rtm/RTMEngine.ts +58 -0
- package/template/src/rtm/utils.ts +44 -0
- package/template/src/rtm-events/EventUtils.ts +267 -0
- package/template/src/rtm-events/EventsQueue.ts +38 -0
- package/template/src/rtm-events/constants.ts +40 -0
- package/template/src/rtm-events/index.tsx +8 -0
- package/template/src/rtm-events/types.ts +7 -0
- package/template/src/subComponents/ChatBubble.tsx +18 -11
- package/template/src/subComponents/ChatContainer.tsx +79 -30
- package/template/src/subComponents/ChatInput.tsx +146 -70
- package/template/src/subComponents/CopyJoinInfo.tsx +52 -67
- package/template/src/subComponents/Error.tsx +35 -24
- package/template/src/subComponents/LanguageSelector.tsx +85 -0
- package/template/src/subComponents/LayoutIconDropdown.native.tsx +163 -0
- package/template/src/subComponents/LayoutIconDropdown.tsx +198 -0
- package/template/src/subComponents/LocalAudioMute.tsx +52 -30
- package/template/src/subComponents/LocalEndCall.tsx +52 -0
- package/template/src/subComponents/LocalSwitchCamera.tsx +61 -0
- package/template/src/subComponents/LocalVideoMute.tsx +48 -30
- package/template/src/subComponents/LogoutButton.tsx +20 -5
- package/template/src/subComponents/NetworkQualityPill.tsx +43 -13
- package/template/src/subComponents/OpenInNativeButton.tsx +3 -2
- package/template/src/subComponents/Recording.tsx +46 -138
- package/template/src/subComponents/RemoteAudioMute.tsx +30 -34
- package/template/src/subComponents/RemoteEndCall.tsx +18 -7
- package/template/src/subComponents/RemoteVideoMute.tsx +17 -9
- package/template/src/subComponents/ScreenShareNotice.tsx +40 -40
- package/template/src/subComponents/SelectDevice.tsx +88 -45
- package/template/src/subComponents/SelectOAuth.tsx +30 -6
- package/template/src/subComponents/SidePanelButtons.ts +39 -0
- package/template/src/subComponents/TextWithTooltip.native.tsx +2 -1
- package/template/src/subComponents/TextWithTooltip.tsx +15 -20
- package/template/src/subComponents/chat/ChatParticipants.tsx +31 -32
- package/template/src/subComponents/livestream/ApprovedLiveStreamControlsView.tsx +7 -3
- package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +32 -18
- package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +22 -8
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +12 -7
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +24 -27
- package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +23 -26
- package/template/src/subComponents/livestream/index.ts +10 -2
- package/template/src/subComponents/recording/useRecording.tsx +209 -0
- package/template/src/subComponents/recording/useRecordingLayoutQuery.tsx +64 -0
- package/template/src/subComponents/screenshare/ScreenshareButton.native.tsx +18 -0
- package/template/src/subComponents/screenshare/ScreenshareButton.tsx +61 -31
- package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +57 -52
- package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +102 -143
- package/template/src/subComponents/screenshare/useScreenshare.tsx +29 -0
- package/template/src/subComponents/toastConfig.tsx +25 -20
- package/template/src/utils/IsAttendeeUser.ts +34 -0
- package/template/src/utils/SdkEvents.ts +68 -0
- package/template/src/utils/common.tsx +40 -0
- package/template/src/utils/eventEmitter.ts +29 -0
- package/template/src/utils/getMeetingInvite.ts +30 -0
- package/template/src/utils/index.tsx +11 -2
- package/template/src/utils/isAudioEnabled.ts +29 -0
- package/template/src/utils/isHostUser.ts +33 -0
- package/template/src/utils/isMobileOrTablet.native.ts +5 -0
- package/template/src/utils/{mobileWebTest.tsx → isMobileOrTablet.ts} +5 -2
- package/template/src/utils/isPSTNUser.ts +30 -0
- package/template/src/utils/isSDK.sdk.ts +5 -0
- package/template/src/utils/isSDK.ts +5 -0
- package/template/src/utils/isScreenShareUser.ts +31 -0
- package/template/src/utils/isVideoEnabled.ts +29 -0
- package/template/src/utils/useButtonTemplate.tsx +43 -0
- package/template/src/utils/useCreateMeeting.ts +74 -0
- package/template/src/utils/useGetLiveStreamingRequests.ts +24 -0
- package/template/src/utils/useGetMeetingPhrase.ts +68 -0
- package/template/src/utils/useGetName.ts +20 -0
- package/template/src/{subComponents/screenshare/ScreenshareContext.tsx → utils/useGroupMessages.ts} +10 -7
- package/template/src/utils/useJoinMeeting.ts +120 -0
- package/template/src/utils/useLayout.tsx +40 -0
- package/template/src/utils/useLiveStreamingUids.ts +26 -0
- package/template/src/utils/useMutePSTN.ts +43 -0
- package/template/src/utils/useMuteToggleLocal.ts +109 -0
- package/template/src/utils/useNavParams.ts +6 -0
- package/template/src/utils/useNavigateTo.ts +8 -0
- package/template/src/utils/usePrivateMessages.ts +33 -0
- package/template/src/utils/useRemoteEndCall.ts +27 -0
- package/template/src/utils/useRemoteMute.ts +64 -0
- package/template/src/utils/useSendControlMessage.ts +51 -0
- package/template/src/utils/useSendMessage.ts +40 -0
- package/template/src/utils/useSetName.ts +20 -0
- package/template/src/utils/useSetUnreadMessageCount.ts +43 -0
- package/template/src/utils/useSidePanel.tsx +41 -0
- package/template/src/utils/useString.ts +61 -0
- package/template/src/utils/useUnreadMessageCount.ts +50 -0
- package/template/src/utils/useUserList.ts +26 -0
- package/template/tsconfig.json +4 -4
- package/template/tsconfig_fpeApi.json +103 -0
- package/template/tsconfig_rsdk_index.json +105 -0
- package/template/tsconfig_wsdk_index.json +104 -0
- package/template/webpack.commons.js +40 -16
- package/template/webpack.main.config.js +2 -1
- package/template/webpack.renderer.config.js +1 -1
- package/template/webpack.rsdk.config.js +33 -0
- package/template/webpack.ts.config.js +89 -0
- package/template/webpack.web.config.js +8 -1
- package/template/webpack.wsdk.config.js +34 -0
- package/template/agora-rn-uikit/.git/HEAD +0 -1
- package/template/agora-rn-uikit/.git/config +0 -16
- package/template/agora-rn-uikit/.git/description +0 -1
- package/template/agora-rn-uikit/.git/hooks/applypatch-msg.sample +0 -15
- package/template/agora-rn-uikit/.git/hooks/commit-msg.sample +0 -24
- package/template/agora-rn-uikit/.git/hooks/fsmonitor-watchman.sample +0 -173
- package/template/agora-rn-uikit/.git/hooks/post-update.sample +0 -8
- package/template/agora-rn-uikit/.git/hooks/pre-applypatch.sample +0 -14
- package/template/agora-rn-uikit/.git/hooks/pre-commit.sample +0 -49
- package/template/agora-rn-uikit/.git/hooks/pre-merge-commit.sample +0 -13
- package/template/agora-rn-uikit/.git/hooks/pre-push.sample +0 -53
- package/template/agora-rn-uikit/.git/hooks/pre-rebase.sample +0 -169
- package/template/agora-rn-uikit/.git/hooks/pre-receive.sample +0 -24
- package/template/agora-rn-uikit/.git/hooks/prepare-commit-msg.sample +0 -42
- package/template/agora-rn-uikit/.git/hooks/push-to-checkout.sample +0 -78
- package/template/agora-rn-uikit/.git/hooks/update.sample +0 -128
- package/template/agora-rn-uikit/.git/index +0 -0
- package/template/agora-rn-uikit/.git/info/exclude +0 -6
- package/template/agora-rn-uikit/.git/logs/HEAD +0 -2
- package/template/agora-rn-uikit/.git/logs/refs/heads/ab-dev-auto +0 -1
- package/template/agora-rn-uikit/.git/logs/refs/heads/master +0 -1
- package/template/agora-rn-uikit/.git/logs/refs/remotes/origin/HEAD +0 -1
- package/template/agora-rn-uikit/.git/objects/pack/pack-0061d00cd98162a329a32b537488a35d0abeb069.idx +0 -0
- package/template/agora-rn-uikit/.git/objects/pack/pack-0061d00cd98162a329a32b537488a35d0abeb069.pack +0 -0
- package/template/agora-rn-uikit/.git/packed-refs +0 -24
- package/template/agora-rn-uikit/.git/refs/heads/ab-dev-auto +0 -1
- package/template/agora-rn-uikit/.git/refs/heads/master +0 -1
- package/template/agora-rn-uikit/.git/refs/remotes/origin/HEAD +0 -1
- package/template/agora-rn-uikit/.gitignore +0 -63
- package/template/agora-rn-uikit/package-lock.json +0 -7612
- package/template/agora-rn-uikit/src/Contexts/MaxUidContext.tsx +0 -7
- package/template/agora-rn-uikit/src/Contexts/MinUidContext.tsx +0 -8
- package/template/package-lock.json +0 -22923
- package/template/react-native-toast-message/.gitignore +0 -5
- package/template/react-native-toast-message/.npmignore +0 -5
- package/template/react-native-toast-message/package-lock.json +0 -10553
- package/template/src/.DS_Store +0 -0
- package/template/src/components/participants/context/ParticipantContext.tsx +0 -97
- package/template/src/subComponents/.DS_Store +0 -0
- package/template/src/subComponents/ScreenshareButton.tsx +0 -257
- package/template/src/subComponents/SwitchCamera.tsx +0 -35
- package/template/src/utils/hasBrandLogo.tsx +0 -3
- package/template/src/utils/mobileWebTest.native.tsx +0 -5
- package/template/src/utils/shouldAuthenticate.tsx +0 -7
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
********************************************
|
|
3
|
+
Copyright © 2021 Agora Lab, Inc., all rights reserved.
|
|
4
|
+
AppBuilder and all associated components, source code, APIs, services, and documentation
|
|
5
|
+
(the “Materials”) are owned by Agora Lab, Inc. and its licensors. The Materials may not be
|
|
6
|
+
accessed, used, modified, or distributed for any purpose without a license from Agora Lab, Inc.
|
|
7
|
+
Use without a license or in violation of any license terms and conditions (including use for
|
|
8
|
+
any purpose competitive to Agora Lab, Inc.’s business) is strictly prohibited. For more
|
|
9
|
+
information visit https://appbuilder.agora.io.
|
|
10
|
+
*********************************************
|
|
11
|
+
*/
|
|
12
|
+
// commented for v1 release
|
|
13
|
+
//export {default as useIsScreenShare} from '../src/utils/isScreenShareUser';
|
|
14
|
+
export {default as useIsHost} from '../src/utils/isHostUser';
|
|
15
|
+
export {default as useIsAttendee} from '../src/utils/IsAttendeeUser';
|
|
16
|
+
export {default as useIsPSTN} from '../src/utils/isPSTNUser';
|
|
17
|
+
export {default as useUserList} from '../src/utils/useUserList';
|
|
18
|
+
// commented for v1 release
|
|
19
|
+
//export {default as useGroupMessages} from '../src/utils/useGroupMessages';
|
|
20
|
+
//export {default as usePrivateMessages} from '../src/utils/usePrivateMessages';
|
|
21
|
+
export {default as useIsAudioEnabled} from '../src/utils/isAudioEnabled';
|
|
22
|
+
export {default as useIsVideoEnabled} from '../src/utils/isVideoEnabled';
|
|
23
|
+
export {default as useSetName} from '../src/utils/useSetName';
|
|
24
|
+
export {default as useGetName} from '../src/utils/useGetName';
|
|
25
|
+
// commented for v1 release
|
|
26
|
+
//export {useSidePanel} from '../src/utils/useSidePanel';
|
|
27
|
+
// commented for v1 release
|
|
28
|
+
// export {
|
|
29
|
+
// default as useUnreadMessageCount,
|
|
30
|
+
// UNREAD_MESSAGE_COUNT_TYPE,
|
|
31
|
+
// } from '../src/utils/useUnreadMessageCount';
|
|
32
|
+
// export {
|
|
33
|
+
// default as useSetUnreadMessageCount,
|
|
34
|
+
// SET_UNREAD_MESSAGE_COUNT_TYPE,
|
|
35
|
+
// } from '../src/utils/useSetUnreadMessageCount';
|
|
36
|
+
export {default as useNavigateTo} from '../src/utils/useNavigateTo';
|
|
37
|
+
export {default as useNavParams} from '../src/utils/useNavParams';
|
|
38
|
+
export {default as useCreateMeeting} from '../src/utils/useCreateMeeting';
|
|
39
|
+
export {default as useJoinMeeting} from '../src/utils/useJoinMeeting';
|
|
40
|
+
// commented for v1 release
|
|
41
|
+
// export {
|
|
42
|
+
// default as useSendMessage,
|
|
43
|
+
// MESSAGE_TYPE,
|
|
44
|
+
// } from '../src/utils/useSendMessage';
|
|
45
|
+
// export {controlMessageEnum} from '../src/components/ChatContext';
|
|
46
|
+
// export {
|
|
47
|
+
// default as useSendControlMessage,
|
|
48
|
+
// CONTROL_MESSAGE_TYPE,
|
|
49
|
+
// } from '../src/utils/useSendControlMessage';
|
|
50
|
+
export {
|
|
51
|
+
MUTE_LOCAL_TYPE,
|
|
52
|
+
default as useMuteToggleLocal,
|
|
53
|
+
} from '../src/utils/useMuteToggleLocal';
|
|
54
|
+
export {default as useRemoteEndcall} from '../src/utils/useRemoteEndCall';
|
|
55
|
+
export {
|
|
56
|
+
default as useRemoteMute,
|
|
57
|
+
MUTE_REMOTE_TYPE,
|
|
58
|
+
} from '../src/utils/useRemoteMute';
|
|
59
|
+
export {ToggleState} from '../agora-rn-uikit/src/Contexts/PropsContext';
|
|
60
|
+
|
|
61
|
+
//export common function
|
|
62
|
+
export * from '../src/utils/common';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
********************************************
|
|
3
|
+
Copyright © 2021 Agora Lab, Inc., all rights reserved.
|
|
4
|
+
AppBuilder and all associated components, source code, APIs, services, and documentation
|
|
5
|
+
(the “Materials”) are owned by Agora Lab, Inc. and its licensors. The Materials may not be
|
|
6
|
+
accessed, used, modified, or distributed for any purpose without a license from Agora Lab, Inc.
|
|
7
|
+
Use without a license or in violation of any license terms and conditions (including use for
|
|
8
|
+
any purpose competitive to Agora Lab, Inc.’s business) is strictly prohibited. For more
|
|
9
|
+
information visit https://appbuilder.agora.io.
|
|
10
|
+
*********************************************
|
|
11
|
+
*/
|
|
12
|
+
import React, { useContext } from 'react';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param context - any context data which we want to extract the data.
|
|
16
|
+
* @returns useContextWithSelector in which we can pass selector function to extract data from the context that we passed.
|
|
17
|
+
*/
|
|
18
|
+
function createHook<T>(context: React.Context<T>) {
|
|
19
|
+
|
|
20
|
+
function useContextWithSelector<U>(contextSelector: (data: T) => U): U;
|
|
21
|
+
function useContextWithSelector(): T;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param contextSelector is used to pass callback function used to select data from the context data
|
|
25
|
+
* @returns the data selected from the context
|
|
26
|
+
*/
|
|
27
|
+
function useContextWithSelector<U>(contextSelector?: (data: T) => U): U | T {
|
|
28
|
+
const data = useContext(context);
|
|
29
|
+
return contextSelector ? contextSelector(data) : data
|
|
30
|
+
}
|
|
31
|
+
return useContextWithSelector;
|
|
32
|
+
}
|
|
33
|
+
export default createHook;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
********************************************
|
|
3
|
+
Copyright © 2021 Agora Lab, Inc., all rights reserved.
|
|
4
|
+
AppBuilder and all associated components, source code, APIs, services, and documentation
|
|
5
|
+
(the “Materials”) are owned by Agora Lab, Inc. and its licensors. The Materials may not be
|
|
6
|
+
accessed, used, modified, or distributed for any purpose without a license from Agora Lab, Inc.
|
|
7
|
+
Use without a license or in violation of any license terms and conditions (including use for
|
|
8
|
+
any purpose competitive to Agora Lab, Inc.’s business) is strictly prohibited. For more
|
|
9
|
+
information visit https://appbuilder.agora.io.
|
|
10
|
+
*********************************************
|
|
11
|
+
*/
|
|
12
|
+
import { installFPE } from "fpe-api/install";
|
|
13
|
+
/**
|
|
14
|
+
* Dummy FPE used to load when project doesn't have the FPE.
|
|
15
|
+
*/
|
|
16
|
+
const data = installFPE({});
|
|
17
|
+
export default data;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as createHook } from './createHook';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
1. test-fpe name should be changed
|
|
2
|
+
- template/_gitignore
|
|
3
|
+
- babel.config.js
|
|
4
|
+
- webpack.config.js
|
|
5
|
+
- fpe.config.js
|
|
6
|
+
- fpe-api index.ts
|
|
7
|
+
- fpe-api useFPE
|
|
8
|
+
2. What if user called custom context without wrapping provider
|
|
9
|
+
- useContext will return the default vaule. so we can't identify whether is wrapped with the provider or not.
|
|
10
|
+
3. CustomUserContext
|
|
11
|
+
4. Add sibling into view without overriding
|
|
12
|
+
5. Translation labels
|
|
13
|
+
- some of keys
|
|
14
|
+
6.Layout dropdown implementation
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
********************************************
|
|
3
|
+
Copyright © 2021 Agora Lab, Inc., all rights reserved.
|
|
4
|
+
AppBuilder and all associated components, source code, APIs, services, and documentation
|
|
5
|
+
(the “Materials”) are owned by Agora Lab, Inc. and its licensors. The Materials may not be
|
|
6
|
+
accessed, used, modified, or distributed for any purpose without a license from Agora Lab, Inc.
|
|
7
|
+
Use without a license or in violation of any license terms and conditions (including use for
|
|
8
|
+
any purpose competitive to Agora Lab, Inc.’s business) is strictly prohibited. For more
|
|
9
|
+
information visit https://appbuilder.agora.io.
|
|
10
|
+
*********************************************
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
getFpePath - will return test-fpe if exists otherwise it will return the dummy fpe path
|
|
15
|
+
*/
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const FpePathTs = './test-fpe/index.ts';
|
|
18
|
+
const FpePathTsx = './test-fpe/index.tsx';
|
|
19
|
+
const FpeDummyPath = './fpe-implementation/dummyFpe.ts';
|
|
20
|
+
const getFpePath = () => {
|
|
21
|
+
if (fs.existsSync(FpePathTs)) {
|
|
22
|
+
return FpePathTs;
|
|
23
|
+
}
|
|
24
|
+
if (fs.existsSync(FpePathTsx)) {
|
|
25
|
+
return FpePathTsx;
|
|
26
|
+
}
|
|
27
|
+
return FpeDummyPath;
|
|
28
|
+
};
|
|
29
|
+
module.exports = getFpePath;
|
package/template/global.d.ts
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
********************************************
|
|
3
|
+
Copyright © 2021 Agora Lab, Inc., all rights reserved.
|
|
4
|
+
AppBuilder and all associated components, source code, APIs, services, and documentation
|
|
5
|
+
(the “Materials”) are owned by Agora Lab, Inc. and its licensors. The Materials may not be
|
|
6
|
+
accessed, used, modified, or distributed for any purpose without a license from Agora Lab, Inc.
|
|
7
|
+
Use without a license or in violation of any license terms and conditions (including use for
|
|
8
|
+
any purpose competitive to Agora Lab, Inc.’s business) is strictly prohibited. For more
|
|
9
|
+
information visit https://appbuilder.agora.io.
|
|
10
|
+
*********************************************
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @format
|
|
14
|
+
*/
|
|
15
|
+
import SDKAppWrapper,{AppBuilderSdkApi,AppBuilderSdkApiInterface} from './src/SDKAppWrapper';
|
|
16
|
+
import React from 'react';
|
|
17
|
+
export * from 'fpe-api';
|
|
18
|
+
|
|
19
|
+
interface AppBuilderReactSdkInterface extends AppBuilderSdkApiInterface {
|
|
20
|
+
View: React.FC;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const AppBuilderReactSdkApi: AppBuilderReactSdkInterface = {
|
|
24
|
+
...AppBuilderSdkApi,
|
|
25
|
+
View: SDKAppWrapper,
|
|
26
|
+
}
|
|
27
|
+
export default AppBuilderReactSdkApi;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {AppRegistry} from 'react-native';
|
|
2
|
+
import SDKAppWrapper,{AppBuilderSdkApi,AppBuilderSdkApiInterface} from './src/SDKAppWrapper';
|
|
3
|
+
export * from 'fpe-api';
|
|
4
|
+
|
|
5
|
+
interface AppBuilderWebSdkInterface extends AppBuilderSdkApiInterface {
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const AppBuilderWebSdkApi: AppBuilderWebSdkInterface = AppBuilderSdkApi;
|
|
9
|
+
|
|
10
|
+
// init code
|
|
11
|
+
class AppBuilder extends HTMLElement {
|
|
12
|
+
connectedCallback() {
|
|
13
|
+
this.style.height = '100%';
|
|
14
|
+
this.style.width = '100%';
|
|
15
|
+
this.style.display = 'flex';
|
|
16
|
+
this.style.flex = '1';
|
|
17
|
+
AppRegistry.registerComponent('App', () => SDKAppWrapper);
|
|
18
|
+
AppRegistry.runApplication('App', {
|
|
19
|
+
// initialProps: {passphrase: this.getAttribute('passphrase')},
|
|
20
|
+
rootTag: this,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
customElements.define('app-builder', AppBuilder);
|
|
26
|
+
|
|
27
|
+
export default AppBuilderWebSdkApi;
|
package/template/package.json
CHANGED
|
@@ -6,15 +6,21 @@
|
|
|
6
6
|
"scripts": {
|
|
7
7
|
"android": "react-native run-android",
|
|
8
8
|
"android:build": "npm run android:build:unix",
|
|
9
|
-
"android:build:unix": "
|
|
10
|
-
"android:build:windows": "
|
|
9
|
+
"android:build:unix": "cross-env TARGET=android gulp androidUnix",
|
|
10
|
+
"android:build:windows": "cross-env TARGET=android gulp androidWin",
|
|
11
11
|
"ios": "cd ios && ls | grep .xcworkspace | xargs open",
|
|
12
12
|
"ios:build": "cd ios && ls | grep .xcworkspace | xargs open",
|
|
13
13
|
"start": "react-native start",
|
|
14
14
|
"web": "cross-env TARGET=web NODE_ENV=development webpack-dev-server --hot --open --config webpack.web.config.js",
|
|
15
|
+
"ts": "cross-env TARGET=web NODE_ENV=production webpack --config webpack.ts.config.js",
|
|
15
16
|
"web:build": "cross-env TARGET=web NODE_ENV=production webpack --config webpack.web.config.js",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
17
|
+
"web-sdk": "cross-env TARGET=wsdk NODE_ENV=development gulp webSdk",
|
|
18
|
+
"web-sdk:build": "cross-env TARGET=wsdk NODE_ENV=production gulp webSdk",
|
|
19
|
+
"react-sdk": "cross-env TARGET=rsdk NODE_ENV=development gulp reactSdk",
|
|
20
|
+
"react-sdk:build": "cross-env TARGET=rsdk NODE_ENV=production gulp reactSdk",
|
|
21
|
+
"react-sdk-esbuild": "cross-env TARGET=rsdk NODE_ENV=production gulp reactSdkEsbuild",
|
|
22
|
+
"electron:start": "cross-env NODE_ENV=development gulp electron_development",
|
|
23
|
+
"electron:build": "cross-env NODE_ENV=production gulp electron_build",
|
|
18
24
|
"windows": "cross-env TARGET=windows npm run electron:start",
|
|
19
25
|
"windows:build": "cross-env TARGET=windows npm run electron:build",
|
|
20
26
|
"mac": "cross-env TARGET=mac npm run electron:start",
|
|
@@ -58,6 +64,7 @@
|
|
|
58
64
|
"nosleep.js": "0.12.0",
|
|
59
65
|
"react": "16.13.1",
|
|
60
66
|
"react-dom": "16.13.1",
|
|
67
|
+
"react-is": "18.0.0",
|
|
61
68
|
"react-native": "0.63.3",
|
|
62
69
|
"react-native-agora": "3.4.2",
|
|
63
70
|
"react-native-hyperlink": "0.0.19",
|
|
@@ -78,20 +85,23 @@
|
|
|
78
85
|
"@babel/preset-typescript": "7.13.0",
|
|
79
86
|
"@babel/runtime": "7.14.0",
|
|
80
87
|
"@bam.tech/react-native-make": "3.0.3",
|
|
81
|
-
"@pmmmwh/react-refresh-webpack-plugin": "0.
|
|
88
|
+
"@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
|
|
82
89
|
"@react-native-community/eslint-config": "1.1.0",
|
|
83
90
|
"@types/jest": "25.2.3",
|
|
91
|
+
"@types/react-is": "17.0.3",
|
|
84
92
|
"@types/react-native": "0.67.6",
|
|
85
93
|
"@types/react-native-keep-awake": "2.0.2",
|
|
86
94
|
"@types/react-router-dom": "5.1.7",
|
|
87
95
|
"@types/react-router-native": "5.1.0",
|
|
88
96
|
"@types/react-test-renderer": "16.9.5",
|
|
89
97
|
"@types/webpack-dev-server": "3.11.4",
|
|
98
|
+
"@types/webpack-env": "^1.16.4",
|
|
90
99
|
"@typescript-eslint/eslint-plugin": "2.34.0",
|
|
91
100
|
"@typescript-eslint/parser": "2.34.0",
|
|
92
|
-
"babel-jest": "
|
|
93
|
-
"babel-loader": "8.2.
|
|
94
|
-
"babel-plugin-
|
|
101
|
+
"babel-jest": "27.5.1",
|
|
102
|
+
"babel-loader": "8.2.4",
|
|
103
|
+
"babel-plugin-module-resolver": "4.1.0",
|
|
104
|
+
"babel-plugin-transform-define": "2.0.1",
|
|
95
105
|
"cross-env": "7.0.3",
|
|
96
106
|
"del": "5.1.0",
|
|
97
107
|
"electron": "16.0.1",
|
|
@@ -100,18 +110,24 @@
|
|
|
100
110
|
"eslint": "6.8.0",
|
|
101
111
|
"file-loader": "6.2.0",
|
|
102
112
|
"gulp": "4.0.2",
|
|
113
|
+
"gulp-concat": "^2.6.1",
|
|
114
|
+
"gulp-header": "^2.0.9",
|
|
115
|
+
"gulp-replace": "^1.1.3",
|
|
103
116
|
"html-webpack-plugin": "4.5.2",
|
|
117
|
+
"ignore-loader": "^0.1.2",
|
|
104
118
|
"jest": "25.5.4",
|
|
105
119
|
"metro-react-native-babel-preset": "0.59.0",
|
|
106
120
|
"prettier": "2.3.1",
|
|
107
121
|
"react-devtools-electron": "4.7.0",
|
|
108
|
-
"react-refresh": "0.
|
|
122
|
+
"react-refresh": "0.12.0",
|
|
109
123
|
"react-test-renderer": "16.13.1",
|
|
124
|
+
"ts-loader": "^8.3.0",
|
|
110
125
|
"typescript": "3.9.9",
|
|
111
|
-
"webpack": "
|
|
112
|
-
"webpack-cli": "
|
|
113
|
-
"webpack-dev-server": "
|
|
126
|
+
"webpack": "5.72.0",
|
|
127
|
+
"webpack-cli": "^4.10.0",
|
|
128
|
+
"webpack-dev-server": "4.8.1",
|
|
114
129
|
"webpack-merge": "5.8.0",
|
|
130
|
+
"webpack-node-externals": "3.0.0",
|
|
115
131
|
"yargs": "15.4.1"
|
|
116
132
|
},
|
|
117
133
|
"jest": {
|
|
@@ -343,13 +343,8 @@ class Toast extends Component {
|
|
|
343
343
|
}
|
|
344
344
|
|
|
345
345
|
getBaseStyle(position = 'bottom', keyboardHeight) {
|
|
346
|
-
const {
|
|
347
|
-
|
|
348
|
-
bottomOffset,
|
|
349
|
-
keyboardOffset,
|
|
350
|
-
height,
|
|
351
|
-
animation
|
|
352
|
-
} = this.state;
|
|
346
|
+
const { topOffset, bottomOffset, keyboardOffset, height, animation } =
|
|
347
|
+
this.state;
|
|
353
348
|
const offset = position === 'bottom' ? bottomOffset : topOffset;
|
|
354
349
|
|
|
355
350
|
// +5 px to completely hide the toast under StatusBar (on Android)
|
|
@@ -358,14 +353,14 @@ class Toast extends Component {
|
|
|
358
353
|
|
|
359
354
|
const translateY = animation.interpolate({
|
|
360
355
|
inputRange: [0, 1, 2],
|
|
361
|
-
outputRange
|
|
356
|
+
outputRange: [0, 1, 0]
|
|
362
357
|
});
|
|
363
358
|
|
|
364
359
|
return [
|
|
365
360
|
styles.base,
|
|
366
361
|
styles[position],
|
|
367
362
|
{
|
|
368
|
-
|
|
363
|
+
opacity: translateY
|
|
369
364
|
}
|
|
370
365
|
];
|
|
371
366
|
}
|
|
@@ -383,7 +378,11 @@ class Toast extends Component {
|
|
|
383
378
|
<Animated.View
|
|
384
379
|
testID='animatedView'
|
|
385
380
|
onLayout={this.onLayout}
|
|
386
|
-
style={[
|
|
381
|
+
style={[
|
|
382
|
+
baseStyle,
|
|
383
|
+
style,
|
|
384
|
+
{ zIndex: 100, display: this.state.isVisible || this.state.inProgress ? 'flex' : 'none' }
|
|
385
|
+
]} //added zindex
|
|
387
386
|
{...this.panResponder.panHandlers}>
|
|
388
387
|
{this.renderContent(this.props)}
|
|
389
388
|
</Animated.View>
|