@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
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Image","StyleSheet","View","SkeletonPlaceholder","scale","useInternalTheme","jsx","_jsx","jsxs","_jsxs","fallbackAvatar","require","UserAvatar","avatarUri","size","theme","appliedTheme","imageError","setImageError","loading","setLoading","borderColor","colors","primary","skeletonBaseColor","skeletonHighlightColor","handleError","handleLoadStart","handleLoadEnd","style","styles","wrapper","children","backgroundColor","highlightColor","borderRadius","Item","width","height","source","uri","avatar","position","onError","onLoadStart","onLoadEnd","create","justifyContent","alignItems","borderWidth"],"sourceRoot":"../../../../../src","sources":["components/User/components/UserAvatar.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","memo","useMemo","useCallback","Image","StyleSheet","View","SkeletonPlaceholder","scale","useInternalTheme","jsx","_jsx","jsxs","_jsxs","fallbackAvatar","require","UserAvatarComponent","avatarUri","size","theme","appliedTheme","imageError","setImageError","loading","setLoading","borderColor","colors","primary","skeletonBaseColor","skeletonHighlightColor","handleError","handleLoadStart","handleLoadEnd","imageSource","uri","avatarStyles","styles","avatarImageStyle","avatar","position","skeletonBorderRadius","style","wrapper","children","backgroundColor","highlightColor","borderRadius","Item","width","height","source","onError","onLoadStart","onLoadEnd","UserAvatar","create","justifyContent","alignItems","borderWidth"],"sourceRoot":"../../../../../src","sources":["components/User/components/UserAvatar.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAW,QAAQ,OAAO;AACnE,SAASC,KAAK,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACtD,OAAOC,mBAAmB,MAAM,mCAAmC;AACnE,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SAASC,gBAAgB,QAAQ,yCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxE,MAAMC,cAAc,GAAGC,OAAO,CAAC,iCAAiC,CAAC;AAQjE,MAAMC,mBAA8C,GAAGA,CAAC;EACtDC,SAAS;EACTC,IAAI,GAAGV,KAAK,CAAC,EAAE,CAAC;EAChBW;AACF,CAAC,KAAK;EACJ,MAAM;IAAEA,KAAK,EAAEC;EAAa,CAAC,GAAGX,gBAAgB,CAACU,KAAK,CAAC;EACvD,MAAM,CAACE,UAAU,EAAEC,aAAa,CAAC,GAAGtB,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACuB,OAAO,EAAEC,UAAU,CAAC,GAAGxB,QAAQ,CAAC,CAAC,CAACiB,SAAS,CAAC;;EAEnD;EACA,MAAMQ,WAAW,GAAGvB,OAAO,CACzB,MAAMkB,YAAY,CAACM,MAAM,CAACC,OAAO,IAAI,MAAM,EAC3C,CAACP,YAAY,CAACM,MAAM,CAACC,OAAO,CAC9B,CAAC;EAED,MAAMC,iBAAiB,GAAG1B,OAAO,CAC/B,MAAMkB,YAAY,CAACM,MAAM,CAACE,iBAAiB,IAAI,SAAS,EACxD,CAACR,YAAY,CAACM,MAAM,CAACE,iBAAiB,CACxC,CAAC;EAED,MAAMC,sBAAsB,GAAG3B,OAAO,CACpC,MAAMkB,YAAY,CAACM,MAAM,CAACG,sBAAsB,IAAI,SAAS,EAC7D,CAACT,YAAY,CAACM,MAAM,CAACG,sBAAsB,CAC7C,CAAC;;EAED;EACA,MAAMC,WAAW,GAAG3B,WAAW,CAAC,MAAM;IACpCmB,aAAa,CAAC,IAAI,CAAC;IACnBE,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,eAAe,GAAG5B,WAAW,CAAC,MAAM;IACxCqB,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMQ,aAAa,GAAG7B,WAAW,CAAC,MAAM;IACtCqB,UAAU,CAAC,KAAK,CAAC;EACnB,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMS,WAAW,GAAG/B,OAAO,CACzB,MAAOmB,UAAU,IAAI,CAACJ,SAAS,GAAGH,cAAc,GAAG;IAAEoB,GAAG,EAAEjB;EAAU,CAAE,EACtE,CAACI,UAAU,EAAEJ,SAAS,CACxB,CAAC;;EAED;EACA,MAAMkB,YAAY,GAAGjC,OAAO,CAAC,MAAMkC,MAAM,CAAClB,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EACxD,MAAMmB,gBAAgB,GAAGnC,OAAO,CAC9B,MAAM,CAACiC,YAAY,CAACG,MAAM,EAAE;IAAEb,WAAW;IAAEc,QAAQ,EAAE;EAAoB,CAAC,CAAC,EAC3E,CAACJ,YAAY,CAACG,MAAM,EAAEb,WAAW,CACnC,CAAC;;EAED;EACA,MAAMe,oBAAoB,GAAGtC,OAAO,CAAC,MAAMgB,IAAI,GAAG,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE5D,oBACEL,KAAA,CAACP,IAAI;IAACmC,KAAK,EAAEN,YAAY,CAACO,OAAQ;IAAAC,QAAA,GAC/BpB,OAAO,iBACNZ,IAAA,CAACJ,mBAAmB;MAClBqC,eAAe,EAAEhB,iBAAkB;MACnCiB,cAAc,EAAEhB,sBAAuB;MACvCiB,YAAY,EAAEN,oBAAqB;MAAAG,QAAA,eAEnChC,IAAA,CAACJ,mBAAmB,CAACwC,IAAI;QACvBC,KAAK,EAAE9B,IAAK;QACZ+B,MAAM,EAAE/B,IAAK;QACb4B,YAAY,EAAEN;MAAqB,CACpC;IAAC,CACiB,CACtB,eAED7B,IAAA,CAACP,KAAK;MACJ8C,MAAM,EAAEjB,WAAY;MACpBQ,KAAK,EAAEJ,gBAAiB;MACxBc,OAAO,EAAErB,WAAY;MACrBsB,WAAW,EAAErB,eAAgB;MAC7BsB,SAAS,EAAErB;IAAc,CAC1B,CAAC;EAAA,CACE,CAAC;AAEX,CAAC;AAED,MAAMsB,UAAU,gBAAGrD,IAAI,CAACe,mBAAmB,CAAC;AAC5C,eAAesC,UAAU;AAEzB,MAAMlB,MAAM,GAAIlB,IAAY,IAC1Bb,UAAU,CAACkD,MAAM,CAAC;EAChBb,OAAO,EAAE;IACPM,KAAK,EAAE9B,IAAI;IACX+B,MAAM,EAAE/B,IAAI;IACZqB,QAAQ,EAAE,UAAU;IACpBiB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDnB,MAAM,EAAE;IACNU,KAAK,EAAE9B,IAAI;IACX+B,MAAM,EAAE/B,IAAI;IACZ4B,YAAY,EAAE5B,IAAI,GAAG,CAAC;IACtBwC,WAAW,EAAElD,KAAK,CAAC,GAAG;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * @author Naresh Dhamu
5
5
  * @lastModified Mon 23 Jun 2025 at 11:22 AM
