@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.
Files changed (124) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/android/gradle.properties +1 -1
  3. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +23 -29
  4. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -1
  5. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +187 -29
  6. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
  7. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js +1 -1
  8. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
  9. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamEnded.js +111 -0
  10. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamEnded.js.map +1 -0
  11. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +5 -6
  12. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
  13. package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js +32 -28
  14. package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -1
  15. package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js +36 -36
  16. package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -1
  17. package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js +21 -15
  18. package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -1
  19. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js +70 -4
  20. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
  21. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLobby.js +143 -0
  22. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLobby.js.map +1 -0
  23. package/dist/commonjs/icons/LivestreamControls.js +73 -0
  24. package/dist/commonjs/icons/LivestreamControls.js.map +1 -0
  25. package/dist/commonjs/icons/Maximize.js +52 -0
  26. package/dist/commonjs/icons/Maximize.js.map +1 -0
  27. package/dist/commonjs/icons/index.js +11 -0
  28. package/dist/commonjs/icons/index.js.map +1 -1
  29. package/dist/commonjs/index.js +12 -0
  30. package/dist/commonjs/index.js.map +1 -1
  31. package/dist/commonjs/providers/NoiseCancellation/NoiseCancellationProvider.js +75 -0
  32. package/dist/commonjs/providers/NoiseCancellation/NoiseCancellationProvider.js.map +1 -0
  33. package/dist/commonjs/providers/NoiseCancellation/index.js +17 -0
  34. package/dist/commonjs/providers/NoiseCancellation/index.js.map +1 -0
  35. package/dist/commonjs/providers/NoiseCancellation/lib.js +34 -0
  36. package/dist/commonjs/providers/NoiseCancellation/lib.js.map +1 -0
  37. package/dist/commonjs/version.js +1 -1
  38. package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +27 -33
  39. package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -1
  40. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +187 -30
  41. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -1
  42. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js +1 -1
  43. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -1
  44. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamEnded.js +104 -0
  45. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamEnded.js.map +1 -0
  46. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +5 -6
  47. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
  48. package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js +33 -29
  49. package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -1
  50. package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js +35 -35
  51. package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -1
  52. package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js +20 -14
  53. package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -1
  54. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js +73 -7
  55. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -1
  56. package/dist/module/components/Livestream/ViewerLivestream/ViewerLobby.js +136 -0
  57. package/dist/module/components/Livestream/ViewerLivestream/ViewerLobby.js.map +1 -0
  58. package/dist/module/icons/LivestreamControls.js +62 -0
  59. package/dist/module/icons/LivestreamControls.js.map +1 -0
  60. package/dist/module/icons/Maximize.js +43 -0
  61. package/dist/module/icons/Maximize.js.map +1 -0
  62. package/dist/module/icons/index.js +1 -0
  63. package/dist/module/icons/index.js.map +1 -1
  64. package/dist/module/index.js +1 -0
  65. package/dist/module/index.js.map +1 -1
  66. package/dist/module/providers/NoiseCancellation/NoiseCancellationProvider.js +67 -0
  67. package/dist/module/providers/NoiseCancellation/NoiseCancellationProvider.js.map +1 -0
  68. package/dist/module/providers/NoiseCancellation/index.js +2 -0
  69. package/dist/module/providers/NoiseCancellation/index.js.map +1 -0
  70. package/dist/module/providers/NoiseCancellation/lib.js +26 -0
  71. package/dist/module/providers/NoiseCancellation/lib.js.map +1 -0
  72. package/dist/module/version.js +1 -1
  73. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.d.ts.map +1 -1
  74. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts +7 -0
  75. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts.map +1 -1
  76. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamEnded.d.ts +3 -0
  77. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamEnded.d.ts.map +1 -0
  78. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts +13 -1
  79. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts.map +1 -1
  80. package/dist/typescript/components/Livestream/LivestreamTopView/DurationBadge.d.ts.map +1 -1
  81. package/dist/typescript/components/Livestream/LivestreamTopView/FollowerCount.d.ts.map +1 -1
  82. package/dist/typescript/components/Livestream/LivestreamTopView/LiveIndicator.d.ts.map +1 -1
  83. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts +9 -1
  84. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts.map +1 -1
  85. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLobby.d.ts +8 -0
  86. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLobby.d.ts.map +1 -0
  87. package/dist/typescript/icons/LivestreamControls.d.ts +12 -0
  88. package/dist/typescript/icons/LivestreamControls.d.ts.map +1 -0
  89. package/dist/typescript/icons/Maximize.d.ts +10 -0
  90. package/dist/typescript/icons/Maximize.d.ts.map +1 -0
  91. package/dist/typescript/icons/index.d.ts +1 -0
  92. package/dist/typescript/icons/index.d.ts.map +1 -1
  93. package/dist/typescript/index.d.ts +1 -0
  94. package/dist/typescript/index.d.ts.map +1 -1
  95. package/dist/typescript/providers/NoiseCancellation/NoiseCancellationProvider.d.ts +34 -0
  96. package/dist/typescript/providers/NoiseCancellation/NoiseCancellationProvider.d.ts.map +1 -0
  97. package/dist/typescript/providers/NoiseCancellation/index.d.ts +2 -0
  98. package/dist/typescript/providers/NoiseCancellation/index.d.ts.map +1 -0
  99. package/dist/typescript/providers/NoiseCancellation/lib.d.ts +8 -0
  100. package/dist/typescript/providers/NoiseCancellation/lib.d.ts.map +1 -0
  101. package/dist/typescript/version.d.ts +1 -1
  102. package/expo-config-plugin/dist/index.js +2 -0
  103. package/expo-config-plugin/dist/withAndroidPermissions.js +1 -0
  104. package/expo-config-plugin/dist/withAppDelegate.js +26 -7
  105. package/expo-config-plugin/dist/withMainApplication.js +24 -0
  106. package/package.json +10 -5
  107. package/src/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx +30 -48
  108. package/src/components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx +260 -43
  109. package/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx +1 -1
  110. package/src/components/Livestream/LivestreamPlayer/LivestreamEnded.tsx +130 -0
  111. package/src/components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx +15 -5
  112. package/src/components/Livestream/LivestreamTopView/DurationBadge.tsx +35 -38
  113. package/src/components/Livestream/LivestreamTopView/FollowerCount.tsx +40 -47
  114. package/src/components/Livestream/LivestreamTopView/LiveIndicator.tsx +22 -14
  115. package/src/components/Livestream/ViewerLivestream/ViewerLivestream.tsx +107 -10
  116. package/src/components/Livestream/ViewerLivestream/ViewerLobby.tsx +171 -0
  117. package/src/icons/LivestreamControls.tsx +51 -0
  118. package/src/icons/Maximize.tsx +48 -0
  119. package/src/icons/index.tsx +1 -0
  120. package/src/index.ts +1 -0
  121. package/src/providers/NoiseCancellation/NoiseCancellationProvider.tsx +147 -0
  122. package/src/providers/NoiseCancellation/index.ts +1 -0
  123. package/src/providers/NoiseCancellation/lib.ts +37 -0
  124. package/src/version.ts +1 -1
