@zezosoft/zezo-ott-react-native-video-player 1.0.0 → 1.0.2

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 (339) hide show
  1. package/README.md +337 -68
  2. package/lib/module/AdsPlayer/AdsPlayer.js +248 -0
  3. package/lib/module/AdsPlayer/AdsPlayer.js.map +1 -0
  4. package/lib/module/AdsPlayer/MediaControls/AdBottomControls.js +174 -0
  5. package/lib/module/AdsPlayer/MediaControls/AdBottomControls.js.map +1 -0
  6. package/lib/module/AdsPlayer/MediaControls/AdMediaControls.js +91 -0
  7. package/lib/module/AdsPlayer/MediaControls/AdMediaControls.js.map +1 -0
  8. package/lib/module/AdsPlayer/MediaControls/AdMediaControlsProvider.js +34 -0
  9. package/lib/module/AdsPlayer/MediaControls/AdMediaControlsProvider.js.map +1 -0
  10. package/lib/module/AdsPlayer/MediaControls/AdMiddleControls.js +65 -0
  11. package/lib/module/AdsPlayer/MediaControls/AdMiddleControls.js.map +1 -0
  12. package/lib/module/AdsPlayer/MediaControls/AdTopControls.js +189 -0
  13. package/lib/module/AdsPlayer/MediaControls/AdTopControls.js.map +1 -0
  14. package/lib/module/AdsPlayer/MediaControls/index.js +8 -0
  15. package/lib/module/AdsPlayer/MediaControls/index.js.map +1 -0
  16. package/lib/module/AdsPlayer/components/RotatingLoader.js +55 -0
  17. package/lib/module/AdsPlayer/components/RotatingLoader.js.map +1 -0
  18. package/lib/module/AdsPlayer/index.js +6 -0
  19. package/lib/module/AdsPlayer/index.js.map +1 -0
  20. package/lib/module/AdsPlayer/store/adsPlayer.type.js +4 -0
  21. package/lib/module/AdsPlayer/store/adsPlayer.type.js.map +1 -0
  22. package/lib/module/AdsPlayer/store/adsPlayerStore.js +70 -0
  23. package/lib/module/AdsPlayer/store/adsPlayerStore.js.map +1 -0
  24. package/lib/module/AdsPlayer/store/index.js +5 -0
  25. package/lib/module/AdsPlayer/store/index.js.map +1 -0
  26. package/lib/module/AdsPlayer/utils/adStateReset.js +31 -0
  27. package/lib/module/AdsPlayer/utils/adStateReset.js.map +1 -0
  28. package/lib/module/AdsPlayer/utils/controls.js +63 -0
  29. package/lib/module/AdsPlayer/utils/controls.js.map +1 -0
  30. package/lib/module/AdsPlayer/utils/useAdControlsAutoHide.js +35 -0
  31. package/lib/module/AdsPlayer/utils/useAdControlsAutoHide.js.map +1 -0
  32. package/lib/module/AdsPlayer/utils/useAdInitialization.js +60 -0
  33. package/lib/module/AdsPlayer/utils/useAdInitialization.js.map +1 -0
  34. package/lib/module/AdsPlayer/utils/useAdTracking.js +50 -0
  35. package/lib/module/AdsPlayer/utils/useAdTracking.js.map +1 -0
  36. package/lib/module/AdsPlayer/utils/useAdsManager.js +165 -0
  37. package/lib/module/AdsPlayer/utils/useAdsManager.js.map +1 -0
  38. package/lib/module/VideoPlayer/MediaControls/BottomControls.js +17 -6
  39. package/lib/module/VideoPlayer/MediaControls/BottomControls.js.map +1 -1
  40. package/lib/module/VideoPlayer/MediaControls/MediaControls.js +3 -1
  41. package/lib/module/VideoPlayer/MediaControls/MediaControls.js.map +1 -1
  42. package/lib/module/VideoPlayer/MediaControls/MediaControlsProvider.js +28 -31
  43. package/lib/module/VideoPlayer/MediaControls/MediaControlsProvider.js.map +1 -1
  44. package/lib/module/VideoPlayer/MediaControls/MiddleControls.js +50 -40
  45. package/lib/module/VideoPlayer/MediaControls/MiddleControls.js.map +1 -1
  46. package/lib/module/VideoPlayer/MediaControls/TopControls.js +11 -9
  47. package/lib/module/VideoPlayer/MediaControls/TopControls.js.map +1 -1
  48. package/lib/module/VideoPlayer/{model → Settings}/AudioAndSubtitles.js +0 -14
  49. package/lib/module/VideoPlayer/Settings/AudioAndSubtitles.js.map +1 -0
  50. package/lib/module/VideoPlayer/{model → Settings}/Episodes.js +1 -1
  51. package/lib/module/VideoPlayer/Settings/Episodes.js.map +1 -0
  52. package/lib/module/VideoPlayer/{model → Settings}/SettingModal.js +0 -1
  53. package/lib/module/VideoPlayer/Settings/SettingModal.js.map +1 -0
  54. package/lib/module/VideoPlayer/{model → Settings}/SpeedControls.js +1 -9
  55. package/lib/module/VideoPlayer/Settings/SpeedControls.js.map +1 -0
  56. package/lib/module/VideoPlayer/{model → Settings}/VideoPlayerSettings.js +1 -1
  57. package/lib/module/VideoPlayer/Settings/VideoPlayerSettings.js.map +1 -0
  58. package/lib/module/VideoPlayer/VideoPlayerCore.js +244 -0
  59. package/lib/module/VideoPlayer/VideoPlayerCore.js.map +1 -0
  60. package/lib/module/VideoPlayer/components/ProgressBar.js +63 -23
  61. package/lib/module/VideoPlayer/components/ProgressBar.js.map +1 -1
  62. package/lib/module/VideoPlayer/components/SkipAndNextControls.js +1 -6
  63. package/lib/module/VideoPlayer/components/SkipAndNextControls.js.map +1 -1
  64. package/lib/module/VideoPlayer/components/SubtitleView.js +1 -1
  65. package/lib/module/VideoPlayer/components/SubtitleView.js.map +1 -1
  66. package/lib/module/VideoPlayer/components/Toast.js +57 -0
  67. package/lib/module/VideoPlayer/components/Toast.js.map +1 -0
  68. package/lib/module/VideoPlayer/index.js +1 -1
  69. package/lib/module/VideoPlayer/index.js.map +1 -1
  70. package/lib/module/VideoPlayer/store/videoPlayerStore.js +0 -4
  71. package/lib/module/VideoPlayer/store/videoPlayerStore.js.map +1 -1
  72. package/lib/module/VideoPlayer/{Styles → styles}/globalStyles.js +5 -6
  73. package/lib/module/VideoPlayer/styles/globalStyles.js.map +1 -0
  74. package/lib/module/VideoPlayer/utils/{Display.js → display/Display.js} +0 -4
  75. package/lib/module/VideoPlayer/utils/display/Display.js.map +1 -0
  76. package/lib/module/VideoPlayer/utils/display/index.js +4 -0
  77. package/lib/module/VideoPlayer/utils/display/index.js.map +1 -0
  78. package/lib/module/VideoPlayer/utils/format/index.js +4 -0
  79. package/lib/module/VideoPlayer/utils/format/index.js.map +1 -0
  80. package/lib/module/VideoPlayer/utils/{timeFormatter.js → format/timeFormatter.js} +0 -6
  81. package/lib/module/VideoPlayer/utils/format/timeFormatter.js.map +1 -0
  82. package/lib/module/VideoPlayer/utils/hooks/index.js +3 -0
  83. package/lib/module/VideoPlayer/utils/hooks/index.js.map +1 -1
  84. package/lib/module/VideoPlayer/utils/hooks/useAdEventHandler.js +56 -0
  85. package/lib/module/VideoPlayer/utils/hooks/useAdEventHandler.js.map +1 -0
  86. package/lib/module/VideoPlayer/utils/hooks/useOrientationLock.js +25 -0
  87. package/lib/module/VideoPlayer/utils/hooks/useOrientationLock.js.map +1 -0
  88. package/lib/module/VideoPlayer/utils/hooks/usePauseVideoOnAd.js +43 -0
  89. package/lib/module/VideoPlayer/utils/hooks/usePauseVideoOnAd.js.map +1 -0
  90. package/lib/module/VideoPlayer/utils/hooks/useVideoPlayerBack.js +3 -4
  91. package/lib/module/VideoPlayer/utils/hooks/useVideoPlayerBack.js.map +1 -1
  92. package/lib/module/VideoPlayer/utils/hooks/useVideoResolutions.js +1 -4
  93. package/lib/module/VideoPlayer/utils/hooks/useVideoResolutions.js.map +1 -1
  94. package/lib/module/VideoPlayer/utils/index.js +5 -6
  95. package/lib/module/VideoPlayer/utils/index.js.map +1 -1
  96. package/lib/module/VideoPlayer/utils/{PlatformSelector.js → platform/PlatformSelector.js} +0 -5
  97. package/lib/module/VideoPlayer/utils/platform/PlatformSelector.js.map +1 -0
  98. package/lib/module/VideoPlayer/utils/platform/index.js +5 -0
  99. package/lib/module/VideoPlayer/utils/platform/index.js.map +1 -0
  100. package/lib/module/VideoPlayer/utils/{lockOrientation.js → platform/lockOrientation.js} +13 -5
  101. package/lib/module/VideoPlayer/utils/platform/lockOrientation.js.map +1 -0
  102. package/lib/module/VideoPlayer/utils/player/index.js +5 -0
  103. package/lib/module/VideoPlayer/utils/player/index.js.map +1 -0
  104. package/lib/module/VideoPlayer/utils/{playerEvents.js → player/playerEvents.js} +3 -3
  105. package/lib/module/VideoPlayer/utils/player/playerEvents.js.map +1 -0
  106. package/lib/module/VideoPlayer/utils/{useWatchReporter.js → player/useWatchReporter.js} +3 -2
  107. package/lib/module/VideoPlayer/utils/player/useWatchReporter.js.map +1 -0
  108. package/lib/module/VideoPlayer/utils/video/index.js +8 -0
  109. package/lib/module/VideoPlayer/utils/video/index.js.map +1 -0
  110. package/lib/module/VideoPlayer/utils/{videoControl.js → video/videoControl.js} +1 -14
  111. package/lib/module/VideoPlayer/utils/video/videoControl.js.map +1 -0
  112. package/lib/module/VideoPlayer/utils/video/videoRef.js +20 -0
  113. package/lib/module/VideoPlayer/utils/video/videoRef.js.map +1 -0
  114. package/lib/module/VideoPlayer/utils/video/videoResume.js +29 -0
  115. package/lib/module/VideoPlayer/utils/video/videoResume.js.map +1 -0
  116. package/lib/module/VideoPlayer/utils/video/videoSource.js.map +1 -0
  117. package/lib/module/VideoPlayer.js +128 -0
  118. package/lib/module/VideoPlayer.js.map +1 -0
  119. package/lib/module/index.js +3 -1
  120. package/lib/module/index.js.map +1 -1
  121. package/lib/typescript/src/AdsPlayer/AdsPlayer.d.ts +22 -0
  122. package/lib/typescript/src/AdsPlayer/AdsPlayer.d.ts.map +1 -0
  123. package/lib/typescript/src/AdsPlayer/MediaControls/AdBottomControls.d.ts +4 -0
  124. package/lib/typescript/src/AdsPlayer/MediaControls/AdBottomControls.d.ts.map +1 -0
  125. package/lib/typescript/src/AdsPlayer/MediaControls/AdMediaControls.d.ts +8 -0
  126. package/lib/typescript/src/AdsPlayer/MediaControls/AdMediaControls.d.ts.map +1 -0
  127. package/lib/typescript/src/AdsPlayer/MediaControls/AdMediaControlsProvider.d.ts +26 -0
  128. package/lib/typescript/src/AdsPlayer/MediaControls/AdMediaControlsProvider.d.ts.map +1 -0
  129. package/lib/typescript/src/AdsPlayer/MediaControls/AdMiddleControls.d.ts +4 -0
  130. package/lib/typescript/src/AdsPlayer/MediaControls/AdMiddleControls.d.ts.map +1 -0
  131. package/lib/typescript/src/AdsPlayer/MediaControls/AdTopControls.d.ts +7 -0
  132. package/lib/typescript/src/AdsPlayer/MediaControls/AdTopControls.d.ts.map +1 -0
  133. package/lib/typescript/src/AdsPlayer/MediaControls/index.d.ts +6 -0
  134. package/lib/typescript/src/AdsPlayer/MediaControls/index.d.ts.map +1 -0
  135. package/lib/typescript/src/AdsPlayer/components/RotatingLoader.d.ts +12 -0
  136. package/lib/typescript/src/AdsPlayer/components/RotatingLoader.d.ts.map +1 -0
  137. package/lib/typescript/src/AdsPlayer/index.d.ts +5 -0
  138. package/lib/typescript/src/AdsPlayer/index.d.ts.map +1 -0
  139. package/lib/typescript/src/AdsPlayer/store/adsPlayer.type.d.ts +28 -0
  140. package/lib/typescript/src/AdsPlayer/store/adsPlayer.type.d.ts.map +1 -0
  141. package/lib/typescript/src/AdsPlayer/store/adsPlayerStore.d.ts +22 -0
  142. package/lib/typescript/src/AdsPlayer/store/adsPlayerStore.d.ts.map +1 -0
  143. package/lib/typescript/src/AdsPlayer/store/index.d.ts +3 -0
  144. package/lib/typescript/src/AdsPlayer/store/index.d.ts.map +1 -0
  145. package/lib/typescript/src/AdsPlayer/utils/adStateReset.d.ts +6 -0
  146. package/lib/typescript/src/AdsPlayer/utils/adStateReset.d.ts.map +1 -0
  147. package/lib/typescript/src/AdsPlayer/utils/controls.d.ts +13 -0
  148. package/lib/typescript/src/AdsPlayer/utils/controls.d.ts.map +1 -0
  149. package/lib/typescript/src/AdsPlayer/utils/useAdControlsAutoHide.d.ts +3 -0
  150. package/lib/typescript/src/AdsPlayer/utils/useAdControlsAutoHide.d.ts.map +1 -0
  151. package/lib/typescript/src/AdsPlayer/utils/useAdInitialization.d.ts +20 -0
  152. package/lib/typescript/src/AdsPlayer/utils/useAdInitialization.d.ts.map +1 -0
  153. package/lib/typescript/src/AdsPlayer/utils/useAdTracking.d.ts +23 -0
  154. package/lib/typescript/src/AdsPlayer/utils/useAdTracking.d.ts.map +1 -0
  155. package/lib/typescript/src/AdsPlayer/utils/useAdsManager.d.ts +9 -0
  156. package/lib/typescript/src/AdsPlayer/utils/useAdsManager.d.ts.map +1 -0
  157. package/lib/typescript/src/VideoPlayer/MediaControls/BottomControls.d.ts.map +1 -1
  158. package/lib/typescript/src/VideoPlayer/MediaControls/MediaControls.d.ts.map +1 -1
  159. package/lib/typescript/src/VideoPlayer/MediaControls/MediaControlsProvider.d.ts +3 -1
  160. package/lib/typescript/src/VideoPlayer/MediaControls/MediaControlsProvider.d.ts.map +1 -1
  161. package/lib/typescript/src/VideoPlayer/MediaControls/MiddleControls.d.ts +2 -1
  162. package/lib/typescript/src/VideoPlayer/MediaControls/MiddleControls.d.ts.map +1 -1
  163. package/lib/typescript/src/VideoPlayer/MediaControls/TopControls.d.ts.map +1 -1
  164. package/lib/typescript/src/VideoPlayer/Settings/AudioAndSubtitles.d.ts.map +1 -0
  165. package/lib/typescript/src/VideoPlayer/{model → Settings}/Episodes.d.ts +1 -1
  166. package/lib/typescript/src/VideoPlayer/Settings/Episodes.d.ts.map +1 -0
  167. package/lib/typescript/src/VideoPlayer/{model → Settings}/SettingModal.d.ts +1 -1
  168. package/lib/typescript/src/VideoPlayer/Settings/SettingModal.d.ts.map +1 -0
  169. package/lib/typescript/src/VideoPlayer/Settings/SpeedControls.d.ts.map +1 -0
  170. package/lib/typescript/src/VideoPlayer/Settings/VideoPlayerSettings.d.ts.map +1 -0
  171. package/lib/typescript/src/VideoPlayer/{VideoPlayer.d.ts → VideoPlayerCore.d.ts} +10 -7
  172. package/lib/typescript/src/VideoPlayer/VideoPlayerCore.d.ts.map +1 -0
  173. package/lib/typescript/src/VideoPlayer/components/ProgressBar.d.ts +3 -1
  174. package/lib/typescript/src/VideoPlayer/components/ProgressBar.d.ts.map +1 -1
  175. package/lib/typescript/src/VideoPlayer/components/SkipAndNextControls.d.ts +1 -1
  176. package/lib/typescript/src/VideoPlayer/components/SkipAndNextControls.d.ts.map +1 -1
  177. package/lib/typescript/src/VideoPlayer/components/Toast.d.ts +12 -0
  178. package/lib/typescript/src/VideoPlayer/components/Toast.d.ts.map +1 -0
  179. package/lib/typescript/src/VideoPlayer/index.d.ts +1 -1
  180. package/lib/typescript/src/VideoPlayer/index.d.ts.map +1 -1
  181. package/lib/typescript/src/VideoPlayer/store/videoPlayer.type.d.ts +25 -5
  182. package/lib/typescript/src/VideoPlayer/store/videoPlayer.type.d.ts.map +1 -1
  183. package/lib/typescript/src/VideoPlayer/store/videoPlayerStore.d.ts +5 -3
  184. package/lib/typescript/src/VideoPlayer/store/videoPlayerStore.d.ts.map +1 -1
  185. package/lib/typescript/src/VideoPlayer/{Styles → styles}/globalStyles.d.ts +16 -9
  186. package/lib/typescript/src/VideoPlayer/styles/globalStyles.d.ts.map +1 -0
  187. package/lib/typescript/src/VideoPlayer/utils/display/Display.d.ts.map +1 -0
  188. package/lib/typescript/src/VideoPlayer/utils/display/index.d.ts +2 -0
  189. package/lib/typescript/src/VideoPlayer/utils/display/index.d.ts.map +1 -0
  190. package/lib/typescript/src/VideoPlayer/utils/format/index.d.ts +2 -0
  191. package/lib/typescript/src/VideoPlayer/utils/format/index.d.ts.map +1 -0
  192. package/lib/typescript/src/VideoPlayer/utils/{timeFormatter.d.ts → format/timeFormatter.d.ts} +0 -5
  193. package/lib/typescript/src/VideoPlayer/utils/format/timeFormatter.d.ts.map +1 -0
  194. package/lib/typescript/src/VideoPlayer/utils/hooks/index.d.ts +3 -0
  195. package/lib/typescript/src/VideoPlayer/utils/hooks/index.d.ts.map +1 -1
  196. package/lib/typescript/src/VideoPlayer/utils/hooks/useAdEventHandler.d.ts +34 -0
  197. package/lib/typescript/src/VideoPlayer/utils/hooks/useAdEventHandler.d.ts.map +1 -0
  198. package/lib/typescript/src/VideoPlayer/utils/hooks/useOrientationLock.d.ts +11 -0
  199. package/lib/typescript/src/VideoPlayer/utils/hooks/useOrientationLock.d.ts.map +1 -0
  200. package/lib/typescript/src/VideoPlayer/utils/hooks/usePauseVideoOnAd.d.ts +6 -0
  201. package/lib/typescript/src/VideoPlayer/utils/hooks/usePauseVideoOnAd.d.ts.map +1 -0
  202. package/lib/typescript/src/VideoPlayer/utils/hooks/useVideoResolutions.d.ts.map +1 -1
  203. package/lib/typescript/src/VideoPlayer/utils/index.d.ts +5 -6
  204. package/lib/typescript/src/VideoPlayer/utils/index.d.ts.map +1 -1
  205. package/lib/typescript/src/VideoPlayer/utils/{PlatformSelector.d.ts → platform/PlatformSelector.d.ts} +0 -4
  206. package/lib/typescript/src/VideoPlayer/utils/platform/PlatformSelector.d.ts.map +1 -0
  207. package/lib/typescript/src/VideoPlayer/utils/platform/index.d.ts +3 -0
  208. package/lib/typescript/src/VideoPlayer/utils/platform/index.d.ts.map +1 -0
  209. package/lib/typescript/src/VideoPlayer/utils/platform/lockOrientation.d.ts.map +1 -0
  210. package/lib/typescript/src/VideoPlayer/utils/player/index.d.ts +3 -0
  211. package/lib/typescript/src/VideoPlayer/utils/player/index.d.ts.map +1 -0
  212. package/lib/typescript/src/VideoPlayer/utils/{playerEvents.d.ts → player/playerEvents.d.ts} +1 -1
  213. package/lib/typescript/src/VideoPlayer/utils/player/playerEvents.d.ts.map +1 -0
  214. package/lib/typescript/src/VideoPlayer/utils/{useWatchReporter.d.ts → player/useWatchReporter.d.ts} +1 -6
  215. package/lib/typescript/src/VideoPlayer/utils/player/useWatchReporter.d.ts.map +1 -0
  216. package/lib/typescript/src/VideoPlayer/utils/video/index.d.ts +6 -0
  217. package/lib/typescript/src/VideoPlayer/utils/video/index.d.ts.map +1 -0
  218. package/lib/typescript/src/VideoPlayer/utils/{videoControl.d.ts → video/videoControl.d.ts} +1 -1
  219. package/lib/typescript/src/VideoPlayer/utils/video/videoControl.d.ts.map +1 -0
  220. package/lib/typescript/src/VideoPlayer/utils/video/videoRef.d.ts +19 -0
  221. package/lib/typescript/src/VideoPlayer/utils/video/videoRef.d.ts.map +1 -0
  222. package/lib/typescript/src/VideoPlayer/utils/video/videoResume.d.ts +6 -0
  223. package/lib/typescript/src/VideoPlayer/utils/video/videoResume.d.ts.map +1 -0
  224. package/lib/typescript/src/VideoPlayer/utils/{videoSource.d.ts → video/videoSource.d.ts} +1 -1
  225. package/lib/typescript/src/VideoPlayer/utils/video/videoSource.d.ts.map +1 -0
  226. package/lib/typescript/src/VideoPlayer.d.ts +31 -0
  227. package/lib/typescript/src/VideoPlayer.d.ts.map +1 -0
  228. package/lib/typescript/src/index.d.ts +3 -1
  229. package/lib/typescript/src/index.d.ts.map +1 -1
  230. package/package.json +127 -103
  231. package/src/AdsPlayer/AdsPlayer.tsx +312 -0
  232. package/src/AdsPlayer/MediaControls/AdBottomControls.tsx +189 -0
  233. package/src/AdsPlayer/MediaControls/AdMediaControls.tsx +98 -0
  234. package/src/AdsPlayer/MediaControls/AdMediaControlsProvider.tsx +62 -0
  235. package/src/AdsPlayer/MediaControls/AdMiddleControls.tsx +63 -0
  236. package/src/AdsPlayer/MediaControls/AdTopControls.tsx +196 -0
  237. package/src/AdsPlayer/MediaControls/index.ts +5 -0
  238. package/src/AdsPlayer/components/RotatingLoader.tsx +79 -0
  239. package/src/AdsPlayer/index.ts +4 -0
  240. package/src/AdsPlayer/store/adsPlayer.type.ts +29 -0
  241. package/src/AdsPlayer/store/adsPlayerStore.ts +59 -0
  242. package/src/AdsPlayer/store/index.ts +2 -0
  243. package/src/AdsPlayer/utils/adStateReset.ts +29 -0
  244. package/src/AdsPlayer/utils/controls.ts +69 -0
  245. package/src/AdsPlayer/utils/useAdControlsAutoHide.ts +32 -0
  246. package/src/AdsPlayer/utils/useAdInitialization.ts +86 -0
  247. package/src/AdsPlayer/utils/useAdTracking.ts +89 -0
  248. package/src/AdsPlayer/utils/useAdsManager.ts +215 -0
  249. package/src/VideoPlayer/MediaControls/BottomControls.tsx +22 -3
  250. package/src/VideoPlayer/MediaControls/MediaControls.tsx +3 -2
  251. package/src/VideoPlayer/MediaControls/MediaControlsProvider.tsx +36 -35
  252. package/src/VideoPlayer/MediaControls/MiddleControls.tsx +87 -60
  253. package/src/VideoPlayer/MediaControls/TopControls.tsx +21 -7
  254. package/src/VideoPlayer/{model → Settings}/AudioAndSubtitles.tsx +0 -7
  255. package/src/VideoPlayer/{model → Settings}/Episodes.tsx +6 -3
  256. package/src/VideoPlayer/{model → Settings}/SettingModal.tsx +1 -2
  257. package/src/VideoPlayer/{model → Settings}/SpeedControls.tsx +1 -5
  258. package/src/VideoPlayer/{model → Settings}/VideoPlayerSettings.tsx +1 -1
  259. package/src/VideoPlayer/VideoPlayerCore.tsx +356 -0
  260. package/src/VideoPlayer/components/ProgressBar.tsx +85 -21
  261. package/src/VideoPlayer/components/SkipAndNextControls.tsx +2 -5
  262. package/src/VideoPlayer/components/SubtitleView.tsx +1 -1
  263. package/src/VideoPlayer/components/Toast.tsx +61 -0
  264. package/src/VideoPlayer/index.ts +1 -1
  265. package/src/VideoPlayer/store/videoPlayer.type.ts +28 -6
  266. package/src/VideoPlayer/store/videoPlayerStore.ts +0 -4
  267. package/src/VideoPlayer/{Styles → styles}/globalStyles.ts +5 -6
  268. package/src/VideoPlayer/utils/{Display.ts → display/Display.ts} +0 -4
  269. package/src/VideoPlayer/utils/display/index.ts +1 -0
  270. package/src/VideoPlayer/utils/format/index.ts +1 -0
  271. package/src/VideoPlayer/utils/{timeFormatter.ts → format/timeFormatter.ts} +4 -7
  272. package/src/VideoPlayer/utils/hooks/index.ts +3 -0
  273. package/src/VideoPlayer/utils/hooks/useAdEventHandler.ts +95 -0
  274. package/src/VideoPlayer/utils/hooks/useOrientationLock.ts +29 -0
  275. package/src/VideoPlayer/utils/hooks/usePauseVideoOnAd.ts +46 -0
  276. package/src/VideoPlayer/utils/hooks/useVideoPlayerBack.ts +3 -3
  277. package/src/VideoPlayer/utils/hooks/useVideoResolutions.ts +1 -3
  278. package/src/VideoPlayer/utils/index.ts +5 -6
  279. package/src/VideoPlayer/utils/{PlatformSelector.ts → platform/PlatformSelector.ts} +0 -5
  280. package/src/VideoPlayer/utils/platform/index.ts +2 -0
  281. package/src/VideoPlayer/utils/{lockOrientation.ts → platform/lockOrientation.ts} +11 -5
  282. package/src/VideoPlayer/utils/player/index.ts +2 -0
  283. package/src/VideoPlayer/utils/{playerEvents.ts → player/playerEvents.ts} +4 -4
  284. package/src/VideoPlayer/utils/{useWatchReporter.ts → player/useWatchReporter.ts} +4 -3
  285. package/src/VideoPlayer/utils/video/index.ts +5 -0
  286. package/src/VideoPlayer/utils/{videoControl.ts → video/videoControl.ts} +2 -9
  287. package/src/VideoPlayer/utils/video/videoRef.ts +21 -0
  288. package/src/VideoPlayer/utils/video/videoResume.ts +23 -0
  289. package/src/VideoPlayer/utils/{videoSource.ts → video/videoSource.ts} +1 -1
  290. package/src/VideoPlayer.tsx +166 -0
  291. package/src/index.tsx +3 -1
  292. package/lib/module/VideoPlayer/Styles/fonts.js +0 -58
  293. package/lib/module/VideoPlayer/Styles/fonts.js.map +0 -1
  294. package/lib/module/VideoPlayer/Styles/globalStyles.js.map +0 -1
  295. package/lib/module/VideoPlayer/VideoPlayer.js +0 -180
  296. package/lib/module/VideoPlayer/VideoPlayer.js.map +0 -1
  297. package/lib/module/VideoPlayer/model/AudioAndSubtitles.js.map +0 -1
  298. package/lib/module/VideoPlayer/model/Episodes.js.map +0 -1
  299. package/lib/module/VideoPlayer/model/SettingModal.js.map +0 -1
  300. package/lib/module/VideoPlayer/model/SpeedControls.js.map +0 -1
  301. package/lib/module/VideoPlayer/model/VideoPlayerSettings.js.map +0 -1
  302. package/lib/module/VideoPlayer/utils/Display.js.map +0 -1
  303. package/lib/module/VideoPlayer/utils/PlatformSelector.js.map +0 -1
  304. package/lib/module/VideoPlayer/utils/lockOrientation.js.map +0 -1
  305. package/lib/module/VideoPlayer/utils/playerEvents.js.map +0 -1
  306. package/lib/module/VideoPlayer/utils/timeFormatter.js.map +0 -1
  307. package/lib/module/VideoPlayer/utils/useWatchReporter.js.map +0 -1
  308. package/lib/module/VideoPlayer/utils/videoControl.js.map +0 -1
  309. package/lib/module/VideoPlayer/utils/videoRef.js +0 -5
  310. package/lib/module/VideoPlayer/utils/videoRef.js.map +0 -1
  311. package/lib/module/VideoPlayer/utils/videoSource.js.map +0 -1
  312. package/lib/typescript/src/VideoPlayer/Styles/fonts.d.ts +0 -54
  313. package/lib/typescript/src/VideoPlayer/Styles/fonts.d.ts.map +0 -1
  314. package/lib/typescript/src/VideoPlayer/Styles/globalStyles.d.ts.map +0 -1
  315. package/lib/typescript/src/VideoPlayer/VideoPlayer.d.ts.map +0 -1
  316. package/lib/typescript/src/VideoPlayer/model/AudioAndSubtitles.d.ts.map +0 -1
  317. package/lib/typescript/src/VideoPlayer/model/Episodes.d.ts.map +0 -1
  318. package/lib/typescript/src/VideoPlayer/model/SettingModal.d.ts.map +0 -1
  319. package/lib/typescript/src/VideoPlayer/model/SpeedControls.d.ts.map +0 -1
  320. package/lib/typescript/src/VideoPlayer/model/VideoPlayerSettings.d.ts.map +0 -1
  321. package/lib/typescript/src/VideoPlayer/utils/Display.d.ts.map +0 -1
  322. package/lib/typescript/src/VideoPlayer/utils/PlatformSelector.d.ts.map +0 -1
  323. package/lib/typescript/src/VideoPlayer/utils/lockOrientation.d.ts.map +0 -1
  324. package/lib/typescript/src/VideoPlayer/utils/playerEvents.d.ts.map +0 -1
  325. package/lib/typescript/src/VideoPlayer/utils/timeFormatter.d.ts.map +0 -1
  326. package/lib/typescript/src/VideoPlayer/utils/useWatchReporter.d.ts.map +0 -1
  327. package/lib/typescript/src/VideoPlayer/utils/videoControl.d.ts.map +0 -1
  328. package/lib/typescript/src/VideoPlayer/utils/videoRef.d.ts +0 -3
  329. package/lib/typescript/src/VideoPlayer/utils/videoRef.d.ts.map +0 -1
  330. package/lib/typescript/src/VideoPlayer/utils/videoSource.d.ts.map +0 -1
  331. package/src/VideoPlayer/Styles/fonts.ts +0 -106
  332. package/src/VideoPlayer/VideoPlayer.tsx +0 -217
  333. package/src/VideoPlayer/utils/videoRef.ts +0 -4
  334. /package/lib/module/VideoPlayer/utils/{videoSource.js → video/videoSource.js} +0 -0
  335. /package/lib/typescript/src/VideoPlayer/{model → Settings}/AudioAndSubtitles.d.ts +0 -0
  336. /package/lib/typescript/src/VideoPlayer/{model → Settings}/SpeedControls.d.ts +0 -0
  337. /package/lib/typescript/src/VideoPlayer/{model → Settings}/VideoPlayerSettings.d.ts +0 -0
  338. /package/lib/typescript/src/VideoPlayer/utils/{Display.d.ts → display/Display.d.ts} +0 -0
  339. /package/lib/typescript/src/VideoPlayer/utils/{lockOrientation.d.ts → platform/lockOrientation.d.ts} +0 -0
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef } from 'react';
4
+ import { useVideoPlayerStore } from "../../VideoPlayer/store/videoPlayerStore.js";
5
+ import { useAdsPlayerStore } from "../store/adsPlayerStore.js";
6
+ import { useAdInitialization } from "./useAdInitialization.js";
7
+ export const useAdsManager = (ads = [], onAdTracking) => {
8
+ const {
9
+ currentTime,
10
+ activeTrack
11
+ } = useVideoPlayerStore();
12
+ const {
13
+ currentAd,
14
+ isAdPlaying,
15
+ pendingMidRollAds,
16
+ addPendingMidRollAd,
17
+ clearPendingMidRollAds
18
+ } = useAdsPlayerStore();
19
+ const {
20
+ startAd
21
+ } = useAdInitialization({
22
+ onAdTracking
23
+ });
24
+ const adsInitializedRef = useRef(false);
25
+ const previousAdsRef = useRef('');
26
+ const playedMidRollAdsRef = useRef(new Set());
27
+ const playedPreRollAdsRef = useRef(new Set());
28
+ const playedPostRollAdsRef = useRef(new Set());
29
+ const previousTimeRef = useRef(0);
30
+ const isResettingRef = useRef(false);
31
+ useEffect(() => {
32
+ // Prevent infinite loops
33
+ if (isResettingRef.current) {
34
+ return;
35
+ }
36
+ const adsKey = JSON.stringify(ads?.map(ad => ad.id) || []);
37
+ const hadAds = previousAdsRef.current !== '';
38
+ const hasAds = ads && ads.length > 0;
39
+ if (hasAds && adsKey !== previousAdsRef.current) {
40
+ previousAdsRef.current = adsKey;
41
+
42
+ // Don't initialize ads if it's a trailer
43
+ if (activeTrack?.isTrailer) {
44
+ return;
45
+ }
46
+ const preRollAds = ads.filter(ad => ad.position === 'pre');
47
+ const midRollAds = ads.filter(ad => ad.position === 'mid');
48
+ if (preRollAds.length > 0 && preRollAds[0] && !currentAd) {
49
+ try {
50
+ playedPreRollAdsRef.current.add(preRollAds[0].id);
51
+ startAd(preRollAds[0], {
52
+ trackImpression: false
53
+ }); // Impression tracked in AdsPlayer
54
+ } catch (error) {
55
+ console.error('Error starting pre-roll ad:', error);
56
+ }
57
+ }
58
+ if (!adsInitializedRef.current) {
59
+ midRollAds.forEach(ad => {
60
+ if (ad.time !== undefined) {
61
+ addPendingMidRollAd(ad);
62
+ }
63
+ });
64
+ adsInitializedRef.current = true;
65
+ }
66
+ } else if (!hasAds && hadAds) {
67
+ // Only reset when ads change from non-empty to empty
68
+ isResettingRef.current = true;
69
+
70
+ // Clear all ad state when ads array becomes empty
71
+ adsInitializedRef.current = false;
72
+ previousAdsRef.current = '';
73
+ clearPendingMidRollAds();
74
+
75
+ // Reset played ads tracking
76
+ playedMidRollAdsRef.current.clear();
77
+ playedPreRollAdsRef.current.clear();
78
+ playedPostRollAdsRef.current.clear();
79
+
80
+ // If an ad is currently playing, stop it
81
+ const {
82
+ isAdPlaying: currentIsAdPlaying,
83
+ currentAd: currentAdState,
84
+ resetAdsStore
85
+ } = useAdsPlayerStore.getState();
86
+ if (currentIsAdPlaying || currentAdState) {
87
+ resetAdsStore();
88
+ }
89
+
90
+ // Reset the flag after a short delay to allow state to settle
91
+ setTimeout(() => {
92
+ isResettingRef.current = false;
93
+ }, 0);
94
+ } else if (!hasAds) {
95
+ // If ads are empty and were already empty, just update the ref
96
+ previousAdsRef.current = '';
97
+ }
98
+ }, [ads, currentAd, addPendingMidRollAd, clearPendingMidRollAds, startAd, activeTrack?.isTrailer]);
99
+ useEffect(() => {
100
+ // Don't trigger mid-roll ads if it's a trailer
101
+ if (activeTrack?.isTrailer) {
102
+ return;
103
+ }
104
+ if (!isAdPlaying && pendingMidRollAds.length > 0 && currentTime > 0 && !currentAd) {
105
+ const previousTime = previousTimeRef.current;
106
+ const timeDifference = Math.abs(currentTime - previousTime);
107
+ const isSeeking = timeDifference > 2; // If time jumps more than 2 seconds, it's a seek
108
+
109
+ // Check for ads that should be triggered
110
+ let nextMidRollAd = pendingMidRollAds.find(ad => ad.time && !playedMidRollAdsRef.current.has(ad.id) && currentTime >= ad.time - 1 && currentTime <= ad.time + 1);
111
+
112
+ // If seeking, check if we skipped past any ads
113
+ if (!nextMidRollAd && isSeeking && previousTime < currentTime) {
114
+ const skippedAd = pendingMidRollAds.find(ad => ad.time && !playedMidRollAdsRef.current.has(ad.id) && ad.time > previousTime && ad.time <= currentTime);
115
+ if (skippedAd) {
116
+ nextMidRollAd = skippedAd;
117
+ }
118
+ }
119
+ if (nextMidRollAd) {
120
+ try {
121
+ playedMidRollAdsRef.current.add(nextMidRollAd.id);
122
+ const timeBeforeAd = isSeeking ? nextMidRollAd.time || currentTime : currentTime;
123
+ startAd(nextMidRollAd, {
124
+ resumeTime: timeBeforeAd,
125
+ trackImpression: false // Impression tracked in AdsPlayer
126
+ });
127
+ const remainingAds = pendingMidRollAds.filter(ad => ad.id !== nextMidRollAd.id);
128
+ clearPendingMidRollAds();
129
+ remainingAds.forEach(ad => addPendingMidRollAd(ad));
130
+ } catch (error) {
131
+ console.error('Error starting mid-roll ad:', error);
132
+ }
133
+ }
134
+
135
+ // Update previous time
136
+ previousTimeRef.current = currentTime;
137
+ } else if (currentTime > 0) {
138
+ // Update previous time even if conditions aren't met
139
+ previousTimeRef.current = currentTime;
140
+ }
141
+ }, [currentTime, isAdPlaying, pendingMidRollAds, currentAd, ads, addPendingMidRollAd, clearPendingMidRollAds, startAd, activeTrack?.isTrailer]);
142
+ return {
143
+ checkPostRollAds: () => {
144
+ try {
145
+ // Don't show post-roll ads if it's a trailer
146
+ if (activeTrack?.isTrailer) {
147
+ return false;
148
+ }
149
+ const postRollAds = ads.filter(ad => ad.position === 'post');
150
+ if (postRollAds.length > 0 && postRollAds[0]) {
151
+ playedPostRollAdsRef.current.add(postRollAds[0].id);
152
+ startAd(postRollAds[0], {
153
+ trackImpression: false
154
+ }); // Impression tracked in AdsPlayer
155
+ return true;
156
+ }
157
+ return false;
158
+ } catch (error) {
159
+ console.error('Error checking post-roll ads:', error);
160
+ return false;
161
+ }
162
+ }
163
+ };
164
+ };
165
+ //# sourceMappingURL=useAdsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useVideoPlayerStore","useAdsPlayerStore","useAdInitialization","useAdsManager","ads","onAdTracking","currentTime","activeTrack","currentAd","isAdPlaying","pendingMidRollAds","addPendingMidRollAd","clearPendingMidRollAds","startAd","adsInitializedRef","previousAdsRef","playedMidRollAdsRef","Set","playedPreRollAdsRef","playedPostRollAdsRef","previousTimeRef","isResettingRef","current","adsKey","JSON","stringify","map","ad","id","hadAds","hasAds","length","isTrailer","preRollAds","filter","position","midRollAds","add","trackImpression","error","console","forEach","time","undefined","clear","currentIsAdPlaying","currentAdState","resetAdsStore","getState","setTimeout","previousTime","timeDifference","Math","abs","isSeeking","nextMidRollAd","find","has","skippedAd","timeBeforeAd","resumeTime","remainingAds","checkPostRollAds","postRollAds"],"sourceRoot":"../../../../src","sources":["AdsPlayer/utils/useAdsManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback } from 'react';
3
+ import React, { useCallback, useMemo } from 'react';
4
4
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
5
5
  import { scale, verticalScale, moderateScale } from 'react-native-size-matters';
