@ethora/chat-component-rn 26.10.2 → 26.10.3
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/lib/commonjs/components/MainComponents/ChatHeader.js +11 -10
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MessageContainer.js +10 -2
- package/lib/commonjs/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/commonjs/components/MainComponents/RoomList.js +8 -18
- package/lib/commonjs/components/MainComponents/RoomList.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +17 -14
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js +131 -17
- package/lib/commonjs/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +6 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/CallButtons.js +3 -1
- package/lib/commonjs/components/VideoCalls/CallButtons.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js +123 -111
- package/lib/commonjs/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js +207 -346
- package/lib/commonjs/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/commonjs/components/VideoCalls/callActions.js +61 -0
- package/lib/commonjs/components/VideoCalls/callActions.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/callSessionController.js +431 -0
- package/lib/commonjs/components/VideoCalls/callSessionController.js.map +1 -0
- package/lib/commonjs/components/VideoCalls/useDraggable.js +59 -0
- package/lib/commonjs/components/VideoCalls/useDraggable.js.map +1 -0
- package/lib/commonjs/helpers/createRoomFromApi.js +4 -0
- package/lib/commonjs/helpers/createRoomFromApi.js.map +1 -1
- package/lib/commonjs/helpers/incomingCallFromPush.js +1 -1
- package/lib/commonjs/helpers/incomingCallFromPush.js.map +1 -1
- package/lib/commonjs/helpers/roomUserCount.js +7 -1
- package/lib/commonjs/helpers/roomUserCount.js.map +1 -1
- package/lib/commonjs/helpers/uniqueMembers.js +36 -0
- package/lib/commonjs/helpers/uniqueMembers.js.map +1 -0
- package/lib/commonjs/hooks/useLeaveRoom.js +52 -0
- package/lib/commonjs/hooks/useLeaveRoom.js.map +1 -0
- package/lib/commonjs/i18n/strings.js +18 -0
- package/lib/commonjs/i18n/strings.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +36 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/callTokenStanza.js +47 -3
- package/lib/commonjs/networking/callTokenStanza.js.map +1 -1
- package/lib/commonjs/networking/xmppClient.js +9 -2
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +13 -12
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/MessageContainer.js +10 -2
- package/lib/module/components/MainComponents/MessageContainer.js.map +1 -1
- package/lib/module/components/MainComponents/RoomList.js +8 -18
- package/lib/module/components/MainComponents/RoomList.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +18 -15
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js +132 -18
- package/lib/module/components/Modals/UserProfileModal/UserProfileModal.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +6 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/VideoCalls/CallButtons.js +3 -1
- package/lib/module/components/VideoCalls/CallButtons.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallOverlay.js +125 -113
- package/lib/module/components/VideoCalls/VideoCallOverlay.js.map +1 -1
- package/lib/module/components/VideoCalls/VideoCallSession.js +208 -348
- package/lib/module/components/VideoCalls/VideoCallSession.js.map +1 -1
- package/lib/module/components/VideoCalls/callActions.js +55 -0
- package/lib/module/components/VideoCalls/callActions.js.map +1 -0
- package/lib/module/components/VideoCalls/callSessionController.js +420 -0
- package/lib/module/components/VideoCalls/callSessionController.js.map +1 -0
- package/lib/module/components/VideoCalls/useDraggable.js +55 -0
- package/lib/module/components/VideoCalls/useDraggable.js.map +1 -0
- package/lib/module/helpers/createRoomFromApi.js +4 -0
- package/lib/module/helpers/createRoomFromApi.js.map +1 -1
- package/lib/module/helpers/incomingCallFromPush.js +1 -1
- package/lib/module/helpers/incomingCallFromPush.js.map +1 -1
- package/lib/module/helpers/roomUserCount.js +7 -1
- package/lib/module/helpers/roomUserCount.js.map +1 -1
- package/lib/module/helpers/uniqueMembers.js +31 -0
- package/lib/module/helpers/uniqueMembers.js.map +1 -0
- package/lib/module/hooks/useLeaveRoom.js +48 -0
- package/lib/module/hooks/useLeaveRoom.js.map +1 -0
- package/lib/module/i18n/strings.js +18 -0
- package/lib/module/i18n/strings.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +35 -1
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/callTokenStanza.js +47 -3
- package/lib/module/networking/callTokenStanza.js.map +1 -1
- package/lib/module/networking/xmppClient.js +8 -1
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MessageContainer.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/RoomList.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/UserProfileModal/UserProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/CallButtons.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts +0 -6
- package/lib/typescript/components/VideoCalls/VideoCallOverlay.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts +9 -20
- package/lib/typescript/components/VideoCalls/VideoCallSession.d.ts.map +1 -1
- package/lib/typescript/components/VideoCalls/callActions.d.ts +15 -0
- package/lib/typescript/components/VideoCalls/callActions.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts +61 -0
- package/lib/typescript/components/VideoCalls/callSessionController.d.ts.map +1 -0
- package/lib/typescript/components/VideoCalls/useDraggable.d.ts +19 -0
- package/lib/typescript/components/VideoCalls/useDraggable.d.ts.map +1 -0
- package/lib/typescript/helpers/createRoomFromApi.d.ts.map +1 -1
- package/lib/typescript/helpers/roomUserCount.d.ts +1 -0
- package/lib/typescript/helpers/roomUserCount.d.ts.map +1 -1
- package/lib/typescript/helpers/uniqueMembers.d.ts +11 -0
- package/lib/typescript/helpers/uniqueMembers.d.ts.map +1 -0
- package/lib/typescript/hooks/useLeaveRoom.d.ts +9 -0
- package/lib/typescript/hooks/useLeaveRoom.d.ts.map +1 -0
- package/lib/typescript/i18n/strings.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/rooms.api.d.ts +8 -0
- package/lib/typescript/networking/api-requests/rooms.api.d.ts.map +1 -1
- package/lib/typescript/networking/callTokenStanza.d.ts.map +1 -1
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/MainComponents/ChatHeader.tsx +10 -8
- package/src/components/MainComponents/MessageContainer.tsx +14 -1
- package/src/components/MainComponents/RoomList.tsx +8 -14
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +16 -13
- package/src/components/Modals/UserProfileModal/UserProfileModal.tsx +167 -36
- package/src/components/RoomComponents/ChatRoomItem.tsx +8 -1
- package/src/components/VideoCalls/CallButtons.tsx +5 -1
- package/src/components/VideoCalls/VideoCallOverlay.tsx +156 -163
- package/src/components/VideoCalls/VideoCallSession.tsx +207 -378
- package/src/components/VideoCalls/callActions.ts +63 -0
- package/src/components/VideoCalls/callSessionController.ts +421 -0
- package/src/components/VideoCalls/useDraggable.ts +46 -0
- package/src/helpers/createRoomFromApi.tsx +2 -0
- package/src/helpers/incomingCallFromPush.ts +2 -2
- package/src/helpers/roomUserCount.ts +6 -2
- package/src/helpers/uniqueMembers.ts +26 -0
- package/src/hooks/useLeaveRoom.ts +42 -0
- package/src/i18n/strings.ts +18 -0
- package/src/networking/api-requests/rooms.api.ts +28 -1
- package/src/networking/callTokenStanza.ts +46 -6
- package/src/networking/xmppClient.ts +10 -1
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","ActivityIndicator","Platform","StyleSheet","Text","TouchableOpacity","View","ProfileImagePlaceholder","CameraOffIcon","CameraOnIcon","HangUpIcon","MicOffIcon","MicOnIcon","MinimizeIcon","ExpandIcon","SpeakerIcon","SpeakerOffIcon","SwitchCameraIcon","ensureLiveKitGlobals","loadLiveKit","useT","jsx","_jsx","jsxs","_jsxs","DEFAULT_PRIMARY","SURFACE_DARK","TEXT_ON_DARK","TEXT_MUTED","DANGER","CONTROL_IDLE","humanizeDeviceError","error","t","name","text","String","message","toLowerCase","includes","VideoCallSession","token","livekitUrl","kind","peerName","primaryColor","icons","startWithCameraOn","startWithMicOn","minimized","onToggleMinimize","onConnected","onError","onHangup","runtime","roomRef","connected","setConnected","deviceError","setDeviceError","micOn","setMicOn","cameraOn","setCameraOn","speakerOn","setSpeakerOn","remoteVideo","setRemoteVideo","localVideo","setLocalVideo","remoteName","setRemoteName","remoteJoined","setRemoteJoined","callbacksRef","current","toTrackRef","participant","Track","publication","getTrackPublication","Source","Camera","track","source","resyncTracks","room","remote","Array","from","remoteParticipants","values","identity","localParticipant","Room","RoomEvent","AudioSession","disposed","adaptiveStream","dynacast","onStateChange","on","TrackSubscribed","TrackUnsubscribed","LocalTrackPublished","LocalTrackUnpublished","TrackMuted","TrackUnmuted","ParticipantConnected","MediaDevicesError","ParticipantDisconnected","Disconnected","startAudioSession","connect","setMicrophoneEnabled","setCameraEnabled","setAppleAudioConfiguration","audioCategory","audioMode","removeAllListeners","disconnect","stopAudioSession","toggleMic","next","toggleCamera","switchCamera","restartTrack","facingMode","mediaStreamTrack","getSettings","toggleSpeaker","OS","selectAudioOutput","audioCategoryOptions","style","styles","canvas","centered","children","errorText","VideoTrack","displayName","isVideo","showRemoteVideo","miniBar","miniInfo","numberOfLines","miniName","miniStatus","accessibilityRole","accessibilityLabel","onPress","miniButton","backgroundColor","color","size","hangup","deviceErrorBanner","deviceErrorText","stage","trackRef","objectFit","stageName","stageStatus","spinner","pip","pipVideo","mirror","minimizeButton","controls","controlButton","micOff","cameraOff","hangupButton","create","flex","alignItems","justifyContent","gap","position","overflow","fontSize","marginTop","right","top","width","height","borderRadius","borderWidth","borderColor","left","flexDirection","paddingVertical","paddingHorizontal","textAlign","zIndex","minWidth"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/VideoCallSession.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","ActivityIndicator","Animated","StyleSheet","Text","TouchableOpacity","View","useSafeAreaInsets","ProfileImagePlaceholder","CameraOffIcon","CameraOnIcon","HangUpIcon","MicOffIcon","MicOnIcon","MinimizeIcon","ExpandIcon","SpeakerIcon","SpeakerOffIcon","SwitchCameraIcon","loadLiveKit","dismissCallDeviceError","switchCallCamera","toggleCallCamera","toggleCallMic","toggleCallSpeaker","useCallSession","useDraggable","useT","jsx","_jsx","jsxs","_jsxs","DEFAULT_PRIMARY","SURFACE_DARK","TEXT_ON_DARK","TEXT_MUTED","DANGER","CONTROL_IDLE","useSharedCallElapsed","anchorAt","tick","id","setInterval","n","clearInterval","Math","max","floor","Date","now","formatCallDuration","totalSeconds","safe","hours","minutes","seconds","mm","String","padStart","ss","VideoCallSession","kind","peerName","primaryColor","icons","minimized","onToggleMinimize","onHangup","t","insets","runtime","session","selfView","elapsed","style","styles","canvas","centered","children","errorText","VideoTrack","connected","remoteJoined","remoteVideo","localVideo","micOn","cameraOn","speakerOn","deviceError","remoteMicMuted","displayName","remoteName","isVideo","showRemoteVideo","statusText","peerMutedLabel","name","miniBar","size","miniInfo","numberOfLines","miniName","miniStatus","accessibilityRole","accessibilityLabel","onPress","miniButton","backgroundColor","color","micOff","hangup","stage","trackRef","objectFit","stageName","stageStatus","spinner","pill","pillDanger","pillDangerText","pillText","header","paddingTop","top","headerName","headerStatus","headerPill","panHandlers","pip","pipVideo","mirror","minimizeButton","deviceErrorBanner","deviceErrorText","controls","paddingBottom","bottom","controlButton","cameraOff","hangupButton","create","flex","alignItems","justifyContent","gap","paddingHorizontal","position","overflow","fontSize","marginTop","textAlign","fontVariant","left","right","fontWeight","flexDirection","paddingVertical","borderRadius","borderWidth","borderColor","width","height","zIndex","minWidth"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/VideoCallSession.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { store } from '../../roomStore';
|
|
4
|
+
import { declineIncomingCall, endCall } from '../../roomStore/callSlice';
|
|
5
|
+
import { addRoomMessage } from '../../roomStore/roomsSlice';
|
|
6
|
+
import { buildLocalCallLogMessage } from '../../helpers/callLogMessage';
|
|
7
|
+
import { sendCallStateSignal } from '../../networking/callTokenStanza';
|
|
8
|
+
import { translateKey } from '../../i18n/strings';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Call teardown that doesn't need a mounted component.
|
|
12
|
+
*
|
|
13
|
+
* It used to live inside VideoCallOverlay, which meant only a rendered
|
|
14
|
+
* overlay could end a call. The LiveKit session now outlives the UI
|
|
15
|
+
* (callSessionController.ts), so the session's own "peer left" and
|
|
16
|
+
* "disconnected" events need the same teardown, with the same local log
|
|
17
|
+
* entry and the same signal to the peer.
|
|
18
|
+
*/
|
|
19
|
+
export const terminateActiveCall = state => {
|
|
20
|
+
// Write a local "call ended" log entry BEFORE endCall() wipes the call
|
|
21
|
+
// slice. The authoritative entry is a server call-state broadcast, but
|
|
22
|
+
// that isn't guaranteed to arrive, so we synthesize our own. It's
|
|
23
|
+
// deduped against any server copy by callId in addRoomMessage.
|
|
24
|
+
const snap = store.getState().call;
|
|
25
|
+
if (snap.phase === 'idle') {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (snap.roomJid && (snap.callId || snap.connectedAt)) {
|
|
29
|
+
const durationMs = snap.connectedAt ? Math.max(0, Date.now() - snap.connectedAt) : 0;
|
|
30
|
+
store.dispatch(addRoomMessage({
|
|
31
|
+
roomJID: snap.roomJid,
|
|
32
|
+
message: buildLocalCallLogMessage({
|
|
33
|
+
callId: snap.callId || '',
|
|
34
|
+
direction: snap.direction === 'incoming' ? 'incoming' : 'outgoing',
|
|
35
|
+
durationMs,
|
|
36
|
+
kind: snap.kind === 'audio' ? 'audio' : 'video',
|
|
37
|
+
selfXmppUsername: store.getState().chatSettingStore.user?.xmppUsername || ''
|
|
38
|
+
})
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
sendCallStateSignal(state);
|
|
42
|
+
store.dispatch(endCall());
|
|
43
|
+
};
|
|
44
|
+
export const declineActiveCall = () => {
|
|
45
|
+
sendCallStateSignal('declined');
|
|
46
|
+
store.dispatch(declineIncomingCall());
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/** `t` for code outside React, resolved by the same rule as useT. */
|
|
50
|
+
export const translateCallString = (key, vars) => {
|
|
51
|
+
const settings = store.getState().chatSettingStore;
|
|
52
|
+
const locale = settings?.uiLocale || settings?.config?.i18n?.locale || settings?.langSource;
|
|
53
|
+
return translateKey(key, locale, settings?.config?.i18n?.strings, vars);
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=callActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["store","declineIncomingCall","endCall","addRoomMessage","buildLocalCallLogMessage","sendCallStateSignal","translateKey","terminateActiveCall","state","snap","getState","call","phase","roomJid","callId","connectedAt","durationMs","Math","max","Date","now","dispatch","roomJID","message","direction","kind","selfXmppUsername","chatSettingStore","user","xmppUsername","declineActiveCall","translateCallString","key","vars","settings","locale","uiLocale","config","i18n","langSource","strings"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/callActions.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,mBAAmB,EAAEC,OAAO,QAAQ,2BAA2B;AACxE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,wBAAwB,QAAQ,8BAA8B;AACvE,SAEEC,mBAAmB,QACd,kCAAkC;AACzC,SAASC,YAAY,QAAQ,oBAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAIC,KAAsB,IAAW;EACnE;EACA;EACA;EACA;EACA,MAAMC,IAAI,GAAGT,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACC,IAAI;EAClC,IAAIF,IAAI,CAACG,KAAK,KAAK,MAAM,EAAE;IAAC;EAAO;EACnC,IAAIH,IAAI,CAACI,OAAO,KAAKJ,IAAI,CAACK,MAAM,IAAIL,IAAI,CAACM,WAAW,CAAC,EAAE;IACrD,MAAMC,UAAU,GAAGP,IAAI,CAACM,WAAW,GAC/BE,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGX,IAAI,CAACM,WAAW,CAAC,GAC1C,CAAC;IACLf,KAAK,CAACqB,QAAQ,CACZlB,cAAc,CAAC;MACbmB,OAAO,EAAEb,IAAI,CAACI,OAAO;MACrBU,OAAO,EAAEnB,wBAAwB,CAAC;QAChCU,MAAM,EAAEL,IAAI,CAACK,MAAM,IAAI,EAAE;QACzBU,SAAS,EAAEf,IAAI,CAACe,SAAS,KAAK,UAAU,GAAG,UAAU,GAAG,UAAU;QAClER,UAAU;QACVS,IAAI,EAAEhB,IAAI,CAACgB,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO;QAC/CC,gBAAgB,EACd1B,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACiB,gBAAgB,CAACC,IAAI,EAAEC,YAAY,IAAI;MAC5D,CAAC;IACH,CAAC,CACH,CAAC;EACH;EACAxB,mBAAmB,CAACG,KAAK,CAAC;EAC1BR,KAAK,CAACqB,QAAQ,CAACnB,OAAO,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,OAAO,MAAM4B,iBAAiB,GAAGA,CAAA,KAAY;EAC3CzB,mBAAmB,CAAC,UAAU,CAAC;EAC/BL,KAAK,CAACqB,QAAQ,CAACpB,mBAAmB,CAAC,CAAC,CAAC;AACvC,CAAC;;AAED;AACA,OAAO,MAAM8B,mBAAmB,GAAGA,CACjCC,GAAW,EACXC,IAAsC,KAC3B;EACX,MAAMC,QAAQ,GAAGlC,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACiB,gBAAuB;EACzD,MAAMQ,MAAM,GACVD,QAAQ,EAAEE,QAAQ,IAAIF,QAAQ,EAAEG,MAAM,EAAEC,IAAI,EAAEH,MAAM,IAAID,QAAQ,EAAEK,UAAU;EAC9E,OAAOjC,YAAY,CAAC0B,GAAG,EAAEG,MAAM,EAAED,QAAQ,EAAEG,MAAM,EAAEC,IAAI,EAAEE,OAAO,EAAEP,IAAI,CAAC;AACzE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useSyncExternalStore } from 'react';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
5
|
+
import { store } from '../../roomStore';
|
|
6
|
+
import { setCallError, setCallPhase } from '../../roomStore/callSlice';
|
|
7
|
+
import { ensureLiveKitGlobals, loadLiveKit } from './livekitRuntime';
|
|
8
|
+
import { terminateActiveCall, translateCallString } from './callActions';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The LiveKit connection of the current call, owned outside React.
|
|
12
|
+
*
|
|
13
|
+
* It used to live in VideoCallSession's effect, so the connection was as
|
|
14
|
+
* long-lived as that component instance. Minimizing swapped the Modal for a
|
|
15
|
+
* floating View, React remounted the session, the effect cleanup
|
|
16
|
+
* disconnected, and the peer saw us leave (and hung up). The web SDK avoids
|
|
17
|
+
* that by keeping one LiveKitRoom element mounted across both layouts; the
|
|
18
|
+
* RN equivalent is to not tie the room to a component at all.
|
|
19
|
+
*
|
|
20
|
+
* Lifetime is driven by the call slice: a session exists while the call is
|
|
21
|
+
* 'connecting' or 'in-call' with a token, and is torn down by a store
|
|
22
|
+
* subscription the moment that stops being true (hangup, remote end,
|
|
23
|
+
* logout's resetCall), whether or not any call UI is mounted. Components
|
|
24
|
+
* only read the snapshot and call the controls.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const IDLE = {
|
|
28
|
+
active: false,
|
|
29
|
+
connected: false,
|
|
30
|
+
deviceError: null,
|
|
31
|
+
micOn: true,
|
|
32
|
+
cameraOn: false,
|
|
33
|
+
speakerOn: false,
|
|
34
|
+
remoteVideo: null,
|
|
35
|
+
localVideo: null,
|
|
36
|
+
remoteName: null,
|
|
37
|
+
remoteJoined: false,
|
|
38
|
+
remoteMicMuted: false,
|
|
39
|
+
anchorAt: null
|
|
40
|
+
};
|
|
41
|
+
let session = null;
|
|
42
|
+
let snapshot = IDLE;
|
|
43
|
+
const listeners = new Set();
|
|
44
|
+
let storeUnsubscribe = null;
|
|
45
|
+
const emit = patch => {
|
|
46
|
+
snapshot = {
|
|
47
|
+
...snapshot,
|
|
48
|
+
...patch
|
|
49
|
+
};
|
|
50
|
+
listeners.forEach(listener => listener());
|
|
51
|
+
};
|
|
52
|
+
const subscribe = listener => {
|
|
53
|
+
listeners.add(listener);
|
|
54
|
+
return () => {
|
|
55
|
+
listeners.delete(listener);
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
const getSnapshot = () => snapshot;
|
|
59
|
+
export const useCallSession = () => useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
60
|
+
const sessionKey = (livekitUrl, token) => `${livekitUrl}|${token}`;
|
|
61
|
+
|
|
62
|
+
// A device (camera/mic) permission/availability problem during enable,
|
|
63
|
+
// distinct from a connect failure. Mirrors the web SDK's humanizeDeviceError.
|
|
64
|
+
const humanizeDeviceError = error => {
|
|
65
|
+
const name = error?.name || '';
|
|
66
|
+
const text = String(error?.message || '').toLowerCase();
|
|
67
|
+
if (name === 'NotAllowedError' || text.includes('permission') || text.includes('denied')) {
|
|
68
|
+
return translateCallString('call.error.deviceBlocked');
|
|
69
|
+
}
|
|
70
|
+
if (name === 'NotFoundError' || text.includes('not found')) {
|
|
71
|
+
return translateCallString('call.error.deviceNotFound');
|
|
72
|
+
}
|
|
73
|
+
if (name === 'NotReadableError' || text.includes('in use')) {
|
|
74
|
+
return translateCallString('call.error.deviceInUse');
|
|
75
|
+
}
|
|
76
|
+
return translateCallString('call.error.deviceGeneric');
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// Only a live, unmuted track gets a video surface, so the stage never
|
|
80
|
+
// flips between an avatar and a black frame (web's hasLiveVideo).
|
|
81
|
+
const liveVideoRef = (participant, Track) => {
|
|
82
|
+
if (!participant) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const publication = participant.getTrackPublication?.(Track.Source.Camera);
|
|
86
|
+
if (!publication?.track || publication.isMuted) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
participant,
|
|
91
|
+
publication,
|
|
92
|
+
source: Track.Source.Camera
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
const joinedAtMs = participant => {
|
|
96
|
+
const value = participant?.joinedAt;
|
|
97
|
+
const ms = value ? new Date(value).getTime() : 0;
|
|
98
|
+
return Number.isFinite(ms) ? ms : 0;
|
|
99
|
+
};
|
|
100
|
+
const resync = () => {
|
|
101
|
+
const current = session;
|
|
102
|
+
const runtime = loadLiveKit();
|
|
103
|
+
if (!current || current.disposed || !runtime) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const {
|
|
107
|
+
Track
|
|
108
|
+
} = runtime;
|
|
109
|
+
const room = current.room;
|
|
110
|
+
const remote = Array.from(room.remoteParticipants?.values?.() || [])[0];
|
|
111
|
+
if (remote) {
|
|
112
|
+
current.everJoined = true;
|
|
113
|
+
}
|
|
114
|
+
const remoteMic = remote?.getTrackPublication?.(Track.Source.Microphone);
|
|
115
|
+
const localJoined = joinedAtMs(room.localParticipant);
|
|
116
|
+
const remoteJoinedAt = joinedAtMs(remote);
|
|
117
|
+
emit({
|
|
118
|
+
remoteJoined: !!remote,
|
|
119
|
+
remoteName: remote?.name || remote?.identity || null,
|
|
120
|
+
remoteVideo: liveVideoRef(remote, Track),
|
|
121
|
+
localVideo: liveVideoRef(room.localParticipant, Track),
|
|
122
|
+
remoteMicMuted: !!remote && (!remoteMic || remoteMic.isMuted !== false),
|
|
123
|
+
anchorAt: remote && localJoined && remoteJoinedAt ? Math.max(localJoined, remoteJoinedAt) : remote ? snapshot.anchorAt ?? Date.now() : null
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
export const stopCallSession = () => {
|
|
127
|
+
const current = session;
|
|
128
|
+
if (!current) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
current.disposed = true;
|
|
132
|
+
session = null;
|
|
133
|
+
try {
|
|
134
|
+
current.room.removeAllListeners?.();
|
|
135
|
+
void current.room.disconnect();
|
|
136
|
+
} catch {
|
|
137
|
+
// Already gone.
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
void loadLiveKit()?.AudioSession?.stopAudioSession();
|
|
141
|
+
} catch {
|
|
142
|
+
// Never let teardown throw.
|
|
143
|
+
}
|
|
144
|
+
snapshot = IDLE;
|
|
145
|
+
listeners.forEach(listener => listener());
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
// Tear the session down as soon as the call slice says there is no call to
|
|
149
|
+
// carry it any more, independent of what UI happens to be mounted.
|
|
150
|
+
const ensureStoreWatcher = () => {
|
|
151
|
+
if (storeUnsubscribe) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
storeUnsubscribe = store.subscribe(() => {
|
|
155
|
+
if (!session) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const call = store.getState().call;
|
|
159
|
+
const live = !!call.token && (call.phase === 'connecting' || call.phase === 'in-call');
|
|
160
|
+
if (!live || !session.key.endsWith(`|${call.token}`)) {
|
|
161
|
+
stopCallSession();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Join the LiveKit room for the current call. Idempotent per (url, token):
|
|
167
|
+
* calling it again from a remounted overlay re-attaches to the same room.
|
|
168
|
+
*/
|
|
169
|
+
export const startCallSession = ({
|
|
170
|
+
token,
|
|
171
|
+
livekitUrl,
|
|
172
|
+
kind,
|
|
173
|
+
startWithMicOn = true,
|
|
174
|
+
startWithCameraOn = true
|
|
175
|
+
}) => {
|
|
176
|
+
const key = sessionKey(livekitUrl, token);
|
|
177
|
+
if (session?.key === key) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
stopCallSession();
|
|
181
|
+
ensureStoreWatcher();
|
|
182
|
+
const runtime = loadLiveKit();
|
|
183
|
+
if (!runtime) {
|
|
184
|
+
store.dispatch(setCallError(translateCallString('call.error.sdkMissing')));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (!token || !livekitUrl) {
|
|
188
|
+
store.dispatch(setCallError(translateCallString('call.error.missingConfig')));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
ensureLiveKitGlobals(runtime);
|
|
192
|
+
const {
|
|
193
|
+
Room,
|
|
194
|
+
RoomEvent,
|
|
195
|
+
AudioSession
|
|
196
|
+
} = runtime;
|
|
197
|
+
|
|
198
|
+
// adaptiveStream + dynacast keep mobile data and battery sane: the SDK
|
|
199
|
+
// drops resolution for a small tile and stops publishing layers nobody
|
|
200
|
+
// subscribes to. Both are safe defaults for 1:1.
|
|
201
|
+
const room = new Room({
|
|
202
|
+
adaptiveStream: true,
|
|
203
|
+
dynacast: true
|
|
204
|
+
});
|
|
205
|
+
const current = {
|
|
206
|
+
key,
|
|
207
|
+
room,
|
|
208
|
+
kind,
|
|
209
|
+
disposed: false,
|
|
210
|
+
everJoined: false
|
|
211
|
+
};
|
|
212
|
+
session = current;
|
|
213
|
+
snapshot = {
|
|
214
|
+
...IDLE,
|
|
215
|
+
active: true,
|
|
216
|
+
micOn: startWithMicOn,
|
|
217
|
+
cameraOn: kind === 'video' && startWithCameraOn,
|
|
218
|
+
// Video calls belong on the loudspeaker, audio calls on the earpiece.
|
|
219
|
+
speakerOn: kind === 'video'
|
|
220
|
+
};
|
|
221
|
+
listeners.forEach(listener => listener());
|
|
222
|
+
const onChange = () => {
|
|
223
|
+
if (!current.disposed) {
|
|
224
|
+
resync();
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
room.on(RoomEvent.TrackSubscribed, onChange).on(RoomEvent.TrackUnsubscribed, onChange).on(RoomEvent.TrackPublished, onChange).on(RoomEvent.TrackUnpublished, onChange).on(RoomEvent.LocalTrackPublished, onChange).on(RoomEvent.LocalTrackUnpublished, onChange).on(RoomEvent.TrackMuted, onChange).on(RoomEvent.TrackUnmuted, onChange).on(RoomEvent.ParticipantConnected, onChange).on(RoomEvent.MediaDevicesError, error => {
|
|
228
|
+
if (current.disposed) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
emit({
|
|
232
|
+
deviceError: humanizeDeviceError(error)
|
|
233
|
+
});
|
|
234
|
+
}).on(RoomEvent.ParticipantDisconnected, () => {
|
|
235
|
+
if (current.disposed) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
resync();
|
|
239
|
+
// 1:1 semantics, as web's PeerLeaveWatcher: once the peer had been
|
|
240
|
+
// in the room, their leaving IS the end of the call. Before they
|
|
241
|
+
// join (outgoing "Ringing...") an empty room is expected.
|
|
242
|
+
if (current.everJoined && (room.remoteParticipants?.size ?? 0) === 0) {
|
|
243
|
+
terminateActiveCall('ended');
|
|
244
|
+
}
|
|
245
|
+
}).on(RoomEvent.Disconnected, () => {
|
|
246
|
+
if (current.disposed) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
emit({
|
|
250
|
+
connected: false
|
|
251
|
+
});
|
|
252
|
+
terminateActiveCall('ended');
|
|
253
|
+
});
|
|
254
|
+
(async () => {
|
|
255
|
+
// Joining the LiveKit room is the only step whose failure should fail
|
|
256
|
+
// the call (bad token, network, server down). Device setup below is
|
|
257
|
+
// best-effort.
|
|
258
|
+
try {
|
|
259
|
+
// Claims audio focus and sets the right native audio mode. Must
|
|
260
|
+
// start BEFORE connecting or the first seconds route to the earpiece
|
|
261
|
+
// on Android even for a video call.
|
|
262
|
+
await AudioSession.startAudioSession();
|
|
263
|
+
await room.connect(livekitUrl, token);
|
|
264
|
+
} catch (error) {
|
|
265
|
+
if (current.disposed) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
stopCallSession();
|
|
269
|
+
store.dispatch(setCallError(String(error?.message || '') || translateCallString('call.error.connectFailed')));
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
if (current.disposed) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Devices are best-effort: a blocked permission or the iOS Simulator
|
|
277
|
+
// (no camera at all) must not kill a call that connected fine.
|
|
278
|
+
try {
|
|
279
|
+
await room.localParticipant.setMicrophoneEnabled(startWithMicOn);
|
|
280
|
+
} catch (error) {
|
|
281
|
+
if (!current.disposed) {
|
|
282
|
+
emit({
|
|
283
|
+
deviceError: humanizeDeviceError(error)
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
if (kind === 'video') {
|
|
288
|
+
try {
|
|
289
|
+
await room.localParticipant.setCameraEnabled(startWithCameraOn);
|
|
290
|
+
} catch (error) {
|
|
291
|
+
if (!current.disposed) {
|
|
292
|
+
emit({
|
|
293
|
+
cameraOn: false,
|
|
294
|
+
deviceError: humanizeDeviceError(error)
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (current.disposed) {
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
try {
|
|
303
|
+
await AudioSession.setAppleAudioConfiguration?.({
|
|
304
|
+
audioCategory: 'playAndRecord',
|
|
305
|
+
audioCategoryOptions: kind === 'video' ? ['defaultToSpeaker'] : [],
|
|
306
|
+
audioMode: kind === 'video' ? 'videoChat' : 'voiceChat'
|
|
307
|
+
});
|
|
308
|
+
} catch {
|
|
309
|
+
// iOS-only helper.
|
|
310
|
+
}
|
|
311
|
+
emit({
|
|
312
|
+
connected: true
|
|
313
|
+
});
|
|
314
|
+
resync();
|
|
315
|
+
store.dispatch(setCallPhase('in-call'));
|
|
316
|
+
})();
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
// ---- controls -----------------------------------------------------------
|
|
320
|
+
|
|
321
|
+
export const toggleCallMic = async () => {
|
|
322
|
+
const current = session;
|
|
323
|
+
if (!current) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const next = !snapshot.micOn;
|
|
327
|
+
emit({
|
|
328
|
+
micOn: next
|
|
329
|
+
});
|
|
330
|
+
try {
|
|
331
|
+
await current.room.localParticipant.setMicrophoneEnabled(next);
|
|
332
|
+
} catch (error) {
|
|
333
|
+
if (!current.disposed) {
|
|
334
|
+
emit({
|
|
335
|
+
micOn: !next,
|
|
336
|
+
deviceError: humanizeDeviceError(error)
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
export const toggleCallCamera = async () => {
|
|
342
|
+
const current = session;
|
|
343
|
+
if (!current) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const next = !snapshot.cameraOn;
|
|
347
|
+
emit({
|
|
348
|
+
cameraOn: next
|
|
349
|
+
});
|
|
350
|
+
try {
|
|
351
|
+
await current.room.localParticipant.setCameraEnabled(next);
|
|
352
|
+
resync();
|
|
353
|
+
} catch (error) {
|
|
354
|
+
if (!current.disposed) {
|
|
355
|
+
emit({
|
|
356
|
+
cameraOn: !next,
|
|
357
|
+
deviceError: humanizeDeviceError(error)
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
export const switchCallCamera = async () => {
|
|
363
|
+
const current = session;
|
|
364
|
+
const runtime = loadLiveKit();
|
|
365
|
+
if (!current || !runtime) {
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
try {
|
|
369
|
+
const publication = current.room.localParticipant.getTrackPublication?.(runtime.Track.Source.Camera);
|
|
370
|
+
const track = publication?.track;
|
|
371
|
+
// `restartTrack` with the flipped facingMode is the portable way to
|
|
372
|
+
// switch cameras; the RN SDK's `_switchCamera` helper is internal.
|
|
373
|
+
await track?.restartTrack?.({
|
|
374
|
+
facingMode: track?.mediaStreamTrack?.getSettings?.().facingMode === 'environment' ? 'user' : 'environment'
|
|
375
|
+
});
|
|
376
|
+
resync();
|
|
377
|
+
} catch {
|
|
378
|
+
// Single camera, or the track is mid-restart.
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
export const toggleCallSpeaker = async () => {
|
|
382
|
+
const runtime = loadLiveKit();
|
|
383
|
+
if (!session || !runtime) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
const next = !snapshot.speakerOn;
|
|
387
|
+
emit({
|
|
388
|
+
speakerOn: next
|
|
389
|
+
});
|
|
390
|
+
try {
|
|
391
|
+
if (Platform.OS === 'android') {
|
|
392
|
+
// On Android `selectAudioOutput` device ids are the literal strings
|
|
393
|
+
// 'speaker' / 'earpiece'.
|
|
394
|
+
await runtime.AudioSession.selectAudioOutput(next ? 'speaker' : 'earpiece');
|
|
395
|
+
} else {
|
|
396
|
+
await runtime.AudioSession.setAppleAudioConfiguration?.({
|
|
397
|
+
audioCategory: 'playAndRecord',
|
|
398
|
+
audioCategoryOptions: next ? ['defaultToSpeaker'] : [],
|
|
399
|
+
audioMode: next ? 'videoChat' : 'voiceChat'
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
} catch {
|
|
403
|
+
emit({
|
|
404
|
+
speakerOn: !next
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
export const dismissCallDeviceError = () => {
|
|
409
|
+
emit({
|
|
410
|
+
deviceError: null
|
|
411
|
+
});
|
|
412
|
+
};
|
|
413
|
+
|
|
414
|
+
/** Reset module state. Test seam only. */
|
|
415
|
+
export const __resetCallSessionForTests = () => {
|
|
416
|
+
stopCallSession();
|
|
417
|
+
storeUnsubscribe?.();
|
|
418
|
+
storeUnsubscribe = null;
|
|
419
|
+
};
|
|
420
|
+
//# sourceMappingURL=callSessionController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSyncExternalStore","Platform","store","setCallError","setCallPhase","ensureLiveKitGlobals","loadLiveKit","terminateActiveCall","translateCallString","IDLE","active","connected","deviceError","micOn","cameraOn","speakerOn","remoteVideo","localVideo","remoteName","remoteJoined","remoteMicMuted","anchorAt","session","snapshot","listeners","Set","storeUnsubscribe","emit","patch","forEach","listener","subscribe","add","delete","getSnapshot","useCallSession","sessionKey","livekitUrl","token","humanizeDeviceError","error","name","text","String","message","toLowerCase","includes","liveVideoRef","participant","Track","publication","getTrackPublication","Source","Camera","track","isMuted","source","joinedAtMs","value","joinedAt","ms","Date","getTime","Number","isFinite","resync","current","runtime","disposed","room","remote","Array","from","remoteParticipants","values","everJoined","remoteMic","Microphone","localJoined","localParticipant","remoteJoinedAt","identity","Math","max","now","stopCallSession","removeAllListeners","disconnect","AudioSession","stopAudioSession","ensureStoreWatcher","call","getState","live","phase","key","endsWith","startCallSession","kind","startWithMicOn","startWithCameraOn","dispatch","Room","RoomEvent","adaptiveStream","dynacast","onChange","on","TrackSubscribed","TrackUnsubscribed","TrackPublished","TrackUnpublished","LocalTrackPublished","LocalTrackUnpublished","TrackMuted","TrackUnmuted","ParticipantConnected","MediaDevicesError","ParticipantDisconnected","size","Disconnected","startAudioSession","connect","setMicrophoneEnabled","setCameraEnabled","setAppleAudioConfiguration","audioCategory","audioCategoryOptions","audioMode","toggleCallMic","next","toggleCallCamera","switchCallCamera","restartTrack","facingMode","mediaStreamTrack","getSettings","toggleCallSpeaker","OS","selectAudioOutput","dismissCallDeviceError","__resetCallSessionForTests"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/callSessionController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo, useRef } from 'react';
|
|
4
|
+
import { Animated, PanResponder } from 'react-native';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Drag a floating element around (web's useDraggable, for the self-view
|
|
8
|
+
* tile and the minimized call panel). The offset is kept between drags.
|
|
9
|
+
*
|
|
10
|
+
* The responder only claims the gesture once the finger actually moves a
|
|
11
|
+
* few points, so taps still reach the buttons inside the dragged element.
|
|
12
|
+
*/
|
|
13
|
+
export const useDraggable = () => {
|
|
14
|
+
const position = useRef(new Animated.ValueXY({
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0
|
|
17
|
+
})).current;
|
|
18
|
+
const offset = useRef({
|
|
19
|
+
x: 0,
|
|
20
|
+
y: 0
|
|
21
|
+
});
|
|
22
|
+
const panHandlers = useMemo(() => PanResponder.create({
|
|
23
|
+
onMoveShouldSetPanResponder: (_event, gesture) => Math.abs(gesture.dx) > 4 || Math.abs(gesture.dy) > 4,
|
|
24
|
+
onPanResponderGrant: () => {
|
|
25
|
+
position.setOffset(offset.current);
|
|
26
|
+
position.setValue({
|
|
27
|
+
x: 0,
|
|
28
|
+
y: 0
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
onPanResponderMove: Animated.event([null, {
|
|
32
|
+
dx: position.x,
|
|
33
|
+
dy: position.y
|
|
34
|
+
}], {
|
|
35
|
+
useNativeDriver: false
|
|
36
|
+
}),
|
|
37
|
+
onPanResponderRelease: (_event, gesture) => {
|
|
38
|
+
offset.current = {
|
|
39
|
+
x: offset.current.x + gesture.dx,
|
|
40
|
+
y: offset.current.y + gesture.dy
|
|
41
|
+
};
|
|
42
|
+
position.flattenOffset();
|
|
43
|
+
},
|
|
44
|
+
onPanResponderTerminate: () => {
|
|
45
|
+
position.flattenOffset();
|
|
46
|
+
}
|
|
47
|
+
}).panHandlers, [position]);
|
|
48
|
+
return {
|
|
49
|
+
panHandlers,
|
|
50
|
+
style: {
|
|
51
|
+
transform: position.getTranslateTransform()
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=useDraggable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useRef","Animated","PanResponder","useDraggable","position","ValueXY","x","y","current","offset","panHandlers","create","onMoveShouldSetPanResponder","_event","gesture","Math","abs","dx","dy","onPanResponderGrant","setOffset","setValue","onPanResponderMove","event","useNativeDriver","onPanResponderRelease","flattenOffset","onPanResponderTerminate","style","transform","getTranslateTransform"],"sourceRoot":"../../../../src","sources":["components/VideoCalls/useDraggable.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACvC,SAASC,QAAQ,EAAEC,YAAY,QAAQ,cAAc;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAChC,MAAMC,QAAQ,GAAGJ,MAAM,CAAC,IAAIC,QAAQ,CAACI,OAAO,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC,CAAC,CAACC,OAAO;EACrE,MAAMC,MAAM,GAAGT,MAAM,CAAC;IAAEM,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE;EAAE,CAAC,CAAC;EAErC,MAAMG,WAAW,GAAGX,OAAO,CACzB,MACEG,YAAY,CAACS,MAAM,CAAC;IAClBC,2BAA2B,EAAEA,CAACC,MAAM,EAAEC,OAAO,KAC3CC,IAAI,CAACC,GAAG,CAACF,OAAO,CAACG,EAAE,CAAC,GAAG,CAAC,IAAIF,IAAI,CAACC,GAAG,CAACF,OAAO,CAACI,EAAE,CAAC,GAAG,CAAC;IACtDC,mBAAmB,EAAEA,CAAA,KAAM;MACzBf,QAAQ,CAACgB,SAAS,CAACX,MAAM,CAACD,OAAO,CAAC;MAClCJ,QAAQ,CAACiB,QAAQ,CAAC;QAAEf,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC,CAAC;IACnC,CAAC;IACDe,kBAAkB,EAAErB,QAAQ,CAACsB,KAAK,CAChC,CAAC,IAAI,EAAE;MAAEN,EAAE,EAAEb,QAAQ,CAACE,CAAC;MAAEY,EAAE,EAAEd,QAAQ,CAACG;IAAE,CAAC,CAAC,EAC1C;MAAEiB,eAAe,EAAE;IAAM,CAC3B,CAAC;IACDC,qBAAqB,EAAEA,CAACZ,MAAM,EAAEC,OAAO,KAAK;MAC1CL,MAAM,CAACD,OAAO,GAAG;QACfF,CAAC,EAAEG,MAAM,CAACD,OAAO,CAACF,CAAC,GAAGQ,OAAO,CAACG,EAAE;QAChCV,CAAC,EAAEE,MAAM,CAACD,OAAO,CAACD,CAAC,GAAGO,OAAO,CAACI;MAChC,CAAC;MACDd,QAAQ,CAACsB,aAAa,CAAC,CAAC;IAC1B,CAAC;IACDC,uBAAuB,EAAEA,CAAA,KAAM;MAC7BvB,QAAQ,CAACsB,aAAa,CAAC,CAAC;IAC1B;EACF,CAAC,CAAC,CAAChB,WAAW,EAChB,CAACN,QAAQ,CACX,CAAC;EAED,OAAO;IACLM,WAAW;IACXkB,KAAK,EAAE;MAAEC,SAAS,EAAEzB,QAAQ,CAAC0B,qBAAqB,CAAC;IAAE;EACvD,CAAC;AACH,CAAC","ignoreList":[]}
|