@stream-io/video-react-native-sdk 1.13.2 → 1.14.0
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/CHANGELOG.md +27 -0
- package/android/gradle.properties +1 -1
- package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +23 -29
- package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +187 -29
- package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js +1 -1
- package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamEnded.js +111 -0
- package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamEnded.js.map +1 -0
- package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +5 -6
- package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js +32 -28
- package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js +36 -36
- package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -1
- package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js +21 -15
- package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -1
- package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js +70 -4
- package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
- package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLobby.js +143 -0
- package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLobby.js.map +1 -0
- package/dist/commonjs/icons/LivestreamControls.js +73 -0
- package/dist/commonjs/icons/LivestreamControls.js.map +1 -0
- package/dist/commonjs/icons/Maximize.js +52 -0
- package/dist/commonjs/icons/Maximize.js.map +1 -0
- package/dist/commonjs/icons/index.js +11 -0
- package/dist/commonjs/icons/index.js.map +1 -1
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/providers/NoiseCancellation/NoiseCancellationProvider.js +75 -0
- package/dist/commonjs/providers/NoiseCancellation/NoiseCancellationProvider.js.map +1 -0
- package/dist/commonjs/providers/NoiseCancellation/index.js +17 -0
- package/dist/commonjs/providers/NoiseCancellation/index.js.map +1 -0
- package/dist/commonjs/providers/NoiseCancellation/lib.js +34 -0
- package/dist/commonjs/providers/NoiseCancellation/lib.js.map +1 -0
- package/dist/commonjs/version.js +1 -1
- package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +27 -33
- package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +187 -30
- package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js +1 -1
- package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamPlayer/LivestreamEnded.js +104 -0
- package/dist/module/components/Livestream/LivestreamPlayer/LivestreamEnded.js.map +1 -0
- package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +5 -6
- package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js +33 -29
- package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js +35 -35
- package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -1
- package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js +20 -14
- package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -1
- package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js +73 -7
- package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
- package/dist/module/components/Livestream/ViewerLivestream/ViewerLobby.js +136 -0
- package/dist/module/components/Livestream/ViewerLivestream/ViewerLobby.js.map +1 -0
- package/dist/module/icons/LivestreamControls.js +62 -0
- package/dist/module/icons/LivestreamControls.js.map +1 -0
- package/dist/module/icons/Maximize.js +43 -0
- package/dist/module/icons/Maximize.js.map +1 -0
- package/dist/module/icons/index.js +1 -0
- package/dist/module/icons/index.js.map +1 -1
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/providers/NoiseCancellation/NoiseCancellationProvider.js +67 -0
- package/dist/module/providers/NoiseCancellation/NoiseCancellationProvider.js.map +1 -0
- package/dist/module/providers/NoiseCancellation/index.js +2 -0
- package/dist/module/providers/NoiseCancellation/index.js.map +1 -0
- package/dist/module/providers/NoiseCancellation/lib.js +26 -0
- package/dist/module/providers/NoiseCancellation/lib.js.map +1 -0
- package/dist/module/version.js +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts +7 -0
- package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamEnded.d.ts +3 -0
- package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamEnded.d.ts.map +1 -0
- package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts +13 -1
- package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/DurationBadge.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/FollowerCount.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/LivestreamTopView/LiveIndicator.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts +9 -1
- package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts.map +1 -1
- package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLobby.d.ts +8 -0
- package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLobby.d.ts.map +1 -0
- package/dist/typescript/icons/LivestreamControls.d.ts +12 -0
- package/dist/typescript/icons/LivestreamControls.d.ts.map +1 -0
- package/dist/typescript/icons/Maximize.d.ts +10 -0
- package/dist/typescript/icons/Maximize.d.ts.map +1 -0
- package/dist/typescript/icons/index.d.ts +1 -0
- package/dist/typescript/icons/index.d.ts.map +1 -1
- package/dist/typescript/index.d.ts +1 -0
- package/dist/typescript/index.d.ts.map +1 -1
- package/dist/typescript/providers/NoiseCancellation/NoiseCancellationProvider.d.ts +34 -0
- package/dist/typescript/providers/NoiseCancellation/NoiseCancellationProvider.d.ts.map +1 -0
- package/dist/typescript/providers/NoiseCancellation/index.d.ts +2 -0
- package/dist/typescript/providers/NoiseCancellation/index.d.ts.map +1 -0
- package/dist/typescript/providers/NoiseCancellation/lib.d.ts +8 -0
- package/dist/typescript/providers/NoiseCancellation/lib.d.ts.map +1 -0
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/index.js +2 -0
- package/expo-config-plugin/dist/withAndroidPermissions.js +1 -0
- package/expo-config-plugin/dist/withAppDelegate.js +26 -7
- package/expo-config-plugin/dist/withMainApplication.js +24 -0
- package/package.json +10 -5
- package/src/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx +30 -48
- package/src/components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx +260 -43
- package/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx +1 -1
- package/src/components/Livestream/LivestreamPlayer/LivestreamEnded.tsx +130 -0
- package/src/components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx +15 -5
- package/src/components/Livestream/LivestreamTopView/DurationBadge.tsx +35 -38
- package/src/components/Livestream/LivestreamTopView/FollowerCount.tsx +40 -47
- package/src/components/Livestream/LivestreamTopView/LiveIndicator.tsx +22 -14
- package/src/components/Livestream/ViewerLivestream/ViewerLivestream.tsx +107 -10
- package/src/components/Livestream/ViewerLivestream/ViewerLobby.tsx +171 -0
- package/src/icons/LivestreamControls.tsx +51 -0
- package/src/icons/Maximize.tsx +48 -0
- package/src/icons/index.tsx +1 -0
- package/src/index.ts +1 -0
- package/src/providers/NoiseCancellation/NoiseCancellationProvider.tsx +147 -0
- package/src/providers/NoiseCancellation/index.ts +1 -0
- package/src/providers/NoiseCancellation/lib.ts +37 -0
- package/src/version.ts +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
2
|
-
import { ActivityIndicator, Pressable, StyleSheet,
|
|
1
|
+
import React, { useMemo, useState } from 'react';
|
|
2
|
+
import { ActivityIndicator, Pressable, StyleSheet, View } from 'react-native';
|
|
3
3
|
import { useTheme } from '../../../contexts';
|
|
4
|
-
import {
|
|
5
|
-
import { useCall
|
|
4
|
+
import { PhoneDown } from '../../../icons';
|
|
5
|
+
import { useCall } from '@stream-io/video-react-bindings';
|
|
6
6
|
import { getLogger } from '@stream-io/video-client';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -17,16 +17,13 @@ export const ViewerLeaveStreamButton = ({
|
|
|
17
17
|
}) => {
|
|
18
18
|
const [isAwaitingResponse, setIsAwaitingResponse] = useState(false);
|
|
19
19
|
const call = useCall();
|
|
20
|
-
const
|
|
21
|
-
t
|
|
22
|
-
} = useI18n();
|
|
20
|
+
const styles = useStyles();
|
|
23
21
|
const {
|
|
24
22
|
theme: {
|
|
25
23
|
colors,
|
|
26
24
|
variants: {
|
|
27
25
|
iconSizes
|
|
28
26
|
},
|
|
29
|
-
typefaces,
|
|
30
27
|
viewerLeaveStreamButton
|
|
31
28
|
}
|
|
32
29
|
} = useTheme();
|
|
@@ -45,32 +42,29 @@ export const ViewerLeaveStreamButton = ({
|
|
|
45
42
|
}
|
|
46
43
|
};
|
|
47
44
|
return /*#__PURE__*/React.createElement(Pressable, {
|
|
48
|
-
style:
|
|
49
|
-
backgroundColor: colors.buttonSecondary
|
|
50
|
-
}, viewerLeaveStreamButton.container],
|
|
45
|
+
style: viewerLeaveStreamButton.container,
|
|
51
46
|
onPress: onLeaveStreamButtonPress
|
|
52
47
|
}, /*#__PURE__*/React.createElement(View, {
|
|
53
|
-
style: [styles.icon,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
48
|
+
style: [styles.icon, viewerLeaveStreamButton.icon]
|
|
49
|
+
}, isAwaitingResponse ? /*#__PURE__*/React.createElement(ActivityIndicator, null) : /*#__PURE__*/React.createElement(PhoneDown, {
|
|
50
|
+
color: colors.iconPrimary,
|
|
51
|
+
size: iconSizes.sm
|
|
52
|
+
})));
|
|
53
|
+
};
|
|
54
|
+
const useStyles = () => {
|
|
55
|
+
const {
|
|
56
|
+
theme
|
|
57
|
+
} = useTheme();
|
|
58
|
+
return useMemo(() => StyleSheet.create({
|
|
59
|
+
icon: {
|
|
60
|
+
backgroundColor: theme.colors.buttonSecondary,
|
|
61
|
+
height: theme.variants.buttonSizes.xs,
|
|
62
|
+
width: theme.variants.buttonSizes.xs,
|
|
63
|
+
justifyContent: 'center',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
borderRadius: theme.variants.borderRadiusSizes.sm,
|
|
66
|
+
zIndex: 2
|
|
67
|
+
}
|
|
68
|
+
}), [theme]);
|
|
62
69
|
};
|
|
63
|
-
const styles = StyleSheet.create({
|
|
64
|
-
container: {
|
|
65
|
-
flexDirection: 'row',
|
|
66
|
-
alignItems: 'center',
|
|
67
|
-
padding: 8,
|
|
68
|
-
borderRadius: 4
|
|
69
|
-
},
|
|
70
|
-
icon: {},
|
|
71
|
-
text: {
|
|
72
|
-
marginLeft: 8,
|
|
73
|
-
includeFontPadding: false
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
70
|
//# sourceMappingURL=ViewerLeaveStreamButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","ActivityIndicator","Pressable","StyleSheet","
|
|
1
|
+
{"version":3,"names":["React","useMemo","useState","ActivityIndicator","Pressable","StyleSheet","View","useTheme","PhoneDown","useCall","getLogger","ViewerLeaveStreamButton","onLeaveStreamHandler","isAwaitingResponse","setIsAwaitingResponse","call","styles","useStyles","theme","colors","variants","iconSizes","viewerLeaveStreamButton","onLeaveStreamButtonPress","leave","error","logger","createElement","style","container","onPress","icon","color","iconPrimary","size","sm","create","backgroundColor","buttonSecondary","height","buttonSizes","xs","width","justifyContent","alignItems","borderRadius","borderRadiusSizes","zIndex"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAChD,SAASC,iBAAiB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC7E,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,QAAQ,yBAAyB;;AAEnD;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAGA,CAAC;EACtCC;AAC4B,CAAC,KAAK;EAClC,MAAM,CAACC,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EACnE,MAAMa,IAAI,GAAGN,OAAO,CAAC,CAAC;EACtB,MAAMO,MAAM,GAAGC,SAAS,CAAC,CAAC;EAC1B,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM;MACNC,QAAQ,EAAE;QAAEC;MAAU,CAAC;MACvBC;IACF;EACF,CAAC,GAAGf,QAAQ,CAAC,CAAC;EAEd,MAAMgB,wBAAwB,GAAG,MAAAA,CAAA,KAAY;IAC3C,IAAIX,oBAAoB,EAAE;MACxBA,oBAAoB,CAAC,CAAC;MACtB;IACF;IACA,IAAI;MACFE,qBAAqB,CAAC,IAAI,CAAC;MAC3B,MAAMC,IAAI,EAAES,KAAK,CAAC,CAAC;MACnBV,qBAAqB,CAAC,KAAK,CAAC;IAC9B,CAAC,CAAC,OAAOW,KAAK,EAAE;MACd,MAAMC,MAAM,GAAGhB,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;MACrDgB,MAAM,CAAC,OAAO,EAAE,2BAA2B,EAAED,KAAK,CAAC;IACrD;EACF,CAAC;EAED,oBACEzB,KAAA,CAAA2B,aAAA,CAACvB,SAAS;IACRwB,KAAK,EAAEN,uBAAuB,CAACO,SAAU;IACzCC,OAAO,EAAEP;EAAyB,gBAElCvB,KAAA,CAAA2B,aAAA,CAACrB,IAAI;IAACsB,KAAK,EAAE,CAACZ,MAAM,CAACe,IAAI,EAAET,uBAAuB,CAACS,IAAI;EAAE,GACtDlB,kBAAkB,gBACjBb,KAAA,CAAA2B,aAAA,CAACxB,iBAAiB,MAAE,CAAC,gBAErBH,KAAA,CAAA2B,aAAA,CAACnB,SAAS;IAACwB,KAAK,EAAEb,MAAM,CAACc,WAAY;IAACC,IAAI,EAAEb,SAAS,CAACc;EAAG,CAAE,CAEzD,CACG,CAAC;AAEhB,CAAC;AAED,MAAMlB,SAAS,GAAGA,CAAA,KAAM;EACtB,MAAM;IAAEC;EAAM,CAAC,GAAGX,QAAQ,CAAC,CAAC;EAC5B,OAAON,OAAO,CACZ,MACEI,UAAU,CAAC+B,MAAM,CAAC;IAChBL,IAAI,EAAE;MACJM,eAAe,EAAEnB,KAAK,CAACC,MAAM,CAACmB,eAAe;MAC7CC,MAAM,EAAErB,KAAK,CAACE,QAAQ,CAACoB,WAAW,CAACC,EAAE;MACrCC,KAAK,EAAExB,KAAK,CAACE,QAAQ,CAACoB,WAAW,CAACC,EAAE;MACpCE,cAAc,EAAE,QAAQ;MACxBC,UAAU,EAAE,QAAQ;MACpBC,YAAY,EAAE3B,KAAK,CAACE,QAAQ,CAAC0B,iBAAiB,CAACX,EAAE;MACjDY,MAAM,EAAE;IACV;EACF,CAAC,CAAC,EACJ,CAAC7B,KAAK,CACR,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { StyleSheet, View } from 'react-native';
|
|
1
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { Pressable, StyleSheet, View } from 'react-native';
|
|
3
3
|
import { ViewerLeaveStreamButton as DefaultViewerLeaveStreamButton } from './ViewerLeaveStreamButton';
|
|
4
4
|
import { useTheme } from '../../../contexts';
|
|
5
5
|
import { Z_INDEX } from '../../../constants';
|
|
6
|
+
import { DurationBadge, FollowerCount, LiveIndicator } from '../LivestreamTopView';
|
|
7
|
+
import { IconWrapper, Maximize } from '../../../icons';
|
|
8
|
+
import InCallManager from 'react-native-incall-manager';
|
|
9
|
+
import { VolumeOff, VolumeOn, PauseIcon, PlayIcon } from '../../../icons/LivestreamControls';
|
|
6
10
|
|
|
7
11
|
/**
|
|
8
12
|
* Props for the ViewerLivestreamControls component.
|
|
@@ -16,43 +20,196 @@ export const ViewerLivestreamControls = ({
|
|
|
16
20
|
onLeaveStreamHandler,
|
|
17
21
|
onLayout
|
|
18
22
|
}) => {
|
|
23
|
+
const styles = useStyles();
|
|
19
24
|
const {
|
|
20
25
|
theme: {
|
|
21
26
|
colors,
|
|
22
|
-
viewerLivestreamControls
|
|
27
|
+
viewerLivestreamControls,
|
|
28
|
+
variants
|
|
23
29
|
}
|
|
24
30
|
} = useTheme();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
const [showControls, setShowControls] = useState(true);
|
|
32
|
+
const [isMuted, setIsMuted] = useState(false);
|
|
33
|
+
const [isPlaying, setIsPlaying] = useState(true);
|
|
34
|
+
const [showPlayPauseButton, setShowPlayPauseButton] = useState(true);
|
|
35
|
+
const playPauseTimeout = useRef(null);
|
|
36
|
+
const hidePlayPauseButtonAfterDelay = useCallback(() => {
|
|
37
|
+
if (playPauseTimeout.current) {
|
|
38
|
+
clearTimeout(playPauseTimeout.current);
|
|
39
|
+
}
|
|
40
|
+
playPauseTimeout.current = setTimeout(() => {
|
|
41
|
+
setShowPlayPauseButton(false);
|
|
42
|
+
playPauseTimeout.current = null;
|
|
43
|
+
}, 3000);
|
|
44
|
+
}, []);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
hidePlayPauseButtonAfterDelay();
|
|
47
|
+
return () => {
|
|
48
|
+
if (playPauseTimeout.current) {
|
|
49
|
+
clearTimeout(playPauseTimeout.current);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}, [hidePlayPauseButtonAfterDelay]);
|
|
53
|
+
const showPlayPauseButtonWithTimeout = () => {
|
|
54
|
+
setShowPlayPauseButton(true);
|
|
55
|
+
hidePlayPauseButtonAfterDelay();
|
|
56
|
+
};
|
|
57
|
+
const showControlsHandler = () => {
|
|
58
|
+
showPlayPauseButtonWithTimeout();
|
|
59
|
+
if (showControls) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
setShowControls(true);
|
|
63
|
+
};
|
|
64
|
+
const toggleControls = () => {
|
|
65
|
+
setShowControls(!showControls);
|
|
66
|
+
};
|
|
67
|
+
const toggleAudio = () => {
|
|
68
|
+
setIsMuted(!isMuted);
|
|
69
|
+
InCallManager.setForceSpeakerphoneOn(isMuted);
|
|
70
|
+
};
|
|
71
|
+
const togglePlayPause = () => {
|
|
72
|
+
setIsPlaying(!isPlaying);
|
|
73
|
+
showPlayPauseButtonWithTimeout();
|
|
74
|
+
};
|
|
75
|
+
const VolumeButton = /*#__PURE__*/React.createElement(Pressable, {
|
|
76
|
+
onPress: toggleAudio,
|
|
77
|
+
style: [styles.fullscreenButton]
|
|
78
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
79
|
+
style: [styles.icon]
|
|
80
|
+
}, /*#__PURE__*/React.createElement(IconWrapper, null, isMuted ? /*#__PURE__*/React.createElement(VolumeOff, {
|
|
81
|
+
color: colors.iconPrimary,
|
|
82
|
+
size: variants.iconSizes.sm
|
|
83
|
+
}) : /*#__PURE__*/React.createElement(VolumeOn, {
|
|
84
|
+
color: colors.iconPrimary,
|
|
85
|
+
size: variants.iconSizes.sm
|
|
86
|
+
}))));
|
|
87
|
+
const MaximizeButton = /*#__PURE__*/React.createElement(Pressable, {
|
|
88
|
+
onPress: toggleControls,
|
|
89
|
+
style: [styles.fullscreenButton]
|
|
90
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
91
|
+
style: [styles.icon]
|
|
92
|
+
}, /*#__PURE__*/React.createElement(Maximize, {
|
|
93
|
+
color: colors.iconPrimary,
|
|
94
|
+
width: variants.iconSizes.sm,
|
|
95
|
+
height: variants.iconSizes.sm
|
|
96
|
+
})));
|
|
97
|
+
const PlayPauseButton = /*#__PURE__*/React.createElement(Pressable, {
|
|
98
|
+
onPress: togglePlayPause,
|
|
99
|
+
style: styles.playPauseButton
|
|
100
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
101
|
+
style: styles.playPauseIcon
|
|
102
|
+
}, /*#__PURE__*/React.createElement(IconWrapper, null, isPlaying ? /*#__PURE__*/React.createElement(PauseIcon, {
|
|
103
|
+
color: colors.iconPrimary,
|
|
104
|
+
size: variants.iconSizes.lg * 3
|
|
105
|
+
}) : /*#__PURE__*/React.createElement(PlayIcon, {
|
|
106
|
+
color: colors.iconPrimary,
|
|
107
|
+
size: variants.iconSizes.lg * 3
|
|
108
|
+
}))));
|
|
109
|
+
return /*#__PURE__*/React.createElement(Pressable, {
|
|
110
|
+
style: StyleSheet.absoluteFill,
|
|
111
|
+
onPress: showControlsHandler
|
|
112
|
+
}, !isPlaying && /*#__PURE__*/React.createElement(View, {
|
|
113
|
+
style: styles.blackOverlay
|
|
114
|
+
}), showPlayPauseButton && /*#__PURE__*/React.createElement(View, {
|
|
115
|
+
style: styles.centerButtonContainer
|
|
116
|
+
}, PlayPauseButton), showControls && /*#__PURE__*/React.createElement(View, {
|
|
117
|
+
style: [styles.container, viewerLivestreamControls.container],
|
|
29
118
|
onLayout: onLayout
|
|
30
119
|
}, /*#__PURE__*/React.createElement(View, {
|
|
31
120
|
style: [styles.leftElement, viewerLivestreamControls.leftElement]
|
|
32
|
-
},
|
|
33
|
-
|
|
121
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
122
|
+
style: [styles.leftElement]
|
|
123
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
124
|
+
style: [styles.liveInfo]
|
|
125
|
+
}, /*#__PURE__*/React.createElement(LiveIndicator, null), /*#__PURE__*/React.createElement(FollowerCount, null)))), /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(DurationBadge, {
|
|
126
|
+
mode: "viewer"
|
|
34
127
|
})), /*#__PURE__*/React.createElement(View, {
|
|
35
128
|
style: [styles.rightElement, viewerLivestreamControls.rightElement]
|
|
36
|
-
}
|
|
129
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
130
|
+
style: styles.buttonContainer
|
|
131
|
+
}, VolumeButton, MaximizeButton, ViewerLeaveStreamButton && /*#__PURE__*/React.createElement(ViewerLeaveStreamButton, {
|
|
132
|
+
onLeaveStreamHandler: onLeaveStreamHandler
|
|
133
|
+
})))));
|
|
134
|
+
};
|
|
135
|
+
const useStyles = () => {
|
|
136
|
+
const {
|
|
137
|
+
theme
|
|
138
|
+
} = useTheme();
|
|
139
|
+
return useMemo(() => StyleSheet.create({
|
|
140
|
+
container: {
|
|
141
|
+
position: 'absolute',
|
|
142
|
+
bottom: 0,
|
|
143
|
+
flexDirection: 'row',
|
|
144
|
+
alignItems: 'center',
|
|
145
|
+
justifyContent: 'center',
|
|
146
|
+
paddingVertical: 16,
|
|
147
|
+
paddingHorizontal: 8,
|
|
148
|
+
zIndex: Z_INDEX.IN_FRONT,
|
|
149
|
+
backgroundColor: theme.colors.sheetOverlay
|
|
150
|
+
},
|
|
151
|
+
leftElement: {
|
|
152
|
+
flex: 1,
|
|
153
|
+
alignItems: 'flex-start',
|
|
154
|
+
justifyContent: 'center'
|
|
155
|
+
},
|
|
156
|
+
rightElement: {
|
|
157
|
+
flex: 1,
|
|
158
|
+
alignItems: 'flex-end'
|
|
159
|
+
},
|
|
160
|
+
liveInfo: {
|
|
161
|
+
flexDirection: 'row'
|
|
162
|
+
},
|
|
163
|
+
icon: {
|
|
164
|
+
height: theme.variants.iconSizes.sm,
|
|
165
|
+
width: theme.variants.iconSizes.sm
|
|
166
|
+
},
|
|
167
|
+
fullscreenButton: {
|
|
168
|
+
backgroundColor: theme.colors.buttonSecondary,
|
|
169
|
+
height: theme.variants.buttonSizes.xs,
|
|
170
|
+
width: theme.variants.buttonSizes.xs,
|
|
171
|
+
justifyContent: 'center',
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
borderRadius: theme.variants.borderRadiusSizes.sm,
|
|
174
|
+
zIndex: 2
|
|
175
|
+
},
|
|
176
|
+
buttonContainer: {
|
|
177
|
+
flexDirection: 'row',
|
|
178
|
+
alignItems: 'center',
|
|
179
|
+
justifyContent: 'center',
|
|
180
|
+
gap: theme.variants.spacingSizes.sm
|
|
181
|
+
},
|
|
182
|
+
centerButtonContainer: {
|
|
183
|
+
position: 'absolute',
|
|
184
|
+
top: 0,
|
|
185
|
+
bottom: 0,
|
|
186
|
+
left: 0,
|
|
187
|
+
right: 0,
|
|
188
|
+
justifyContent: 'center',
|
|
189
|
+
alignItems: 'center',
|
|
190
|
+
zIndex: Z_INDEX.IN_FRONT,
|
|
191
|
+
pointerEvents: 'box-none'
|
|
192
|
+
},
|
|
193
|
+
playPauseButton: {
|
|
194
|
+
height: 200,
|
|
195
|
+
width: 200,
|
|
196
|
+
justifyContent: 'center',
|
|
197
|
+
alignItems: 'center',
|
|
198
|
+
zIndex: Z_INDEX.IN_FRONT + 1
|
|
199
|
+
},
|
|
200
|
+
playPauseIcon: {
|
|
201
|
+
height: 200,
|
|
202
|
+
width: 200
|
|
203
|
+
},
|
|
204
|
+
blackOverlay: {
|
|
205
|
+
position: 'absolute',
|
|
206
|
+
top: 0,
|
|
207
|
+
left: 0,
|
|
208
|
+
right: 0,
|
|
209
|
+
bottom: 0,
|
|
210
|
+
backgroundColor: 'black',
|
|
211
|
+
zIndex: Z_INDEX.IN_FRONT - 1
|
|
212
|
+
}
|
|
213
|
+
}), [theme]);
|
|
37
214
|
};
|
|
38
|
-
const styles = StyleSheet.create({
|
|
39
|
-
container: {
|
|
40
|
-
position: 'absolute',
|
|
41
|
-
bottom: 0,
|
|
42
|
-
flexDirection: 'row',
|
|
43
|
-
alignItems: 'center',
|
|
44
|
-
paddingVertical: 16,
|
|
45
|
-
paddingHorizontal: 8,
|
|
46
|
-
zIndex: Z_INDEX.IN_FRONT
|
|
47
|
-
},
|
|
48
|
-
content: {},
|
|
49
|
-
leftElement: {
|
|
50
|
-
flex: 1,
|
|
51
|
-
alignItems: 'flex-start'
|
|
52
|
-
},
|
|
53
|
-
rightElement: {
|
|
54
|
-
flex: 1,
|
|
55
|
-
alignItems: 'flex-end'
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
215
|
//# sourceMappingURL=ViewerLivestreamControls.js.map
|
package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","ViewerLeaveStreamButton","DefaultViewerLeaveStreamButton","useTheme","Z_INDEX","ViewerLivestreamControls","onLeaveStreamHandler","onLayout","theme","colors","viewerLivestreamControls","createElement","style","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","Pressable","StyleSheet","View","ViewerLeaveStreamButton","DefaultViewerLeaveStreamButton","useTheme","Z_INDEX","DurationBadge","FollowerCount","LiveIndicator","IconWrapper","Maximize","InCallManager","VolumeOff","VolumeOn","PauseIcon","PlayIcon","ViewerLivestreamControls","onLeaveStreamHandler","onLayout","styles","useStyles","theme","colors","viewerLivestreamControls","variants","showControls","setShowControls","isMuted","setIsMuted","isPlaying","setIsPlaying","showPlayPauseButton","setShowPlayPauseButton","playPauseTimeout","hidePlayPauseButtonAfterDelay","current","clearTimeout","setTimeout","showPlayPauseButtonWithTimeout","showControlsHandler","toggleControls","toggleAudio","setForceSpeakerphoneOn","togglePlayPause","VolumeButton","createElement","onPress","style","fullscreenButton","icon","color","iconPrimary","size","iconSizes","sm","MaximizeButton","width","height","PlayPauseButton","playPauseButton","playPauseIcon","lg","absoluteFill","blackOverlay","centerButtonContainer","container","leftElement","liveInfo","mode","rightElement","buttonContainer","create","position","bottom","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","zIndex","IN_FRONT","backgroundColor","sheetOverlay","flex","buttonSecondary","buttonSizes","xs","borderRadius","borderRadiusSizes","gap","spacingSizes","top","left","right","pointerEvents"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -49,7 +49,7 @@ export const LivestreamLayout = ({
|
|
|
49
49
|
};
|
|
50
50
|
return /*#__PURE__*/React.createElement(View, {
|
|
51
51
|
style: [styles.container, landScapeStyles, {
|
|
52
|
-
backgroundColor: colors.
|
|
52
|
+
backgroundColor: colors.sheetPrimary
|
|
53
53
|
}, livestreamLayout.container]
|
|
54
54
|
}, /*#__PURE__*/React.createElement(RemoteVideoTrackDimensionsRenderLessComponent, {
|
|
55
55
|
onDimensionsChange: onDimensionsChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useState","hasScreenShare","useCall","useCallStateHooks","StyleSheet","View","usePaginatedLayoutSortPreset","useTheme","VideoRenderer","DefaultVideoRenderer","LivestreamLayout","landscape","ScreenShareOverlay","useParticipants","useHasOngoingScreenShare","call","theme","colors","livestreamLayout","participants","currentSpeaker","hasOngoingScreenShare","presenter","find","undefined","objectFit","setObjectFit","objectFitToBeSet","isLocalParticipant","onDimensionsChange","d","isWidthWide","width","height","landScapeStyles","flexDirection","createElement","style","styles","container","backgroundColor","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","hasScreenShare","useCall","useCallStateHooks","StyleSheet","View","usePaginatedLayoutSortPreset","useTheme","VideoRenderer","DefaultVideoRenderer","LivestreamLayout","landscape","ScreenShareOverlay","useParticipants","useHasOngoingScreenShare","call","theme","colors","livestreamLayout","participants","currentSpeaker","hasOngoingScreenShare","presenter","find","undefined","objectFit","setObjectFit","objectFitToBeSet","isLocalParticipant","onDimensionsChange","d","isWidthWide","width","height","landScapeStyles","flexDirection","createElement","style","styles","container","backgroundColor","sheetPrimary","RemoteVideoTrackDimensionsRenderLessComponent","trackType","participant","dimension","setDimension","useCallStatsReport","statsReport","highestFrameHeight","subscriberStats","highestFrameWidth","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamLayout/LivestreamLayout.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useCall, useI18n } from '@stream-io/video-react-bindings';
|
|
3
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import { useTheme } from '../../../contexts';
|
|
5
|
+
import { FlatList, Pressable, View, Text, StyleSheet, Linking } from 'react-native';
|
|
6
|
+
export const CallEndedView = () => {
|
|
7
|
+
const {
|
|
8
|
+
t
|
|
9
|
+
} = useI18n();
|
|
10
|
+
const call = useCall();
|
|
11
|
+
const [recordingsResponse, setRecordingsResponse] = useState(undefined);
|
|
12
|
+
const styles = useStyles();
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
let isCanceled = false;
|
|
15
|
+
const fetchRecordings = async () => {
|
|
16
|
+
if (recordingsResponse == null) {
|
|
17
|
+
try {
|
|
18
|
+
const callRecordingsResponse = await call?.queryRecordings();
|
|
19
|
+
if (!isCanceled) {
|
|
20
|
+
setRecordingsResponse(callRecordingsResponse);
|
|
21
|
+
}
|
|
22
|
+
} catch (error) {
|
|
23
|
+
console.log('Error fetching recordings:', error);
|
|
24
|
+
if (!isCanceled) {
|
|
25
|
+
setRecordingsResponse(undefined);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
fetchRecordings();
|
|
31
|
+
return () => {
|
|
32
|
+
isCanceled = true;
|
|
33
|
+
};
|
|
34
|
+
}, [call, recordingsResponse]);
|
|
35
|
+
const openUrl = url => {
|
|
36
|
+
Linking.canOpenURL(url).then(supported => {
|
|
37
|
+
if (supported) {
|
|
38
|
+
Linking.openURL(url);
|
|
39
|
+
} else {
|
|
40
|
+
console.log('Cannot open URL:', url);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
const showRecordings = recordingsResponse && recordingsResponse.recordings.length > 0;
|
|
45
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
46
|
+
style: styles.container
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
48
|
+
style: styles.title
|
|
49
|
+
}, t('The livestream has ended.')), showRecordings && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
50
|
+
style: styles.subtitle
|
|
51
|
+
}, t('Watch recordings:')), /*#__PURE__*/React.createElement(View, {
|
|
52
|
+
style: styles.recordingsContainer
|
|
53
|
+
}, /*#__PURE__*/React.createElement(FlatList, {
|
|
54
|
+
data: recordingsResponse.recordings,
|
|
55
|
+
keyExtractor: item => item.session_id,
|
|
56
|
+
renderItem: ({
|
|
57
|
+
item
|
|
58
|
+
}) => /*#__PURE__*/React.createElement(Pressable, {
|
|
59
|
+
style: styles.recordingButton,
|
|
60
|
+
onPress: () => openUrl(item.url)
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
62
|
+
style: styles.recordingText
|
|
63
|
+
}, item.url.substring(0, 70), "..."))
|
|
64
|
+
}))));
|
|
65
|
+
};
|
|
66
|
+
const useStyles = () => {
|
|
67
|
+
const {
|
|
68
|
+
theme
|
|
69
|
+
} = useTheme();
|
|
70
|
+
return useMemo(() => StyleSheet.create({
|
|
71
|
+
container: {
|
|
72
|
+
flex: 1,
|
|
73
|
+
backgroundColor: theme.colors.sheetPrimary,
|
|
74
|
+
justifyContent: 'center',
|
|
75
|
+
alignItems: 'center',
|
|
76
|
+
padding: theme.variants.spacingSizes.md
|
|
77
|
+
},
|
|
78
|
+
title: {
|
|
79
|
+
fontSize: theme.variants.fontSizes.lg,
|
|
80
|
+
marginBottom: theme.variants.spacingSizes.md,
|
|
81
|
+
color: theme.colors.textPrimary,
|
|
82
|
+
fontWeight: 'bold'
|
|
83
|
+
},
|
|
84
|
+
subtitle: {
|
|
85
|
+
fontSize: theme.variants.fontSizes.md,
|
|
86
|
+
marginBottom: theme.variants.spacingSizes.md,
|
|
87
|
+
color: theme.colors.textPrimary,
|
|
88
|
+
fontWeight: 'bold'
|
|
89
|
+
},
|
|
90
|
+
recordingButton: {
|
|
91
|
+
padding: theme.variants.spacingSizes.sm,
|
|
92
|
+
width: '100%'
|
|
93
|
+
},
|
|
94
|
+
recordingText: {
|
|
95
|
+
color: theme.colors.textSecondary,
|
|
96
|
+
fontSize: theme.variants.fontSizes.md
|
|
97
|
+
},
|
|
98
|
+
recordingsContainer: {
|
|
99
|
+
width: '100%',
|
|
100
|
+
alignItems: 'center'
|
|
101
|
+
}
|
|
102
|
+
}), [theme]);
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=LivestreamEnded.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCall","useI18n","useState","useEffect","useMemo","useTheme","FlatList","Pressable","View","Text","StyleSheet","Linking","CallEndedView","t","call","recordingsResponse","setRecordingsResponse","undefined","styles","useStyles","isCanceled","fetchRecordings","callRecordingsResponse","queryRecordings","error","console","log","openUrl","url","canOpenURL","then","supported","openURL","showRecordings","recordings","length","createElement","style","container","title","Fragment","subtitle","recordingsContainer","data","keyExtractor","item","session_id","renderItem","recordingButton","onPress","recordingText","substring","theme","create","flex","backgroundColor","colors","sheetPrimary","justifyContent","alignItems","padding","variants","spacingSizes","md","fontSize","fontSizes","lg","marginBottom","color","textPrimary","fontWeight","sm","width","textSecondary"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamEnded.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,8 @@ import { useStreamVideoClient } from '@stream-io/video-react-bindings';
|
|
|
6
6
|
export const LivestreamPlayer = ({
|
|
7
7
|
callType,
|
|
8
8
|
callId,
|
|
9
|
-
ViewerLivestream = DefaultViewerLivestream
|
|
9
|
+
ViewerLivestream = DefaultViewerLivestream,
|
|
10
|
+
joinBehavior = 'asap'
|
|
10
11
|
}) => {
|
|
11
12
|
const client = useStreamVideoClient();
|
|
12
13
|
const [call, setCall] = useState();
|
|
@@ -16,10 +17,6 @@ export const LivestreamPlayer = ({
|
|
|
16
17
|
}
|
|
17
18
|
const myCall = client.call(callType, callId);
|
|
18
19
|
setCall(myCall);
|
|
19
|
-
myCall.join().catch(e => {
|
|
20
|
-
const logger = getLogger(['LivestreamPlayer']);
|
|
21
|
-
logger('error', 'Error joining call:', e);
|
|
22
|
-
});
|
|
23
20
|
return () => {
|
|
24
21
|
if (myCall.state.callingState !== CallingState.LEFT) {
|
|
25
22
|
myCall.leave().catch(e => {
|
|
@@ -46,6 +43,8 @@ export const LivestreamPlayer = ({
|
|
|
46
43
|
}
|
|
47
44
|
return /*#__PURE__*/React.createElement(StreamCall, {
|
|
48
45
|
call: call
|
|
49
|
-
}, /*#__PURE__*/React.createElement(ViewerLivestream,
|
|
46
|
+
}, /*#__PURE__*/React.createElement(ViewerLivestream, {
|
|
47
|
+
joinBehavior: joinBehavior
|
|
48
|
+
}));
|
|
50
49
|
};
|
|
51
50
|
//# sourceMappingURL=LivestreamPlayer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","ViewerLivestream","DefaultViewerLivestream","CallingState","getLogger","StreamCall","useStreamVideoClient","LivestreamPlayer","callType","callId","client","call","setCall","myCall","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","ViewerLivestream","DefaultViewerLivestream","CallingState","getLogger","StreamCall","useStreamVideoClient","LivestreamPlayer","callType","callId","joinBehavior","client","call","setCall","myCall","state","callingState","LEFT","leave","catch","e","logger","undefined","createElement"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SACEC,gBAAgB,IAAIC,uBAAuB,QAEtC,qBAAqB;AAC5B,SAAeC,YAAY,EAAEC,SAAS,QAAQ,yBAAyB;AACvE,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,oBAAoB,QAAQ,iCAAiC;AA+BtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,QAAQ;EACRC,MAAM;EACNR,gBAAgB,GAAGC,uBAAuB;EAC1CQ,YAAY,GAAG;AACM,CAAC,KAAK;EAC3B,MAAMC,MAAM,GAAGL,oBAAoB,CAAC,CAAC;EAErC,MAAM,CAACM,IAAI,EAAEC,OAAO,CAAC,GAAGb,QAAQ,CAAO,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAI,CAACY,MAAM,EAAE;MACX;IACF;IACA,MAAMG,MAAM,GAAGH,MAAM,CAACC,IAAI,CAACJ,QAAQ,EAAEC,MAAM,CAAC;IAC5CI,OAAO,CAACC,MAAM,CAAC;IACf,OAAO,MAAM;MACX,IAAIA,MAAM,CAACC,KAAK,CAACC,YAAY,KAAKb,YAAY,CAACc,IAAI,EAAE;QACnDH,MAAM,CAACI,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UAC1B,MAAMC,MAAM,GAAGjB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CiB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;MACAP,OAAO,CAACS,SAAS,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACb,MAAM,EAAED,QAAQ,EAAEG,MAAM,CAAC,CAAC;EAE9BZ,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX;MACA,IAAIa,IAAI,EAAEG,KAAK,CAACC,YAAY,KAAKb,YAAY,CAACc,IAAI,EAAE;QAClDL,IAAI,EAAEM,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UACzB,MAAMC,MAAM,GAAGjB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CiB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;IACF,CAAC;EACH,CAAC,EAAE,CAACR,IAAI,CAAC,CAAC;EAEV,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACEd,KAAA,CAAAyB,aAAA,CAAClB,UAAU;IAACO,IAAI,EAAEA;EAAK,gBACrBd,KAAA,CAAAyB,aAAA,CAACtB,gBAAgB;IAACS,YAAY,EAAEA;EAAa,CAAE,CACrC,CAAC;AAEjB,CAAC","ignoreList":[]}
|