6
6
  import { RFValue } from 'react-native-responsive-fontsize';
7
7
  import { Settings as SettingsIcon, SlidersHorizontal as SpeedIcon, Subtitles as SubtitlesIcon, ListChecks as EpisodesIcon } from 'lucide-react-native';
8
8
  import { useVideoPlayerStore } from "../store/videoPlayerStore.js";
9
- import { videoRef } from "../utils/videoRef.js";
9
+ import { useAdsPlayerStore } from "../../AdsPlayer/store/adsPlayerStore.js";
10
+ import { videoRef } from "../utils/index.js";
10
11
  import { formatTime } from "../utils/index.js";
11
12
  import ProgressBar from "../components/ProgressBar.js";
12
13
  import { useVideoPlayerConfig } from "../context/index.js";
@@ -42,6 +43,9 @@ const BottomControls = () => {
42
43
  setControlsVisible,
43
44
  playBackRateLabel
44
45
  } = useVideoPlayerStore();
46
+ const {
47
+ pendingMidRollAds
48
+ } = useAdsPlayerStore();
45
49
  const {
46
50
  colors
47
51
  } = useVideoPlayerConfig();
@@ -60,6 +64,14 @@ const BottomControls = () => {
60
64
  setIsPaused(true);
61
65
  setControlsVisible(false);
62
66
  };
