@zezosoft/zezo-ott-react-native-ui-kit 1.1.0 → 1.1.1

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 (178) hide show
  1. package/lib/module/components/BottomSheet/BottomSheet.js +152 -0
  2. package/lib/module/components/BottomSheet/BottomSheet.js.map +1 -0
  3. package/lib/module/components/BottomSheet/index.js +4 -0
  4. package/lib/module/components/BottomSheet/index.js.map +1 -0
  5. package/lib/module/components/Button/BackBtn.js +28 -2
  6. package/lib/module/components/Button/BackBtn.js.map +1 -1
  7. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js +134 -0
  8. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js.map +1 -0
  9. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +154 -0
  10. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -0
  11. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js +173 -0
  12. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js.map +1 -0
  13. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js +77 -0
  14. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js.map +1 -0
  15. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js +132 -0
  16. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js.map +1 -0
  17. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js +165 -0
  18. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js.map +1 -0
  19. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +106 -0
  20. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -0
  21. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js +124 -0
  22. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js.map +1 -0
  23. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +102 -64
  24. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -1
  25. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +241 -232
  26. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
  27. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js +153 -0
  28. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js.map +1 -0
  29. package/lib/module/components/Reels/ReelsSeries/{Model → components}/Episodes.js +46 -36
  30. package/lib/module/components/Reels/ReelsSeries/components/Episodes.js.map +1 -0
  31. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js +35 -0
  32. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js.map +1 -0
  33. package/lib/module/components/Reels/ReelsSeries/components/Like.js +37 -0
  34. package/lib/module/components/Reels/ReelsSeries/components/Like.js.map +1 -0
  35. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js +55 -0
  36. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js.map +1 -0
  37. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js +268 -0
  38. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js.map +1 -0
  39. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +143 -0
  40. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -0
  41. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js +56 -0
  42. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js.map +1 -0
  43. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js +5 -0
  44. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js.map +1 -0
  45. package/lib/module/components/Reels/utils/Controls/gestureUtils.js +30 -0
  46. package/lib/module/components/Reels/utils/Controls/gestureUtils.js.map +1 -0
  47. package/lib/module/components/Reels/utils/Controls/index.js +7 -0
  48. package/lib/module/components/Reels/utils/Controls/index.js.map +1 -0
  49. package/lib/module/components/Reels/utils/Controls/overlayUtils.js +28 -0
  50. package/lib/module/components/Reels/utils/Controls/overlayUtils.js.map +1 -0
  51. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js +27 -0
  52. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js.map +1 -0
  53. package/lib/module/components/Reels/utils/Controls/videoRef.js +5 -0
  54. package/lib/module/components/Reels/utils/Controls/videoRef.js.map +1 -0
  55. package/lib/module/components/Reels/utils/index.js +4 -0
  56. package/lib/module/components/Reels/utils/index.js.map +1 -0
  57. package/lib/module/components/Reels/utils/timeoutUtils.js +24 -0
  58. package/lib/module/components/Reels/utils/timeoutUtils.js.map +1 -0
  59. package/lib/module/components/index.js +1 -0
  60. package/lib/module/components/index.js.map +1 -1
  61. package/lib/module/theme/ThemeProvider.js +7 -4
  62. package/lib/module/theme/ThemeProvider.js.map +1 -1
  63. package/lib/module/theme/themes.js +3 -3
  64. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +18 -0
  65. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -0
  66. package/lib/typescript/src/components/BottomSheet/index.d.ts +3 -0
  67. package/lib/typescript/src/components/BottomSheet/index.d.ts.map +1 -0
  68. package/lib/typescript/src/components/Button/BackBtn.d.ts +3 -1
  69. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  70. package/lib/typescript/src/components/Button/index.d.ts +2 -0
  71. package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
  72. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts +14 -0
  73. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts.map +1 -0
  74. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +60 -0
  75. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -0
  76. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts +14 -0
  77. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts.map +1 -0
  78. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts +14 -0
  79. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts.map +1 -0
  80. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts +12 -0
  81. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts.map +1 -0
  82. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts +16 -0
  83. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts.map +1 -0
  84. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +15 -0
  85. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -0
  86. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts +14 -0
  87. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts.map +1 -0
  88. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +8 -2
  89. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -1
  90. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +8 -2
  91. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
  92. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts +13 -0
  93. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts.map +1 -0
  94. package/lib/typescript/src/components/Reels/ReelsSeries/{Model → components}/Episodes.d.ts +3 -2
  95. package/lib/typescript/src/components/Reels/ReelsSeries/components/Episodes.d.ts.map +1 -0
  96. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts +7 -0
  97. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts.map +1 -0
  98. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts +7 -0
  99. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts.map +1 -0
  100. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts +12 -0
  101. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts.map +1 -0
  102. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts +12 -0
  103. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts.map +1 -0
  104. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +11 -0
  105. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -0
  106. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts +10 -0
  107. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts.map +1 -0
  108. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts +3 -0
  109. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts.map +1 -0
  110. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +13 -0
  111. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
  112. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts +10 -0
  113. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts.map +1 -0
  114. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts +5 -0
  115. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts.map +1 -0
  116. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts +12 -0
  117. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts.map +1 -0
  118. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts +24 -0
  119. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts.map +1 -0
  120. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts +3 -0
  121. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts.map +1 -0
  122. package/lib/typescript/src/components/Reels/utils/index.d.ts +2 -0
  123. package/lib/typescript/src/components/Reels/utils/index.d.ts.map +1 -0
  124. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts +14 -0
  125. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts.map +1 -0
  126. package/lib/typescript/src/components/index.d.ts +1 -0
  127. package/lib/typescript/src/components/index.d.ts.map +1 -1
  128. package/package.json +1 -1
  129. package/src/components/BottomSheet/BottomSheet.tsx +195 -0
  130. package/src/components/BottomSheet/index.ts +2 -0
  131. package/src/components/Button/BackBtn.tsx +33 -0
  132. package/src/components/Reels/ReelsSeries/MediaControls/BottomControls.tsx +156 -0
  133. package/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.tsx +234 -0
  134. package/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.tsx +196 -0
  135. package/src/components/Reels/ReelsSeries/MediaControls/RightControls.tsx +92 -0
  136. package/src/components/Reels/ReelsSeries/MediaControls/TopControls.tsx +163 -0
  137. package/src/components/Reels/ReelsSeries/Model/DetailsModal.tsx +210 -0
  138. package/src/components/Reels/ReelsSeries/Model/SettingModal.tsx +143 -0
  139. package/src/components/Reels/ReelsSeries/Model/UnlockModal.tsx +154 -0
  140. package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +142 -74
  141. package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +349 -250
  142. package/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.tsx +184 -0
  143. package/src/components/Reels/ReelsSeries/{Model → components}/Episodes.tsx +54 -33
  144. package/src/components/Reels/ReelsSeries/components/GradientOverlay.tsx +41 -0
  145. package/src/components/Reels/ReelsSeries/components/Like.tsx +40 -0
  146. package/src/components/Reels/ReelsSeries/components/RotatingLoader.tsx +79 -0
  147. package/src/components/Reels/ReelsSeries/components/Synopsis.tsx +332 -0
  148. package/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx +190 -0
  149. package/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.tsx +80 -0
  150. package/src/components/Reels/ReelsSeries/components/VideoControls/index.ts +2 -0
  151. package/src/components/Reels/ReelsSeries/types.ts +13 -2
  152. package/src/components/Reels/utils/Controls/gestureUtils.ts +42 -0
  153. package/src/components/Reels/utils/Controls/index.ts +4 -0
  154. package/src/components/Reels/utils/Controls/overlayUtils.ts +35 -0
  155. package/src/components/Reels/utils/Controls/videoControlsConstants.ts +25 -0
  156. package/src/components/Reels/utils/Controls/videoRef.ts +4 -0
  157. package/src/components/Reels/utils/index.ts +1 -0
  158. package/src/components/Reels/utils/timeoutUtils.ts +29 -0
  159. package/src/components/index.ts +1 -0
  160. package/src/theme/ThemeProvider.tsx +8 -2
  161. package/src/theme/themes.ts +3 -3
  162. package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js.map +0 -1
  163. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +0 -212
  164. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +0 -1
  165. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js +0 -182
  166. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js.map +0 -1
  167. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js +0 -203
  168. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js.map +0 -1
  169. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts.map +0 -1
  170. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts +0 -9
  171. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +0 -1
  172. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts +0 -13
  173. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts.map +0 -1
  174. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts +0 -18
  175. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts.map +0 -1
  176. package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +0 -242
  177. package/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx +0 -209
  178. package/src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx +0 -185
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ import React, { useState } from 'react';
4
+ import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
5
+ import { BottomSheet } from "../../../../components/BottomSheet/index.js";
6
+ import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';
7
+ import { moderateScale, verticalScale } from 'react-native-size-matters';
8
+ import { RFValue } from 'react-native-responsive-fontsize';
9
+ import { QualityControl, SpeedControl } from "../components/VideoControls/index.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const SettingModal = ({
12
+ theme,
13
+ speed,
14
+ quality,
15
+ videoUrl,
16
+ onSpeedChange,
17
+ onQualityChange,
18
+ isVisible,
19
+ onClose
20
+ }) => {
21
+ const [activeTab, setActiveTab] = useState('speed');
22
+ const handleSelect = (callback, value) => {
23
+ callback(value);
24
+ setTimeout(onClose, 200);
25
+ };
26
+ return /*#__PURE__*/_jsxs(BottomSheet, {
27
+ theme: theme,
28
+ title: "Video Settings",
29
+ height: "50%",
30
+ visible: isVisible,
31
+ onClose: onClose,
32
+ handleIndicatorStyle: {
33
+ backgroundColor: theme.colors.button
34
+ },
35
+ children: [/*#__PURE__*/_jsx(View, {
36
+ style: styles.tabContainer,
37
+ children: ['speed', 'quality'].map(tab => {
38
+ const isActive = activeTab === tab;
39
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
40
+ style: [styles.tab, isActive && {
41
+ borderBottomWidth: 2,
42
+ borderBottomColor: theme.colors.textPrimary
43
+ }],
44
+ onPress: () => setActiveTab(tab),
45
+ children: /*#__PURE__*/_jsx(Text, {
46
+ style: [styles.tabText, {
47
+ color: theme.colors.textPrimary,
48
+ opacity: isActive ? 1 : 0.5
49
+ }],
50
+ children: tab === 'speed' ? 'Playback' : 'Quality'
51
+ })
52
+ }, tab);
53
+ })
54
+ }), /*#__PURE__*/_jsxs(View, {
55
+ style: styles.contentContainer,
56
+ children: [activeTab === 'speed' && /*#__PURE__*/_jsx(Animated.View, {
57
+ entering: FadeIn.duration(150),
58
+ exiting: FadeOut.duration(150),
59
+ style: styles.animatedContent,
60
+ children: /*#__PURE__*/_jsx(SpeedControl, {
61
+ activeSpeed: speed,
62
+ theme: theme,
63
+ onSpeedChange: value => handleSelect(onSpeedChange, value)
64
+ })
65
+ }), activeTab === 'quality' && /*#__PURE__*/_jsx(Animated.View, {
66
+ entering: FadeIn.duration(150),
67
+ exiting: FadeOut.duration(150),
68
+ style: styles.animatedContent,
69
+ children: /*#__PURE__*/_jsx(QualityControl, {
70
+ activeQuality: quality,
71
+ videoUrl: videoUrl,
72
+ theme: theme,
73
+ onQualityChange: value => handleSelect(onQualityChange, value)
74
+ })
75
+ })]
76
+ })]
77
+ });
78
+ };
79
+ export default SettingModal;
80
+ const styles = StyleSheet.create({
81
+ tabContainer: {
82
+ flexDirection: 'row',
83
+ paddingHorizontal: moderateScale(16),
84
+ marginTop: verticalScale(10)
85
+ },
86
+ tab: {
87
+ flex: 1,
88
+ alignItems: 'center',
89
+ paddingBottom: 8,
90
+ marginHorizontal: moderateScale(12)
91
+ },
92
+ tabText: {
93
+ fontSize: RFValue(14),
94
+ fontWeight: '700'
95
+ },
96
+ contentContainer: {
97
+ flex: 1,
98
+ marginTop: verticalScale(20),
99
+ paddingHorizontal: moderateScale(16)
100
+ },
101
+ animatedContent: {
102
+ width: '100%',
103
+ minHeight: verticalScale(200)
104
+ }
105
+ });
106
+ //# sourceMappingURL=SettingModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","View","Text","TouchableOpacity","StyleSheet","BottomSheet","Animated","FadeIn","FadeOut","moderateScale","verticalScale","RFValue","QualityControl","SpeedControl","jsx","_jsx","jsxs","_jsxs","SettingModal","theme","speed","quality","videoUrl","onSpeedChange","onQualityChange","isVisible","onClose","activeTab","setActiveTab","handleSelect","callback","value","setTimeout","title","height","visible","handleIndicatorStyle","backgroundColor","colors","button","children","style","styles","tabContainer","map","tab","isActive","borderBottomWidth","borderBottomColor","textPrimary","onPress","tabText","color","opacity","contentContainer","entering","duration","exiting","animatedContent","activeSpeed","activeQuality","create","flexDirection","paddingHorizontal","marginTop","flex","alignItems","paddingBottom","marginHorizontal","fontSize","fontWeight","width","minHeight"],"sourceRoot":"../../../../../../src","sources":["components/Reels/ReelsSeries/Model/SettingModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { StyleSheet, View, Image } from 'react-native';
5
+ import LinearGradient from 'react-native-linear-gradient';
6
+ import { Button } from "../../../Button/index.js";
7
+ import { Text } from "../../../Text/index.js";
8
+ import { moderateScale, verticalScale } from 'react-native-size-matters';
9
+ import { RFValue } from 'react-native-responsive-fontsize';
10
+ import { BottomSheet } from "../../../BottomSheet/index.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ const UnLockModal = ({
13
+ episode,
14
+ data,
15
+ theme,
16
+ isVisible,
17
+ onClose,
18
+ onUnlockPress
19
+ }) => {
20
+ return /*#__PURE__*/_jsx(BottomSheet, {
21
+ theme: theme,
22
+ visible: isVisible,
23
+ onClose: onClose,
24
+ height: "55%" // prevent overflow
25
+ ,
26
+ showCloseButton: true,
27
+ scrollable: false,
28
+ children: /*#__PURE__*/_jsx(LinearGradient, {
29
+ colors: [theme.colors.background, theme.colors.background],
30
+ style: styles.gradientContainer,
31
+ children: /*#__PURE__*/_jsxs(View, {
32
+ style: styles.contentWrapper,
33
+ children: [data.thumbnail ? /*#__PURE__*/_jsx(Image, {
34
+ source: {
35
+ uri: data.thumbnail
36
+ },
37
+ style: styles.thumbnail,
38
+ resizeMode: "cover"
39
+ }) : null, /*#__PURE__*/_jsx(Text, {
40
+ numberOfLines: 2,
41
+ ellipsizeMode: "tail",
42
+ style: [styles.title, {
43
+ color: theme.colors.textPrimary
44
+ }],
45
+ children: data.title
46
+ }), /*#__PURE__*/_jsx(Text, {
47
+ numberOfLines: 3,
48
+ ellipsizeMode: "tail",
49
+ style: [styles.description, {
50
+ color: theme.colors.textSecondary
51
+ }],
52
+ children: data.description
53
+ }), /*#__PURE__*/_jsx(Button.Primary, {
54
+ theme: {
55
+ dark: theme.colors,
56
+ light: theme.colors
57
+ },
58
+ title: "Unlock Now",
59
+ onPress: () => onUnlockPress?.(episode),
60
+ containerStyle: styles.unlockButton
61
+ }), /*#__PURE__*/_jsx(Text, {
62
+ numberOfLines: 2,
63
+ ellipsizeMode: "tail",
64
+ style: [styles.smallNote, {
65
+ color: theme.colors.textSecondary
66
+ }],
67
+ children: "Unlocking gives you full access to this and all future episodes."
68
+ })]
69
+ })
70
+ })
71
+ }, 'UnlockModal');
72
+ };
73
+ export default UnLockModal;
74
+ const styles = StyleSheet.create({
75
+ gradientContainer: {
76
+ flex: 1,
77
+ paddingTop: verticalScale(10),
78
+ marginHorizontal: moderateScale(15)
79
+ },
80
+ contentWrapper: {
81
+ flex: 1,
82
+ alignItems: 'center',
83
+ justifyContent: 'flex-start',
84
+ paddingTop: verticalScale(8),
85
+ paddingHorizontal: moderateScale(8)
86
+ },
87
+ thumbnail: {
88
+ width: moderateScale(110),
89
+ height: moderateScale(150),
90
+ borderRadius: moderateScale(10),
91
+ marginBottom: verticalScale(10),
92
+ flexShrink: 0 // Prevents image from shrinking
93
+ },
94
+ title: {
95
+ fontSize: RFValue(17),
96
+ fontWeight: '700',
97
+ textAlign: 'center',
98
+ marginBottom: verticalScale(5),
99
+ paddingHorizontal: moderateScale(10),
100
+ width: '95%',
101
+ flexShrink: 1 // prevents overflow
102
+ },
103
+ description: {
104
+ fontSize: RFValue(12),
105
+ textAlign: 'center',
106
+ marginBottom: verticalScale(15),
107
+ paddingHorizontal: moderateScale(20),
108
+ lineHeight: RFValue(16),
109
+ width: '95%',
110
+ flexShrink: 1 // prevents layout overflow
111
+ },
112
+ unlockButton: {
113
+ width: '95%',
114
+ marginBottom: verticalScale(10)
115
+ },
116
+ smallNote: {
117
+ fontSize: RFValue(10),
118
+ opacity: 0.7,
119
+ textAlign: 'center',
120
+ width: '95%',
121
+ flexShrink: 1 // ensures it stays inside modal
122
+ }
123
+ });
124
+ //# sourceMappingURL=UnlockModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","Image","LinearGradient","Button","Text","moderateScale","verticalScale","RFValue","BottomSheet","jsx","_jsx","jsxs","_jsxs","UnLockModal","episode","data","theme","isVisible","onClose","onUnlockPress","visible","height","showCloseButton","scrollable","children","colors","background","style","styles","gradientContainer","contentWrapper","thumbnail","source","uri","resizeMode","numberOfLines","ellipsizeMode","title","color","textPrimary","description","textSecondary","Primary","dark","light","onPress","containerStyle","unlockButton","smallNote","create","flex","paddingTop","marginHorizontal","alignItems","justifyContent","paddingHorizontal","width","borderRadius","marginBottom","flexShrink","fontSize","fontWeight","textAlign","lineHeight","opacity"],"sourceRoot":"../../../../../../src","sources":["components/Reels/ReelsSeries/Model/UnlockModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  import React, { useState, useCallback, useRef, useMemo } from 'react';
4
- import { FlatList, Dimensions, StyleSheet, View, TouchableOpacity } from 'react-native';
4
+ import { FlatList, Dimensions, StyleSheet, Platform } from 'react-native';
5
5
  import { debounce } from 'lodash';
