@zezosoft/zezo-ott-react-native-ui-kit 1.1.0 → 1.1.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 (512) 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 +133 -86
  14. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  15. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +174 -109
  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/BottomSheet/BottomSheet.js +152 -0
  32. package/lib/module/components/BottomSheet/BottomSheet.js.map +1 -0
  33. package/lib/module/components/BottomSheet/index.js +4 -0
  34. package/lib/module/components/BottomSheet/index.js.map +1 -0
  35. package/lib/module/components/Button/BackBtn.js +46 -16
  36. package/lib/module/components/Button/BackBtn.js.map +1 -1
  37. package/lib/module/components/Button/PrimaryBtn.js +19 -13
  38. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  39. package/lib/module/components/Button/SecondaryBtn.js +19 -13
  40. package/lib/module/components/Button/SecondaryBtn.js.map +1 -1
  41. package/lib/module/components/Button/TextButton.js +19 -13
  42. package/lib/module/components/Button/TextButton.js.map +1 -1
  43. package/lib/module/components/Content/Card/Category/Category.js +70 -37
  44. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  45. package/lib/module/components/Content/Card/Sliders/Styles/One.js +40 -32
  46. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  47. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +109 -48
  48. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  49. package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -11
  50. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  51. package/lib/module/components/Content/Card/components/CardPoster.js +105 -43
  52. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  53. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js +18 -17
  54. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js.map +1 -1
  55. package/lib/module/components/Content/Card/components/ThumbnailCard.js +78 -28
  56. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  57. package/lib/module/components/Content/Content.js +44 -25
  58. package/lib/module/components/Content/Content.js.map +1 -1
  59. package/lib/module/components/Content/Sections.js +37 -29
  60. package/lib/module/components/Content/Sections.js.map +1 -1
  61. package/lib/module/components/ContentView/ContentView.js +70 -41
  62. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  63. package/lib/module/components/ContentView/MoreContentList.js +74 -40
  64. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  65. package/lib/module/components/ContentView/components/AboutSection.js +40 -19
  66. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  67. package/lib/module/components/ContentView/components/CastCard.js +6 -7
  68. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  69. package/lib/module/components/ContentView/components/EpisodeCard.js +2 -2
  70. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  71. package/lib/module/components/ContentView/components/GenreTags.js +25 -13
  72. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  73. package/lib/module/components/ContentView/components/HeroBanner.js +39 -11
  74. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  75. package/lib/module/components/ContentView/components/MiniInfo.js +84 -77
  76. package/lib/module/components/ContentView/components/MiniInfo.js.map +1 -1
  77. package/lib/module/components/ContentView/components/PlayButton.js +11 -7
  78. package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
  79. package/lib/module/components/ContentView/components/Title.js +12 -12
  80. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  81. package/lib/module/components/ContentView/components/TrailerButton.js +12 -7
  82. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  83. package/lib/module/components/Fallbacks/NoContentFallback.js +27 -22
  84. package/lib/module/components/Fallbacks/NoContentFallback.js.map +1 -1
  85. package/lib/module/components/Fallbacks/NotFoundFallback.js +6 -4
  86. package/lib/module/components/Fallbacks/NotFoundFallback.js.map +1 -1
  87. package/lib/module/components/Headers/AppHeader.js +22 -13
  88. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  89. package/lib/module/components/Headers/Three.js +6 -5
  90. package/lib/module/components/Headers/Three.js.map +1 -1
  91. package/lib/module/components/Headers/Two.js +19 -14
  92. package/lib/module/components/Headers/Two.js.map +1 -1
  93. package/lib/module/components/Input/InputOne.js +46 -31
  94. package/lib/module/components/Input/InputOne.js.map +1 -1
  95. package/lib/module/components/Loader/Loader.js +2 -2
  96. package/lib/module/components/Loader/Loader.js.map +1 -1
  97. package/lib/module/components/Logo/Logo.js +17 -14
  98. package/lib/module/components/Logo/Logo.js.map +1 -1
  99. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js +134 -0
  100. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js.map +1 -0
  101. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +154 -0
  102. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -0
  103. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js +173 -0
  104. package/lib/module/components/Reels/ReelsSeries/MediaControls/MiddleControls.js.map +1 -0
  105. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js +77 -0
  106. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js.map +1 -0
  107. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js +132 -0
  108. package/lib/module/components/Reels/ReelsSeries/MediaControls/TopControls.js.map +1 -0
  109. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js +165 -0
  110. package/lib/module/components/Reels/ReelsSeries/Model/DetailsModal.js.map +1 -0
  111. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +106 -0
  112. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -0
  113. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js +124 -0
  114. package/lib/module/components/Reels/ReelsSeries/Model/UnlockModal.js.map +1 -0
  115. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +102 -64
  116. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -1
  117. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +241 -232
  118. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
  119. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js +153 -0
  120. package/lib/module/components/Reels/ReelsSeries/components/AnimatedThreeLines.js.map +1 -0
  121. package/lib/module/components/Reels/ReelsSeries/{Model → components}/Episodes.js +46 -36
  122. package/lib/module/components/Reels/ReelsSeries/components/Episodes.js.map +1 -0
  123. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js +35 -0
  124. package/lib/module/components/Reels/ReelsSeries/components/GradientOverlay.js.map +1 -0
  125. package/lib/module/components/Reels/ReelsSeries/components/Like.js +37 -0
  126. package/lib/module/components/Reels/ReelsSeries/components/Like.js.map +1 -0
  127. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js +55 -0
  128. package/lib/module/components/Reels/ReelsSeries/components/RotatingLoader.js.map +1 -0
  129. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js +268 -0
  130. package/lib/module/components/Reels/ReelsSeries/components/Synopsis.js.map +1 -0
  131. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +143 -0
  132. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -0
  133. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js +56 -0
  134. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.js.map +1 -0
  135. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js +5 -0
  136. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/index.js.map +1 -0
  137. package/lib/module/components/Reels/utils/Controls/gestureUtils.js +30 -0
  138. package/lib/module/components/Reels/utils/Controls/gestureUtils.js.map +1 -0
  139. package/lib/module/components/Reels/utils/Controls/index.js +7 -0
  140. package/lib/module/components/Reels/utils/Controls/index.js.map +1 -0
  141. package/lib/module/components/Reels/utils/Controls/overlayUtils.js +28 -0
  142. package/lib/module/components/Reels/utils/Controls/overlayUtils.js.map +1 -0
  143. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js +27 -0
  144. package/lib/module/components/Reels/utils/Controls/videoControlsConstants.js.map +1 -0
  145. package/lib/module/components/Reels/utils/Controls/videoRef.js +5 -0
  146. package/lib/module/components/Reels/utils/Controls/videoRef.js.map +1 -0
  147. package/lib/module/components/Reels/utils/index.js +4 -0
  148. package/lib/module/components/Reels/utils/index.js.map +1 -0
  149. package/lib/module/components/Reels/utils/timeoutUtils.js +24 -0
  150. package/lib/module/components/Reels/utils/timeoutUtils.js.map +1 -0
  151. package/lib/module/components/Search/One.js +2 -1
  152. package/lib/module/components/Search/One.js.map +1 -1
  153. package/lib/module/components/Search/components/SearchCard.js +15 -19
  154. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  155. package/lib/module/components/Settings/AppSettings.js +97 -62
  156. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  157. package/lib/module/components/Subscription/SubOne.js +313 -254
  158. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  159. package/lib/module/components/Text/Text.js +15 -12
  160. package/lib/module/components/Text/Text.js.map +1 -1
  161. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +25 -23
  162. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  163. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +23 -18
  164. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -1
  165. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js +38 -24
  166. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js.map +1 -1
  167. package/lib/module/components/User/WatchHistory/WatchHistory.js +21 -14
  168. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  169. package/lib/module/components/User/WatchLater/WatchLater.js +30 -21
  170. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  171. package/lib/module/components/User/components/UserAvatar.js +38 -19
  172. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  173. package/lib/module/components/User/components/UserSection.js +37 -17
  174. package/lib/module/components/User/components/UserSection.js.map +1 -1
  175. package/lib/module/components/View/View.js +7 -4
  176. package/lib/module/components/View/View.js.map +1 -1
  177. package/lib/module/components/index.js +1 -1
  178. package/lib/module/components/index.js.map +1 -1
  179. package/lib/module/hooks/index.js +17 -0
  180. package/lib/module/hooks/index.js.map +1 -0
  181. package/lib/module/hooks/useDebounce.js +25 -6
  182. package/lib/module/hooks/useDebounce.js.map +1 -1
  183. package/lib/module/hooks/useKeyboard.js +7 -4
  184. package/lib/module/hooks/useKeyboard.js.map +1 -1
  185. package/lib/module/hooks/useNavigationMode.js +10 -4
  186. package/lib/module/hooks/useNavigationMode.js.map +1 -1
  187. package/lib/module/hooks/usePaginatedSection.js +1 -1
  188. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  189. package/lib/module/hooks/usePrevious.js +30 -0
  190. package/lib/module/hooks/usePrevious.js.map +1 -0
  191. package/lib/module/hooks/useSafeCallback.js +33 -0
  192. package/lib/module/hooks/useSafeCallback.js.map +1 -0
  193. package/lib/module/hooks/useSkeletonItems.js +33 -0
  194. package/lib/module/hooks/useSkeletonItems.js.map +1 -0
  195. package/lib/module/hooks/useSplashCache.js +2 -1
  196. package/lib/module/hooks/useSplashCache.js.map +1 -1
  197. package/lib/module/hooks/useThemeColors.js +33 -0
  198. package/lib/module/hooks/useThemeColors.js.map +1 -0
  199. package/lib/module/theme/ThemeProvider.js +24 -15
  200. package/lib/module/theme/ThemeProvider.js.map +1 -1
  201. package/lib/module/theme/hook/useInternalTheme.js +18 -11
  202. package/lib/module/theme/hook/useInternalTheme.js.map +1 -1
  203. package/lib/module/theme/hook/useThemeStatusBar.js +10 -4
  204. package/lib/module/theme/hook/useThemeStatusBar.js.map +1 -1
  205. package/lib/module/theme/themes.js +3 -3
  206. package/lib/typescript/src/Styles/globalStyles.d.ts +0 -5
  207. package/lib/typescript/src/Styles/globalStyles.d.ts.map +1 -1
  208. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -1
  209. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  210. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  211. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  212. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  213. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +0 -15
  214. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  215. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +0 -1
  216. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  217. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  218. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  220. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  222. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  223. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +1 -1
  224. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  225. package/lib/typescript/src/components/BlogView/BlogView.d.ts +2 -1
  226. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  227. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +18 -0
  228. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -0
  229. package/lib/typescript/src/components/BottomSheet/index.d.ts +3 -0
  230. package/lib/typescript/src/components/BottomSheet/index.d.ts.map +1 -0
  231. package/lib/typescript/src/components/Button/BackBtn.d.ts +5 -3
  232. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  233. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +2 -1
  234. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts +2 -1
  236. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts.map +1 -1
  237. package/lib/typescript/src/components/Button/TextButton.d.ts +2 -2
  238. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Button/index.d.ts +4 -2
  240. package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
  241. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  242. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  243. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  244. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  245. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  246. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts +2 -2
  247. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts.map +1 -1
  248. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts +2 -0
  249. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  250. package/lib/typescript/src/components/Content/Content.d.ts +2 -0
  251. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  252. package/lib/typescript/src/components/Content/Sections.d.ts +2 -2
  253. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  254. package/lib/typescript/src/components/ContentView/ContentView.d.ts +6 -1
  255. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  256. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  257. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +2 -1
  258. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  259. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +6 -1
  260. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  261. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +2 -1
  262. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  263. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
  264. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  265. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +2 -1
  266. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  267. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts +1 -1
  268. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts.map +1 -1
  269. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +2 -1
  270. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
  271. package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
  272. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  273. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +2 -1
  274. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  275. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts +2 -1
  276. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts.map +1 -1
  277. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts +1 -1
  278. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts.map +1 -1
  279. package/lib/typescript/src/components/Headers/AppHeader.d.ts +2 -2
  280. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  281. package/lib/typescript/src/components/Headers/Three.d.ts +2 -2
  282. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  283. package/lib/typescript/src/components/Headers/Two.d.ts +2 -2
  284. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  285. package/lib/typescript/src/components/Headers/index.d.ts +2 -2
  286. package/lib/typescript/src/components/Input/Input.d.ts +1 -1
  287. package/lib/typescript/src/components/Input/InputOne.d.ts +2 -2
  288. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  289. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  290. package/lib/typescript/src/components/Logo/Logo.d.ts +2 -1
  291. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  292. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts +14 -0
  293. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts.map +1 -0
  294. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +60 -0
  295. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -0
  296. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts +14 -0
  297. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.d.ts.map +1 -0
  298. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts +14 -0
  299. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts.map +1 -0
  300. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts +12 -0
  301. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/TopControls.d.ts.map +1 -0
  302. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts +16 -0
  303. package/lib/typescript/src/components/Reels/ReelsSeries/Model/DetailsModal.d.ts.map +1 -0
  304. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +15 -0
  305. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -0
  306. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts +14 -0
  307. package/lib/typescript/src/components/Reels/ReelsSeries/Model/UnlockModal.d.ts.map +1 -0
  308. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +8 -2
  309. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -1
  310. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +8 -2
  311. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
  312. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts +13 -0
  313. package/lib/typescript/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.d.ts.map +1 -0
  314. package/lib/typescript/src/components/Reels/ReelsSeries/{Model → components}/Episodes.d.ts +3 -2
  315. package/lib/typescript/src/components/Reels/ReelsSeries/components/Episodes.d.ts.map +1 -0
  316. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts +7 -0
  317. package/lib/typescript/src/components/Reels/ReelsSeries/components/GradientOverlay.d.ts.map +1 -0
  318. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts +7 -0
  319. package/lib/typescript/src/components/Reels/ReelsSeries/components/Like.d.ts.map +1 -0
  320. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts +12 -0
  321. package/lib/typescript/src/components/Reels/ReelsSeries/components/RotatingLoader.d.ts.map +1 -0
  322. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts +12 -0
  323. package/lib/typescript/src/components/Reels/ReelsSeries/components/Synopsis.d.ts.map +1 -0
  324. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +11 -0
  325. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -0
  326. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts +10 -0
  327. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.d.ts.map +1 -0
  328. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts +3 -0
  329. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/index.d.ts.map +1 -0
  330. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +13 -0
  331. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
  332. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts +10 -0
  333. package/lib/typescript/src/components/Reels/utils/Controls/gestureUtils.d.ts.map +1 -0
  334. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts +5 -0
  335. package/lib/typescript/src/components/Reels/utils/Controls/index.d.ts.map +1 -0
  336. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts +12 -0
  337. package/lib/typescript/src/components/Reels/utils/Controls/overlayUtils.d.ts.map +1 -0
  338. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts +24 -0
  339. package/lib/typescript/src/components/Reels/utils/Controls/videoControlsConstants.d.ts.map +1 -0
  340. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts +3 -0
  341. package/lib/typescript/src/components/Reels/utils/Controls/videoRef.d.ts.map +1 -0
  342. package/lib/typescript/src/components/Reels/utils/index.d.ts +2 -0
  343. package/lib/typescript/src/components/Reels/utils/index.d.ts.map +1 -0
  344. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts +14 -0
  345. package/lib/typescript/src/components/Reels/utils/timeoutUtils.d.ts.map +1 -0
  346. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  347. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +2 -5
  348. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  349. package/lib/typescript/src/components/Search/index.d.ts +1 -1
  350. package/lib/typescript/src/components/Settings/AppSettings.d.ts +2 -2
  351. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  352. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  353. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  354. package/lib/typescript/src/components/Text/Text.d.ts +2 -2
  355. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  356. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +1 -1
  357. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  358. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +1 -1
  359. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -1
  360. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts +1 -1
  361. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts.map +1 -1
  362. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +1 -1
  363. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  364. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +1 -1
  365. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  366. package/lib/typescript/src/components/User/components/UserAvatar.d.ts +1 -1
  367. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  368. package/lib/typescript/src/components/User/components/UserSection.d.ts +1 -1
  369. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  370. package/lib/typescript/src/components/View/View.d.ts +2 -0
  371. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  372. package/lib/typescript/src/components/index.d.ts +1 -1
  373. package/lib/typescript/src/components/index.d.ts.map +1 -1
  374. package/lib/typescript/src/hooks/index.d.ts +14 -0
  375. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  376. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
  377. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  378. package/lib/typescript/src/hooks/useNavigationMode.d.ts.map +1 -1
  379. package/lib/typescript/src/hooks/usePrevious.d.ts +12 -0
  380. package/lib/typescript/src/hooks/usePrevious.d.ts.map +1 -0
  381. package/lib/typescript/src/hooks/useSafeCallback.d.ts +15 -0
  382. package/lib/typescript/src/hooks/useSafeCallback.d.ts.map +1 -0
  383. package/lib/typescript/src/hooks/useSkeletonItems.d.ts +11 -0
  384. package/lib/typescript/src/hooks/useSkeletonItems.d.ts.map +1 -0
  385. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
  386. package/lib/typescript/src/hooks/useThemeColors.d.ts +27 -0
  387. package/lib/typescript/src/hooks/useThemeColors.d.ts.map +1 -0
  388. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  389. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -1
  390. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +1 -1
  391. package/package.json +2 -2
  392. package/src/Styles/globalStyles.ts +0 -5
  393. package/src/components/Auth/AuthProvider/AuthProvider.tsx +288 -212
  394. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +11 -4
  395. package/src/components/Auth/Login/LoginWithEmail.tsx +266 -238
  396. package/src/components/Auth/Login/LoginWithPhone.tsx +18 -6
  397. package/src/components/Auth/OTP/OTP.tsx +21 -5
  398. package/src/components/Auth/QrLogin/QrLogin.tsx +225 -185
  399. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +282 -166
  400. package/src/components/Auth/SignUp/SignUp.tsx +312 -293
  401. package/src/components/Auth/SplashScreen/SplashScreen.tsx +186 -131
  402. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +32 -15
  403. package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +11 -5
  404. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +34 -18
  405. package/src/components/BackgroundLayout/BackgroundLayout.tsx +43 -37
  406. package/src/components/BlogView/BlogView.tsx +66 -30
  407. package/src/components/BottomSheet/BottomSheet.tsx +195 -0
  408. package/src/components/BottomSheet/index.ts +2 -0
  409. package/src/components/Button/BackBtn.tsx +87 -24
  410. package/src/components/Button/PrimaryBtn.tsx +42 -25
  411. package/src/components/Button/SecondaryBtn.tsx +41 -25
  412. package/src/components/Button/TextButton.tsx +54 -32
  413. package/src/components/Content/Card/Category/Category.tsx +94 -56
  414. package/src/components/Content/Card/Sliders/Styles/One.tsx +63 -47
  415. package/src/components/Content/Card/Sliders/Styles/Two.tsx +131 -51
  416. package/src/components/Content/Card/Styles/RotateInOut.tsx +7 -9
  417. package/src/components/Content/Card/components/CardPoster.tsx +136 -55
  418. package/src/components/Content/Card/components/RentOrBuyIcon.tsx +58 -38
  419. package/src/components/Content/Card/components/ThumbnailCard.tsx +122 -47
  420. package/src/components/Content/Content.tsx +164 -97
  421. package/src/components/Content/Sections.tsx +99 -43
  422. package/src/components/ContentView/ContentView.tsx +194 -128
  423. package/src/components/ContentView/MoreContentList.tsx +215 -151
  424. package/src/components/ContentView/components/AboutSection.tsx +132 -93
  425. package/src/components/ContentView/components/CastCard.tsx +148 -138
  426. package/src/components/ContentView/components/EpisodeCard.tsx +160 -155
  427. package/src/components/ContentView/components/GenreTags.tsx +68 -53
  428. package/src/components/ContentView/components/HeroBanner.tsx +326 -284
  429. package/src/components/ContentView/components/MiniInfo.tsx +181 -159
  430. package/src/components/ContentView/components/PlayButton.tsx +27 -16
  431. package/src/components/ContentView/components/Title.tsx +89 -72
  432. package/src/components/ContentView/components/TrailerButton.tsx +35 -22
  433. package/src/components/Fallbacks/NoContentFallback.tsx +107 -103
  434. package/src/components/Fallbacks/NotFoundFallback.tsx +12 -4
  435. package/src/components/Headers/AppHeader.tsx +42 -26
  436. package/src/components/Headers/Three.tsx +12 -8
  437. package/src/components/Headers/Two.tsx +31 -10
  438. package/src/components/Input/InputOne.tsx +136 -108
  439. package/src/components/Loader/Loader.tsx +2 -2
  440. package/src/components/Logo/Logo.tsx +43 -27
  441. package/src/components/Reels/ReelsSeries/MediaControls/BottomControls.tsx +156 -0
  442. package/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.tsx +234 -0
  443. package/src/components/Reels/ReelsSeries/MediaControls/MiddleControls.tsx +196 -0
  444. package/src/components/Reels/ReelsSeries/MediaControls/RightControls.tsx +92 -0
  445. package/src/components/Reels/ReelsSeries/MediaControls/TopControls.tsx +163 -0
  446. package/src/components/Reels/ReelsSeries/Model/DetailsModal.tsx +210 -0
  447. package/src/components/Reels/ReelsSeries/Model/SettingModal.tsx +143 -0
  448. package/src/components/Reels/ReelsSeries/Model/UnlockModal.tsx +154 -0
  449. package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +142 -74
  450. package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +349 -250
  451. package/src/components/Reels/ReelsSeries/components/AnimatedThreeLines.tsx +184 -0
  452. package/src/components/Reels/ReelsSeries/{Model → components}/Episodes.tsx +54 -33
  453. package/src/components/Reels/ReelsSeries/components/GradientOverlay.tsx +41 -0
  454. package/src/components/Reels/ReelsSeries/components/Like.tsx +40 -0
  455. package/src/components/Reels/ReelsSeries/components/RotatingLoader.tsx +79 -0
  456. package/src/components/Reels/ReelsSeries/components/Synopsis.tsx +332 -0
  457. package/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx +190 -0
  458. package/src/components/Reels/ReelsSeries/components/VideoControls/SpeedControl.tsx +80 -0
  459. package/src/components/Reels/ReelsSeries/components/VideoControls/index.ts +2 -0
  460. package/src/components/Reels/ReelsSeries/types.ts +13 -2
  461. package/src/components/Reels/utils/Controls/gestureUtils.ts +42 -0
  462. package/src/components/Reels/utils/Controls/index.ts +4 -0
  463. package/src/components/Reels/utils/Controls/overlayUtils.ts +35 -0
  464. package/src/components/Reels/utils/Controls/videoControlsConstants.ts +25 -0
  465. package/src/components/Reels/utils/Controls/videoRef.ts +4 -0
  466. package/src/components/Reels/utils/index.ts +1 -0
  467. package/src/components/Reels/utils/timeoutUtils.ts +29 -0
  468. package/src/components/Search/One.tsx +2 -4
  469. package/src/components/Search/components/SearchCard.tsx +19 -13
  470. package/src/components/Settings/AppSettings.tsx +217 -128
  471. package/src/components/Subscription/SubOne.tsx +394 -317
  472. package/src/components/Text/Text.tsx +33 -22
  473. package/src/components/User/DeviceSessions/DeviceSessions.tsx +129 -102
  474. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +36 -17
  475. package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +194 -140
  476. package/src/components/User/WatchHistory/WatchHistory.tsx +63 -36
  477. package/src/components/User/WatchLater/WatchLater.tsx +119 -81
  478. package/src/components/User/components/UserAvatar.tsx +49 -15
  479. package/src/components/User/components/UserSection.tsx +71 -37
  480. package/src/components/View/View.tsx +10 -2
  481. package/src/components/index.ts +1 -1
  482. package/src/hooks/index.ts +14 -0
  483. package/src/hooks/useDebounce.ts +25 -6
  484. package/src/hooks/useKeyboard.ts +12 -5
  485. package/src/hooks/useNavigationMode.ts +16 -5
  486. package/src/hooks/usePaginatedSection.ts +1 -1
  487. package/src/hooks/usePrevious.ts +28 -0
  488. package/src/hooks/useSafeCallback.ts +43 -0
  489. package/src/hooks/useSkeletonItems.ts +30 -0
  490. package/src/hooks/useSplashCache.ts +2 -1
  491. package/src/hooks/useThemeColors.ts +51 -0
  492. package/src/theme/ThemeProvider.tsx +33 -11
  493. package/src/theme/hook/useInternalTheme.ts +19 -13
  494. package/src/theme/hook/useThemeStatusBar.ts +14 -5
  495. package/src/theme/themes.ts +3 -3
  496. package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js.map +0 -1
  497. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +0 -212
  498. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +0 -1
  499. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js +0 -182
  500. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js.map +0 -1
  501. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js +0 -203
  502. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js.map +0 -1
  503. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts.map +0 -1
  504. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts +0 -9
  505. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +0 -1
  506. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts +0 -13
  507. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts.map +0 -1
  508. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts +0 -18
  509. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts.map +0 -1
  510. package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +0 -242
  511. package/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx +0 -209
  512. package/src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx +0 -185
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
3
+ import React, { useMemo } from 'react';
4
4
  import { View, StyleSheet } from 'react-native';