@@ -1,8 +1,8 @@
1
- import React, { useState } from 'react';
2
- import { ActivityIndicator, Pressable, StyleSheet, Text, View } from 'react-native';
1
+ import React, { useMemo, useState } from 'react';
2
+ import { ActivityIndicator, Pressable, StyleSheet, View } from 'react-native';
3
3
  import { useTheme } from '../../../contexts';
4
- import { LeaveStreamIcon } from '../../../icons';
5
- import { useCall, useI18n } from '@stream-io/video-react-bindings';
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: [styles.container, {
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
- height: iconSizes.xs,
55
- width: iconSizes.xs
56
- }, viewerLeaveStreamButton.icon]
57
- }, isAwaitingResponse ? /*#__PURE__*/React.createElement(ActivityIndicator, null) : /*#__PURE__*/React.createElement(LeaveStreamIcon, null)), /*#__PURE__*/React.createElement(Text, {
58
- style: [styles.text, typefaces.subtitleBold, {
59
- color: colors.textPrimary
60
- }, viewerLeaveStreamButton.text]
61
- }, isAwaitingResponse ? t('Loading...') : t('Leave Stream')));
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","Text","View","useTheme","LeaveStreamIcon","useCall","useI18n","getLogger","ViewerLeaveStreamButton","onLeaveStreamHandler","isAwaitingResponse","setIsAwaitingResponse","call","t","theme","colors","variants","iconSizes","typefaces","viewerLeaveStreamButton","onLeaveStreamButtonPress","leave","error","logger","createElement","style","styles","container","backgroundColor","buttonSecondary","onPress","icon","height","xs","width","text","subtitleBold","color","textPrimary","create","flexDirection","alignItems","padding","borderRadius","marginLeft","includeFontPadding"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SACEC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,IAAI,QACC,cAAc;AACrB,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,OAAO,EAAEC,OAAO,QAAQ,iCAAiC;AAClE,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,GAAGd,QAAQ,CAAC,KAAK,CAAC;EACnE,MAAMe,IAAI,GAAGP,OAAO,CAAC,CAAC;EACtB,MAAM;IAAEQ;EAAE,CAAC,GAAGP,OAAO,CAAC,CAAC;EACvB,MAAM;IACJQ,KAAK,EAAE;MACLC,MAAM;MACNC,QAAQ,EAAE;QAAEC;MAAU,CAAC;MACvBC,SAAS;MACTC;IACF;EACF,CAAC,GAAGhB,QAAQ,CAAC,CAAC;EAEd,MAAMiB,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,oBACE1B,KAAA,CAAA4B,aAAA,CAACzB,SAAS;IACR0B,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEb,MAAM,CAACc;IAAgB,CAAC,EAC3CV,uBAAuB,CAACQ,SAAS,CACjC;IACFG,OAAO,EAAEV;EAAyB,gBAElCxB,KAAA,CAAA4B,aAAA,CAACtB,IAAI;IACHuB,KAAK,EAAE,CACLC,MAAM,CAACK,IAAI,EACX;MAAEC,MAAM,EAAEf,SAAS,CAACgB,EAAE;MAAEC,KAAK,EAAEjB,SAAS,CAACgB;IAAG,CAAC,EAC7Cd,uBAAuB,CAACY,IAAI;EAC5B,GAEDrB,kBAAkB,gBAAGd,KAAA,CAAA4B,aAAA,CAAC1B,iBAAiB,MAAE,CAAC,gBAAGF,KAAA,CAAA4B,aAAA,CAACpB,eAAe,MAAE,CAC5D,CAAC,eACPR,KAAA,CAAA4B,aAAA,CAACvB,IAAI;IACHwB,KAAK,EAAE,CACLC,MAAM,CAACS,IAAI,EACXjB,SAAS,CAACkB,YAAY,EACtB;MAAEC,KAAK,EAAEtB,MAAM,CAACuB;IAAY,CAAC,EAC7BnB,uBAAuB,CAACgB,IAAI;EAC5B,GAEDzB,kBAAkB,GAAGG,CAAC,CAAC,YAAY,CAAC,GAAGA,CAAC,CAAC,cAAc,CACpD,CACG,CAAC;AAEhB,CAAC;AAED,MAAMa,MAAM,GAAG1B,UAAU,CAACuC,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,CAAC;IACVC,YAAY,EAAE;EAChB,CAAC;EACDZ,IAAI,EAAE,CAAC,CAAC;EACRI,IAAI,EAAE;IACJS,UAAU,EAAE,CAAC;IACbC,kBAAkB,EAAE;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
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
- return /*#__PURE__*/React.createElement(View, {
26
- style: [styles.container, {
27
- backgroundColor: colors.sheetOverlay
28
- }, viewerLivestreamControls.container],
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
- }, ViewerLeaveStreamButton && /*#__PURE__*/React.createElement(ViewerLeaveStreamButton, {
33
- onLeaveStreamHandler: onLeaveStreamHandler
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
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","ViewerLeaveStreamButton","DefaultViewerLeaveStreamButton","useTheme","Z_INDEX","ViewerLivestreamControls","onLeaveStreamHandler","onLayout","theme","colors","viewerLivestreamControls","createElement","style","styles","container","backgroundColor","sheetOverlay","leftElement","rightElement","create","position","bottom","flexDirection","alignItems","paddingVertical","paddingHorizontal","zIndex","IN_FRONT","content","flex"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAE/D,SACEC,uBAAuB,IAAIC,8BAA8B,QAEpD,2BAA2B;AAClC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;;AASA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EACvCJ,uBAAuB,GAAGC,8BAA8B;EACxDI,oBAAoB;EACpBC;AAC6B,CAAC,KAAK;EACnC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAyB;EAC5C,CAAC,GAAGP,QAAQ,CAAC,CAAC;EAEd,oBACEL,KAAA,CAAAa,aAAA,CAACX,IAAI;IACHY,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEN,MAAM,CAACO;IAAa,CAAC,EACxCN,wBAAwB,CAACI,SAAS,CAClC;IACFP,QAAQ,EAAEA;EAAS,gBAEnBT,KAAA,CAAAa,aAAA,CAACX,IAAI;IAACY,KAAK,EAAE,CAACC,MAAM,CAACI,WAAW,EAAEP,wBAAwB,CAACO,WAAW;EAAE,GACrEhB,uBAAuB,iBACtBH,KAAA,CAAAa,aAAA,CAACV,uBAAuB;IACtBK,oBAAoB,EAAEA;EAAqB,CAC5C,CAEC,CAAC,eACPR,KAAA,CAAAa,aAAA,CAACX,IAAI;IACHY,KAAK,EAAE,CAACC,MAAM,CAACK,YAAY,EAAER,wBAAwB,CAACQ,YAAY;EAAE,CACrE,CACG,CAAC;AAEX,CAAC;AAED,MAAML,MAAM,GAAGd,UAAU,CAACoB,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,MAAM,EAAEtB,OAAO,CAACuB;EAClB,CAAC;EACDC,OAAO,EAAE,CAAC,CAAC;EACXX,WAAW,EAAE;IACXY,IAAI,EAAE,CAAC;IACPN,UAAU,EAAE;EACd,CAAC;EACDL,YAAY,EAAE;IACZW,IAAI,EAAE,CAAC;IACPN,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
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.sheetTertiary
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","sheetTertiary","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":[]}
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":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC/D,SAASC,cAAc,QAAmB,yBAAyB;AACnE,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,iCAAiC;AAC5E,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/D,SAASC,4BAA4B,QAAQ,6CAA6C;AAC1F,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SACEC,aAAa,IAAIC,oBAAoB,QAEhC,mBAAmB;;AAG1B;AACA;AACA;;AAiBA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,SAAS;EACTH,aAAa,GAAGC,oBAAoB;EACpCG;AACqB,CAAC,KAAK;EAC3B,MAAM;IAAEC,eAAe;IAAEC;EAAyB,CAAC,GAAGX,iBAAiB,CAAC,CAAC;EACzE,MAAMY,IAAI,GAAGb,OAAO,CAAC,CAAC;EACtB,MAAM;IACJc,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAiB;EACpC,CAAC,GAAGX,QAAQ,CAAC,CAAC;EACd,MAAMY,YAAY,GAAGN,eAAe,CAAC,CAAC;EACtC,MAAM,CAACO,cAAc,CAAC,GAAGD,YAAY;EACrC,MAAME,qBAAqB,GAAGP,wBAAwB,CAAC,CAAC;EACxD,MAAMQ,SAAS,GAAGD,qBAAqB,GACnCF,YAAY,CAACI,IAAI,CAACtB,cAAc,CAAC,GACjCuB,SAAS;EAEblB,4BAA4B,CAACS,IAAI,CAAC;EAElC,MAAM,CAACU,SAAS,EAAEC,YAAY,CAAC,GAC7B1B,QAAQ,CAEN,CAAC;;EAEL;EACA,MAAM2B,gBAAgB,GAAGP,cAAc,EAAEQ,kBAAkB,GACvDJ,SAAS,GACTC,SAAS;EAEb,MAAMI,kBAAkB,GAAG/B,WAAW,CACnCgC,CAAuC,IAAK;IAC3C,IAAIA,CAAC,EAAE;MACL,MAAMC,WAAW,GAAGD,CAAC,CAACE,KAAK,GAAGF,CAAC,CAACG,MAAM;MACtCP,YAAY,CAACK,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD;EACF,CAAC,EACD,EACF,CAAC;EAED,MAAMG,eAA0B,GAAG;IACjCC,aAAa,EAAExB,SAAS,GAAG,KAAK,GAAG;EACrC,CAAC;EAED,oBACEd,KAAA,CAAAuC,aAAA,CAAC/B,IAAI;IACHgC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBL,eAAe,EACf;MAAEM,eAAe,EAAEvB,MAAM,CAACwB;IAAa,CAAC,EACxCvB,gBAAgB,CAACqB,SAAS;EAC1B,gBAEF1C,KAAA,CAAAuC,aAAA,CAACM,6CAA6C;IAC5Cb,kBAAkB,EAAEA;EAAmB,CACxC,CAAC,EACDrB,aAAa,IACZa,qBAAqB,IACrBC,SAAS,KACRA,SAAS,CAACM,kBAAkB,IAAIhB,kBAAkB,gBACjDf,KAAA,CAAAuC,aAAA,CAACxB,kBAAkB,MAAE,CAAC,gBAEtBf,KAAA,CAAAuC,aAAA,CAAC5B,aAAa;IAACmC,SAAS,EAAC,kBAAkB;IAACC,WAAW,EAAEtB;EAAU,CAAE,CACtE,CAAC,EACHd,aAAa,IAAI,CAACa,qBAAqB,IAAID,cAAc,iBACxDvB,KAAA,CAAAuC,aAAA,CAAC5B,aAAa;IACZoC,WAAW,EAAExB,cAAe;IAC5BK,SAAS,EAAEE,gBAAiB;IAC5BgB,SAAS,EAAC;EAAY,CACvB,CAEC,CAAC;AAEX,CAAC;AAED,MAAMD,6CAA6C,GAAGA,CAAC;EACrDb;AAGF,CAAC,KAAK;EACJ,MAAM,CAACgB,SAAS,EAAEC,YAAY,CAAC,GAAG9C,QAAQ,CAA2B,CAAC;EACtE,MAAM;IAAE+C;EAAmB,CAAC,GAAG5C,iBAAiB,CAAC,CAAC;EAClD,MAAM6C,WAAW,GAAGD,kBAAkB,CAAC,CAAC;EACxC,MAAME,kBAAkB,GAAGD,WAAW,EAAEE,eAAe,EAAED,kBAAkB;EAC3E,MAAME,iBAAiB,GAAGH,WAAW,EAAEE,eAAe,EAAEC,iBAAiB;EAEzEpD,SAAS,CAAC,MAAM;IACd,IAAIkD,kBAAkB,IAAIE,iBAAiB,EAAE;MAC3CL,YAAY,CAAC;QAAEb,MAAM,EAAEgB,kBAAkB;QAAEjB,KAAK,EAAEmB;MAAkB,CAAC,CAAC;IACxE;EACF,CAAC,EAAE,CAACF,kBAAkB,EAAEE,iBAAiB,CAAC,CAAC;EAE3CpD,SAAS,CAAC,MAAM;IACd8B,kBAAkB,CAACgB,SAAS,CAAC;EAC/B,CAAC,EAAE,CAACA,SAAS,EAAEhB,kBAAkB,CAAC,CAAC;EAEnC,OAAO,IAAI;AACb,CAAC;AAED,MAAMS,MAAM,GAAGlC,UAAU,CAACgD,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE;EACR;AACF,CAAC,CAAC","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, null));
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","join","catch","e","logger","state","callingState","LEFT","leave","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;AAkBtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,QAAQ;EACRC,MAAM;EACNR,gBAAgB,GAAGC;AACE,CAAC,KAAK;EAC3B,MAAMQ,MAAM,GAAGJ,oBAAoB,CAAC,CAAC;EAErC,MAAM,CAACK,IAAI,EAAEC,OAAO,CAAC,GAAGZ,QAAQ,CAAO,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAI,CAACW,MAAM,EAAE;MACX;IACF;IACA,MAAMG,MAAM,GAAGH,MAAM,CAACC,IAAI,CAACH,QAAQ,EAAEC,MAAM,CAAC;IAC5CG,OAAO,CAACC,MAAM,CAAC;IACfA,MAAM,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;MACzB,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;MAC9Ca,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,OAAO,MAAM;MACX,IAAIH,MAAM,CAACK,KAAK,CAACC,YAAY,KAAKhB,YAAY,CAACiB,IAAI,EAAE;QACnDP,MAAM,CAACQ,KAAK,CAAC,CAAC,CAACN,KAAK,CAAEC,CAAC,IAAK;UAC1B,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9Ca,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;MACAJ,OAAO,CAACU,SAAS,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACb,MAAM,EAAED,QAAQ,EAAEE,MAAM,CAAC,CAAC;EAE9BX,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX;MACA,IAAIY,IAAI,EAAEO,KAAK,CAACC,YAAY,KAAKhB,YAAY,CAACiB,IAAI,EAAE;QAClDT,IAAI,EAAEU,KAAK,CAAC,CAAC,CAACN,KAAK,CAAEC,CAAC,IAAK;UACzB,MAAMC,MAAM,GAAGb,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9Ca,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;IACF,CAAC;EACH,CAAC,EAAE,CAACL,IAAI,CAAC,CAAC;EAEV,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACEb,KAAA,CAAAyB,aAAA,CAAClB,UAAU;IAACM,IAAI,EAAEA;EAAK,gBACrBb,KAAA,CAAAyB,aAAA,CAACtB,gBAAgB,MAAE,CACT,CAAC;AAEjB,CAAC","ignoreList":[]}
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":[]}