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

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 (437) hide show
  1. package/lib/module/Styles/globalStyles.js +0 -5
  2. package/lib/module/Styles/globalStyles.js.map +1 -1
  3. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +64 -40
  4. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
  5. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +5 -2
  6. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  7. package/lib/module/components/Auth/Login/LoginWithEmail.js +17 -11
  8. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  9. package/lib/module/components/Auth/Login/LoginWithPhone.js +12 -6
  10. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  11. package/lib/module/components/Auth/OTP/OTP.js +7 -4
  12. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  13. package/lib/module/components/Auth/QrLogin/QrLogin.js +357 -144
  14. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  15. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +227 -110
  16. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -1
  17. package/lib/module/components/Auth/SignUp/SignUp.js +19 -13
  18. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  19. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +54 -36
  20. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  21. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +29 -11
  22. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
  23. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js +13 -7
  24. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
  25. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +33 -21
  26. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  27. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +26 -20
  28. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  29. package/lib/module/components/BlogView/BlogView.js +36 -20
  30. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  31. package/lib/module/components/Button/BackBtn.js +24 -20
  32. package/lib/module/components/Button/BackBtn.js.map +1 -1
  33. package/lib/module/components/Button/PrimaryBtn.js +19 -13
  34. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  35. package/lib/module/components/Button/SecondaryBtn.js +19 -13
  36. package/lib/module/components/Button/SecondaryBtn.js.map +1 -1
  37. package/lib/module/components/Button/TextButton.js +19 -13
  38. package/lib/module/components/Button/TextButton.js.map +1 -1
  39. package/lib/module/components/Content/Card/Category/Category.js +151 -46
  40. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  41. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +237 -108
  42. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  43. package/lib/module/components/Content/Card/Sliders/Styles/One.js +200 -133
  44. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  45. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +192 -84
  46. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  47. package/lib/module/components/Content/Card/Styles/Five.js +131 -48
  48. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  49. package/lib/module/components/Content/Card/Styles/Four.js +126 -59
  50. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  51. package/lib/module/components/Content/Card/Styles/One.js +125 -50
  52. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  53. package/lib/module/components/Content/Card/Styles/RotateInOut.js +143 -65
  54. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  55. package/lib/module/components/Content/Card/Styles/Six.js +207 -115
  56. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  57. package/lib/module/components/Content/Card/Styles/Three.js +134 -79
  58. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  59. package/lib/module/components/Content/Card/Styles/TopTen.js +186 -171
  60. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  61. package/lib/module/components/Content/Card/Styles/Two.js +144 -64
  62. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  63. package/lib/module/components/Content/Card/components/AdsPoster.js +162 -0
  64. package/lib/module/components/Content/Card/components/AdsPoster.js.map +1 -0
  65. package/lib/module/components/Content/Card/components/CardPoster.js +139 -93
  66. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  67. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js +18 -17
  68. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js.map +1 -1
  69. package/lib/module/components/Content/Card/components/ThumbnailCard.js +78 -28
  70. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  71. package/lib/module/components/Content/Card/components/index.js +4 -0
  72. package/lib/module/components/Content/Card/components/index.js.map +1 -0
  73. package/lib/module/components/Content/Content.js +99 -40
  74. package/lib/module/components/Content/Content.js.map +1 -1
  75. package/lib/module/components/Content/Sections.js +63 -34
  76. package/lib/module/components/Content/Sections.js.map +1 -1
  77. package/lib/module/components/ContentView/ContentView.js +70 -41
  78. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  79. package/lib/module/components/ContentView/MoreContentList.js +74 -40
  80. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  81. package/lib/module/components/ContentView/components/AboutSection.js +40 -19
  82. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  83. package/lib/module/components/ContentView/components/CastCard.js +6 -7
  84. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  85. package/lib/module/components/ContentView/components/EpisodeCard.js +2 -2
  86. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  87. package/lib/module/components/ContentView/components/GenreTags.js +25 -13
  88. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  89. package/lib/module/components/ContentView/components/HeroBanner.js +39 -11
  90. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  91. package/lib/module/components/ContentView/components/MiniInfo.js +84 -77
  92. package/lib/module/components/ContentView/components/MiniInfo.js.map +1 -1
  93. package/lib/module/components/ContentView/components/PlayButton.js +11 -7
  94. package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
  95. package/lib/module/components/ContentView/components/Title.js +12 -12
  96. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  97. package/lib/module/components/ContentView/components/TrailerButton.js +12 -7
  98. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  99. package/lib/module/components/Fallbacks/NoContentFallback.js +27 -22
  100. package/lib/module/components/Fallbacks/NoContentFallback.js.map +1 -1
  101. package/lib/module/components/Fallbacks/NotFoundFallback.js +6 -4
  102. package/lib/module/components/Fallbacks/NotFoundFallback.js.map +1 -1
  103. package/lib/module/components/Headers/AppHeader.js +22 -13
  104. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  105. package/lib/module/components/Headers/Three.js +6 -5
  106. package/lib/module/components/Headers/Three.js.map +1 -1
  107. package/lib/module/components/Headers/Two.js +19 -14
  108. package/lib/module/components/Headers/Two.js.map +1 -1
  109. package/lib/module/components/Input/InputOne.js +46 -31
  110. package/lib/module/components/Input/InputOne.js.map +1 -1
  111. package/lib/module/components/Loader/Loader.js +2 -2
  112. package/lib/module/components/Loader/Loader.js.map +1 -1
  113. package/lib/module/components/Logo/Logo.js +17 -14
  114. package/lib/module/components/Logo/Logo.js.map +1 -1
  115. package/lib/module/components/Search/One.js +2 -1
  116. package/lib/module/components/Search/One.js.map +1 -1
  117. package/lib/module/components/Search/components/SearchCard.js +15 -19
  118. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  119. package/lib/module/components/Settings/AppSettings.js +97 -62
  120. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  121. package/lib/module/components/Subscription/SubOne.js +313 -254
  122. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  123. package/lib/module/components/Text/Text.js +15 -12
  124. package/lib/module/components/Text/Text.js.map +1 -1
  125. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +25 -23
  126. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  127. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +23 -18
  128. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -1
  129. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js +38 -24
  130. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js.map +1 -1
  131. package/lib/module/components/User/WatchHistory/WatchHistory.js +21 -14
  132. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  133. package/lib/module/components/User/WatchLater/WatchLater.js +30 -21
  134. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  135. package/lib/module/components/User/components/UserAvatar.js +38 -19
  136. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  137. package/lib/module/components/User/components/UserSection.js +37 -17
  138. package/lib/module/components/User/components/UserSection.js.map +1 -1
  139. package/lib/module/components/View/View.js +7 -4
  140. package/lib/module/components/View/View.js.map +1 -1
  141. package/lib/module/components/index.js +0 -1
  142. package/lib/module/components/index.js.map +1 -1
  143. package/lib/module/constants/dummySections.js +44 -4
  144. package/lib/module/constants/dummySections.js.map +1 -1
  145. package/lib/module/hooks/Images/index.js +5 -0
  146. package/lib/module/hooks/Images/index.js.map +1 -0
  147. package/lib/module/hooks/Images/useImageLoader.js +168 -0
  148. package/lib/module/hooks/Images/useImageLoader.js.map +1 -0
  149. package/lib/module/hooks/Images/useImageValidation.js +36 -0
  150. package/lib/module/hooks/Images/useImageValidation.js.map +1 -0
  151. package/lib/module/hooks/index.js +20 -0
  152. package/lib/module/hooks/index.js.map +1 -0
  153. package/lib/module/hooks/useAdTracking.js +270 -0
  154. package/lib/module/hooks/useAdTracking.js.map +1 -0
  155. package/lib/module/hooks/useCards.js +164 -0
  156. package/lib/module/hooks/useCards.js.map +1 -0
  157. package/lib/module/hooks/useDebounce.js +25 -6
  158. package/lib/module/hooks/useDebounce.js.map +1 -1
  159. package/lib/module/hooks/useKeyboard.js +7 -4
  160. package/lib/module/hooks/useKeyboard.js.map +1 -1
  161. package/lib/module/hooks/useNavigationMode.js +10 -4
  162. package/lib/module/hooks/useNavigationMode.js.map +1 -1
  163. package/lib/module/hooks/usePaginatedSection.js +12 -7
  164. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  165. package/lib/module/hooks/usePrevious.js +30 -0
  166. package/lib/module/hooks/usePrevious.js.map +1 -0
  167. package/lib/module/hooks/useSafeCallback.js +33 -0
  168. package/lib/module/hooks/useSafeCallback.js.map +1 -0
  169. package/lib/module/hooks/useSkeletonItems.js +33 -0
  170. package/lib/module/hooks/useSkeletonItems.js.map +1 -0
  171. package/lib/module/hooks/useSplashCache.js +2 -1
  172. package/lib/module/hooks/useSplashCache.js.map +1 -1
  173. package/lib/module/hooks/useThemeColors.js +33 -0
  174. package/lib/module/hooks/useThemeColors.js.map +1 -0
  175. package/lib/module/theme/ThemeProvider.js +17 -11
  176. package/lib/module/theme/ThemeProvider.js.map +1 -1
  177. package/lib/module/theme/hook/useInternalTheme.js +18 -11
  178. package/lib/module/theme/hook/useInternalTheme.js.map +1 -1
  179. package/lib/module/theme/hook/useThemeStatusBar.js +10 -4
  180. package/lib/module/theme/hook/useThemeStatusBar.js.map +1 -1
  181. package/lib/typescript/src/Styles/globalStyles.d.ts +0 -5
  182. package/lib/typescript/src/Styles/globalStyles.d.ts.map +1 -1
  183. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -1
  184. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  185. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  186. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  187. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  188. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +2 -15
  189. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  190. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +0 -1
  191. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  192. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  193. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  194. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  195. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -1
  196. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  197. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  198. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +1 -1
  199. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  200. package/lib/typescript/src/components/BlogView/BlogView.d.ts +2 -1
  201. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  202. package/lib/typescript/src/components/Button/BackBtn.d.ts +2 -2
  203. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  204. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +2 -1
  205. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  206. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts +2 -1
  207. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts.map +1 -1
  208. package/lib/typescript/src/components/Button/TextButton.d.ts +2 -2
  209. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  210. package/lib/typescript/src/components/Button/index.d.ts +2 -2
  211. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  212. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  213. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  214. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  215. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +13 -1
  216. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  217. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts +13 -1
  218. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts +15 -3
  220. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts +13 -1
  222. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts +1 -0
  224. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  225. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts +13 -5
  226. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts +1 -0
  228. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts +13 -1
  230. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  231. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts +26 -0
  232. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts.map +1 -0
  233. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +3 -1
  234. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts +2 -2
  236. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts.map +1 -1
  237. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts +2 -0
  238. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Content/Card/components/index.d.ts +2 -0
  240. package/lib/typescript/src/components/Content/Card/components/index.d.ts.map +1 -0
  241. package/lib/typescript/src/components/Content/Card/index.d.ts +76 -6
  242. package/lib/typescript/src/components/Content/Card/index.d.ts.map +1 -1
  243. package/lib/typescript/src/components/Content/Content.d.ts +6 -3
  244. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  245. package/lib/typescript/src/components/Content/Sections.d.ts +22 -8
  246. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  247. package/lib/typescript/src/components/ContentView/ContentView.d.ts +6 -1
  248. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  249. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  250. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +2 -1
  251. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  252. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +6 -1
  253. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  254. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +2 -1
  255. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  256. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
  257. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  258. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +2 -1
  259. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  260. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts +1 -1
  261. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts.map +1 -1
  262. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +2 -1
  263. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
  264. package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
  265. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  266. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +2 -1
  267. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  268. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts +2 -1
  269. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts.map +1 -1
  270. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts +1 -1
  271. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts.map +1 -1
  272. package/lib/typescript/src/components/Headers/AppHeader.d.ts +2 -2
  273. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  274. package/lib/typescript/src/components/Headers/Three.d.ts +2 -2
  275. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  276. package/lib/typescript/src/components/Headers/Two.d.ts +2 -2
  277. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  278. package/lib/typescript/src/components/Headers/index.d.ts +2 -2
  279. package/lib/typescript/src/components/Input/Input.d.ts +1 -1
  280. package/lib/typescript/src/components/Input/InputOne.d.ts +2 -2
  281. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  282. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  283. package/lib/typescript/src/components/Logo/Logo.d.ts +2 -1
  284. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  285. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  286. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +2 -5
  287. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  288. package/lib/typescript/src/components/Search/index.d.ts +1 -1
  289. package/lib/typescript/src/components/Settings/AppSettings.d.ts +2 -2
  290. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  291. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  292. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  293. package/lib/typescript/src/components/Text/Text.d.ts +2 -2
  294. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  295. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +1 -1
  296. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  297. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +1 -1
  298. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -1
  299. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts +1 -1
  300. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts.map +1 -1
  301. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +1 -1
  302. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  303. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +1 -1
  304. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  305. package/lib/typescript/src/components/User/components/UserAvatar.d.ts +1 -1
  306. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  307. package/lib/typescript/src/components/User/components/UserSection.d.ts +1 -1
  308. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  309. package/lib/typescript/src/components/View/View.d.ts +2 -0
  310. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  311. package/lib/typescript/src/components/index.d.ts +0 -1
  312. package/lib/typescript/src/components/index.d.ts.map +1 -1
  313. package/lib/typescript/src/constants/dummySections.d.ts +5 -0
  314. package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
  315. package/lib/typescript/src/hooks/Images/index.d.ts +3 -0
  316. package/lib/typescript/src/hooks/Images/index.d.ts.map +1 -0
  317. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts +36 -0
  318. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts.map +1 -0
  319. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts +17 -0
  320. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts.map +1 -0
  321. package/lib/typescript/src/hooks/index.d.ts +17 -0
  322. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  323. package/lib/typescript/src/hooks/useAdTracking.d.ts +39 -0
  324. package/lib/typescript/src/hooks/useAdTracking.d.ts.map +1 -0
  325. package/lib/typescript/src/hooks/useCards.d.ts +36 -0
  326. package/lib/typescript/src/hooks/useCards.d.ts.map +1 -0
  327. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
  328. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  329. package/lib/typescript/src/hooks/useNavigationMode.d.ts.map +1 -1
  330. package/lib/typescript/src/hooks/usePaginatedSection.d.ts +12 -2
  331. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  332. package/lib/typescript/src/hooks/usePrevious.d.ts +12 -0
  333. package/lib/typescript/src/hooks/usePrevious.d.ts.map +1 -0
  334. package/lib/typescript/src/hooks/useSafeCallback.d.ts +15 -0
  335. package/lib/typescript/src/hooks/useSafeCallback.d.ts.map +1 -0
  336. package/lib/typescript/src/hooks/useSkeletonItems.d.ts +11 -0
  337. package/lib/typescript/src/hooks/useSkeletonItems.d.ts.map +1 -0
  338. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
  339. package/lib/typescript/src/hooks/useThemeColors.d.ts +27 -0
  340. package/lib/typescript/src/hooks/useThemeColors.d.ts.map +1 -0
  341. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  342. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -1
  343. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +1 -1
  344. package/lib/typescript/src/types/sections/index.d.ts +7 -4
  345. package/lib/typescript/src/types/sections/index.d.ts.map +1 -1
  346. package/package.json +6 -3
  347. package/src/Styles/globalStyles.ts +0 -5
  348. package/src/components/Auth/AuthProvider/AuthProvider.tsx +288 -212
  349. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +11 -4
  350. package/src/components/Auth/Login/LoginWithEmail.tsx +266 -238
  351. package/src/components/Auth/Login/LoginWithPhone.tsx +18 -6
  352. package/src/components/Auth/OTP/OTP.tsx +21 -5
  353. package/src/components/Auth/QrLogin/QrLogin.tsx +477 -177
  354. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +349 -139
  355. package/src/components/Auth/SignUp/SignUp.tsx +312 -293
  356. package/src/components/Auth/SplashScreen/SplashScreen.tsx +186 -131
  357. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +32 -15
  358. package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +11 -5
  359. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +34 -18
  360. package/src/components/BackgroundLayout/BackgroundLayout.tsx +43 -37
  361. package/src/components/BlogView/BlogView.tsx +66 -30
  362. package/src/components/Button/BackBtn.tsx +64 -34
  363. package/src/components/Button/PrimaryBtn.tsx +42 -25
  364. package/src/components/Button/SecondaryBtn.tsx +41 -25
  365. package/src/components/Button/TextButton.tsx +54 -32
  366. package/src/components/Content/Card/Category/Category.tsx +189 -64
  367. package/src/components/Content/Card/NowWatching/NowWatching.tsx +281 -136
  368. package/src/components/Content/Card/Sliders/Styles/One.tsx +270 -158
  369. package/src/components/Content/Card/Sliders/Styles/Two.tsx +239 -90
  370. package/src/components/Content/Card/Styles/Five.tsx +161 -62
  371. package/src/components/Content/Card/Styles/Four.tsx +164 -85
  372. package/src/components/Content/Card/Styles/One.tsx +161 -71
  373. package/src/components/Content/Card/Styles/RotateInOut.tsx +162 -67
  374. package/src/components/Content/Card/Styles/Six.tsx +242 -142
  375. package/src/components/Content/Card/Styles/Three.tsx +166 -133
  376. package/src/components/Content/Card/Styles/TopTen.tsx +230 -191
  377. package/src/components/Content/Card/Styles/Two.tsx +182 -79
  378. package/src/components/Content/Card/components/AdsPoster.tsx +202 -0
  379. package/src/components/Content/Card/components/CardPoster.tsx +166 -105
  380. package/src/components/Content/Card/components/RentOrBuyIcon.tsx +58 -38
  381. package/src/components/Content/Card/components/ThumbnailCard.tsx +122 -47
  382. package/src/components/Content/Card/components/index.ts +1 -0
  383. package/src/components/Content/Content.tsx +211 -106
  384. package/src/components/Content/Sections.tsx +148 -51
  385. package/src/components/ContentView/ContentView.tsx +194 -128
  386. package/src/components/ContentView/MoreContentList.tsx +215 -151
  387. package/src/components/ContentView/components/AboutSection.tsx +132 -93
  388. package/src/components/ContentView/components/CastCard.tsx +148 -138
  389. package/src/components/ContentView/components/EpisodeCard.tsx +160 -155
  390. package/src/components/ContentView/components/GenreTags.tsx +68 -53
  391. package/src/components/ContentView/components/HeroBanner.tsx +326 -284
  392. package/src/components/ContentView/components/MiniInfo.tsx +181 -159
  393. package/src/components/ContentView/components/PlayButton.tsx +27 -16
  394. package/src/components/ContentView/components/Title.tsx +89 -72
  395. package/src/components/ContentView/components/TrailerButton.tsx +35 -22
  396. package/src/components/Fallbacks/NoContentFallback.tsx +107 -103
  397. package/src/components/Fallbacks/NotFoundFallback.tsx +12 -4
  398. package/src/components/Headers/AppHeader.tsx +42 -26
  399. package/src/components/Headers/Three.tsx +12 -8
  400. package/src/components/Headers/Two.tsx +31 -10
  401. package/src/components/Input/InputOne.tsx +136 -108
  402. package/src/components/Loader/Loader.tsx +2 -2
  403. package/src/components/Logo/Logo.tsx +43 -27
  404. package/src/components/Search/One.tsx +2 -4
  405. package/src/components/Search/components/SearchCard.tsx +19 -13
  406. package/src/components/Settings/AppSettings.tsx +217 -128
  407. package/src/components/Subscription/SubOne.tsx +394 -317
  408. package/src/components/Text/Text.tsx +33 -22
  409. package/src/components/User/DeviceSessions/DeviceSessions.tsx +129 -102
  410. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +36 -17
  411. package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +194 -140
  412. package/src/components/User/WatchHistory/WatchHistory.tsx +63 -36
  413. package/src/components/User/WatchLater/WatchLater.tsx +119 -81
  414. package/src/components/User/components/UserAvatar.tsx +49 -15
  415. package/src/components/User/components/UserSection.tsx +71 -37
  416. package/src/components/View/View.tsx +10 -2
  417. package/src/components/index.ts +0 -1
  418. package/src/constants/dummySections.ts +48 -1
  419. package/src/hooks/Images/index.ts +2 -0
  420. package/src/hooks/Images/useImageLoader.ts +206 -0
  421. package/src/hooks/Images/useImageValidation.ts +36 -0
  422. package/src/hooks/index.ts +17 -0
  423. package/src/hooks/useAdTracking.ts +349 -0
  424. package/src/hooks/useCards.ts +228 -0
  425. package/src/hooks/useDebounce.ts +25 -6
  426. package/src/hooks/useKeyboard.ts +12 -5
  427. package/src/hooks/useNavigationMode.ts +16 -5
  428. package/src/hooks/usePaginatedSection.ts +27 -8
  429. package/src/hooks/usePrevious.ts +28 -0
  430. package/src/hooks/useSafeCallback.ts +43 -0
  431. package/src/hooks/useSkeletonItems.ts +30 -0
  432. package/src/hooks/useSplashCache.ts +2 -1
  433. package/src/hooks/useThemeColors.ts +51 -0
  434. package/src/theme/ThemeProvider.tsx +25 -9
  435. package/src/theme/hook/useInternalTheme.ts +19 -13
  436. package/src/theme/hook/useThemeStatusBar.ts +14 -5
  437. package/src/types/sections/index.ts +7 -4