5
5
  import Svg, { Path } from 'react-native-svg';
6
6
  import { scale } from 'react-native-size-matters';
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- const PremiumIcon = ({
8
+ const PremiumIcon = /*#__PURE__*/React.memo(({
9
9
  fillColor
10
10
  }) => /*#__PURE__*/_jsxs(Svg, {
11
11
  viewBox: "0 0 1024 1024",
@@ -20,8 +20,8 @@ const PremiumIcon = ({
20
20
  d: "M0 0l64 1 15 4 13 8 9 8 9 13 5 13 2 15-2 16-5 12-6 10-9 10-11 7-12 5-10 2h-672l-15-4-12-7-10-9-9-13-5-13-2-11v-9l3-15 8-16 11-12 10-7 11-5 10-2z",
21
21
  fill: fillColor
22
22
  })]
23
- });
24
- const BuyOrRentIcon = ({
23
+ }));
24
+ const BuyOrRentIcon = /*#__PURE__*/React.memo(({
25
25
  fillColor
26
26
  }) => /*#__PURE__*/_jsx(Svg, {
27
27
  fill: "none",
@@ -34,7 +34,7 @@ const BuyOrRentIcon = ({
34
34
  clipRule: "evenodd",
35
35
  d: "M9.834 9.835H11.2c0-.108-.002-.215-.003-.319-.014-1.424-.024-2.412 2.734-2.412 2.504 0 2.732.453 2.732 2.73l1.365.001c0-3.871-.91-4.099-4.097-4.099h-.21c-3.225-.002-3.709-.002-3.887 4.1zm-.153-.001H7.712a1.976 1.976 0 00-1.976 1.976v6.064a4.252 4.252 0 004.252 4.252h7.886a4.252 4.252 0 004.252-4.252V11.81a1.976 1.976 0 00-1.976-1.976H18.18a.153.153 0 00-.153.153v3.716a.683.683 0 01-1.365 0V9.987a.153.153 0 00-.153-.153h-5.158a.153.153 0 00-.152.153v3.716a.683.683 0 01-1.366 0V9.987a.153.153 0 00-.153-.153z"
36
36
  })
37
- });
37
+ }));
38
38
  const RentOrBuyIcon = ({
39
39
  theme,
40
40
  content_offering_type,
@@ -42,11 +42,10 @@ const RentOrBuyIcon = ({
42
42
  position = 'topLeft',
43
43
  size = 22
44
44
  }) => {
45
- if (!content_offering_type) return null;
46
- const typeUpper = content_offering_type.toUpperCase();
47
- if (!['PREMIUM', 'BUY_OR_RENT'].includes(typeUpper)) return null;
48
- const fillColor = theme?.colors.premiumIcon || '#CA091E';
49
- const positionStyle = (() => {
45
+ const typeUpper = useMemo(() => content_offering_type?.toUpperCase(), [content_offering_type]);
46
+ const isValidType = useMemo(() => typeUpper && ['PREMIUM', 'BUY_OR_RENT'].includes(typeUpper), [typeUpper]);
47
+ const fillColor = useMemo(() => theme?.colors.premiumIcon || '#CA091E', [theme?.colors.premiumIcon]);
48
+ const positionStyle = useMemo(() => {
50
49
  switch (position) {
51
50
  case 'topLeft':
52
51
  return {
@@ -74,13 +73,15 @@ const RentOrBuyIcon = ({
74
73
  left: 6
75
74
  };
76
75
  }
77
- })();
78
- const IconComponent = typeUpper === 'PREMIUM' ? PremiumIcon : BuyOrRentIcon;
76
+ }, [position]);
77
+ const IconComponent = useMemo(() => typeUpper === 'PREMIUM' ? PremiumIcon : BuyOrRentIcon, [typeUpper]);
78
+ const containerStyle = useMemo(() => [styles.container, {
79
+ width: size,
80
+ height: size
81
+ }, style || positionStyle], [size, style, positionStyle]);
82
+ if (!content_offering_type || !isValidType) return null;
79
83
  return /*#__PURE__*/_jsx(View, {
80
- style: [styles.container, {
81
- width: size,
82
- height: size
83
- }, style || positionStyle],
84
+ style: containerStyle,
84
85
  children: /*#__PURE__*/_jsx(View, {
85
86
  style: styles.iconWrapper,
86
87
  children: /*#__PURE__*/_jsx(IconComponent, {
@@ -89,7 +90,7 @@ const RentOrBuyIcon = ({
89
90
  })
90
91
  });
91
92
  };
92
- export default RentOrBuyIcon;
93
+ export default /*#__PURE__*/React.memo(RentOrBuyIcon);
93
94
  const styles = StyleSheet.create({
94
95
  container: {
95
96
  position: 'absolute',
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","Svg","Path","scale","jsx","_jsx","jsxs","_jsxs","PremiumIcon","fillColor","viewBox","width","height","children","transform","d","fill","BuyOrRentIcon","fillRule","clipRule","RentOrBuyIcon","theme","content_offering_type","style","position","size","typeUpper","toUpperCase","includes","colors","premiumIcon","positionStyle","top","left","right","bottom","IconComponent","styles","container","iconWrapper","create","zIndex","flex","justifyContent","alignItems","backgroundColor","padding","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","overflow","elevation"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/components/RentOrBuyIcon.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","StyleSheet","Svg","Path","scale","jsx","_jsx","jsxs","_jsxs","PremiumIcon","memo","fillColor","viewBox","width","height","children","transform","d","fill","BuyOrRentIcon","fillRule","clipRule","RentOrBuyIcon","theme","content_offering_type","style","position","size","typeUpper","toUpperCase","isValidType","includes","colors","premiumIcon","positionStyle","top","left","right","bottom","IconComponent","containerStyle","styles","container","iconWrapper","create","zIndex","flex","justifyContent","alignItems","backgroundColor","padding","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","overflow","elevation"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/components/RentOrBuyIcon.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@
5
5
  * @lastModified Wed 25 Jun 2025 at 05:40 PM
6
6
  */
7
7
 
8
- import React, { useState } from 'react';
8
+ import React, { useState, useEffect, useMemo, useCallback } from 'react';
9
9
  import { View, StyleSheet } from 'react-native';
10
10
  import FastImage from 'react-native-fast-image';
11
11
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
@@ -13,7 +13,10 @@ import { scale } from 'react-native-size-matters';
13
13
  import { Text } from "../../../Text/index.js";
14
14
  import { ImageOff } from 'lucide-react-native';
15
15
  import { RFValue } from 'react-native-responsive-fontsize';
16
+
17
+ // Module-level cache to track successfully loaded images
16
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
+ const loadedImageCache = new Set();
17
20
  export const ThumbnailCard = ({
18
21
  thumbnailUri = '',
19
22
  theme,
@@ -25,26 +28,82 @@ export const ThumbnailCard = ({
25
28
  }) => {
26
29
  const [imageLoading, setImageLoading] = useState(true);
27
30
  const [imageError, setImageError] = useState(false);
28
- const hasValidThumbnail = !!thumbnailUri && thumbnailUri.startsWith('http');
29
- const showSkeleton = isLoading || imageLoading && !imageError;
30
- const fallbackImageStyle = {
31
+ const hasValidThumbnail = useMemo(() => !!thumbnailUri && thumbnailUri.startsWith('http'), [thumbnailUri]);
32
+
33
+ // Reset image loading state when isLoading prop changes
34
+ useEffect(() => {
35
+ if (isLoading) {
36
+ setImageLoading(true);
37
+ setImageError(false);
38
+ }
39
+ }, [isLoading]);
40
+
41
+ // Reset when thumbnailUri changes
42
+ useEffect(() => {
43
+ if (hasValidThumbnail) {
44
+ // Check if this image was already loaded successfully before
45
+ const isAlreadyLoaded = loadedImageCache.has(thumbnailUri);
46
+ if (isAlreadyLoaded) {
47
+ // Image was loaded before, skip loading state
48
+ setImageLoading(false);
49
+ setImageError(false);
50
+ } else {
51
+ // Image not loaded before, show loading
52
+ setImageLoading(true);
53
+ setImageError(false);
54
+ FastImage.preload([{
55
+ uri: thumbnailUri
56
+ }]);
57
+ }
58
+ } else {
59
+ setImageLoading(false);
60
+ setImageError(true);
61
+ }
62
+ }, [thumbnailUri, hasValidThumbnail]);
63
+ const showSkeleton = useMemo(() => isLoading || imageLoading && !imageError && hasValidThumbnail, [isLoading, imageLoading, imageError, hasValidThumbnail]);
64
+ const fallbackImageStyle = useMemo(() => ({
31
65
  width: '100%',
32
66
  aspectRatio: 16 / 9,
33
67
  borderRadius,
34
68
  position: 'absolute',
35
69
  top: 0,
36
70
  left: 0
37
- };
71
+ }), [borderRadius]);
72
+ const wrapperStyleMemo = useMemo(() => [styles.thumbnailWrapper, {
73
+ borderRadius,
74
+ backgroundColor: theme.colors.background,
75
+ shadowColor: theme.colors.shadow
76
+ }, wrapperStyle], [borderRadius, theme.colors.background, theme.colors.shadow, wrapperStyle]);
77
+ const skeletonWrapperStyle = useMemo(() => [styles.skeletonWrapper, {
78
+ borderRadius
79
+ }], [borderRadius]);
80
+ const imageStyleMemo = useMemo(() => [fallbackImageStyle, showSkeleton ? styles.hidden : styles.visible, imageStyle], [fallbackImageStyle, showSkeleton, imageStyle]);
81
+ const fallbackStyle = useMemo(() => [styles.fallback, {
82
+ borderRadius,
83
+ backgroundColor: theme.colors.errorContainer,
84
+ borderColor: theme.colors.error
85
+ }], [borderRadius, theme.colors.errorContainer, theme.colors.error]);
86
+ const handleLoadStart = useCallback(() => {
87
+ // Only set loading if image is not already in cache
88
+ if (!loadedImageCache.has(thumbnailUri)) {
89
+ setImageLoading(true);
90
+ setImageError(false);
91
+ }
92
+ }, [thumbnailUri]);
93
+ const handleLoadEnd = useCallback(() => {
94
+ setImageLoading(false);
95
+ setImageError(false);
96
+ // Add to cache when successfully loaded
97
+ loadedImageCache.add(thumbnailUri);
98
+ }, [thumbnailUri]);
99
+ const handleError = useCallback(() => {
100
+ setImageLoading(false);
101
+ setImageError(true);
102
+ }, []);
38
103
  return /*#__PURE__*/_jsxs(View, {
39
- style: [styles.thumbnailWrapper, {
40
- borderRadius,
41
- backgroundColor: theme.colors.background,
42
- shadowColor: theme.colors.shadow
43
- }, wrapperStyle],
104
+ style: wrapperStyleMemo,
44
105
  children: [showSkeleton && /*#__PURE__*/_jsx(View, {
45
- style: [styles.skeletonWrapper, {
46
- borderRadius
47
- }],
106
+ style: skeletonWrapperStyle,
48
107
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder, {
49
108
  backgroundColor: theme.colors.skeletonBaseColor,
50
109
  highlightColor: theme.colors.skeletonHighlightColor,
@@ -58,23 +117,13 @@ export const ThumbnailCard = ({
58
117
  source: {
59
118
  uri: thumbnailUri
60
119
  },
61
- style: [fallbackImageStyle, showSkeleton ? styles.hidden : styles.visible, imageStyle],
120
+ style: imageStyleMemo,
62
121
  resizeMode: resizeMode,
63
- onLoadStart: () => {
64
- setImageLoading(true);
65
- setImageError(false);
66
- },
67
- onLoadEnd: () => setImageLoading(false),
68
- onError: () => {
69
- setImageLoading(false);
70
- setImageError(true);
71
- }
122
+ onLoadStart: handleLoadStart,
123
+ onLoadEnd: handleLoadEnd,
124
+ onError: handleError
72
125
  }), !showSkeleton && (!hasValidThumbnail || imageError) && /*#__PURE__*/_jsxs(View, {
73
- style: [styles.fallback, {
74
- borderRadius,
75
- backgroundColor: theme.colors.errorContainer,
76
- borderColor: theme.colors.error
77
- }],
126
+ style: fallbackStyle,
78
127
  children: [/*#__PURE__*/_jsx(ImageOff, {
79
128
  size: scale(18),
80
129
  color: theme.colors.error
@@ -86,6 +135,7 @@ export const ThumbnailCard = ({
86
135
  })]
87
136
  });
88
137
  };
138
+ export default /*#__PURE__*/React.memo(ThumbnailCard);
89
139
  const styles = StyleSheet.create({
90
140
  thumbnailWrapper: {
91
141
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","View","StyleSheet","FastImage","SkeletonPlaceholder","scale","Text","ImageOff","RFValue","jsx","_jsx","jsxs","_jsxs","ThumbnailCard","thumbnailUri","theme","isLoading","borderRadius","wrapperStyle","imageStyle","resizeMode","cover","imageLoading","setImageLoading","imageError","setImageError","hasValidThumbnail","startsWith","showSkeleton","fallbackImageStyle","width","aspectRatio","position","top","left","style","styles","thumbnailWrapper","backgroundColor","colors","background","shadowColor","shadow","children","skeletonWrapper","skeletonBaseColor","highlightColor","skeletonHighlightColor","Item","skeleton","source","uri","hidden","visible","onLoadStart","onLoadEnd","onError","fallback","errorContainer","borderColor","error","size","color","fallbackText","create","overflow","opacity","alignItems","justifyContent","marginTop","fontSize"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/components/ThumbnailCard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useMemo","useCallback","View","StyleSheet","FastImage","SkeletonPlaceholder","scale","Text","ImageOff","RFValue","jsx","_jsx","jsxs","_jsxs","loadedImageCache","Set","ThumbnailCard","thumbnailUri","theme","isLoading","borderRadius","wrapperStyle","imageStyle","resizeMode","cover","imageLoading","setImageLoading","imageError","setImageError","hasValidThumbnail","startsWith","isAlreadyLoaded","has","preload","uri","showSkeleton","fallbackImageStyle","width","aspectRatio","position","top","left","wrapperStyleMemo","styles","thumbnailWrapper","backgroundColor","colors","background","shadowColor","shadow","skeletonWrapperStyle","skeletonWrapper","imageStyleMemo","hidden","visible","fallbackStyle","fallback","errorContainer","borderColor","error","handleLoadStart","handleLoadEnd","add","handleError","style","children","skeletonBaseColor","highlightColor","skeletonHighlightColor","Item","skeleton","source","onLoadStart","onLoadEnd","onError","size","color","fallbackText","memo","create","overflow","opacity","alignItems","justifyContent","marginTop","fontSize"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/components/ThumbnailCard.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AACxE,SAASC,IAAI,EAAEC,UAAU,QAAwC,cAAc;AAK/E,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,mBAAmB,MAAM,mCAAmC;AACnE,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SAASC,IAAI,QAAQ,wBAAe;AACpC,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,OAAO,QAAQ,kCAAkC;;AAE1D;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAS,CAAC;AAY1C,OAAO,MAAMC,aAA2C,GAAGA,CAAC;EAC1DC,YAAY,GAAG,EAAE;EACjBC,KAAK;EACLC,SAAS,GAAG,KAAK;EACjBC,YAAY,GAAG,CAAC;EAChBC,YAAY;EACZC,UAAU;EACVC,UAAU,GAAGnB,SAAS,CAACmB,UAAU,CAACC;AACpC,CAAC,KAAK;EACJ,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG5B,QAAQ,CAAC,IAAI,CAAC;EACtD,MAAM,CAAC6B,UAAU,EAAEC,aAAa,CAAC,GAAG9B,QAAQ,CAAC,KAAK,CAAC;EAEnD,MAAM+B,iBAAiB,GAAG7B,OAAO,CAC/B,MAAM,CAAC,CAACiB,YAAY,IAAIA,YAAY,CAACa,UAAU,CAAC,MAAM,CAAC,EACvD,CAACb,YAAY,CACf,CAAC;;EAED;EACAlB,SAAS,CAAC,MAAM;IACd,IAAIoB,SAAS,EAAE;MACbO,eAAe,CAAC,IAAI,CAAC;MACrBE,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACT,SAAS,CAAC,CAAC;;EAEf;EACApB,SAAS,CAAC,MAAM;IACd,IAAI8B,iBAAiB,EAAE;MACrB;MACA,MAAME,eAAe,GAAGjB,gBAAgB,CAACkB,GAAG,CAACf,YAAY,CAAC;MAE1D,IAAIc,eAAe,EAAE;QACnB;QACAL,eAAe,CAAC,KAAK,CAAC;QACtBE,aAAa,CAAC,KAAK,CAAC;MACtB,CAAC,MAAM;QACL;QACAF,eAAe,CAAC,IAAI,CAAC;QACrBE,aAAa,CAAC,KAAK,CAAC;QACpBxB,SAAS,CAAC6B,OAAO,CAAC,CAAC;UAAEC,GAAG,EAAEjB;QAAa,CAAC,CAAC,CAAC;MAC5C;IACF,CAAC,MAAM;MACLS,eAAe,CAAC,KAAK,CAAC;MACtBE,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CAACX,YAAY,EAAEY,iBAAiB,CAAC,CAAC;EAErC,MAAMM,YAAY,GAAGnC,OAAO,CAC1B,MAAMmB,SAAS,IAAKM,YAAY,IAAI,CAACE,UAAU,IAAIE,iBAAkB,EACrE,CAACV,SAAS,EAAEM,YAAY,EAAEE,UAAU,EAAEE,iBAAiB,CACzD,CAAC;EAED,MAAMO,kBAAkB,GAAGpC,OAAO,CAChC,OAAO;IACLqC,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG,CAAC;IACnBlB,YAAY;IACZmB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE;EACR,CAAC,CAAC,EACF,CAACrB,YAAY,CACf,CAAC;EAED,MAAMsB,gBAAgB,GAAG1C,OAAO,CAC9B,MAAM,CACJ2C,MAAM,CAACC,gBAAgB,EACvB;IACExB,YAAY;IACZyB,eAAe,EAAE3B,KAAK,CAAC4B,MAAM,CAACC,UAAU;IACxCC,WAAW,EAAE9B,KAAK,CAAC4B,MAAM,CAACG;EAC5B,CAAC,EACD5B,YAAY,CACb,EACD,CAACD,YAAY,EAAEF,KAAK,CAAC4B,MAAM,CAACC,UAAU,EAAE7B,KAAK,CAAC4B,MAAM,CAACG,MAAM,EAAE5B,YAAY,CAC3E,CAAC;EAED,MAAM6B,oBAAoB,GAAGlD,OAAO,CAClC,MAAM,CAAC2C,MAAM,CAACQ,eAAe,EAAE;IAAE/B;EAAa,CAAC,CAAC,EAChD,CAACA,YAAY,CACf,CAAC;EAED,MAAMgC,cAAc,GAAGpD,OAAO,CAC5B,MAAM,CACJoC,kBAAkB,EAClBD,YAAY,GAAGQ,MAAM,CAACU,MAAM,GAAGV,MAAM,CAACW,OAAO,EAC7ChC,UAAU,CACX,EACD,CAACc,kBAAkB,EAAED,YAAY,EAAEb,UAAU,CAC/C,CAAC;EAED,MAAMiC,aAAa,GAAGvD,OAAO,CAC3B,MAAM,CACJ2C,MAAM,CAACa,QAAQ,EACf;IACEpC,YAAY;IACZyB,eAAe,EAAE3B,KAAK,CAAC4B,MAAM,CAACW,cAAc;IAC5CC,WAAW,EAAExC,KAAK,CAAC4B,MAAM,CAACa;EAC5B,CAAC,CACF,EACD,CAACvC,YAAY,EAAEF,KAAK,CAAC4B,MAAM,CAACW,cAAc,EAAEvC,KAAK,CAAC4B,MAAM,CAACa,KAAK,CAChE,CAAC;EAED,MAAMC,eAAe,GAAG3D,WAAW,CAAC,MAAM;IACxC;IACA,IAAI,CAACa,gBAAgB,CAACkB,GAAG,CAACf,YAAY,CAAC,EAAE;MACvCS,eAAe,CAAC,IAAI,CAAC;MACrBE,aAAa,CAAC,KAAK,CAAC;IACtB;EACF,CAAC,EAAE,CAACX,YAAY,CAAC,CAAC;EAElB,MAAM4C,aAAa,GAAG5D,WAAW,CAAC,MAAM;IACtCyB,eAAe,CAAC,KAAK,CAAC;IACtBE,aAAa,CAAC,KAAK,CAAC;IACpB;IACAd,gBAAgB,CAACgD,GAAG,CAAC7C,YAAY,CAAC;EACpC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAM8C,WAAW,GAAG9D,WAAW,CAAC,MAAM;IACpCyB,eAAe,CAAC,KAAK,CAAC;IACtBE,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEf,KAAA,CAACX,IAAI;IAAC8D,KAAK,EAAEtB,gBAAiB;IAAAuB,QAAA,GAC3B9B,YAAY,iBACXxB,IAAA,CAACT,IAAI;MAAC8D,KAAK,EAAEd,oBAAqB;MAAAe,QAAA,eAChCtD,IAAA,CAACN,mBAAmB;QAClBwC,eAAe,EAAE3B,KAAK,CAAC4B,MAAM,CAACoB,iBAAkB;QAChDC,cAAc,EAAEjD,KAAK,CAAC4B,MAAM,CAACsB,sBAAuB;QAAAH,QAAA,eAEpDtD,IAAA,CAACN,mBAAmB,CAACgE,IAAI;UACvBL,KAAK,EAAE,CAACrB,MAAM,CAAC2B,QAAQ,EAAE;YAAElD;UAAa,CAAC;QAAE,CAC5C;MAAC,CACiB;IAAC,CAClB,CACP,EAEAS,iBAAiB,iBAChBlB,IAAA,CAACP,SAAS;MACRmE,MAAM,EAAE;QAAErC,GAAG,EAAEjB;MAAa,CAAE;MAC9B+C,KAAK,EAAEZ,cAAe;MACtB7B,UAAU,EAAEA,UAAW;MACvBiD,WAAW,EAAEZ,eAAgB;MAC7Ba,SAAS,EAAEZ,aAAc;MACzBa,OAAO,EAAEX;IAAY,CACtB,CACF,EAEA,CAAC5B,YAAY,KAAK,CAACN,iBAAiB,IAAIF,UAAU,CAAC,iBAClDd,KAAA,CAACX,IAAI;MAAC8D,KAAK,EAAET,aAAc;MAAAU,QAAA,gBACzBtD,IAAA,CAACH,QAAQ;QAACmE,IAAI,EAAErE,KAAK,CAAC,EAAE,CAAE;QAACsE,KAAK,EAAE1D,KAAK,CAAC4B,MAAM,CAACa;MAAM,CAAE,CAAC,eACxDhD,IAAA,CAACJ,IAAI;QAACyD,KAAK,EAAErB,MAAM,CAACkC,YAAa;QAACD,KAAK,EAAE1D,KAAK,CAAC4B,MAAM,CAACa,KAAM;QAAAM,QAAA,EAAC;MAE7D,CAAM,CAAC;IAAA,CACH,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAED,4BAAepE,KAAK,CAACiF,IAAI,CAAC9D,aAAa,CAAC;AAExC,MAAM2B,MAAM,GAAGxC,UAAU,CAAC4E,MAAM,CAAC;EAC/BnC,gBAAgB,EAAE;IAChBP,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG,CAAC;IACnB0C,QAAQ,EAAE,QAAQ;IAClBzC,QAAQ,EAAE;EACZ,CAAC;EACDY,eAAe,EAAE;IACfZ,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPJ,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG,CAAC;IACnB0C,QAAQ,EAAE;EACZ,CAAC;EACDV,QAAQ,EAAE;IACRjC,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG;EACpB,CAAC;EACDgB,OAAO,EAAE;IACP2B,OAAO,EAAE;EACX,CAAC;EACD5B,MAAM,EAAE;IACN4B,OAAO,EAAE;EACX,CAAC;EACDzB,QAAQ,EAAE;IACRjB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPJ,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG,CAAC;IACnB4C,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDN,YAAY,EAAE;IACZO,SAAS,EAAE9E,KAAK,CAAC,CAAC,CAAC;IACnB+E,QAAQ,EAAE5E,OAAO,CAAC,CAAC;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * @author Naresh Dhamu
5
5
  * @lastModified Sun 08 Jun 2025 at 03:50 PM
6
6
  */
7
- import React, { useMemo } from 'react';
7
+ import React, { useMemo, useCallback } from 'react';
8
8
  import { ActivityIndicator, FlatList } from 'react-native';
9
9
  import { scale, verticalScale } from 'react-native-size-matters';
10
10
  import Animated from 'react-native-reanimated';
@@ -16,7 +16,7 @@ import { useInternalTheme } from "../../theme/hook/index.js";
16
16
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
17
17
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
18
18
  const AnimatedFlatList = Animated.createAnimatedComponent(FlatList);
19
- const ContentFooter = ({
19
+ const ContentFooter = /*#__PURE__*/React.memo(({
20
20
  isEmpty,
21
21
  ErrorComponent,
22
22
  InfiniteScrollIsLoading,
@@ -27,14 +27,15 @@ const ContentFooter = ({
27
27
  const {
28
28
  theme: appliedTheme
29
29
  } = useInternalTheme(theme);
30
+ const loaderStyle = useMemo(() => ({
31
+ paddingVertical: scale(30),
32
+ alignItems: 'center',
33
+ justifyContent: 'center',
34
+ backgroundColor: 'transparent'
35
+ }), []);
30
36
  if (InfiniteScrollIsLoading) {
31
37
  return InfiniteScrollLoaderComponent ?? /*#__PURE__*/_jsx(Animated.View, {
32
- style: {
33
- paddingVertical: scale(30),
34
- alignItems: 'center',
35
- justifyContent: 'center',
36
- backgroundColor: 'transparent'
37
- },
38
+ style: loaderStyle,
38
39
  children: /*#__PURE__*/_jsx(ActivityIndicator, {
39
40
  size: "large",
40
41
  color: appliedTheme.colors.primary
@@ -51,7 +52,7 @@ const ContentFooter = ({
51
52
  });
52
53
  }
53
54
  return null;
54
- };
55
+ });
55
56
  export const Content = ({
56
57
  customComponents,
57
58
  InfiniteScrollLoaderComponent,
@@ -71,6 +72,19 @@ export const Content = ({
71
72
  }) => {
72
73
  const insets = useSafeAreaInsets();
73
74
  const sectionData = useMemo(() => contentData?.sectionData ?? [], [contentData?.sectionData]);
75
+
76
+ // Memoize section data object to prevent unnecessary re-renders
77
+ const sectionDataMemo = useMemo(() => ({
78
+ historyData: contentData.historyData,
79
+ category: contentData.category
80
+ }), [contentData.historyData, contentData.category]);
81
+
82
+ // Memoize loading state object
83
+ const loadingStateMemo = useMemo(() => ({
84
+ section: isLoading?.section ?? false,
85
+ history: isLoading?.history ?? false,
86
+ category: isLoading?.category ?? false
87
+ }), [isLoading?.section, isLoading?.history, isLoading?.category]);
74
88
  const headerComponent = useMemo(() => {
75
89
  if (!contentData?.category || contentData.category.length === 0) return null;
76
90
  return /*#__PURE__*/_jsx(CategoryCard, {
@@ -82,7 +96,7 @@ export const Content = ({
82
96
  theme: theme
83
97
  }, 'category');
84
98
  }, [contentData?.category, events?.onPressCategory, events?.activeCategory, isLoading?.category, theme]);
85
- const renderItem = ({
99
+ const renderItem = useCallback(({
86
100
  item,
87
101
  index
88
102
  }) => {
@@ -97,8 +111,7 @@ export const Content = ({
97
111
  type: item?.type || 'normal',
98
112
  data: {
99
113
  sectionData: item.content || null,
100
- historyData: contentData.historyData,
101
- category: contentData.category
114
+ ...sectionDataMemo
102
115
  },
103
116
  name: item?.name || `Section ${index}`,
104
117
  theme: theme,
@@ -106,39 +119,45 @@ export const Content = ({
106
119
  section_id: item?._id || index.toString(),
107
120
  events: events,
108
121
  isLoading: {
109
- section: isLoadingItem,
110
- history: isLoading?.history,
111
- category: isLoading?.category
122
+ ...loadingStateMemo,
123
+ section: isLoadingItem
112
124
  },
113
125
  sectionProps: sectionProps,
114
126
  moreFetchDataHistory: moreFetchDataHistory,
115
127
  moreFetchData: moreFetchData
116
128
  }, index);
117
- };
118
- const isEmpty = !isLoading?.section && (!sectionData || sectionData.length === 0);
129
+ }, [isLoading, LoaderComponent, sectionDataMemo, loadingStateMemo, theme, customComponents, events, sectionProps, moreFetchDataHistory, moreFetchData]);
130
+ const isEmpty = useMemo(() => !isLoading?.section && (!sectionData || sectionData.length === 0), [isLoading?.section, sectionData]);
131
+ const keyExtractor = useCallback((_item, index) => index.toString(), []);
132
+ const handleEndReached = useCallback(() => {
133
+ onEndReached?.();
134
+ }, [onEndReached]);
135
+ const contentContainerStyleMemo = useMemo(() => [{
136
+ paddingBottom: verticalScale(100) + insets.bottom
137
+ }, contentContainerStyle], [insets.bottom, contentContainerStyle]);
138
+ const listData = useMemo(() => isLoading?.section ? dummySections : sectionData, [isLoading?.section, sectionData]);
119
139
  return /*#__PURE__*/_jsx(AnimatedFlatList, {
120
140
  initialNumToRender: 5,
121
141
  showsVerticalScrollIndicator: false,
122
142
  removeClippedSubviews: true,
123
143
  onScroll: onScroll,
124
144
  scrollEventThrottle: 16,
125
- data: isLoading?.section ? dummySections : sectionData,
145
+ data: listData,
126
146
  renderItem: renderItem,
127
- keyExtractor: (_item, index) => index.toString(),
128
- onEndReached: () => onEndReached?.(),
147
+ keyExtractor: keyExtractor,
148
+ onEndReached: handleEndReached,
129
149
  ListHeaderComponent: headerComponent,
130
- ListFooterComponent: /*#__PURE__*/_jsx(ContentFooter, {
150
+ ListFooterComponent: useMemo(() => /*#__PURE__*/_jsx(ContentFooter, {
131
151
  InfiniteScrollLoaderComponent: InfiniteScrollLoaderComponent,
132
152
  InfiniteScrollIsLoading: isLoading?.InfiniteScrollIsLoading,
133
153
  isEmpty: isEmpty,
134
154
  ErrorComponent: ErrorComponent,
135
155
  theme: theme,
136
156
  noContentFallbackProps: noContentFallbackProps
137
- }),
157
+ }), [InfiniteScrollLoaderComponent, isLoading?.InfiniteScrollIsLoading, isEmpty, ErrorComponent, theme, noContentFallbackProps]),
138
158
  onEndReachedThreshold: 0.7,
139
- contentContainerStyle: [{
140
- paddingBottom: verticalScale(100) + insets.bottom
141
- }, contentContainerStyle]
159
+ contentContainerStyle: contentContainerStyleMemo
142
160
  });
143
161
  };
162
+ export default /*#__PURE__*/React.memo(Content);
144
163
  //# sourceMappingURL=Content.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","ActivityIndicator","FlatList","scale","verticalScale","Animated","SectionType","dummySections","CategoryCard","NoContentFallback","useInternalTheme","useSafeAreaInsets","jsx","_jsx","Fragment","_Fragment","AnimatedFlatList","createAnimatedComponent","ContentFooter","isEmpty","ErrorComponent","InfiniteScrollIsLoading","InfiniteScrollLoaderComponent","theme","noContentFallbackProps","appliedTheme","View","style","paddingVertical","alignItems","justifyContent","backgroundColor","children","size","color","colors","primary","isLoading","Content","customComponents","LoaderComponent","onScroll","contentContainerStyle","contentData","onEndReached","events","sectionProps","moreFetchData","moreFetchDataHistory","insets","sectionData","headerComponent","category","length","onPressCategory","activeCategory","mode","renderItem","item","index","isDummy","_id","startsWith","isLoadingItem","section","type","data","content","historyData","name","section_id","toString","history","initialNumToRender","showsVerticalScrollIndicator","removeClippedSubviews","scrollEventThrottle","keyExtractor","_item","ListHeaderComponent","ListFooterComponent","onEndReachedThreshold","paddingBottom","bottom"],"sourceRoot":"../../../../src","sources":["components/Content/Content.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useCallback","ActivityIndicator","FlatList","scale","verticalScale","Animated","SectionType","dummySections","CategoryCard","NoContentFallback","useInternalTheme","useSafeAreaInsets","jsx","_jsx","Fragment","_Fragment","AnimatedFlatList","createAnimatedComponent","ContentFooter","memo","isEmpty","ErrorComponent","InfiniteScrollIsLoading","InfiniteScrollLoaderComponent","theme","noContentFallbackProps","appliedTheme","loaderStyle","paddingVertical","alignItems","justifyContent","backgroundColor","View","style","children","size","color","colors","primary","isLoading","Content","customComponents","LoaderComponent","onScroll","contentContainerStyle","contentData","onEndReached","events","sectionProps","moreFetchData","moreFetchDataHistory","insets","sectionData","sectionDataMemo","historyData","category","loadingStateMemo","section","history","headerComponent","length","onPressCategory","activeCategory","mode","renderItem","item","index","isDummy","_id","startsWith","isLoadingItem","type","data","content","name","section_id","toString","keyExtractor","_item","handleEndReached","contentContainerStyleMemo","paddingBottom","bottom","listData","initialNumToRender","showsVerticalScrollIndicator","removeClippedSubviews","scrollEventThrottle","ListHeaderComponent","ListFooterComponent","onEndReachedThreshold"],"sourceRoot":"../../../../src","sources":["components/Content/Content.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,14 @@
4
4
  * @author Naresh Dhamu
5
5
  * @lastModified Sun 08 Jun 2025 at 03:50 PM
6
6
  */
7
- import React from 'react';
7
+ import React, { useMemo } from 'react';
8
8
  import Sliders from "./Card/Sliders/index.js";
9
9
  import Cards from "./Card/index.js";
10
10
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
11
- const renderDefaultComponent = (type, props) => {
11
+ // Memoized common props creator to prevent object recreation
12
+ const createCommonProps = (type, props) => {
12
13
  const effectiveIsLoading = props.isLoading?.section || props.section_id === `dummy-${type}`;
13
- const commonProps = {
14
+ return {
14
15
  theme: props.theme,
15
16
  title: props.name,
16
17
  section_id: props.section_id,
@@ -23,6 +24,9 @@ const renderDefaultComponent = (type, props) => {
23
24
  moreFetchDataHistory: props.moreFetchDataHistory,
24
25
  moreFetchData: props.moreFetchData
25
26
  };
27
+ };
28
+ const renderDefaultComponent = (type, props) => {
29
+ const commonProps = createCommonProps(type, props);
26
30
  switch (type) {
27
31
  case 'slider':
28
32
  return /*#__PURE__*/_jsx(Sliders.Styles.One, {
@@ -93,18 +97,12 @@ const Sections = ({
93
97
  moreFetchData,
94
98
  moreFetchDataHistory
95
99
  }) => {
96
- const commonProps = {
100
+ const commonProps = useMemo(() => ({
97
101
  data: data.sectionData,
98
102
  title: name
99
- };
100
- const customComponent = customComponents.find(c => c.type === type);
101
- if (customComponent) {
102
- return /*#__PURE__*/React.cloneElement(customComponent.component, {
103
- ...(customComponent.component?.props ?? {}),
104
- ...commonProps
105
- });
106
- }
107
- const defaultRendered = renderDefaultComponent(type, {
103
+ }), [data.sectionData, name]);
104
+ const customComponent = useMemo(() => customComponents.find(c => c.type === type), [customComponents, type]);
105
+ const defaultRendered = useMemo(() => renderDefaultComponent(type, {
108
106
  data,
109
107
  name,
110
108
  section_id,
@@ -115,23 +113,33 @@ const Sections = ({
115
113
  isLoading,
116
114
  moreFetchData,
117
115
  moreFetchDataHistory
118
- });
116
+ }), [type, data, name, section_id, index, theme, events, sectionProps, isLoading, moreFetchData, moreFetchDataHistory]);
117
+
118
+ // Memoize props object to avoid recreating in filter
119
+ const filterProps = useMemo(() => ({
120
+ data,
121
+ name,
122
+ section_id,
123
+ index,
124
+ theme,
125
+ events,
126
+ sectionProps,
127
+ isLoading,
128
+ moreFetchData,
129
+ moreFetchDataHistory
130
+ }), [data, name, section_id, index, theme, events, sectionProps, isLoading, moreFetchData, moreFetchDataHistory]);
131
+ const fallbackComponents = useMemo(() => customComponents.filter(({
132
+ type: customType
133
+ }) => renderDefaultComponent(customType, filterProps) === null), [customComponents, filterProps]);
134
+ if (customComponent) {
135
+ return /*#__PURE__*/React.cloneElement(customComponent.component, {
136
+ ...(customComponent.component?.props ?? {}),
137
+ ...commonProps
138
+ });
139
+ }
119
140
  if (defaultRendered) return defaultRendered;
120
141
  return /*#__PURE__*/_jsx(_Fragment, {
121
- children: customComponents.filter(({
122
- type: customType
123
- }) => renderDefaultComponent(customType, {
124
- data,
125
- name,
126
- section_id,
127
- index,
128
- theme,
129
- events,
130
- sectionProps,
131
- isLoading,
132
- moreFetchData,
133
- moreFetchDataHistory
134
- }) === null).map(({
142
+ children: fallbackComponents.map(({
135
143
  component,
136
144
  type: key
137
145
  }) => /*#__PURE__*/React.cloneElement(component, {
@@ -141,5 +149,5 @@ const Sections = ({
141
149
  }))
142
150
  });
143
151
  };
144
- export default Sections;
152
+ export default /*#__PURE__*/React.memo(Sections);
145
153
  //# sourceMappingURL=Sections.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Sliders","Cards","jsx","_jsx","Fragment","_Fragment","renderDefaultComponent","type","props","effectiveIsLoading","isLoading","section","section_id","commonProps","theme","title","name","data","sectionData","index","onPressItem","events","onPressMore","moreFetchDataHistory","moreFetchData","Styles","One","showPlayIcon","sectionProps","showPlayBtn","Two","Three","Four","Five","Six","NowWatching","historyData","isLoadingHistory","history","RotateCarousel","TopTen","Sections","customComponents","customComponent","find","c","cloneElement","component","defaultRendered","children","filter","customType","map","key"],"sourceRoot":"../../../../src","sources":["components/Content/Sections.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Sliders","Cards","jsx","_jsx","Fragment","_Fragment","createCommonProps","type","props","effectiveIsLoading","isLoading","section","section_id","theme","title","name","data","sectionData","index","onPressItem","events","onPressMore","moreFetchDataHistory","moreFetchData","renderDefaultComponent","commonProps","Styles","One","showPlayIcon","sectionProps","showPlayBtn","Two","Three","Four","Five","Six","NowWatching","historyData","isLoadingHistory","history","RotateCarousel","TopTen","Sections","customComponents","customComponent","find","c","defaultRendered","filterProps","fallbackComponents","filter","customType","cloneElement","component","children","map","key","memo"],"sourceRoot":"../../../../src","sources":["components/Content/Sections.tsx"],"mappings":"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","ignoreList":[]}