6
6
  */
7
- import React from 'react';
7
+ import React, { memo, useMemo } from 'react';
8
8
  import { View, Pressable } from 'react-native';
9
9
  import { Edit3 } from 'lucide-react-native';
10
10
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
@@ -14,7 +14,7 @@ import { Text } from "../../Text/index.js";
14
14
  import { useInternalTheme } from "../../../theme/hook/useInternalTheme.js";
15
15
  import { RFValue } from 'react-native-responsive-fontsize';
16
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
- const UserSection = ({
17
+ const UserSectionComponent = ({
18
18
  userInfo,
19
19
  isLoading,
20
20
  renderUserInfo,
@@ -26,14 +26,41 @@ const UserSection = ({
26
26
  const {
27
27
  theme: appliedTheme
28
28
  } = useInternalTheme(theme);
29
+
30
+ // Memoize skeleton colors
31
+ const skeletonColors = useMemo(() => ({
32
+ backgroundColor: appliedTheme.colors.skeletonBaseColor,
33
+ highlightColor: appliedTheme.colors.skeletonHighlightColor
34
+ }), [appliedTheme.colors.skeletonBaseColor, appliedTheme.colors.skeletonHighlightColor]);
35
+
36
+ // Memoize edit button style
37
+ const editButtonStyle = useMemo(() => [styles.editButton, {
38
+ borderColor: appliedTheme.colors.primary,
39
+ backgroundColor: appliedTheme.colors.surfaceVariant,
40
+ shadowColor: appliedTheme.colors.surface
41
+ }], [appliedTheme.colors.primary, appliedTheme.colors.surfaceVariant, appliedTheme.colors.surface]);
42
+
43
+ // Memoize text styles
44
+ const userNameStyle = useMemo(() => [styles.userName, {
45
+ color: appliedTheme.colors.onBackground
46
+ }, userInfoTextStyle.nameStyle], [appliedTheme.colors.onBackground, userInfoTextStyle.nameStyle]);
47
+ const userEmailStyle = useMemo(() => [styles.userEmail, {
48
+ color: appliedTheme.colors.onBackground
49
+ }, userInfoTextStyle.emailStyle], [appliedTheme.colors.onBackground, userInfoTextStyle.emailStyle]);
50
+
51
+ // Memoize ripple color
52
+ const rippleColor = useMemo(() => appliedTheme.colors.surfaceDisabled, [appliedTheme.colors.surfaceDisabled]);
53
+
54
+ // Memoize primary color
55
+ const primaryColor = useMemo(() => appliedTheme.colors.primary, [appliedTheme.colors.primary]);
29
56
  if (!userInfo) return null;
30
57
  if (renderUserInfo) return renderUserInfo(userInfo);
31
58
  if (isLoading) {
32
59
  return /*#__PURE__*/_jsx(View, {
33
60
  style: styles.userInfoContainer,
34
61
  children: /*#__PURE__*/_jsx(SkeletonPlaceholder, {
35
- backgroundColor: appliedTheme.colors.skeletonBaseColor,
36
- highlightColor: appliedTheme.colors.skeletonHighlightColor,
62
+ backgroundColor: skeletonColors.backgroundColor,
63
+ highlightColor: skeletonColors.highlightColor,
37
64
  borderRadius: moderateScale(8),
38
65
  ...skeletonProps,
39
66
  children: /*#__PURE__*/_jsxs(View, {
@@ -59,33 +86,26 @@ const UserSection = ({
59
86
  theme: theme
60
87
  }), userInfo.onEditPress && /*#__PURE__*/_jsx(Pressable, {
61
88
  onPress: userInfo.onEditPress,
62
- style: [styles.editButton, {
63
- borderColor: appliedTheme.colors.primary,
64
- backgroundColor: appliedTheme.colors.surfaceVariant,
65
- shadowColor: appliedTheme.colors.surface
66
- }],
89
+ style: editButtonStyle,
67
90
  android_ripple: {
68
- color: appliedTheme.colors.surfaceDisabled
91
+ color: rippleColor
69
92
  },
70
93
  children: /*#__PURE__*/_jsx(Edit3, {
71
94
  size: moderateScale(13),
72
- color: appliedTheme.colors.primary
95
+ color: primaryColor
73
96
  })
74
97
  })]
75
98
  })
76
99
  }), userInfo.name && /*#__PURE__*/_jsx(Text, {
77
- style: [styles.userName, {
78
- color: appliedTheme.colors.onBackground
79
- }, userInfoTextStyle.nameStyle],
100
+ style: userNameStyle,
80
101
  children: userInfo.name
81
102
  }), userInfo.emailOrPhone && /*#__PURE__*/_jsx(Text, {
82
- style: [styles.userEmail, {
83
- color: appliedTheme.colors.onBackground
84
- }, userInfoTextStyle.emailStyle],
103
+ style: userEmailStyle,
85
104
  children: userInfo.emailOrPhone
86
105
  })]
87
106
  });
88
107
  };
108
+ const UserSection = /*#__PURE__*/memo(UserSectionComponent);
89
109
  export default UserSection;
90
110
 
91
111
  // Styles
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Pressable","Edit3","SkeletonPlaceholder","moderateScale","scale","verticalScale","UserAvatar","Text","useInternalTheme","RFValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","UserSection","userInfo","isLoading","renderUserInfo","theme","avatarComponent","skeletonProps","userInfoTextStyle","appliedTheme","style","styles","userInfoContainer","children","backgroundColor","colors","skeletonBaseColor","highlightColor","skeletonHighlightColor","borderRadius","skeletonWrapper","skeletonAvatar","skeletonName","skeletonEmail","avatarWrapper","avatarUri","onEditPress","onPress","editButton","borderColor","primary","surfaceVariant","shadowColor","surface","android_ripple","color","surfaceDisabled","size","name","userName","onBackground","nameStyle","emailOrPhone","userEmail","emailStyle","alignItems","justifyContent","paddingVertical","height","position","bottom","right","padding","width","overflow","borderWidth","elevation","shadowOffset","shadowOpacity","shadowRadius","editLabel","fontSize","marginTop","fontWeight","lineHeight","marginBottom","opacity"],"sourceRoot":"../../../../../src","sources":["components/User/components/UserSection.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","View","Pressable","Edit3","SkeletonPlaceholder","moderateScale","scale","verticalScale","UserAvatar","Text","useInternalTheme","RFValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","UserSectionComponent","userInfo","isLoading","renderUserInfo","theme","avatarComponent","skeletonProps","userInfoTextStyle","appliedTheme","skeletonColors","backgroundColor","colors","skeletonBaseColor","highlightColor","skeletonHighlightColor","editButtonStyle","styles","editButton","borderColor","primary","surfaceVariant","shadowColor","surface","userNameStyle","userName","color","onBackground","nameStyle","userEmailStyle","userEmail","emailStyle","rippleColor","surfaceDisabled","primaryColor","style","userInfoContainer","children","borderRadius","skeletonWrapper","skeletonAvatar","skeletonName","skeletonEmail","avatarWrapper","avatarUri","onEditPress","onPress","android_ripple","size","name","emailOrPhone","UserSection","alignItems","justifyContent","paddingVertical","height","position","bottom","right","padding","width","overflow","borderWidth","elevation","shadowOffset","shadowOpacity","shadowRadius","editLabel","fontSize","marginTop","fontWeight","lineHeight","marginBottom","opacity"],"sourceRoot":"../../../../../src","sources":["components/User/components/UserSection.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,SAAS,QAAwC,cAAc;AAC9E,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,OAAOC,mBAAmB,MAAM,mCAAmC;AACnE,SAASC,aAAa,EAAEC,KAAK,EAAEC,aAAa,QAAQ,2BAA2B;AAC/E,OAAOC,UAAU,MAAM,iBAAc;AACrC,SAASC,IAAI,QAAQ,qBAAY;AACjC,SAASC,gBAAgB,QAAQ,yCAAsC;AAEvE,SAASC,OAAO,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAwB3D,MAAMC,oBAAgD,GAAGA,CAAC;EACxDC,QAAQ;EACRC,SAAS;EACTC,cAAc;EACdC,KAAK;EACLC,eAAe;EACfC,aAAa,GAAG,CAAC,CAAC;EAClBC,iBAAiB,GAAG,CAAC;AACvB,CAAC,KAAK;EACJ,MAAM;IAAEH,KAAK,EAAEI;EAAa,CAAC,GAAGhB,gBAAgB,CAACY,KAAK,CAAC;;EAEvD;EACA,MAAMK,cAAc,GAAG3B,OAAO,CAC5B,OAAO;IACL4B,eAAe,EAAEF,YAAY,CAACG,MAAM,CAACC,iBAAiB;IACtDC,cAAc,EAAEL,YAAY,CAACG,MAAM,CAACG;EACtC,CAAC,CAAC,EACF,CACEN,YAAY,CAACG,MAAM,CAACC,iBAAiB,EACrCJ,YAAY,CAACG,MAAM,CAACG,sBAAsB,CAE9C,CAAC;;EAED;EACA,MAAMC,eAAe,GAAGjC,OAAO,CAC7B,MAAM,CACJkC,MAAM,CAACC,UAAU,EACjB;IACEC,WAAW,EAAEV,YAAY,CAACG,MAAM,CAACQ,OAAO;IACxCT,eAAe,EAAEF,YAAY,CAACG,MAAM,CAACS,cAAc;IACnDC,WAAW,EAAEb,YAAY,CAACG,MAAM,CAACW;EACnC,CAAC,CACF,EACD,CACEd,YAAY,CAACG,MAAM,CAACQ,OAAO,EAC3BX,YAAY,CAACG,MAAM,CAACS,cAAc,EAClCZ,YAAY,CAACG,MAAM,CAACW,OAAO,CAE/B,CAAC;;EAED;EACA,MAAMC,aAAa,GAAGzC,OAAO,CAC3B,MAAM,CACJkC,MAAM,CAACQ,QAAQ,EACf;IAAEC,KAAK,EAAEjB,YAAY,CAACG,MAAM,CAACe;EAAa,CAAC,EAC3CnB,iBAAiB,CAACoB,SAAS,CAC5B,EACD,CAACnB,YAAY,CAACG,MAAM,CAACe,YAAY,EAAEnB,iBAAiB,CAACoB,SAAS,CAChE,CAAC;EAED,MAAMC,cAAc,GAAG9C,OAAO,CAC5B,MAAM,CACJkC,MAAM,CAACa,SAAS,EAChB;IAAEJ,KAAK,EAAEjB,YAAY,CAACG,MAAM,CAACe;EAAa,CAAC,EAC3CnB,iBAAiB,CAACuB,UAAU,CAC7B,EACD,CAACtB,YAAY,CAACG,MAAM,CAACe,YAAY,EAAEnB,iBAAiB,CAACuB,UAAU,CACjE,CAAC;;EAED;EACA,MAAMC,WAAW,GAAGjD,OAAO,CACzB,MAAM0B,YAAY,CAACG,MAAM,CAACqB,eAAe,EACzC,CAACxB,YAAY,CAACG,MAAM,CAACqB,eAAe,CACtC,CAAC;;EAED;EACA,MAAMC,YAAY,GAAGnD,OAAO,CAC1B,MAAM0B,YAAY,CAACG,MAAM,CAACQ,OAAO,EACjC,CAACX,YAAY,CAACG,MAAM,CAACQ,OAAO,CAC9B,CAAC;EAED,IAAI,CAAClB,QAAQ,EAAE,OAAO,IAAI;EAC1B,IAAIE,cAAc,EAAE,OAAOA,cAAc,CAACF,QAAQ,CAAC;EAEnD,IAAIC,SAAS,EAAE;IACb,oBACEP,IAAA,CAACZ,IAAI;MAACmD,KAAK,EAAElB,MAAM,CAACmB,iBAAkB;MAAAC,QAAA,eACpCzC,IAAA,CAACT,mBAAmB;QAClBwB,eAAe,EAAED,cAAc,CAACC,eAAgB;QAChDG,cAAc,EAAEJ,cAAc,CAACI,cAAe;QAC9CwB,YAAY,EAAElD,aAAa,CAAC,CAAC,CAAE;QAAA,GAC3BmB,aAAa;QAAA8B,QAAA,eAEjBvC,KAAA,CAACd,IAAI;UAACmD,KAAK,EAAElB,MAAM,CAACsB,eAAgB;UAAAF,QAAA,gBAClCzC,IAAA,CAACZ,IAAI;YAACmD,KAAK,EAAElB,MAAM,CAACuB;UAAe,CAAE,CAAC,eACtC5C,IAAA,CAACZ,IAAI;YAACmD,KAAK,EAAElB,MAAM,CAACwB;UAAa,CAAE,CAAC,eACpC7C,IAAA,CAACZ,IAAI;YAACmD,KAAK,EAAElB,MAAM,CAACyB;UAAc,CAAE,CAAC;QAAA,CACjC;MAAC,CACY;IAAC,CAClB,CAAC;EAEX;EAEA,oBACE5C,KAAA,CAACd,IAAI;IAACmD,KAAK,EAAElB,MAAM,CAACmB,iBAAkB;IAAAC,QAAA,gBACpCzC,IAAA,CAACZ,IAAI;MAACmD,KAAK,EAAElB,MAAM,CAAC0B,aAAc;MAAAN,QAAA,EAC/B/B,eAAe,iBACdR,KAAA,CAAAE,SAAA;QAAAqC,QAAA,gBACEzC,IAAA,CAACL,UAAU;UAACqD,SAAS,EAAE1C,QAAQ,CAAC0C,SAAU;UAACvC,KAAK,EAAEA;QAAM,CAAE,CAAC,EAC1DH,QAAQ,CAAC2C,WAAW,iBACnBjD,IAAA,CAACX,SAAS;UACR6D,OAAO,EAAE5C,QAAQ,CAAC2C,WAAY;UAC9BV,KAAK,EAAEnB,eAAgB;UACvB+B,cAAc,EAAE;YACdrB,KAAK,EAAEM;UACT,CAAE;UAAAK,QAAA,eAEFzC,IAAA,CAACV,KAAK;YAAC8D,IAAI,EAAE5D,aAAa,CAAC,EAAE,CAAE;YAACsC,KAAK,EAAEQ;UAAa,CAAE;QAAC,CAC9C,CACZ;MAAA,CACD;IACH,CACG,CAAC,EAENhC,QAAQ,CAAC+C,IAAI,iBAAIrD,IAAA,CAACJ,IAAI;MAAC2C,KAAK,EAAEX,aAAc;MAAAa,QAAA,EAAEnC,QAAQ,CAAC+C;IAAI,CAAO,CAAC,EACnE/C,QAAQ,CAACgD,YAAY,iBACpBtD,IAAA,CAACJ,IAAI;MAAC2C,KAAK,EAAEN,cAAe;MAAAQ,QAAA,EAAEnC,QAAQ,CAACgD;IAAY,CAAO,CAC3D;EAAA,CACG,CAAC;AAEX,CAAC;AAED,MAAMC,WAAW,gBAAGrE,IAAI,CAACmB,oBAAoB,CAAC;AAC9C,eAAekD,WAAW;;AAE1B;AACA,MAAMlC,MAAM,GAAG;EACbmB,iBAAiB,EAAE;IACjBgB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,eAAe,EAAEhE,aAAa,CAAC,EAAE,CAAC;IAClCiE,MAAM,EAAEjE,aAAa,CAAC,GAAG;EAC3B,CAAc;EACdqD,aAAa,EAAE;IACba,QAAQ,EAAE;EACZ,CAAc;EACdtC,UAAU,EAAE;IACVsC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAEpE,KAAK,CAAC,CAAC,CAAC;IAChBqE,KAAK,EAAErE,KAAK,CAAC,CAAC,CAAC;IACfsE,OAAO,EAAEtE,KAAK,CAAC,CAAC,CAAC;IACjBuE,KAAK,EAAEvE,KAAK,CAAC,EAAE,CAAC;IAChBkE,MAAM,EAAElE,KAAK,CAAC,EAAE,CAAC;IACjBwE,QAAQ,EAAE,QAAQ;IAClBvB,YAAY,EAAEjD,KAAK,CAAC,EAAE,CAAC;IACvB+D,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBS,WAAW,EAAE,CAAC;IACdC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE;MAAEJ,KAAK,EAAE,CAAC;MAAEL,MAAM,EAAE;IAAI,CAAC;IACvCU,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE;EAChB,CAAc;EAEdC,SAAS,EAAE;IACTC,QAAQ,EAAE1E,OAAO,CAAC,CAAC,CAAC;IACpB2E,SAAS,EAAE/E,aAAa,CAAC,CAAC,CAAC;IAC3BgF,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAEnF,aAAa,CAAC,EAAE;EAC9B,CAAc;EACdqC,QAAQ,EAAE;IACR2C,QAAQ,EAAE1E,OAAO,CAAC,EAAE,CAAC;IACrB4E,UAAU,EAAE,KAAK;IACjBD,SAAS,EAAE/E,aAAa,CAAC,EAAE,CAAC;IAC5BkF,YAAY,EAAElF,aAAa,CAAC,CAAC;EAC/B,CAAc;EACdwC,SAAS,EAAE;IACTsC,QAAQ,EAAE1E,OAAO,CAAC,EAAE,CAAC;IACrB+E,OAAO,EAAE;EACX,CAAc;EACdlC,eAAe,EAAE;IACfa,UAAU,EAAE;EACd,CAAc;EACdZ,cAAc,EAAE;IACdoB,KAAK,EAAEvE,KAAK,CAAC,EAAE,CAAC;IAChBkE,MAAM,EAAElE,KAAK,CAAC,EAAE,CAAC;IACjBiD,YAAY,EAAEjD,KAAK,CAAC,EAAE,CAAC;IACvBmF,YAAY,EAAElF,aAAa,CAAC,EAAE;EAChC,CAAc;EACdmD,YAAY,EAAE;IACZmB,KAAK,EAAEvE,KAAK,CAAC,GAAG,CAAC;IACjBkE,MAAM,EAAEjE,aAAa,CAAC,EAAE,CAAC;IACzBgD,YAAY,EAAElD,aAAa,CAAC,CAAC,CAAC;IAC9BoF,YAAY,EAAElF,aAAa,CAAC,CAAC;EAC/B,CAAc;EACdoD,aAAa,EAAE;IACbkB,KAAK,EAAEvE,KAAK,CAAC,GAAG,CAAC;IACjBkE,MAAM,EAAEjE,aAAa,CAAC,EAAE,CAAC;IACzBgD,YAAY,EAAElD,aAAa,CAAC,CAAC;EAC/B;AACF,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@
4
4
  * @author Naresh Dhamu
5
5
  * @lastModified Mon 07 Jul 2025 at 11:49 AM
6
6
  */
7
- import React from 'react';
7
+ import React, { useMemo } from 'react';
8
8
  import { View as RNView } from 'react-native';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  export const View = ({
@@ -13,12 +13,15 @@ export const View = ({
13
13
  children,
14
14
  ...rest
15
15
  }) => {
16
+ // Memoize style array to prevent unnecessary re-renders
17
+ const computedStyle = useMemo(() => [style, backgroundColor !== 'transparent' && {
18
+ backgroundColor
19
+ }], [style, backgroundColor]);
16
20
  return /*#__PURE__*/_jsx(RNView, {
17
- style: [style, {
18
- backgroundColor
19
- }],
21
+ style: computedStyle,
20
22
  ...rest,
21
23
  children: children
22
24
  });
23
25
  };
26
+ export default /*#__PURE__*/React.memo(View);
24
27
  //# sourceMappingURL=View.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","RNView","jsx","_jsx","style","backgroundColor","children","rest"],"sourceRoot":"../../../../src","sources":["components/View/View.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,IAAIC,MAAM,QAIT,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtB,OAAO,MAAMH,IAAyB,GAAGA,CAAC;EACxCI,KAAK;EACLC,eAAe,GAAG,aAAa;EAC/BC,QAAQ;EACR,GAAGC;AACL,CAAC,KAAK;EACJ,oBACEJ,IAAA,CAACF,MAAM;IAACG,KAAK,EAAE,CAACA,KAAK,EAAE;MAAEC;IAAgB,CAAC,CAAE;IAAA,GAAKE,IAAI;IAAAD,QAAA,EAClDA;EAAQ,CACH,CAAC;AAEb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","RNView","jsx","_jsx","style","backgroundColor","children","rest","computedStyle","memo"],"sourceRoot":"../../../../src","sources":["components/View/View.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SACEC,IAAI,IAAIC,MAAM,QAIT,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOtB,OAAO,MAAMH,IAAyB,GAAGA,CAAC;EACxCI,KAAK;EACLC,eAAe,GAAG,aAAa;EAC/BC,QAAQ;EACR,GAAGC;AACL,CAAC,KAAK;EACJ;EACA,MAAMC,aAAa,GAAGT,OAAO,CAC3B,MAAM,CAACK,KAAK,EAAEC,eAAe,KAAK,aAAa,IAAI;IAAEA;EAAgB,CAAC,CAAC,EACvE,CAACD,KAAK,EAAEC,eAAe,CACzB,CAAC;EAED,oBACEF,IAAA,CAACF,MAAM;IAACG,KAAK,EAAEI,aAAc;IAAA,GAAKD,IAAI;IAAAD,QAAA,EACnCA;EAAQ,CACH,CAAC;AAEb,CAAC;AAED,4BAAeR,KAAK,CAACW,IAAI,CAACT,IAAI,CAAC","ignoreList":[]}
@@ -17,7 +17,6 @@ export * from "./layout/index.js";
17
17
  export * from "./Settings/index.js";
18
18
  export * from "./Account/index.js";
19
19
  export * from "./TabBar/index.js";
20
- export * from "./Input/Input.js";
21
20
  export * from "./Text/index.js";
22
21
  export * from "./View/index.js";
23
22
  export * from "./User/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,cAAc,mBAAU;AACxB,cAAc,sBAAa;AAC3B,cAAc,kBAAe;AAC7B,cAAc,oBAAiB;AAC/B,cAAc,oBAAW;AACzB,cAAc,sBAAmB;AACjC,cAAc,gBAAa;AAC3B,cAAc,iBAAQ;AACtB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,kBAAe;AAC7B,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,wBAAe;AAC7B,cAAc,mBAAU;AACxB,cAAc,yBAAgB;AAC9B,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,qBAAY;AAC1B,cAAc,wBAAe","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,cAAc,mBAAU;AACxB,cAAc,sBAAa;AAC3B,cAAc,kBAAe;AAC7B,cAAc,oBAAiB;AAC/B,cAAc,oBAAW;AACzB,cAAc,sBAAmB;AACjC,cAAc,gBAAa;AAC3B,cAAc,iBAAQ;AACtB,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,wBAAe;AAC7B,cAAc,mBAAU;AACxB,cAAc,yBAAgB;AAC9B,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,qBAAY;AAC1B,cAAc,wBAAe","ignoreList":[]}
@@ -1,5 +1,46 @@
1
1
  "use strict";
2
2
 
3
+ /**
4
+ * Creates a dummy content data object for skeleton loading states
5
+ */
6
+ export const dummyContentData = (id = 'dummy-content-id') => {
7
+ return {
8
+ _id: id,
9
+ poster: '',
10
+ thumbnail: '',
11
+ content_offering_type: 'movie',
12
+ name: '',
13
+ slug: '',
14
+ u_age: '',
15
+ description: '',
16
+ release_date: '',
17
+ runtime: '',
18
+ duration: '',
19
+ genre: '',
20
+ director: '',
21
+ cast: [],
22
+ rating: '',
23
+ language: '',
24
+ subtitles: [],
25
+ audio_tracks: [],
26
+ type: 'movie',
27
+ year: '',
28
+ tags: [],
29
+ trailer: '',
30
+ trailer_source_link: '',
31
+ banner: '',
32
+ logo: '',
33
+ source_link: '',
34
+ source_type: '',
35
+ is_featured: false,
36
+ is_premium: false,
37
+ status: 'active',
38
+ views: 0,
39
+ likes: 0,
40
+ created_at: new Date().toISOString(),
41
+ updated_at: new Date().toISOString()
42
+ };
43
+ };
3
44
  const generateDummySection = type => {
4
45
  return {
5
46
  _id: `dummy-${type}`,
@@ -12,10 +53,9 @@ const generateDummySection = type => {
12
53
  slug: 'dummy'
13
54
  },
14
55
  content: {
15
- data: Array(5).fill({
16
- id: '',
17
- order: 0
18
- }),
56
+ data: Array.from({
57
+ length: 5
58
+ }, (_, i) => dummyContentData(`dummy-content-${i}`)),
19
59
  meta: {
20
60
  pagination: {
21
61
  total: 5,
@@ -1 +1 @@
1
- {"version":3,"names":["generateDummySection","type","_id","name","charAt","toUpperCase","slice","content_ids","Array","fill","category","slug","content","data","id","order","meta","pagination","total","limit","page","hasNextPage","length","nextPage","label","status","createdAt","Date","updatedAt","dummySections"],"sourceRoot":"../../../src","sources":["constants/dummySections.ts"],"mappings":";;AAEA,MAAMA,oBAAoB,GACxBC,IAA6B,IACT;EACpB,OAAO;IACLC,GAAG,EAAE,SAASD,IAAI,EAAE;IACpBE,IAAI,EAAE,WAAWF,IAAI,CAACG,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGJ,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,EAAE;IAC/DL,IAAI;IACJM,WAAW,EAAEC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;IAC9BC,QAAQ,EAAE;MACRR,GAAG,EAAE,cAAc;MACnBC,IAAI,EAAE,OAAO;MACbQ,IAAI,EAAE;IACR,CAAC;IACDC,OAAO,EAAE;MACPC,IAAI,EAAEL,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC;QAAEK,EAAE,EAAE,EAAE;QAAEC,KAAK,EAAE;MAAE,CAAC,CAAC;MACzCC,IAAI,EAAE;QACJC,UAAU,EAAE;UACVC,KAAK,EAAE,CAAC;UACRC,KAAK,EAAE,CAAC;UACRC,IAAI,EAAE,CAAC;UACPC,WAAW,EAAE,IAAI;UACjBC,MAAM,EAAE,CAAC;UACTC,QAAQ,EAAE;QACZ;MACF;IACF,CAAC;IACDC,KAAK,EAAE,EAAE;IACTT,KAAK,EAAE,CAAC;IACRU,MAAM,EAAE,KAAK;IACbC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC;IACrBC,SAAS,EAAE,IAAID,IAAI,CAAC;EACtB,CAAC;AACH,CAAC;AAED,OAAO,MAAME,aAAgC,GAAG,CAC9C7B,oBAAoB,CAAC,QAAQ,CAAC,EAC9BA,oBAAoB,CAAC,QAAQ,CAAC,EAC9BA,oBAAoB,CAAC,mBAAmB,CAAC,EACzCA,oBAAoB,CAAC,cAAc,CAAC,EACpCA,oBAAoB,CAAC,cAAc,CAAC,EACpCA,oBAAoB,CAAC,cAAc,CAAC,EACpCA,oBAAoB,CAAC,cAAc,CAAC,EACpCA,oBAAoB,CAAC,cAAc,CAAC,EACpCA,oBAAoB,CAAC,QAAQ,CAAC,CAC/B","ignoreList":[]}
1
+ {"version":3,"names":["dummyContentData","id","_id","poster","thumbnail","content_offering_type","name","slug","u_age","description","release_date","runtime","duration","genre","director","cast","rating","language","subtitles","audio_tracks","type","year","tags","trailer","trailer_source_link","banner","logo","source_link","source_type","is_featured","is_premium","status","views","likes","created_at","Date","toISOString","updated_at","generateDummySection","charAt","toUpperCase","slice","content_ids","Array","fill","category","content","data","from","length","_","i","meta","pagination","total","limit","page","hasNextPage","nextPage","label","order","createdAt","updatedAt","dummySections"],"sourceRoot":"../../../src","sources":["constants/dummySections.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export * from "./useImageLoader.js";
4
+ export * from "./useImageValidation.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["hooks/Images/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,yBAAsB","ignoreList":[]}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Wed 26 Nov 2025 at 02:19 PM
6
+ */
7
+
8
+ import { useState, useEffect, useMemo, useCallback, useRef } from 'react';
9
+ import FastImage from 'react-native-fast-image';
10
+ import { isValidImageUrl, isLocalFile } from "./useImageValidation.js";
11
+
12
+ // Module-level cache to track successfully loaded images
13
+ const loadedImageCache = new Set();
14
+ /**
15
+ * Custom hook to manage image loading state, caching, and validation
16
+ * @param options - Configuration options for image loading
17
+ * @returns Object containing image state and handlers
18
+ */
19
+ export const useImageLoader = ({
20
+ imageUri,
21
+ isLoading = false,
22
+ enablePreload = false,
23
+ onError,
24
+ onLoad,
25
+ onLoadStart
26
+ }) => {
27
+ const [imageLoading, setImageLoading] = useState(true);
28
+ const [imageError, setImageError] = useState(false);
29
+ const previousUriRef = useRef('');
30
+ const onErrorRef = useRef(onError);
31
+
32
+ // Keep onError ref updated
33
+ useEffect(() => {
34
+ onErrorRef.current = onError;
35
+ }, [onError]);
36
+
37
+ // Validate image URL
38
+ const hasValidImage = useMemo(() => isValidImageUrl(imageUri), [imageUri]);
39
+
40
+ // Check if image is already cached
41
+ const isImageCached = useMemo(() => loadedImageCache.has(imageUri), [imageUri]);
42
+
43
+ // Handle image state changes
44
+ useEffect(() => {
45
+ const uriChanged = previousUriRef.current !== imageUri;
46
+
47
+ // Update ref when URI changes
48
+ if (uriChanged) {
49
+ previousUriRef.current = imageUri;
50
+ // Reset error state when URI changes to allow new image to load
51
+ setImageError(false);
52
+ }
53
+
54
+ // Reset states when loading
55
+ if (isLoading) {
56
+ setImageLoading(true);
57
+ setImageError(false);
58
+ return;
59
+ }
60
+
61
+ // Handle valid image URL
62
+ if (hasValidImage) {
63
+ const isLocal = isLocalFile(imageUri);
64
+ if (isImageCached) {
65
+ // Image is cached, mark as loaded
66
+ setImageLoading(false);
67
+ setImageError(false);
68
+ } else {
69
+ // Image not cached, start loading
70
+ setImageLoading(true);
71
+ setImageError(false);
72
+ // Preload image if enabled (only for remote URLs, not local files)
73
+ if (enablePreload && !isLocal && uriChanged) {
74
+ FastImage.preload([{
75
+ uri: imageUri
76
+ }]);
77
+ }
78
+ }
79
+ } else {
80
+ // For empty or invalid URLs
81
+ if (!imageUri || imageUri.trim() === '') {
82
+ // Empty URI - show error immediately (no point in trying to load)
83
+ setImageLoading(false);
84
+ setImageError(true);
85
+ } else {
86
+ // Invalid URL format - attempt to load anyway
87
+ // FastImage might still be able to load it, so keep loading state
88
+ setImageLoading(true);
89
+ setImageError(false);
90
+ }
91
+ }
92
+ }, [imageUri, hasValidImage, isLoading, isImageCached, enablePreload]);
93
+
94
+ // Determine if skeleton should be shown
95
+ const showSkeleton = useMemo(() => isLoading || imageLoading && !imageError, [isLoading, imageLoading, imageError]);
96
+
97
+ // Determine if fallback should be shown
98
+ // Show fallback when:
99
+ // 1. Not showing skeleton
100
+ // 2. AND (imageError is true OR URI is empty/invalid)
101
+ // This allows images with invalid format to attempt loading, but shows fallback for empty URIs
102
+ const showFallback = useMemo(() => {
103
+ if (showSkeleton) return false;
104
+ // Empty URI - show fallback immediately
105
+ if (!imageUri || imageUri.trim() === '') return true;
106
+ // Show fallback only after actual error (not just invalid format)
107
+ return imageError && !imageLoading;
108
+ }, [showSkeleton, imageError, imageLoading, imageUri]);
109
+
110
+ // Check if image is a local file
111
+ const isLocal = useMemo(() => isLocalFile(imageUri), [imageUri]);
112
+
113
+ // Image source configuration
114
+ // Local files don't need cache control, cloud URIs do
115
+ const imageSource = useMemo(() => {
116
+ const source = {
117
+ uri: imageUri
118
+ };
119
+
120
+ // Only add cache control for remote URLs, not local files
121
+ if (!isLocal) {
122
+ source.cache = FastImage.cacheControl.immutable;
123
+ source.priority = FastImage.priority.normal;
124
+ }
125
+ return source;
126
+ }, [imageUri, isLocal]);
127
+
128
+ // Image event handlers
129
+ const handleLoad = useCallback(() => {
130
+ setImageLoading(false);
131
+ setImageError(false);
132
+ if (imageUri) {
133
+ loadedImageCache.add(imageUri);
134
+ }
135
+ if (onLoad) {
136
+ onLoad();
137
+ }
138
+ }, [imageUri, onLoad]);
139
+ const handleError = useCallback(() => {
140
+ setImageLoading(false);
141
+ setImageError(true);
142
+ if (onError) {
143
+ onError();
144
+ }
145
+ }, [onError]);
146
+ const handleLoadStart = useCallback(() => {
147
+ if (!isImageCached) {
148
+ setImageLoading(true);
149
+ setImageError(false);
150
+ if (onLoadStart) {
151
+ onLoadStart();
152
+ }
153
+ }
154
+ }, [isImageCached, onLoadStart]);
155
+ return {
156
+ imageLoading,
157
+ imageError,
158
+ hasValidImage,
159
+ isImageCached,
160
+ showSkeleton,
161
+ showFallback,
162
+ imageSource,
163
+ handleLoad,
164
+ handleError,
165
+ handleLoadStart: enablePreload ? handleLoadStart : undefined
166
+ };
167
+ };
168
+ //# sourceMappingURL=useImageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useEffect","useMemo","useCallback","useRef","FastImage","isValidImageUrl","isLocalFile","loadedImageCache","Set","useImageLoader","imageUri","isLoading","enablePreload","onError","onLoad","onLoadStart","imageLoading","setImageLoading","imageError","setImageError","previousUriRef","onErrorRef","current","hasValidImage","isImageCached","has","uriChanged","isLocal","preload","uri","trim","showSkeleton","showFallback","imageSource","source","cache","cacheControl","immutable","priority","normal","handleLoad","add","handleError","handleLoadStart","undefined"],"sourceRoot":"../../../../src","sources":["hooks/Images/useImageLoader.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Wed 26 Nov 2025 at 02:19 PM
6
+ */
7
+
8
+ const IMAGE_URL_REGEX = /\.(jpg|jpeg|png|webp|gif|bmp)$/i;
9
+
10
+ /**
11
+ * Utility function to check if URL is a local file path
12
+ * @param url - The URL to check
13
+ * @returns true if the URL is a local file path, false otherwise
14
+ */
15
+ export const isLocalFile = url => {
16
+ return url?.startsWith?.('file://') || url?.startsWith?.('/');
17
+ };
18
+
19
+ /**
20
+ * Utility function to validate image URL (supports both cloud URIs and local file paths)
21
+ * @param url - The URL to validate
22
+ * @returns true if the URL is a valid image URL, false otherwise
23
+ */
24
+ export const isValidImageUrl = url => {
25
+ if (!url || typeof url !== 'string') return false;
26
+ const cleaned = url.trim();
27
+
28
+ // Check for local file paths
29
+ if (isLocalFile(cleaned)) {
30
+ return IMAGE_URL_REGEX.test(cleaned) || cleaned.length > 0;
31
+ }
32
+
33
+ // Check for cloud URIs (http/https)
34
+ return (cleaned?.startsWith?.('http://') || cleaned?.startsWith?.('https://')) && IMAGE_URL_REGEX.test(cleaned);
35
+ };
36
+ //# sourceMappingURL=useImageValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IMAGE_URL_REGEX","isLocalFile","url","startsWith","isValidImageUrl","cleaned","trim","test","length"],"sourceRoot":"../../../../src","sources":["hooks/Images/useImageValidation.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,MAAMA,eAAe,GAAG,iCAAiC;;AAEzD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAIC,GAAW,IAAc;EACnD,OAAOA,GAAG,EAAEC,UAAU,GAAG,SAAS,CAAC,IAAID,GAAG,EAAEC,UAAU,GAAG,GAAG,CAAC;AAC/D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAIF,GAA8B,IAAc;EAC1E,IAAI,CAACA,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAO,KAAK;EACjD,MAAMG,OAAO,GAAGH,GAAG,CAACI,IAAI,CAAC,CAAC;;EAE1B;EACA,IAAIL,WAAW,CAACI,OAAO,CAAC,EAAE;IACxB,OAAOL,eAAe,CAACO,IAAI,CAACF,OAAO,CAAC,IAAIA,OAAO,CAACG,MAAM,GAAG,CAAC;EAC5D;;EAEA;EACA,OACE,CAACH,OAAO,EAAEF,UAAU,GAAG,SAAS,CAAC,IAAIE,OAAO,EAAEF,UAAU,GAAG,UAAU,CAAC,KACtEH,eAAe,CAACO,IAAI,CAACF,OAAO,CAAC;AAEjC,CAAC","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * @author Naresh Dhamu
5
+ * @lastModified Optimized for performance
6
+ */
7
+
8
+ export * from "./useDebounce.js";
9
+ export * from "./useKeyboard.js";
10
+ export * from "./useNavigationMode.js";
11
+ export * from "./usePaginatedSection.js";
12
+ export * from "./useSplashCache.js";
13
+ export * from "./usePrevious.js";
14
+ export * from "./useSafeCallback.js";
15
+ export * from "./useSkeletonItems.js";
16
+ export * from "./useThemeColors.js";
17
+ export * from "./useCards.js";
18
+ export * from "./Images/index.js";
19
+ export * from "./useAdTracking.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,cAAc,kBAAe;AAC7B,cAAc,kBAAe;AAC7B,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,qBAAkB;AAChC,cAAc,kBAAe;AAC7B,cAAc,sBAAmB;AACjC,cAAc,uBAAoB;AAClC,cAAc,qBAAkB;AAChC,cAAc,eAAY;AAC1B,cAAc,mBAAU;AACxB,cAAc,oBAAiB","ignoreList":[]}