@@ -10,21 +10,43 @@ import { View, FlatList, TouchableOpacity, StyleSheet, ScrollView } from 'react-
10
10
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
11
11
  import { moderateScale, verticalScale } from 'react-native-size-matters';
12
12
  import FastImage from 'react-native-fast-image';
13
+ import { RFValue } from 'react-native-responsive-fontsize';
13
14
  import CardPoster from "../components/CardPoster.js";
14
15
  import NavigateToMore from "../components/NavigateToMore.js";
15
- import { usePaginatedSection } from "../../../../hooks/usePaginatedSection.js";
16
+ import { AdsPoster } from "../components/index.js";
16
17
  import { useInternalTheme } from "../../../../theme/hook/useInternalTheme.js";
17
- import { RFValue } from 'react-native-responsive-fontsize';
18
+ import { useCards } from "../../../../hooks/index.js";
19
+
20
+ // Constants
18
21
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
22
  const DEFAULT_ITEM_WIDTH = moderateScale(140);
20
23
  const DEFAULT_BORDER_RADIUS = moderateScale(5);
21
24
  const DEFAULT_SKELETON_COUNT = 3;
25
+ const ASPECT_RATIO = 0.67;
26
+ const END_REACHED_THRESHOLD = 0.5;
27
+ const ITEM_ACTIVE_OPACITY = 0.8;
28
+ const INITIAL_NUM_TO_RENDER = 5;
29
+ const SKELETON_TITLE_WIDTH = moderateScale(100);
30
+ const SKELETON_TITLE_HEIGHT = moderateScale(20);
31
+ const SKELETON_TITLE_BORDER_RADIUS = moderateScale(4);
32
+ const SKELETON_TITLE_MARGIN_HORIZONTAL = moderateScale(15);
33
+ const SKELETON_TITLE_MARGIN_BOTTOM = verticalScale(6);
34
+ const SKELETON_ITEM_MARGIN_LEFT = moderateScale(12);
35
+ const SKELETON_ITEM_MARGIN_RIGHT = moderateScale(12);
36
+ const ITEM_MARGIN_LEFT = moderateScale(10);
37
+ const ITEM_MARGIN_BOTTOM = verticalScale(2);
38
+ const LIST_CONTENT_PADDING_RIGHT = moderateScale(15);
39
+ const SKELETON_LIST_PADDING_RIGHT = moderateScale(15);
40
+
41
+ // Types
42
+
43
+ // Main Component
22
44
  const MovieCardFive = ({
23
45
  theme,
24
46
  title,
25
47
  section_id,
26
48
  type,
27
- data: initialData,
49
+ data: externalData,
28
50
  moreFetchData,
29
51
  onPressItem,
30
52
  onPressMore,
@@ -32,25 +54,47 @@ const MovieCardFive = ({
32
54
  itemWidth = DEFAULT_ITEM_WIDTH,
33
55
  borderRadius = DEFAULT_BORDER_RADIUS,
34
56
  skeletonCount = DEFAULT_SKELETON_COUNT,
57
+ paginationSkeletonCount,
35
58
  containerStyle,
36
59
  titleStyle,
37
60
  itemStyle,
38
61
  isLoading = false,
39
62
  accessibilityLabel,
40
- accessibilityHint
63
+ accessibilityHint,
64
+ onDisplayAds,
65
+ screenDimensions,
66
+ viewportOffsets
41
67
  }) => {
68
+ // Refs
69
+ const flatListRef = useRef(null);
70
+ const onEndReachedCalledDuringMomentum = useRef(false);
71
+
72
+ // Theme
42
73
  const {
43
74
  theme: appliedTheme
44
75
  } = useInternalTheme(theme);
45
- const flatListRef = useRef(null);
46
- const onEndReachedCalledDuringMomentum = useRef(false);
76
+
77
+ // Styles
47
78
  const styles = useMemo(() => getStyles(appliedTheme, itemWidth, borderRadius), [appliedTheme, itemWidth, borderRadius]);
79
+
80
+ // Data Management
48
81
  const {
49
- data,
82
+ listData,
50
83
  pagination,
51
- loading: isPaginating,
52
- loadMoreData
53
- } = usePaginatedSection(section_id, moreFetchData, initialData?.data, isLoading);
84
+ loadMore,
85
+ isEmpty,
86
+ isPaging: isPaginating
87
+ } = useCards({
88
+ sectionId: section_id,
89
+ data: externalData,
90
+ fetchMore: moreFetchData,
91
+ loading: isLoading,
92
+ initialSkeleton: skeletonCount,
93
+ pagingSkeleton: paginationSkeletonCount,
94
+ adsRender: true
95
+ });
96
+
97
+ // Event Handlers
54
98
  const handleItemPress = useCallback(item => onPressItem?.(item), [onPressItem]);
55
99
  const handlePressMore = useCallback(() => {
56
100
  onPressMore?.({
@@ -62,48 +106,89 @@ const MovieCardFive = ({
62
106
  const handleEndReached = useCallback(() => {
63
107
  if (!onEndReachedCalledDuringMomentum.current && pagination?.hasNextPage && pagination?.nextPage) {
64
108
  onEndReachedCalledDuringMomentum.current = true;
65
- loadMoreData(pagination.nextPage);
109
+ loadMore(pagination.nextPage);
66
110
  }
67
- }, [loadMoreData, pagination]);
111
+ }, [loadMore, pagination]);
112
+ const handleScrollBeginDrag = useCallback(() => {
113
+ onEndReachedCalledDuringMomentum.current = false;
114
+ }, []);
115
+ const handleMomentumScrollBegin = useCallback(() => {
116
+ onEndReachedCalledDuringMomentum.current = false;
117
+ }, []);
118
+
119
+ // Render Functions
68
120
  const renderItem = useCallback(({
69
121
  item,
70
122
  index
71
123
  }) => {
124
+ // Handle ads
125
+ if ('type' in item && item.type === 'ads') {
126
+ const adItem = item;
127
+ return /*#__PURE__*/_jsx(View, {
128
+ style: [styles.item, itemStyle],
129
+ children: /*#__PURE__*/_jsx(AdsPoster, {
130
+ ad: adItem,
131
+ theme: appliedTheme,
132
+ isLoading: isLoading,
133
+ containerStyle: {
134
+ width: itemWidth,
135
+ aspectRatio: ASPECT_RATIO
136
+ },
137
+ imageStyle: styles.image,
138
+ borderRadius: borderRadius,
139
+ onDisplayAds: onDisplayAds,
140
+ screenDimensions: screenDimensions,
141
+ viewportOffsets: viewportOffsets
142
+ })
143
+ }, `ad-${adItem.tracking?.impression || index}`);
144
+ }
145
+ // Handle content items
146
+ const contentItem = item;
147
+ const isSkeleton = contentItem._id?.startsWith?.('pagination-skeleton') ?? false;
72
148
  return /*#__PURE__*/_jsx(TouchableOpacity, {
73
149
  style: [styles.item, itemStyle],
74
- onPress: () => handleItemPress(item),
75
- activeOpacity: 0.8,
150
+ onPress: () => {
151
+ if (!isSkeleton && !isLoading) {
152
+ handleItemPress(contentItem);
153
+ }
154
+ },
155
+ activeOpacity: ITEM_ACTIVE_OPACITY,
76
156
  children: renderItemImage ? renderItemImage({
77
157
  item,
78
158
  index
79
159
  }) : /*#__PURE__*/_jsx(CardPoster, {
80
- content_offering_type: item.content_offering_type,
81
- posterUri: item.poster,
160
+ content_offering_type: contentItem.content_offering_type,
161
+ posterUri: contentItem.poster,
82
162
  theme: appliedTheme,
83
163
  borderRadius: borderRadius,
84
164
  posterWrapperStyle: styles.image,
85
165
  resizeMode: FastImage.resizeMode.cover,
86
- isLoading: isLoading
166
+ isLoading: isSkeleton || isLoading
87
167
  })
88
- });
89
- }, [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress]);
90
- if (!initialData) {
91
- return null;
92
- }
93
- const renderSkeletonItem = ({
168
+ }, contentItem._id);
169
+ }, [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress, itemWidth, onDisplayAds, screenDimensions, viewportOffsets]);
170
+ const renderSkeletonItem = useCallback(({
94
171
  index
95
172
  }) => /*#__PURE__*/_jsx(SkeletonPlaceholder, {
96
173
  highlightColor: appliedTheme.colors.skeletonHighlightColor,
97
174
  backgroundColor: appliedTheme.colors.skeletonBaseColor,
98
175
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder.Item, {
99
176
  width: itemWidth,
100
- aspectRatio: 0.67,
177
+ aspectRatio: ASPECT_RATIO,
101
178
  borderRadius: borderRadius,
102
- marginLeft: index === 0 ? moderateScale(12) : 0,
103
- marginRight: moderateScale(12)
179
+ marginLeft: index === 0 ? SKELETON_ITEM_MARGIN_LEFT : 0,
180
+ marginRight: SKELETON_ITEM_MARGIN_RIGHT
104
181
  })
105
- }, `skeleton-${index}`);
106
- if (!isLoading && data.length === 0) return null;
182
+ }, `skeleton-${index}`), [appliedTheme, itemWidth, borderRadius]);
183
+ const keyExtractor = useCallback((item, index) => {
184
+ return '_id' in item ? item._id : `ad-${index}`;
185
+ }, []);
186
+
187
+ // Early Returns
188
+ if (!externalData) return null;
189
+ if (!isLoading && listData.length === 0 && !isEmpty) return null;
190
+
191
+ // Main Render
107
192
  return /*#__PURE__*/_jsx(View, {
108
193
  style: [styles.root, containerStyle],
109
194
  accessibilityLabel: accessibilityLabel || `Movie section: ${title}`,
@@ -113,11 +198,11 @@ const MovieCardFive = ({
113
198
  highlightColor: appliedTheme.colors.skeletonHighlightColor,
114
199
  backgroundColor: appliedTheme.colors.skeletonBaseColor,
115
200
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder.Item, {
116
- width: moderateScale(100),
117
- height: moderateScale(20),
118
- borderRadius: moderateScale(4),
119
- marginHorizontal: moderateScale(15),
120
- marginBottom: verticalScale(6)
201
+ width: SKELETON_TITLE_WIDTH,
202
+ height: SKELETON_TITLE_HEIGHT,
203
+ borderRadius: SKELETON_TITLE_BORDER_RADIUS,
204
+ marginHorizontal: SKELETON_TITLE_MARGIN_HORIZONTAL,
205
+ marginBottom: SKELETON_TITLE_MARGIN_BOTTOM
121
206
  })
122
207
  }), /*#__PURE__*/_jsx(ScrollView, {
123
208
  horizontal: true,
@@ -143,21 +228,17 @@ const MovieCardFive = ({
143
228
  }
144
229
  }), /*#__PURE__*/_jsx(FlatList, {
145
230
  ref: flatListRef,
146
- data: data,
231
+ data: listData,
147
232
  horizontal: true,
148
- keyExtractor: (item, index) => `${item._id}-${index}`,
233
+ keyExtractor: keyExtractor,
149
234
  renderItem: renderItem,
150
235
  showsHorizontalScrollIndicator: false,
151
236
  contentContainerStyle: styles.listContent,
152
- initialNumToRender: 5,
237
+ initialNumToRender: INITIAL_NUM_TO_RENDER,
153
238
  onEndReached: handleEndReached,
154
- onEndReachedThreshold: 0.5,
155
- onScrollBeginDrag: () => {
156
- onEndReachedCalledDuringMomentum.current = false;
157
- },
158
- onMomentumScrollBegin: () => {
159
- onEndReachedCalledDuringMomentum.current = false;
160
- },
239
+ onEndReachedThreshold: END_REACHED_THRESHOLD,
240
+ onScrollBeginDrag: handleScrollBeginDrag,
241
+ onMomentumScrollBegin: handleMomentumScrollBegin,
161
242
  ListFooterComponent: isPaginating ? renderSkeletonItem({
162
243
  index: 0
163
244
  }) : null
@@ -165,17 +246,19 @@ const MovieCardFive = ({
165
246
  })
166
247
  });
167
248
  };
249
+
250
+ // Styles
168
251
  const getStyles = (theme, width, radius) => StyleSheet.create({
169
252
  root: {
170
253
  marginVertical: verticalScale(6)
171
254
  },
172
255
  item: {
173
- marginLeft: moderateScale(10),
174
- marginBottom: verticalScale(2)
256
+ marginLeft: ITEM_MARGIN_LEFT,
257
+ marginBottom: ITEM_MARGIN_BOTTOM
175
258
  },
176
259
  image: {
177
260
  width,
178
- aspectRatio: 0.67,
261
+ aspectRatio: ASPECT_RATIO,
179
262
  borderRadius: radius,
180
263
  backgroundColor: theme.colors.surfaceVariant
181
264
  },
@@ -188,12 +271,12 @@ const getStyles = (theme, width, radius) => StyleSheet.create({
188
271
  fontWeight: '600'
189
272
  },
190
273
  listContent: {
191
- paddingRight: moderateScale(15)
274
+ paddingRight: LIST_CONTENT_PADDING_RIGHT
192
275
  },
193
276
  skeletonList: {
194
277
  flexDirection: 'row',
195
278
  alignItems: 'flex-start',
196
- paddingRight: moderateScale(15)
279
+ paddingRight: SKELETON_LIST_PADDING_RIGHT
197
280
  }
198
281
  });
199
282
  export default /*#__PURE__*/memo(MovieCardFive);
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useCallback","useMemo","useRef","View","FlatList","TouchableOpacity","StyleSheet","ScrollView","SkeletonPlaceholder","moderateScale","verticalScale","FastImage","CardPoster","NavigateToMore","usePaginatedSection","useInternalTheme","RFValue","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_ITEM_WIDTH","DEFAULT_BORDER_RADIUS","DEFAULT_SKELETON_COUNT","MovieCardFive","theme","title","section_id","type","data","initialData","moreFetchData","onPressItem","onPressMore","renderItemImage","itemWidth","borderRadius","skeletonCount","containerStyle","titleStyle","itemStyle","isLoading","accessibilityLabel","accessibilityHint","appliedTheme","flatListRef","onEndReachedCalledDuringMomentum","styles","getStyles","pagination","loading","isPaginating","loadMoreData","handleItemPress","item","handlePressMore","name","handleEndReached","current","hasNextPage","nextPage","renderItem","index","style","onPress","activeOpacity","children","content_offering_type","posterUri","poster","posterWrapperStyle","image","resizeMode","cover","renderSkeletonItem","highlightColor","colors","skeletonHighlightColor","backgroundColor","skeletonBaseColor","Item","width","aspectRatio","marginLeft","marginRight","length","root","height","marginHorizontal","marginBottom","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","skeletonList","Array","from","map","_","color","textPrimary","navigateToMoreContainer","showAllProps","iconColor","ref","keyExtractor","_id","listContent","initialNumToRender","onEndReached","onEndReachedThreshold","onScrollBeginDrag","onMomentumScrollBegin","ListFooterComponent","radius","create","marginVertical","surfaceVariant","paddingHorizontal","fontSize","fontWeight","paddingRight","flexDirection","alignItems"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/Styles/Five.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useCallback","useMemo","useRef","View","FlatList","TouchableOpacity","StyleSheet","ScrollView","SkeletonPlaceholder","moderateScale","verticalScale","FastImage","RFValue","CardPoster","NavigateToMore","AdsPoster","useInternalTheme","useCards","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_ITEM_WIDTH","DEFAULT_BORDER_RADIUS","DEFAULT_SKELETON_COUNT","ASPECT_RATIO","END_REACHED_THRESHOLD","ITEM_ACTIVE_OPACITY","INITIAL_NUM_TO_RENDER","SKELETON_TITLE_WIDTH","SKELETON_TITLE_HEIGHT","SKELETON_TITLE_BORDER_RADIUS","SKELETON_TITLE_MARGIN_HORIZONTAL","SKELETON_TITLE_MARGIN_BOTTOM","SKELETON_ITEM_MARGIN_LEFT","SKELETON_ITEM_MARGIN_RIGHT","ITEM_MARGIN_LEFT","ITEM_MARGIN_BOTTOM","LIST_CONTENT_PADDING_RIGHT","SKELETON_LIST_PADDING_RIGHT","MovieCardFive","theme","title","section_id","type","data","externalData","moreFetchData","onPressItem","onPressMore","renderItemImage","itemWidth","borderRadius","skeletonCount","paginationSkeletonCount","containerStyle","titleStyle","itemStyle","isLoading","accessibilityLabel","accessibilityHint","onDisplayAds","screenDimensions","viewportOffsets","flatListRef","onEndReachedCalledDuringMomentum","appliedTheme","styles","getStyles","listData","pagination","loadMore","isEmpty","isPaging","isPaginating","sectionId","fetchMore","loading","initialSkeleton","pagingSkeleton","adsRender","handleItemPress","item","handlePressMore","name","handleEndReached","current","hasNextPage","nextPage","handleScrollBeginDrag","handleMomentumScrollBegin","renderItem","index","adItem","style","children","ad","width","aspectRatio","imageStyle","image","tracking","impression","contentItem","isSkeleton","_id","startsWith","onPress","activeOpacity","content_offering_type","posterUri","poster","posterWrapperStyle","resizeMode","cover","renderSkeletonItem","highlightColor","colors","skeletonHighlightColor","backgroundColor","skeletonBaseColor","Item","marginLeft","marginRight","keyExtractor","length","root","height","marginHorizontal","marginBottom","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","skeletonList","Array","from","map","_","color","textPrimary","navigateToMoreContainer","showAllProps","iconColor","ref","listContent","initialNumToRender","onEndReached","onEndReachedThreshold","onScrollBeginDrag","onMomentumScrollBegin","ListFooterComponent","radius","create","marginVertical","surfaceVariant","paddingHorizontal","fontSize","fontWeight","paddingRight","flexDirection","alignItems"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/Styles/Five.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,51 +9,90 @@ import React, { memo, useCallback, useMemo, useRef } from 'react';
9
9
  import { View, FlatList, TouchableOpacity, StyleSheet, ScrollView } from 'react-native';
10
10
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
11
11
  import { moderateScale, verticalScale } from 'react-native-size-matters';
12
- import { usePaginatedSection } from "../../../../hooks/usePaginatedSection.js";
13
- import NavigateToMore from "../components/NavigateToMore.js";
14
- import { useInternalTheme } from "../../../../theme/hook/useInternalTheme.js";
15
- import CardPoster from "../components/CardPoster.js";
16
12
  import FastImage from 'react-native-fast-image';
17
13
  import { RFValue } from 'react-native-responsive-fontsize';
14
+ import NavigateToMore from "../components/NavigateToMore.js";
15
+ import { AdsPoster } from "../components/index.js";
16
+ import CardPoster from "../components/CardPoster.js";
17
+ import { useInternalTheme } from "../../../../theme/hook/useInternalTheme.js";
18
+ import { useCards } from "../../../../hooks/index.js";
19
+
20
+ // Constants
18
21
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
- // default values
20
22
  const DEFAULT_ITEM_WIDTH = moderateScale(100);
21
23
  const DEFAULT_BORDER_RADIUS = moderateScale(5);
22
24
  const DEFAULT_SKELETON_COUNT = 5;
23
25
  const ASPECT_RATIO = 0.7 / 1;
26
+ const END_REACHED_THRESHOLD = 0.5;
27
+ const ITEM_ACTIVE_OPACITY = 0.8;
28
+ const SKELETON_TITLE_WIDTH = moderateScale(100);
29
+ const SKELETON_TITLE_HEIGHT = moderateScale(20);
30
+ const SKELETON_TITLE_BORDER_RADIUS = moderateScale(4);
31
+ const SKELETON_TITLE_MARGIN_HORIZONTAL = moderateScale(15);
32
+ const SKELETON_TITLE_MARGIN_BOTTOM = verticalScale(6);
33
+ const SKELETON_ITEM_MARGIN_LEFT = moderateScale(12);
34
+ const SKELETON_ITEM_MARGIN_RIGHT = moderateScale(12);
35
+ const ITEM_MARGIN_LEFT = moderateScale(10);
36
+ const LIST_CONTENT_PADDING_RIGHT = moderateScale(12);
37
+ const SKELETON_LIST_PADDING_RIGHT = moderateScale(15);
38
+
39
+ // Types
40
+
41
+ // Main Component
24
42
  const MovieCardFour = ({
25
43
  title,
26
44
  section_id,
27
45
  type,
28
- data: initialData,
46
+ data: externalData,
29
47
  moreFetchData,
30
48
  onPressItem,
31
49
  onPressMore,
32
- renderItemImage,
33
50
  itemWidth = DEFAULT_ITEM_WIDTH,
34
51
  itemHeight = DEFAULT_ITEM_WIDTH / ASPECT_RATIO,
35
52
  borderRadius = DEFAULT_BORDER_RADIUS,
36
53
  skeletonCount = DEFAULT_SKELETON_COUNT,
37
54
  containerStyle,
55
+ paginationSkeletonCount,
38
56
  titleStyle,
39
57
  itemStyle,
40
58
  isLoading = false,
41
59
  theme,
42
60
  accessibilityLabel,
43
- accessibilityHint
61
+ accessibilityHint,
62
+ onDisplayAds,
63
+ screenDimensions,
64
+ viewportOffsets
44
65
  }) => {
66
+ // Refs
45
67
  const flatListRef = useRef(null);
46
68
  const onEndReachedCalledDuringMomentum = useRef(false);
69
+
70
+ // Theme
47
71
  const {
48
72
  theme: appliedTheme
49
73
  } = useInternalTheme(theme);
74
+
75
+ // Styles
50
76
  const styles = useMemo(() => getStyles(appliedTheme, itemWidth, itemHeight, borderRadius), [appliedTheme, itemWidth, itemHeight, borderRadius]);
77
+
78
+ // Data Management
51
79
  const {
52
- data,
80
+ listData,
53
81
  pagination,
54
- loading: isPaginating,
55
- loadMoreData
56
- } = usePaginatedSection(section_id, moreFetchData, initialData?.data || [], isLoading);
82
+ loadMore,
83
+ isEmpty,
84
+ isPaging: isPaginating
85
+ } = useCards({
86
+ sectionId: section_id,
87
+ data: externalData,
88
+ fetchMore: moreFetchData,
89
+ loading: isLoading,
90
+ initialSkeleton: skeletonCount,
91
+ pagingSkeleton: paginationSkeletonCount,
92
+ adsRender: true
93
+ });
94
+
95
+ // Event Handlers
57
96
  const handleItemPress = useCallback(item => onPressItem?.(item), [onPressItem]);
58
97
  const handlePressMore = useCallback(() => {
59
98
  onPressMore?.({
@@ -65,32 +104,62 @@ const MovieCardFour = ({
65
104
  const handleEndReached = useCallback(() => {
66
105
  if (!onEndReachedCalledDuringMomentum.current && pagination?.hasNextPage && pagination?.nextPage) {
67
106
  onEndReachedCalledDuringMomentum.current = true;
68
- loadMoreData(pagination.nextPage);
107
+ loadMore(pagination.nextPage);
69
108
  }
70
- }, [loadMoreData, pagination]);
109
+ }, [loadMore, pagination]);
110
+ const handleMomentumScrollBegin = useCallback(() => {
111
+ onEndReachedCalledDuringMomentum.current = false;
112
+ }, []);
113
+
114
+ // Render Functions
71
115
  const renderItem = useCallback(({
72
116
  item,
73
117
  index
74
118
  }) => {
119
+ // Handle ads
120
+ if ('type' in item && item.type === 'ads') {
121
+ const adItem = item;
122
+ return /*#__PURE__*/_jsx(View, {
123
+ style: [styles.item, itemStyle],
124
+ children: /*#__PURE__*/_jsx(AdsPoster, {
125
+ ad: adItem,
126
+ theme: appliedTheme,
127
+ isLoading: isLoading,
128
+ containerStyle: {
129
+ width: itemWidth,
130
+ height: itemHeight
131
+ },
132
+ imageStyle: styles.image,
133
+ borderRadius: borderRadius,
134
+ onDisplayAds: onDisplayAds,
135
+ screenDimensions: screenDimensions,
136
+ viewportOffsets: viewportOffsets
137
+ })
138
+ }, `ad-${adItem.tracking?.impression || index}`);
139
+ }
140
+ // Handle content items
141
+ const contentItem = item;
142
+ const isSkeleton = contentItem._id?.startsWith?.('pagination-skeleton') ?? false;
75
143
  return /*#__PURE__*/_jsx(TouchableOpacity, {
76
144
  style: [styles.item, itemStyle],
77
- onPress: () => handleItemPress(item),
78
- activeOpacity: 0.8,
79
- children: renderItemImage ? renderItemImage({
80
- item,
81
- index
82
- }) : /*#__PURE__*/_jsx(CardPoster, {
83
- content_offering_type: item.content_offering_type,
84
- posterUri: item.poster,
145
+ activeOpacity: ITEM_ACTIVE_OPACITY,
146
+ onPress: () => {
147
+ if (!isSkeleton && !isLoading) {
148
+ handleItemPress(contentItem);
149
+ }
150
+ },
151
+ children: /*#__PURE__*/_jsx(CardPoster, {
152
+ posterUri: contentItem.poster,
153
+ content_offering_type: contentItem.content_offering_type,
85
154
  theme: appliedTheme,
86
155
  borderRadius: borderRadius,
87
156
  posterWrapperStyle: styles.image,
88
157
  resizeMode: FastImage.resizeMode.cover,
89
- isLoading: isLoading
158
+ isLoading: isSkeleton || isLoading
90
159
  })
91
- });
92
- }, [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress]);
93
- const renderSkeletonItem = ({
160
+ }, contentItem._id);
161
+ }, [appliedTheme, styles, itemStyle, borderRadius, isLoading, handleItemPress, itemWidth, itemHeight, onDisplayAds, screenDimensions, viewportOffsets]);
162
+ const renderSkeletonItem = useCallback(({
94
163
  index
95
164
  }) => /*#__PURE__*/_jsx(SkeletonPlaceholder, {
96
165
  highlightColor: appliedTheme.colors.skeletonHighlightColor,
@@ -99,14 +168,19 @@ const MovieCardFour = ({
99
168
  width: itemWidth,
100
169
  height: itemHeight,
101
170
  borderRadius: borderRadius,
102
- marginLeft: index === 0 ? moderateScale(12) : 0,
103
- marginRight: moderateScale(12)
171
+ marginLeft: index === 0 ? SKELETON_ITEM_MARGIN_LEFT : 0,
172
+ marginRight: SKELETON_ITEM_MARGIN_RIGHT
104
173
  })
105
- }, `skeleton-${index}`);
106
- if (!initialData) {
107
- return null;
108
- }
109
- if (!isLoading && data.length === 0) return null;
174
+ }, `skeleton-${index}`), [appliedTheme, itemWidth, itemHeight, borderRadius]);
175
+ const keyExtractor = useCallback((item, index) => {
176
+ return '_id' in item ? item._id : `ad-${index}`;
177
+ }, []);
178
+
179
+ // Early Returns
180
+ if (!externalData) return null;
181
+ if (!isLoading && listData.length === 0 && !isEmpty) return null;
182
+
183
+ // Main Render
110
184
  return /*#__PURE__*/_jsx(View, {
111
185
  style: [styles.root, containerStyle],
112
186
  accessibilityLabel: accessibilityLabel || `Movie section: ${title}`,
@@ -116,24 +190,21 @@ const MovieCardFour = ({
116
190
  highlightColor: appliedTheme.colors.skeletonHighlightColor,
117
191
  backgroundColor: appliedTheme.colors.skeletonBaseColor,
118
192
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder.Item, {
119
- width: moderateScale(100),
120
- height: moderateScale(20),
121
- borderRadius: moderateScale(4),
122
- marginHorizontal: moderateScale(15),
123
- marginBottom: verticalScale(6)
193
+ width: SKELETON_TITLE_WIDTH,
194
+ height: SKELETON_TITLE_HEIGHT,
195
+ borderRadius: SKELETON_TITLE_BORDER_RADIUS,
196
+ marginHorizontal: SKELETON_TITLE_MARGIN_HORIZONTAL,
197
+ marginBottom: SKELETON_TITLE_MARGIN_BOTTOM
124
198
  })
125
199
  }), /*#__PURE__*/_jsx(ScrollView, {
126
200
  horizontal: true,
127
201
  showsHorizontalScrollIndicator: false,
128
202
  contentContainerStyle: styles.skeletonList,
129
- children: skeletonCount > 0 && /*#__PURE__*/_jsx(View, {
130
- style: styles.skeletonList,
131
- children: Array.from({
132
- length: skeletonCount
133
- }).map((_, index) => renderSkeletonItem({
134
- index
135
- }))
136
- })
203
+ children: Array.from({
204
+ length: skeletonCount
205
+ }).map((_, index) => renderSkeletonItem({
206
+ index
207
+ }))
137
208
  })]
138
209
  }) : /*#__PURE__*/_jsxs(_Fragment, {
139
210
  children: [/*#__PURE__*/_jsx(NavigateToMore, {
@@ -149,21 +220,15 @@ const MovieCardFour = ({
149
220
  }
150
221
  }), /*#__PURE__*/_jsx(FlatList, {
151
222
  ref: flatListRef,
152
- data: data,
223
+ data: listData,
153
224
  horizontal: true,
154
- keyExtractor: (item, index) => item._id || `item-${item.slug || item.name || index}`,
225
+ keyExtractor: keyExtractor,
155
226
  renderItem: renderItem,
156
227
  showsHorizontalScrollIndicator: false,
157
228
  contentContainerStyle: styles.listContent,
158
- initialNumToRender: 5,
159
229
  onEndReached: handleEndReached,
160
- onEndReachedThreshold: 0.5,
161
- onScrollBeginDrag: () => {
162
- onEndReachedCalledDuringMomentum.current = false;
163
- },
164
- onMomentumScrollBegin: () => {
165
- onEndReachedCalledDuringMomentum.current = false;
166
- },
230
+ onEndReachedThreshold: END_REACHED_THRESHOLD,
231
+ onMomentumScrollBegin: handleMomentumScrollBegin,
167
232
  ListFooterComponent: isPaginating ? renderSkeletonItem({
168
233
  index: 0
169
234
  }) : null
@@ -171,12 +236,14 @@ const MovieCardFour = ({
171
236
  })
172
237
  });
173
238
  };
239
+
240
+ // Styles
174
241
  const getStyles = (theme, width, height, radius) => StyleSheet.create({
175
242
  root: {
176
243
  marginVertical: verticalScale(6)
177
244
  },
178
245
  item: {
179
- marginLeft: moderateScale(10)
246
+ marginLeft: ITEM_MARGIN_LEFT
180
247
  },
181
248
  image: {
182
249
  width,
@@ -193,12 +260,12 @@ const getStyles = (theme, width, height, radius) => StyleSheet.create({
193
260
  fontWeight: '600'
194
261
  },
195
262
  listContent: {
196
- paddingRight: moderateScale(12)
263
+ paddingRight: LIST_CONTENT_PADDING_RIGHT
197
264
  },
198
265
  skeletonList: {
199
266
  flexDirection: 'row',
200
267
  alignItems: 'flex-start',
201
- paddingRight: moderateScale(15)
268
+ paddingRight: SKELETON_LIST_PADDING_RIGHT
202
269
  }
203
270
  });
204
271
  export default /*#__PURE__*/memo(MovieCardFour);