6
6
  import ReelsSeriesItem from "./ReelsSeriesItem.js";
7
7
  import { verticalScale } from 'react-native-size-matters';
8
- import { Search } from 'lucide-react-native';
9
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
9
+ import { useInternalTheme } from "../../../theme/hook/index.js";
10
+ import { View } from "../../View/index.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
10
12
  const {
11
13
  height
12
14
  } = Dimensions.get('window');
13
- const TAB_BAR_HEIGHT = verticalScale(65);
14
- const SCREEN_HEIGHT = height - TAB_BAR_HEIGHT;
15
+ const PRELOAD_RANGE = 3;
16
+ const VIEWABILITY_THRESHOLD = 80;
17
+ const DEBOUNCE_DELAY = 100;
15
18
  export const ReelsSeries = ({
16
19
  data,
17
20
  autoScroll,
@@ -20,102 +23,137 @@ export const ReelsSeries = ({
20
23
  onEpisodesPress,
21
24
  onSharePress,
22
25
  onSearchPress,
23
- isFocused = true
26
+ onBackPress,
27
+ isFocused = true,
28
+ tabBarHeight,
29
+ isFullScreen = false,
30
+ theme: overrideTheme,
31
+ onEpisodeUnlockPress
24
32
  }) => {
33
+ const {
34
+ theme
35
+ } = useInternalTheme(overrideTheme);
36
+ const insets = useSafeAreaInsets();
25
37
  const [currentVisibleIndex, setCurrentVisibleIndex] = useState(0);
26
38
  const listRef = useRef(null);
39
+
40
+ // Computed values
41
+ const calculatedTabBarHeight = useMemo(() => tabBarHeight ?? insets.bottom + verticalScale(Platform.OS === 'android' ? 45 : 30), [tabBarHeight, insets.bottom]);
42
+ const SCREEN_HEIGHT = useMemo(() => isFullScreen ? height - insets.bottom : height - calculatedTabBarHeight, [isFullScreen, insets.bottom, calculatedTabBarHeight]);
43
+ const backgroundColor = useMemo(() => isFullScreen ? theme.colors.black : theme.colors.background, [isFullScreen, theme.colors.black, theme.colors.background]);
44
+
45
+ // Flatten all episodes from all series items and track which series they belong to
46
+ const flattenedEpisodes = useMemo(() => {
47
+ const episodes = [];
48
+ data.forEach((seriesItem, seriesIndex) => {
49
+ seriesItem.episodes?.forEach(episode => {
50
+ episodes.push({
51
+ ...episode,
52
+ seriesIndex
53
+ });
54
+ });
55
+ });
56
+ return episodes;
57
+ }, [data]);
27
58
  const keyExtractor = useCallback(item => item.episodeId.toString(), []);
28
- const hendlePlayEpisode = useCallback(index => {
29
- if (index < 0 || index >= (data.episodes?.length || 0)) return;
59
+ const handlePlayEpisode = useCallback(episode => {
60
+ const index = flattenedEpisodes.findIndex(ep => ep.episodeId === episode.episodeId);
61
+ if (index < 0 || index >= flattenedEpisodes.length) return;
30
62
  listRef.current?.scrollToIndex({
31
63
  index,
32
64
  animated: true
33
65
  });
34
66
  setCurrentVisibleIndex(index);
35
- }, [data.episodes]);
67
+ }, [flattenedEpisodes]);
36
68
  const renderReelList = useCallback(({
37
69
  item,
38
70
  index
39
71
  }) => {
72
+ const seriesData = data[item.seriesIndex];
73
+ if (!seriesData) return null;
74
+
75
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
76
+ const {
77
+ seriesIndex,
78
+ ...episode
79
+ } = item;
80
+ const isVisible = index === currentVisibleIndex && isFocused;
81
+ const preload = Math.abs(index - currentVisibleIndex) <= PRELOAD_RANGE;
40
82
  return /*#__PURE__*/_jsx(ReelsSeriesItem, {
41
- reel: item,
42
- data: data,
83
+ reel: episode,
84
+ data: seriesData,
43
85
  videoHeight: SCREEN_HEIGHT,
44
86
  onLikePress: onLikePress,
45
87
  onEpisodesPress: () => onEpisodesPress?.(item.episodeId),
46
88
  onSharePress: () => onSharePress?.(item.episodeId),
47
- isVisible: index === currentVisibleIndex && isFocused,
89
+ isVisible: isVisible,
48
90
  activeEpisodeIndex: currentVisibleIndex,
49
- preload: Math.abs(currentVisibleIndex + 3) >= index,
50
- onEpisodeSelect: hendlePlayEpisode,
51
- autoScroll: autoScroll
52
- }, item.episodeId);
53
- }, [data, onLikePress, currentVisibleIndex, isFocused, hendlePlayEpisode, autoScroll, onEpisodesPress, onSharePress]);
54
- const memoizedRenderReelList = useMemo(() => renderReelList, [renderReelList]);
91
+ preload: preload,
92
+ onEpisodeSelect: handlePlayEpisode,
93
+ autoScroll: autoScroll,
94
+ theme: theme,
95
+ onBackPress: onBackPress,
96
+ onSearchPress: onSearchPress,
97
+ onEpisodeUnlockPress: onEpisodeUnlockPress
98
+ });
99
+ }, [data, currentVisibleIndex, isFocused, SCREEN_HEIGHT, onLikePress, handlePlayEpisode, autoScroll, theme, onBackPress, onSearchPress, onEpisodeUnlockPress, onEpisodesPress, onSharePress]);
100
+
101
+ // Viewability configuration
55
102
  const viewabilityConfig = useRef({
56
- itemVisiblePercentThreshold: 80
103
+ itemVisiblePercentThreshold: VIEWABILITY_THRESHOLD
57
104
  }).current;
