@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
@@ -1,203 +0,0 @@
1
- "use strict";
2
-
3
- import React from 'react';
4
- import { View, Text, TouchableOpacity, StyleSheet } from 'react-native';
5
- import { Heart, Forward, ChevronRight, ListVideo } from 'lucide-react-native';
6
- import { moderateScale, verticalScale } from 'react-native-size-matters';
7
- import { RFValue } from 'react-native-responsive-fontsize';
8
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- const ReelSeriesOverlay = ({
10
- data,
11
- currentTime,
12
- duration,
13
- onLikePress,
14
- onEpisodesPress,
15
- onSharePress,
16
- activeEpisodeIndex
17
- }) => {
18
- return /*#__PURE__*/_jsxs(View, {
19
- style: styles.overlay,
20
- children: [/*#__PURE__*/_jsxs(View, {
21
- style: styles.rightIcons,
22
- children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
23
- style: styles.iconBox,
24
- onPress: onLikePress,
25
- activeOpacity: 0.7,
26
- children: [/*#__PURE__*/_jsx(Heart, {
27
- size: moderateScale(25),
28
- color: data.isLiked ? 'red' : '#fff',
29
- fill: data.isLiked ? 'red' : 'none'
30
- }), /*#__PURE__*/_jsx(Text, {
31
- style: [styles.iconLabel, {
32
- color: '#fff'
33
- }],
34
- children: data.likes
35
- })]
36
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
37
- style: styles.iconBox,
38
- onPress: onEpisodesPress,
39
- children: [/*#__PURE__*/_jsx(ListVideo, {
40
- color: '#fff',
41
- size: moderateScale(25)
42
- }), /*#__PURE__*/_jsx(Text, {
43
- style: [styles.iconLabel, {
44
- color: '#fff'
45
- }],
46
- children: "Episodes"
47
- })]
48
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
49
- style: styles.iconBox,
50
- onPress: onSharePress,
51
- children: [/*#__PURE__*/_jsx(Forward, {
52
- color: '#fff',
53
- size: moderateScale(25)
54
- }), /*#__PURE__*/_jsx(Text, {
55
- style: [styles.iconLabel, {
56
- color: '#fff'
57
- }],
58
- children: "Share"
59
- })]
60
- })]
61
- }), /*#__PURE__*/_jsxs(View, {
62
- style: styles.titleBox,
63
- children: [/*#__PURE__*/_jsx(Text, {
64
- style: [styles.title, {
65
- color: '#fff'
66
- }],
67
- children: data.title.length <= 25 ? data.title : data.title.slice(0, 25) + '...'
68
- }), /*#__PURE__*/_jsx(Text, {
69
- numberOfLines: 2,
70
- style: [styles.description, {
71
- color: '#fff',
72
- marginTop: 2.5,
73
- opacity: 0.9
74
- }],
75
- children: data.description
76
- })]
77
- }), /*#__PURE__*/_jsxs(TouchableOpacity, {
78
- style: [styles.episodesRow, {
79
- backgroundColor: 'rgba(0,0,0,0.5)'
80
- }],
81
- onPress: onEpisodesPress,
82
- children: [/*#__PURE__*/_jsxs(View, {
83
- style: styles.bottomLeft,
84
- children: [/*#__PURE__*/_jsx(ListVideo, {
85
- color: '#fff',
86
- width: moderateScale(20),
87
- height: moderateScale(20)
88
- }), /*#__PURE__*/_jsxs(Text, {
89
- style: [styles.episodes, {
90
- color: '#fff'
91
- }],
92
- children: [activeEpisodeIndex + 1, " / ", data.episodes.length, " Episodes"]
93
- })]
94
- }), /*#__PURE__*/_jsx(ChevronRight, {
95
- color: '#fff',
96
- size: moderateScale(22)
97
- })]
98
- }), /*#__PURE__*/_jsxs(View, {
99
- style: styles.progressBar,
100
- children: [/*#__PURE__*/_jsx(View, {
101
- style: [styles.progressFill, {
102
- width: duration > 0 ? `${currentTime / duration * 100}%` : '0%'
103
- }]
104
- }), duration > 0 && /*#__PURE__*/_jsx(View, {
105
- style: [styles.progressKnob, {
106
- left: `${currentTime / duration * 100}%`
107
- }]
108
- })]
109
- })]
110
- });
111
- };
112
- export default ReelSeriesOverlay;
113
- const styles = StyleSheet.create({
114
- overlay: {
115
- flex: 1,
116
- justifyContent: 'flex-end',
117
- paddingBottom: verticalScale(12),
118
- paddingHorizontal: moderateScale(12)
119
- },
120
- centerPlayPauseButton: {
121
- position: 'absolute',
122
- top: '50%',
123
- left: '50%',
124
- transform: [{
125
- translateX: -25
126
- }, {
127
- translateY: -25
128
- }],
129
- width: moderateScale(50),
130
- height: moderateScale(50),
131
- borderRadius: moderateScale(25),
132
- justifyContent: 'center',
133
- alignItems: 'center',
134
- zIndex: 5
135
- },
136
- rightIcons: {
137
- position: 'absolute',
138
- bottom: verticalScale(120),
139
- right: moderateScale(10),
140
- alignItems: 'center'
141
- },
142
- iconBox: {
143
- marginVertical: verticalScale(8),
144
- alignItems: 'center'
145
- },
146
- iconLabel: {
147
- fontSize: RFValue(10),
148
- marginTop: verticalScale(4)
149
- },
150
- titleBox: {
151
- marginBottom: verticalScale(10)
152
- },
153
- following: {
154
- fontSize: RFValue(10),
155
- fontWeight: '500'
156
- },
157
- title: {
158
- fontSize: RFValue(13),
159
- fontWeight: '500'
160
- },
161
- description: {
162
- fontSize: RFValue(10)
163
- },
164
- episodesRow: {
165
- flexDirection: 'row',
166
- justifyContent: 'space-between',
167
- alignItems: 'center',
168
- borderRadius: moderateScale(8),
169
- paddingHorizontal: moderateScale(12),
170
- paddingVertical: verticalScale(8),
171
- marginBottom: verticalScale(6)
172
- },
173
- bottomLeft: {
174
- flexDirection: 'row',
175
- alignItems: 'center'
176
- },
177
- episodes: {
178
- fontSize: RFValue(13),
179
- marginLeft: moderateScale(10)
180
- },
181
- progressBar: {
182
- height: verticalScale(2),
183
- backgroundColor: 'rgba(255, 255, 255, 0.3)',
184
- borderRadius: moderateScale(1)
185
- },
186
- progressFill: {
187
- height: '100%',
188
- backgroundColor: '#fff',
189
- borderRadius: moderateScale(1)
190
- },
191
- progressKnob: {
192
- position: 'absolute',
193
- top: -verticalScale(2),
194
- width: moderateScale(7),
195
- height: moderateScale(7),
196
- borderRadius: moderateScale(5),
197
- backgroundColor: '#fff',
198
- transform: [{
199
- translateX: -5
200
- }]
201
- }
202
- });
203
- //# sourceMappingURL=ReelSeriesOverlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","StyleSheet","Heart","Forward","ChevronRight","ListVideo","moderateScale","verticalScale","RFValue","jsx","_jsx","jsxs","_jsxs","ReelSeriesOverlay","data","currentTime","duration","onLikePress","onEpisodesPress","onSharePress","activeEpisodeIndex","style","styles","overlay","children","rightIcons","iconBox","onPress","activeOpacity","size","color","isLiked","fill","iconLabel","likes","titleBox","title","length","slice","numberOfLines","description","marginTop","opacity","episodesRow","backgroundColor","bottomLeft","width","height","episodes","progressBar","progressFill","progressKnob","left","create","flex","justifyContent","paddingBottom","paddingHorizontal","centerPlayPauseButton","position","top","transform","translateX","translateY","borderRadius","alignItems","zIndex","bottom","right","marginVertical","fontSize","marginBottom","following","fontWeight","flexDirection","paddingVertical","marginLeft"],"sourceRoot":"../../../../../src","sources":["components/Reels/ReelsSeries/ReelSeriesOverlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Episodes.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Reels/ReelsSeries/Model/Episodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5D,UAAU,aAAa;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqErC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import type { ISeriesEpisode, ISeriesItem } from '../types';
3
- interface SynopsisProps {
4
- reel: ISeriesEpisode;
5
- data: ISeriesItem;
6
- }
7
- declare const Synopsis: React.FC<SynopsisProps>;
8
- export default Synopsis;
9
- //# sourceMappingURL=Synopsis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Synopsis.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Reels/ReelsSeries/Model/Synopsis.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAY3C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5D,UAAU,aAAa;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;CACnB;AA+CD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiIrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import type { ISeriesEpisode, ISeriesItem } from './types';
3
- interface ReelSeriesDetailsModalProps {
4
- visible: boolean;
5
- onClose: () => void;
6
- reel: ISeriesEpisode;
7
- data: ISeriesItem;
8
- activeEpisodeIndex: number;
9
- onEpisodeSelect: (index: number) => void;
10
- }
11
- declare const ReelSeriesDetailsModal: React.FC<ReelSeriesDetailsModalProps>;
12
- export default ReelSeriesDetailsModal;
13
- //# sourceMappingURL=ReelSeriesDetailsModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReelSeriesDetailsModal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAgBxC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK3D,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAuHjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import type { ISeriesEpisode, ISeriesItem } from './types';
3
- interface ICommenProps {
4
- data: ISeriesItem;
5
- currentTime: number;
6
- duration: number;
7
- onLikePress: () => void;
8
- onPlayPausePress: () => void;
9
- onEpisodesPress: () => void;
10
- onSharePress?: () => void;
11
- activeEpisodeIndex: number;
12
- }
13
- interface IReelSeriesOverlayProps extends ICommenProps {
14
- reel: ISeriesEpisode;
15
- }
16
- declare const ReelSeriesOverlay: React.FC<IReelSeriesOverlayProps>;
17
- export default ReelSeriesOverlay;
18
- //# sourceMappingURL=ReelSeriesOverlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReelSeriesOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3D,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,uBAAwB,SAAQ,YAAY;IACpD,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAiGxD,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,242 +0,0 @@
1
- import React, { useCallback } from 'react';
2
- import {
3
- Text,
4
- View,
5
- Image,
6
- StyleSheet,
7
- TouchableOpacity,
8
- Dimensions,
9
- FlatList,
10
- } from 'react-native';
11
- import { RFValue } from 'react-native-responsive-fontsize';
12
- import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
13
- import type { ISeriesEpisode, ISeriesItem } from '../types';
14
- import Svg, { Path, Defs, LinearGradient, Stop } from 'react-native-svg';
15
-
16
- const { width: SCREEN_WIDTH } = Dimensions.get('window');
17
- const GAP = moderateScale(10);
18
-
19
- interface SynopsisProps {
20
- reel: ISeriesEpisode;
21
- data: ISeriesItem;
22
- }
23
-
24
- interface ILikeMoreData {
25
- id: number;
26
- name: string;
27
- thumbnail: string;
28
- }
29
-
30
- const likeMoreData: Array<ILikeMoreData> = [
31
- {
32
- id: 1,
33
- name: 'Housefull 5',
34
- thumbnail:
35
- 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZFKczA4mK0DoFSiKN75aAtWdhm_AZvCWGkwPl2StUpOQYq6_b',
36
- },
37
- {
38
- id: 2,
39
- name: 'Sample Episode',
40
- thumbnail:
41
- 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTfRd3dwJUToDAbEB4afBWcic5_HCwbKbn-B7-ZgF7niTa-MTIt',
42
- },
43
- {
44
- id: 3,
45
- name: 'Tees Maar Khan',
46
- thumbnail:
47
- 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSwz8vklTTg8YdCqRHg9aauHq9BgpVgxLUvldi-Doz_Eh7ZIiVl',
48
- },
49
- {
50
- id: 4,
51
- name: 'Aap Jaisa Koi',
52
- thumbnail:
53
- 'https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQujccf3ymM7lkv83Y6TkS5BkcLYJLTu2d3rJQYxh6cGqwx8AuR',
54
- },
55
- {
56
- id: 5,
57
- name: 'Kaalidhar Laapata',
58
- thumbnail:
59
- 'https://upload.wikimedia.org/wikipedia/en/b/bd/Kaalidhar_Laapata.jpg',
60
- },
61
- {
62
- id: 6,
63
- name: 'Aankhon Ki Gustaakhiyan',
64
- thumbnail:
65
- 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSLqG-A_lUucNT4TOcY1u42ujHyPbwuJvRLbO4zjNS8iuzNQ_6X',
66
- },
67
- ];
68
-
69
- const Synopsis: React.FC<SynopsisProps> = ({ data }) => {
70
- // responsive columns
71
- const numColumns = SCREEN_WIDTH >= 420 ? 4 : 3;
72
- const keyExtractor = useCallback(
73
- (item: ILikeMoreData) => item.id.toString(),
74
- []
75
- );
76
-
77
- const renderItem = useCallback(
78
- ({ item }: { item: ILikeMoreData; index: number }) => (
79
- <TouchableOpacity style={[styles.card]} activeOpacity={0.8}>
80
- <Image
81
- source={{
82
- uri:
83
- item.thumbnail ||
84
- 'https://via.placeholder.com/300x400?text=Episode',
85
- }}
86
- style={styles.thumbnail}
87
- resizeMode="cover"
88
- />
89
- <Text
90
- style={[styles.title, { color: '#fff', width: scale(90) }]}
91
- numberOfLines={2}
92
- >
93
- {item.name || 'Untitled'}
94
- </Text>
95
- </TouchableOpacity>
96
- ),
97
- []
98
- );
99
-
100
- return (
101
- <View style={styles.container}>
102
- <Text
103
- style={{
104
- color: 'rgba(255,255,255,1)',
105
- fontSize: RFValue(10),
106
- lineHeight: RFValue(14),
107
- marginBottom: verticalScale(12),
108
- }}
109
- >
110
- {data.description ||
111
- 'No synopsis available for this reel. Please check back later.'}
112
- </Text>
113
-
114
- {/* Header */}
115
- <View style={styles.header}>
116
- <Svg width={22} height={2} viewBox="0 0 22 2" fill="none">
117
- <Path d="M21.692 1.196H.594" stroke="url(#a)" strokeWidth={1.005} />
118
- <Defs>
119
- <LinearGradient
120
- id="a"
121
- x1={0.594}
122
- y1={1.696}
123
- x2={21.692}
124
- y2={1.696}
125
- gradientUnits="userSpaceOnUse"
126
- >
127
- <Stop stopOpacity={0} />
128
- <Stop offset={1} stopColor="#fff" />
129
- </LinearGradient>
130
- </Defs>
131
- </Svg>
132
- <Text
133
- style={{
134
- color: '#fff',
135
- fontSize: 12,
136
- textAlign: 'center',
137
- marginHorizontal: scale(8),
138
- }}
139
- >
140
- More Like This
141
- </Text>
142
- <Svg width={22} height={2} viewBox="0 0 22 2" fill="none">
143
- <Path
144
- d="M.312 1.196H21.41"
145
- stroke="url(#paint0_linear_797_3114)"
146
- strokeWidth={1.00467}
147
- />
148
- <Defs>
149
- <LinearGradient
150
- id="paint0_linear_797_3114"
151
- x1={21.4102}
152
- y1={1.69629}
153
- x2={0.312025}
154
- y2={1.69629}
155
- gradientUnits="userSpaceOnUse"
156
- >
157
- <Stop stopOpacity={0} />
158
- <Stop offset={1} stopColor="#fff" />
159
- </LinearGradient>
160
- </Defs>
161
- </Svg>
162
- </View>
163
-
164
- {/* Episodes Grid */}
165
- {likeMoreData.length === 0 ? (
166
- <Text style={styles.noEpisodesText}>No recommendations available.</Text>
167
- ) : (
168
- <FlatList
169
- data={likeMoreData}
170
- keyExtractor={keyExtractor}
171
- renderItem={renderItem}
172
- numColumns={numColumns}
173
- columnWrapperStyle={{
174
- justifyContent: 'space-between',
175
- marginBottom: GAP,
176
- }}
177
- showsVerticalScrollIndicator={false}
178
- contentContainerStyle={{
179
- paddingBottom: verticalScale(16),
180
- }}
181
- removeClippedSubviews={false} // Disable to prevent recycling issues
182
- nestedScrollEnabled={true} // Allows scroll inside modal
183
- getItemLayout={(_data, index) => ({
184
- length: verticalScale(120) + verticalScale(6) + verticalScale(20), // thumbnail + margin + text
185
- offset:
186
- (verticalScale(120) + verticalScale(6) + verticalScale(20)) *
187
- Math.floor(index / numColumns),
188
- index,
189
- })}
190
- initialNumToRender={6}
191
- maxToRenderPerBatch={6}
192
- windowSize={5}
193
- disableVirtualization={false}
194
- />
195
- )}
196
- </View>
197
- );
198
- };
199
-
200
- export default Synopsis;
201
-
202
- const styles = StyleSheet.create({
203
- container: { flex: 1 },
204
- header: {
205
- flexDirection: 'row',
206
- alignItems: 'center',
207
- justifyContent: 'center',
208
- marginBottom: verticalScale(12),
209
- },
210
- headerLine: {
211
- height: verticalScale(1.5),
212
- width: moderateScale(50),
213
- marginHorizontal: moderateScale(8),
214
- borderRadius: 999,
215
- },
216
- headerLabel: {
217
- fontSize: RFValue(12),
218
- textAlign: 'center',
219
- },
220
- card: {
221
- // alignItems: 'center',
222
- },
223
- thumbnail: {
224
- width: '100%',
225
- height: verticalScale(120),
226
- borderRadius: moderateScale(8),
227
- marginBottom: verticalScale(6),
228
- backgroundColor: 'rgba(255,255,255,0.06)',
229
- aspectRatio: 3 / 4,
230
- },
231
- title: {
232
- fontSize: RFValue(10),
233
- // textAlign: 'center',
234
- },
235
- noEpisodesText: {
236
- color: 'rgba(180,180,180,1)',
237
- fontSize: RFValue(13),
238
- textAlign: 'center',
239
- marginTop: verticalScale(8),
240
- marginBottom: verticalScale(12),
241
- },
242
- });