67
+
68
+ // Memoize ad markers to avoid recalculation on every render
69
+ const adMarkers = useMemo(() => pendingMidRollAds.filter(ad => ad.time !== undefined && ad.time > 0).map(ad => ad.time).sort((a, b) => a - b), [pendingMidRollAds]);
70
+
71
+ // Memoize time text style
72
+ const timeTextStyle = useMemo(() => [styles.timeText, {
73
+ color: colors.text
74
+ }], [colors.text]);
63
75
  return /*#__PURE__*/_jsxs(View, {
64
76
  children: [/*#__PURE__*/_jsxs(View, {
65
77
  style: styles.sliderContainer,
@@ -69,12 +81,11 @@ const BottomControls = () => {
69
81
  duration: duration,
70
82
  currentTime: currentTime,
71
83
  bufferedTime: playableDuration,
72
- onSeek: onSeek
84
+ onSeek: onSeek,
85
+ adMarkers: adMarkers
73
86
  })
74
87
  }), /*#__PURE__*/_jsx(Text, {
75
- style: [styles.timeText, {
76
- color: colors.text
77
- }],
88
+ style: timeTextStyle,
78
89
  children: getRemainingTime(duration, currentTime)
79
90
  })]
80
91
  }), /*#__PURE__*/_jsxs(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","StyleSheet","Text","TouchableOpacity","View","scale","verticalScale","moderateScale","RFValue","Settings","SettingsIcon","SlidersHorizontal","SpeedIcon","Subtitles","SubtitlesIcon","ListChecks","EpisodesIcon","useVideoPlayerStore","videoRef","formatTime","ProgressBar","useVideoPlayerConfig","jsx","_jsx","jsxs","_jsxs","ControlButton","onPress","icon","label","accessibilityLabel","buttonStyle","labelStyle","colors","style","styles","button","activeOpacity","children","buttonText","color","text","BottomControls","duration","currentTime","activeTrack","playableDuration","setSettingsModal","setIsPaused","setControlsVisible","playBackRateLabel","getRemainingTime","totalDuration","currentPos","remainingTime","Math","max","onSeek","value","current","seek","onOpenSettings","type","action","isVisible","sliderContainer","sliderWrapper","bufferedTime","timeText","buttonsContainer","size","isTrailer","create","flexDirection","alignItems","paddingHorizontal","flex","minWidth","width","textAlign","marginLeft","fontSize","fontWeight","justifyContent","flexWrap","paddingVertical","marginHorizontal","marginVertical","borderRadius"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/BottomControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","StyleSheet","Text","TouchableOpacity","View","scale","verticalScale","moderateScale","RFValue","Settings","SettingsIcon","SlidersHorizontal","SpeedIcon","Subtitles","SubtitlesIcon","ListChecks","EpisodesIcon","useVideoPlayerStore","useAdsPlayerStore","videoRef","formatTime","ProgressBar","useVideoPlayerConfig","jsx","_jsx","jsxs","_jsxs","ControlButton","onPress","icon","label","accessibilityLabel","buttonStyle","labelStyle","colors","style","styles","button","activeOpacity","children","buttonText","color","text","BottomControls","duration","currentTime","activeTrack","playableDuration","setSettingsModal","setIsPaused","setControlsVisible","playBackRateLabel","pendingMidRollAds","getRemainingTime","totalDuration","currentPos","remainingTime","Math","max","onSeek","value","current","seek","onOpenSettings","type","action","isVisible","adMarkers","filter","ad","time","undefined","map","sort","a","b","timeTextStyle","timeText","sliderContainer","sliderWrapper","bufferedTime","buttonsContainer","size","isTrailer","create","flexDirection","alignItems","paddingHorizontal","flex","minWidth","width","textAlign","marginLeft","fontSize","fontWeight","justifyContent","flexWrap","paddingVertical","marginHorizontal","marginVertical","borderRadius"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/BottomControls.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { memo } from 'react';
4
- import { StyleSheet, SafeAreaView } from 'react-native';
4
+ import { StyleSheet } from 'react-native';
5
+ import { SafeAreaView } from 'react-native-safe-area-context';
5
6
  import TopControls from "./TopControls.js";
6
7
  import MiddleControls from "./MiddleControls.js";
7
8
  import BottomControls from "./BottomControls.js";
@@ -11,6 +12,7 @@ const MediaControls = ({
11
12
  }) => {
12
13
  return /*#__PURE__*/_jsxs(SafeAreaView, {
13
14
  style: styles.container,
15
+ edges: ['top'],
14
16
  children: [/*#__PURE__*/_jsx(TopControls, {
15
17
  onClose: onClose
16
18
  }), /*#__PURE__*/_jsx(MiddleControls, {}), /*#__PURE__*/_jsx(BottomControls, {})]
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","SafeAreaView","TopControls","MiddleControls","BottomControls","jsx","_jsx","jsxs","_jsxs","MediaControls","onClose","style","styles","container","children","create","flex","flexDirection","justifyContent"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MediaControls.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,YAAY,QAAQ,cAAc;AACvD,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,OAAOC,cAAc,MAAM,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM9C,MAAMC,aAA2C,GAAGA,CAAC;EAAEC;AAAQ,CAAC,KAAK;EACnE,oBACEF,KAAA,CAACP,YAAY;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,gBACpCR,IAAA,CAACJ,WAAW;MAACQ,OAAO,EAAEA;IAAQ,CAAE,CAAC,eACjCJ,IAAA,CAACH,cAAc,IAAE,CAAC,eAClBG,IAAA,CAACF,cAAc,IAAE,CAAC;EAAA,CACN,CAAC;AAEnB,CAAC;AAED,4BAAeL,IAAI,CAACU,aAAa,CAAC;AAElC,MAAMG,MAAM,GAAGZ,UAAU,CAACe,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","SafeAreaView","TopControls","MiddleControls","BottomControls","jsx","_jsx","jsxs","_jsxs","MediaControls","onClose","style","styles","container","edges","children","create","flex","flexDirection","justifyContent"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MediaControls.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,OAAOC,WAAW,MAAM,kBAAe;AACvC,OAAOC,cAAc,MAAM,qBAAkB;AAC7C,OAAOC,cAAc,MAAM,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM9C,MAAMC,aAA2C,GAAGA,CAAC;EAAEC;AAAQ,CAAC,KAAK;EACnE,oBACEF,KAAA,CAACP,YAAY;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,KAAK,EAAE,CAAC,KAAK,CAAE;IAAAC,QAAA,gBACpDT,IAAA,CAACJ,WAAW;MAACQ,OAAO,EAAEA;IAAQ,CAAE,CAAC,eACjCJ,IAAA,CAACH,cAAc,IAAE,CAAC,eAClBG,IAAA,CAACF,cAAc,IAAE,CAAC;EAAA,CACN,CAAC;AAEnB,CAAC;AAED,4BAAeL,IAAI,CAACU,aAAa,CAAC;AAElC,MAAMG,MAAM,GAAGZ,UAAU,CAACgB,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,35 +1,46 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useRef } from 'react';
4
- import { StyleSheet, TouchableOpacity, View, Animated } from 'react-native';
5
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
3
+ import React, { useEffect, useRef, useMemo } from 'react';
4
+ import { TouchableOpacity, View, Animated } from 'react-native';
6
5
  import { moderateScale } from 'react-native-size-matters';
7
6
  import MediaControls from "./MediaControls.js";
8
- import SettingModal from "../model/SettingModal.js";
7
+ import SettingModal from "../Settings/SettingModal.js";
9
8
  import { useVideoPlayerStore } from "../store/videoPlayerStore.js";
10
9
  import SkipAndNextControls from "../components/SkipAndNextControls.js";
11
- import globalStyles from "../Styles/globalStyles.js";
10
+ import globalStyles from "../styles/globalStyles.js";
12
11
  import SubtitleView from "../components/SubtitleView.js";
13
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
13
  const MediaControlsProvider = ({
15
14
  children,
16
15
  onClose,
17
16
  onPressEpisode,
18
- reportProgress
17
+ reportProgress,
18
+ insets
19
19
  }) => {
20
- const {
21
- controlsVisible,
22
- setControlsVisible,
23
- controlsTimer
24
- } = useVideoPlayerStore();
25
20
  const {
26
21
  top,
27
22
  bottom,
28
23
  left,
29
24
  right
30
- } = useSafeAreaInsets();
31
- const timeid = React.useRef(null);
25
+ } = insets;
26
+ const controlsVisible = useVideoPlayerStore(state => state.controlsVisible);
27
+ const setControlsVisible = useVideoPlayerStore(state => state.setControlsVisible);
28
+ const controlsTimer = useVideoPlayerStore(state => state.controlsTimer);
29
+ const timeoutId = React.useRef(null);
32
30
  const fadeAnim = useRef(new Animated.Value(0)).current;
31
+
32
+ // Memoize container padding to avoid recalculation on every render
33
+ const containerPadding = useMemo(() => ({
34
+ paddingTop: top,
35
+ paddingBottom: bottom + moderateScale(5),
36
+ paddingLeft: left + moderateScale(10),
37
+ paddingRight: right + moderateScale(10)
38
+ }), [top, bottom, left, right]);
39
+
40
+ // Memoize animated style
41
+ const animatedStyle = useMemo(() => [globalStyles.absoluteFill, {
42
+ opacity: fadeAnim
43
+ }], [fadeAnim]);
33
44
  useEffect(() => {
34
45
  Animated.timing(fadeAnim, {
35
46
  toValue: controlsVisible ? 1 : 0,
@@ -37,30 +48,22 @@ const MediaControlsProvider = ({
37
48
  useNativeDriver: true
38
49
  }).start();
39
50
  if (controlsVisible) {
40
- timeid.current = setTimeout(() => {
51
+ timeoutId.current = setTimeout(() => {
41
52
  setControlsVisible(false);
42
53
  }, controlsTimer * 1000);
43
54
  }
44
55
  return () => {
45
- if (timeid.current) clearTimeout(timeid.current);
56
+ if (timeoutId.current) clearTimeout(timeoutId.current);
46
57
  };
47
58
  }, [controlsVisible, controlsTimer, setControlsVisible, fadeAnim]);
48
- const containerPadding = {
49
- paddingTop: top,
50
- paddingBottom: bottom + moderateScale(5),
51
- paddingLeft: left + moderateScale(10),
52
- paddingRight: right + moderateScale(10)
53
- };
54
59
  return /*#__PURE__*/_jsxs(View, {
55
60
  style: globalStyles.flexOne,
56
61
  children: [children, /*#__PURE__*/_jsx(Animated.View, {
57
62
  pointerEvents: controlsVisible ? 'auto' : 'none',
58
- style: [StyleSheet.absoluteFillObject, {
59
- opacity: fadeAnim
60
- }],
63
+ style: animatedStyle,
61
64
  children: /*#__PURE__*/_jsx(TouchableOpacity, {
62
65
  onPress: () => setControlsVisible(false),
63
- style: [styles.container, containerPadding],
66
+ style: [globalStyles.controlsContainer, containerPadding],
64
67
  activeOpacity: 1,
65
68
  children: /*#__PURE__*/_jsx(MediaControls, {
66
69
  onClose: onClose
@@ -76,10 +79,4 @@ const MediaControlsProvider = ({
76
79
  });
77
80
  };
78
81
  export default MediaControlsProvider;
79
- const styles = StyleSheet.create({
80
- container: {
81
- flex: 1,
82
- backgroundColor: 'rgba(0, 0, 0, 0.5)'
83
- }
84
- });
85
82
  //# sourceMappingURL=MediaControlsProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","StyleSheet","TouchableOpacity","View","Animated","useSafeAreaInsets","moderateScale","MediaControls","SettingModal","useVideoPlayerStore","SkipAndNextControls","globalStyles","SubtitleView","jsx","_jsx","jsxs","_jsxs","MediaControlsProvider","children","onClose","onPressEpisode","reportProgress","controlsVisible","setControlsVisible","controlsTimer","top","bottom","left","right","timeid","fadeAnim","Value","current","timing","toValue","duration","useNativeDriver","start","setTimeout","clearTimeout","containerPadding","paddingTop","paddingBottom","paddingLeft","paddingRight","style","flexOne","pointerEvents","absoluteFillObject","opacity","onPress","styles","container","activeOpacity","create","flex","backgroundColor"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MediaControlsProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useMemo","TouchableOpacity","View","Animated","moderateScale","MediaControls","SettingModal","useVideoPlayerStore","SkipAndNextControls","globalStyles","SubtitleView","jsx","_jsx","jsxs","_jsxs","MediaControlsProvider","children","onClose","onPressEpisode","reportProgress","insets","top","bottom","left","right","controlsVisible","state","setControlsVisible","controlsTimer","timeoutId","fadeAnim","Value","current","containerPadding","paddingTop","paddingBottom","paddingLeft","paddingRight","animatedStyle","absoluteFill","opacity","timing","toValue","duration","useNativeDriver","start","setTimeout","clearTimeout","style","flexOne","pointerEvents","onPress","controlsContainer","activeOpacity"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MediaControlsProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,22 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable react-native/no-inline-styles */
4
- import React, { useState, useRef } from 'react';
5
- import { ActivityIndicator, StyleSheet, Text, TouchableOpacity, View, Animated, Easing } from 'react-native';
3
+ import React, { useState, useRef, useMemo } from 'react';
4
+ import { StyleSheet, Text, TouchableOpacity, View, Animated, Easing } from 'react-native';
6
5
  import { moderateScale, scale } from 'react-native-size-matters';
7
6
  import { RFValue } from 'react-native-responsive-fontsize';
8
7
  import { Play, Pause, RotateCcw, RotateCw } from 'lucide-react-native';
9
8
  import { useVideoPlayerStore } from "../store/videoPlayerStore.js";
10
- import { videoRef } from "../utils/videoRef.js";
9
+ import { videoRef } from "../utils/index.js";
11
10
  import { handlePause } from "../utils/index.js";
12
11
  import { useVideoPlayerConfig } from "../context/index.js";
12
+ import RotatingLoader from "../../AdsPlayer/components/RotatingLoader.js";
13
+ import globalStyles from "../styles/globalStyles.js";
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const BUTTON_SIZE = moderateScale(80);
15
16
  const SMALL_BUTTON_SIZE = moderateScale(60);
16
17
  const FEEDBACK_DURATION = 500;
17
18
  const MOVE_DISTANCE = 60;
19
+ const SKIP_INCREMENT = 10;
18
20
  const MiddleControls = () => {
19
21
  const {
20
22
  isPaused,
@@ -29,9 +31,36 @@ const MiddleControls = () => {
29
31
  const {
30
32
  colors
31
33
  } = useVideoPlayerConfig();
34
+ const isVideoEnded = duration > 0 && currentTime >= duration;
35
+ const handleSkip = delta => {
36
+ let newTime = currentTime + delta;
37
+ if (newTime < 0) newTime = 0;
38
+ if (newTime > duration) newTime = duration;
39
+ videoRef?.current?.seek(newTime);
40
+ setCurrentTime(newTime);
41
+ };
42
+ const handlePlayPause = () => {
43
+ if (isVideoEnded) {
44
+ videoRef.current?.seek(0);
45
+ setCurrentTime(0);
46
+ setIsPaused(false);
47
+ setStartWatchTime(Date.now());
48
+ return;
49
+ }
50
+ if (!isPaused) {
51
+ handlePause();
52
+ setIsPaused(true);
53
+ } else {
54
+ setIsPaused(false);
55
+ setStartWatchTime(Date.now());
56
+ }
57
+ };
58
+
59
+ // Memoize container style
60
+ const containerStyle = useMemo(() => [globalStyles.absoluteFill, styles.container], []);
32
61
  if (error) {
33
62
  return /*#__PURE__*/_jsx(View, {
34
- style: [StyleSheet.absoluteFillObject, styles.container],
63
+ style: containerStyle,
35
64
  children: /*#__PURE__*/_jsx(Text, {
36
65
  style: [styles.errorText, {
37
66
  color: colors.text
@@ -40,16 +69,8 @@ const MiddleControls = () => {
40
69
  })
41
70
  });
42
71
  }
43
- const handleSkip = delta => {
44
- let newTime = currentTime + delta;
45
- if (newTime < 0) newTime = 0;
46
- if (newTime > duration) newTime = duration;
47
- videoRef?.current?.seek(newTime);
48
- setCurrentTime(newTime);
49
- };
50
- const isVideoEnded = duration > 0 && currentTime >= duration;
51
72
  return /*#__PURE__*/_jsxs(View, {
52
- style: [StyleSheet.absoluteFillObject, styles.container],
73
+ style: containerStyle,
53
74
  children: [/*#__PURE__*/_jsx(SkipButton, {
54
75
  direction: "backward",
55
76
  onPress: ({
@@ -57,30 +78,18 @@ const MiddleControls = () => {
57
78
  }) => handleSkip(-second),
58
79
  colors: colors,
59
80
  disabled: currentTime <= 0
60
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
61
- onPress: () => {
62
- if (isBuffering) return;
63
- if (isVideoEnded) {
64
- videoRef.current?.seek(0);
65
- setCurrentTime(0);
66
- setIsPaused(false);
67
- setStartWatchTime(Date.now());
68
- return;
69
- }
70
- if (!isPaused) {
71
- handlePause();
72
- setIsPaused(true);
73
- } else {
74
- setIsPaused(false);
75
- setStartWatchTime(Date.now());
76
- }
77
- },
81
+ }), isBuffering ? /*#__PURE__*/_jsx(View, {
82
+ style: [styles.button, styles.playButton],
83
+ children: /*#__PURE__*/_jsx(RotatingLoader, {
84
+ color: colors.text,
85
+ autoRotate: isBuffering,
86
+ size: scale(50)
87
+ })
88
+ }) : /*#__PURE__*/_jsx(TouchableOpacity, {
89
+ onPress: handlePlayPause,
78
90
  style: [styles.button, styles.playButton],
79
91
  activeOpacity: 0.8,
80
- children: isBuffering ? /*#__PURE__*/_jsx(ActivityIndicator, {
81
- size: scale(50),
82
- color: colors.text
83
- }) : isPaused ? /*#__PURE__*/_jsx(Play, {
92
+ children: isPaused ? /*#__PURE__*/_jsx(Play, {
84
93
  size: scale(50),
85
94
  color: colors.text
86
95
  }) : /*#__PURE__*/_jsx(Pause, {
@@ -109,7 +118,7 @@ const SkipButton = ({
109
118
  const timeoutRef = useRef(null);
110
119
  const handlePress = () => {
111
120
  if (disabled) return;
112
- const newStep = step + 10;
121
+ const newStep = step + SKIP_INCREMENT;
113
122
  setStep(newStep);
114
123
  onPress({
115
124
  second: newStep
@@ -138,9 +147,7 @@ const SkipButton = ({
138
147
  });
139
148
  return /*#__PURE__*/_jsxs(TouchableOpacity, {
140
149
  onPress: handlePress,
141
- style: [styles.button, styles.smallButton, disabled && {
142
- opacity: 0.3
143
- }],
150
+ style: [styles.button, styles.smallButton, disabled && styles.disabledButton],
144
151
  activeOpacity: disabled ? 1 : 0.7,
145
152
  disabled: disabled,
146
153
  children: [direction === 'forward' ? /*#__PURE__*/_jsx(RotateCw, {
@@ -189,6 +196,9 @@ const styles = StyleSheet.create({
189
196
  height: SMALL_BUTTON_SIZE,
190
197
  marginHorizontal: moderateScale(10)
191
198
  },
199
+ disabledButton: {
200
+ opacity: 0.3
201
+ },
192
202
  errorText: {
193
203
  fontSize: RFValue(18),
194
204
  fontWeight: '600',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useRef","ActivityIndicator","StyleSheet","Text","TouchableOpacity","View","Animated","Easing","moderateScale","scale","RFValue","Play","Pause","RotateCcw","RotateCw","useVideoPlayerStore","videoRef","handlePause","useVideoPlayerConfig","jsx","_jsx","jsxs","_jsxs","BUTTON_SIZE","SMALL_BUTTON_SIZE","FEEDBACK_DURATION","MOVE_DISTANCE","MiddleControls","isPaused","isBuffering","setStartWatchTime","error","setIsPaused","duration","currentTime","setCurrentTime","colors","style","absoluteFillObject","styles","container","children","errorText","color","text","handleSkip","delta","newTime","current","seek","isVideoEnded","SkipButton","direction","onPress","second","disabled","Date","now","button","playButton","activeOpacity","size","step","setStep","anim","Value","timeoutRef","handlePress","newStep","setValue","timing","toValue","easing","out","quad","useNativeDriver","start","clearTimeout","setTimeout","translateX","interpolate","inputRange","outputRange","opacity","scaleAnim","smallButton","feedbackOverlay","transform","feedbackText","create","flex","flexDirection","justifyContent","alignItems","borderRadius","width","height","marginHorizontal","fontSize","fontWeight","textAlign","paddingHorizontal","position"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MiddleControls.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useRef","useMemo","StyleSheet","Text","TouchableOpacity","View","Animated","Easing","moderateScale","scale","RFValue","Play","Pause","RotateCcw","RotateCw","useVideoPlayerStore","videoRef","handlePause","useVideoPlayerConfig","RotatingLoader","globalStyles","jsx","_jsx","jsxs","_jsxs","BUTTON_SIZE","SMALL_BUTTON_SIZE","FEEDBACK_DURATION","MOVE_DISTANCE","SKIP_INCREMENT","MiddleControls","isPaused","isBuffering","setStartWatchTime","error","setIsPaused","duration","currentTime","setCurrentTime","colors","isVideoEnded","handleSkip","delta","newTime","current","seek","handlePlayPause","Date","now","containerStyle","absoluteFill","styles","container","style","children","errorText","color","text","SkipButton","direction","onPress","second","disabled","button","playButton","autoRotate","size","activeOpacity","step","setStep","anim","Value","timeoutRef","handlePress","newStep","setValue","timing","toValue","easing","out","quad","useNativeDriver","start","clearTimeout","setTimeout","translateX","interpolate","inputRange","outputRange","opacity","scaleAnim","smallButton","disabledButton","feedbackOverlay","transform","feedbackText","create","flex","flexDirection","justifyContent","alignItems","borderRadius","width","height","marginHorizontal","fontSize","fontWeight","textAlign","paddingHorizontal","position"],"sourceRoot":"../../../../src","sources":["VideoPlayer/MediaControls/MiddleControls.tsx"],"mappings":"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","ignoreList":[]}