58
105
  const onViewableItemsChanged = useRef(debounce(({
59
106
  viewableItems
60
107
  }) => {
61
- if (viewableItems.length > 0) {
62
- setCurrentVisibleIndex(viewableItems[0]?.index || 0);
108
+ const visibleIndex = viewableItems[0]?.index;
109
+ if (visibleIndex !== undefined && visibleIndex !== null && visibleIndex >= 0) {
110
+ setCurrentVisibleIndex(visibleIndex);
63
111
  }
64
- }, 100)).current;
112
+ }, DEBOUNCE_DELAY)).current;
65
113
  const getItemLayout = useCallback((_, index) => ({
66
114
  length: SCREEN_HEIGHT,
67
115
  offset: SCREEN_HEIGHT * index,
68
116
  index
69
- }), []);
70
- return /*#__PURE__*/_jsxs(View, {
71
- style: [styles.container, {
72
- backgroundColor: '#000'
73
- }],
74
- children: [onSearchPress && /*#__PURE__*/_jsx(TouchableOpacity, {
75
- style: [styles.fixedSearch, {
76
- top: verticalScale(40),
77
- right: 16
117
+ }), [SCREEN_HEIGHT]);
118
+ return /*#__PURE__*/_jsx(View, {
119
+ style: styles.mainContainer,
120
+ backgroundColor: backgroundColor,
121
+ children: /*#__PURE__*/_jsx(View, {
122
+ style: [styles.container, {
123
+ height: SCREEN_HEIGHT
78
124
  }],
79
- onPress: onSearchPress,
80
- children: /*#__PURE__*/_jsx(Search, {
81
- color: '#fff',
82
- size: verticalScale(22)
125
+ backgroundColor: backgroundColor,
126
+ children: /*#__PURE__*/_jsx(FlatList, {
127
+ ref: listRef,
128
+ data: flattenedEpisodes,
129
+ keyExtractor: keyExtractor,
130
+ renderItem: renderReelList,
131
+ onEndReached: onEndReached,
132
+ pagingEnabled: true,
133
+ viewabilityConfig: viewabilityConfig,
134
+ disableIntervalMomentum: true,
135
+ removeClippedSubviews: true,
136
+ maxToRenderPerBatch: 2,
137
+ onViewableItemsChanged: onViewableItemsChanged,
138
+ initialNumToRender: 1,
139
+ onEndReachedThreshold: 0.1,
140
+ decelerationRate: "fast",
141
+ showsVerticalScrollIndicator: false,
142
+ scrollEventThrottle: 16,
143
+ snapToInterval: SCREEN_HEIGHT,
144
+ snapToAlignment: "start",
145
+ getItemLayout: getItemLayout
83
146
  })
84
- }), /*#__PURE__*/_jsx(FlatList, {
85
- ref: listRef,
86
- data: data.episodes || [],
87
- keyExtractor: keyExtractor,
88
- renderItem: memoizedRenderReelList,
89
- windowSize: 2,
90
- onEndReached: onEndReached,
91
- pagingEnabled: true,
92
- viewabilityConfig: viewabilityConfig,
93
- disableIntervalMomentum: true,
94
- removeClippedSubviews: true,
95
- maxToRenderPerBatch: 2,
96
- onViewableItemsChanged: onViewableItemsChanged,
97
- initialNumToRender: 1,
98
- onEndReachedThreshold: 0.1,
99
- decelerationRate: "fast",
100
- showsVerticalScrollIndicator: false,
101
- scrollEventThrottle: 16,
102
- snapToInterval: SCREEN_HEIGHT,
103
- snapToAlignment: "start",
104
- getItemLayout: getItemLayout,
105
- contentContainerStyle: {
106
- paddingBottom: TAB_BAR_HEIGHT
107
- }
108
- })]
147
+ })
109
148
  });
110
149
  };
111
150
  export default ReelsSeries;
112
151
  const styles = StyleSheet.create({
113
- container: {
152
+ mainContainer: {
114
153
  flex: 1
115
154
  },
116
- fixedSearch: {
117
- position: 'absolute',
118
- zIndex: 10
155
+ container: {
156
+ overflow: 'hidden'
119
157
  }
120
158
  });
121
159
  //# sourceMappingURL=ReelsSeries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","useRef","useMemo","FlatList","Dimensions","StyleSheet","View","TouchableOpacity","debounce","ReelsSeriesItem","verticalScale","Search","jsx","_jsx","jsxs","_jsxs","height","get","TAB_BAR_HEIGHT","SCREEN_HEIGHT","ReelsSeries","data","autoScroll","onEndReached","onLikePress","onEpisodesPress","onSharePress","onSearchPress","isFocused","currentVisibleIndex","setCurrentVisibleIndex","listRef","keyExtractor","item","episodeId","toString","hendlePlayEpisode","index","episodes","length","current","scrollToIndex","animated","renderReelList","reel","videoHeight","isVisible","activeEpisodeIndex","preload","Math","abs","onEpisodeSelect","memoizedRenderReelList","viewabilityConfig","itemVisiblePercentThreshold","onViewableItemsChanged","viewableItems","getItemLayout","_","offset","style","styles","container","backgroundColor","children","fixedSearch","top","right","onPress","color","size","ref","renderItem","windowSize","pagingEnabled","disableIntervalMomentum","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","onEndReachedThreshold","decelerationRate","showsVerticalScrollIndicator","scrollEventThrottle","snapToInterval","snapToAlignment","contentContainerStyle","paddingBottom","create","flex","position","zIndex"],"sourceRoot":"../../../../../src","sources":["components/Reels/ReelsSeries/ReelsSeries.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useCallback","useRef","useMemo","FlatList","Dimensions","StyleSheet","Platform","debounce","ReelsSeriesItem","verticalScale","useSafeAreaInsets","useInternalTheme","View","jsx","_jsx","height","get","PRELOAD_RANGE","VIEWABILITY_THRESHOLD","DEBOUNCE_DELAY","ReelsSeries","data","autoScroll","onEndReached","onLikePress","onEpisodesPress","onSharePress","onSearchPress","onBackPress","isFocused","tabBarHeight","isFullScreen","theme","overrideTheme","onEpisodeUnlockPress","insets","currentVisibleIndex","setCurrentVisibleIndex","listRef","calculatedTabBarHeight","bottom","OS","SCREEN_HEIGHT","backgroundColor","colors","black","background","flattenedEpisodes","episodes","forEach","seriesItem","seriesIndex","episode","push","keyExtractor","item","episodeId","toString","handlePlayEpisode","index","findIndex","ep","length","current","scrollToIndex","animated","renderReelList","seriesData","isVisible","preload","Math","abs","reel","videoHeight","activeEpisodeIndex","onEpisodeSelect","viewabilityConfig","itemVisiblePercentThreshold","onViewableItemsChanged","viewableItems","visibleIndex","undefined","getItemLayout","_","offset","style","styles","mainContainer","children","container","ref","renderItem","pagingEnabled","disableIntervalMomentum","removeClippedSubviews","maxToRenderPerBatch","initialNumToRender","onEndReachedThreshold","decelerationRate","showsVerticalScrollIndicator","scrollEventThrottle","snapToInterval","snapToAlignment","create","flex","overflow"],"sourceRoot":"../../../../../src","sources":["components/Reels/ReelsSeries/ReelsSeries.tsx"],"mappings":"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","ignoreList":[]}