@zezosoft/zezo-ott-react-native-ui-kit 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/README.md +1 -1
  2. package/lib/module/components/Account/Account.js +7 -6
  3. package/lib/module/components/Account/Account.js.map +1 -1
  4. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +39 -27
  5. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  6. package/lib/module/components/Auth/Login/LoginWithEmail.js +39 -25
  7. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  8. package/lib/module/components/Auth/Login/LoginWithPhone.js +34 -25
  9. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  10. package/lib/module/components/Auth/OTP/OTP.js +61 -42
  11. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  12. package/lib/module/components/Auth/SignUp/SignUp.js +41 -26
  13. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  14. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +132 -0
  15. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -0
  16. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +61 -0
  17. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -0
  18. package/lib/module/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.js +8 -17
  19. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -0
  20. package/lib/module/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.js +25 -11
  21. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -0
  22. package/lib/module/components/Auth/index.js +3 -1
  23. package/lib/module/components/Auth/index.js.map +1 -1
  24. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +77 -57
  25. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  26. package/lib/module/components/BlogView/BlogView.js +28 -9
  27. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  28. package/lib/module/components/Button/BackBtn.js +1 -1
  29. package/lib/module/components/Button/BackBtn.js.map +1 -1
  30. package/lib/module/components/Button/MenuBtn.js +5 -3
  31. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  32. package/lib/module/components/Button/PrimaryBtn.js +3 -2
  33. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  34. package/lib/module/components/Button/TextButton.js +3 -2
  35. package/lib/module/components/Button/TextButton.js.map +1 -1
  36. package/lib/module/components/Content/Card/Category/Category.js +3 -2
  37. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  38. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +10 -7
  39. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  40. package/lib/module/components/Content/Card/Sliders/Styles/One.js +6 -4
  41. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  42. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +3 -2
  43. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  44. package/lib/module/components/Content/Card/Sliders/index.js +1 -1
  45. package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
  46. package/lib/module/components/Content/Card/Styles/Five.js +7 -6
  47. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  48. package/lib/module/components/Content/Card/Styles/Four.js +9 -7
  49. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  50. package/lib/module/components/Content/Card/Styles/One.js +33 -70
  51. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  52. package/lib/module/components/Content/Card/Styles/RotateInOut.js +6 -5
  53. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  54. package/lib/module/components/Content/Card/Styles/Six.js +7 -5
  55. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  56. package/lib/module/components/Content/Card/Styles/Three.js +6 -5
  57. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  58. package/lib/module/components/Content/Card/Styles/TopTen.js +10 -12
  59. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  60. package/lib/module/components/Content/Card/Styles/Two.js +8 -6
  61. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  62. package/lib/module/components/Content/Card/components/CardPoster.js +17 -9
  63. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  64. package/lib/module/components/Content/Card/components/NavigateToMore.js +4 -3
  65. package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
  66. package/lib/module/components/Content/Card/components/NoContentFallback.js +5 -4
  67. package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
  68. package/lib/module/components/Content/Card/components/ThumbnailCard.js +2 -1
  69. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  70. package/lib/module/components/Content/Content.js +21 -7
  71. package/lib/module/components/Content/Content.js.map +1 -1
  72. package/lib/module/components/Content/Sections.js +1 -1
  73. package/lib/module/components/Content/Sections.js.map +1 -1
  74. package/lib/module/components/ContentView/ContentView.js +8 -6
  75. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  76. package/lib/module/components/ContentView/MoreContentList.js +211 -0
  77. package/lib/module/components/ContentView/MoreContentList.js.map +1 -0
  78. package/lib/module/components/ContentView/components/AboutSection.js +5 -4
  79. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  80. package/lib/module/components/ContentView/components/CastCard.js +5 -4
  81. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  82. package/lib/module/components/ContentView/components/EpisodeCard.js +23 -3
  83. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  84. package/lib/module/components/ContentView/components/GenreTags.js +2 -1
  85. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  86. package/lib/module/components/ContentView/components/HeroBanner.js +14 -5
  87. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  88. package/lib/module/components/ContentView/components/Title.js +4 -3
  89. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  90. package/lib/module/components/ContentView/index.js +1 -0
  91. package/lib/module/components/ContentView/index.js.map +1 -1
  92. package/lib/module/components/Headers/AppHeader.js +20 -25
  93. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  94. package/lib/module/components/Headers/One.js +1 -1
  95. package/lib/module/components/Headers/Three.js +5 -3
  96. package/lib/module/components/Headers/Three.js.map +1 -1
  97. package/lib/module/components/Headers/Two.js +5 -3
  98. package/lib/module/components/Headers/Two.js.map +1 -1
  99. package/lib/module/components/Input/InputOne.js +6 -4
  100. package/lib/module/components/Input/InputOne.js.map +1 -1
  101. package/lib/module/components/Input/InputTwo.js +5 -4
  102. package/lib/module/components/Input/InputTwo.js.map +1 -1
  103. package/lib/module/components/Input/PhoneNumberInput.js +12 -11
  104. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  105. package/lib/module/components/Keyboard/HideKeyboard.js +40 -12
  106. package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
  107. package/lib/module/components/Logo/Logo.js +2 -1
  108. package/lib/module/components/Logo/Logo.js.map +1 -1
  109. package/lib/module/components/Search/One.js +6 -4
  110. package/lib/module/components/Search/One.js.map +1 -1
  111. package/lib/module/components/Search/components/RecentSearchesSection.js +10 -9
  112. package/lib/module/components/Search/components/RecentSearchesSection.js.map +1 -1
  113. package/lib/module/components/Search/components/SearchCard.js +6 -5
  114. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  115. package/lib/module/components/Settings/AppSettings.js +5 -4
  116. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  117. package/lib/module/components/Subscription/SubOne.js +16 -15
  118. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  119. package/lib/module/components/TabBar/One.js +5 -3
  120. package/lib/module/components/TabBar/One.js.map +1 -1
  121. package/lib/module/components/TabBar/Three.js +18 -14
  122. package/lib/module/components/TabBar/Three.js.map +1 -1
  123. package/lib/module/components/TabBar/Two.js +4 -2
  124. package/lib/module/components/TabBar/Two.js.map +1 -1
  125. package/lib/module/components/Text/Text.js +4 -4
  126. package/lib/module/components/Text/Text.js.map +1 -1
  127. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +7 -6
  128. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  129. package/lib/module/components/User/WatchHistory/WatchHistory.js +6 -7
  130. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  131. package/lib/module/components/User/WatchLater/WatchLater.js +12 -9
  132. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  133. package/lib/module/components/User/components/UserAvatar.js +1 -1
  134. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  135. package/lib/module/components/User/components/UserSection.js +5 -4
  136. package/lib/module/components/User/components/UserSection.js.map +1 -1
  137. package/lib/module/components/index.js +0 -1
  138. package/lib/module/components/index.js.map +1 -1
  139. package/lib/module/components/layout/SafeAreaWrapper.js +12 -11
  140. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  141. package/lib/module/hooks/useInitSplashCacheSync.js +67 -63
  142. package/lib/module/hooks/useInitSplashCacheSync.js.map +1 -1
  143. package/lib/module/hooks/useKeyboard.js +7 -9
  144. package/lib/module/hooks/useKeyboard.js.map +1 -1
  145. package/lib/module/hooks/usePaginatedSection.js +10 -3
  146. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  147. package/lib/module/theme/ThemeProvider.js +55 -52
  148. package/lib/module/theme/ThemeProvider.js.map +1 -1
  149. package/lib/module/theme/hook/useTheme.js +45 -0
  150. package/lib/module/theme/hook/useTheme.js.map +1 -0
  151. package/lib/module/theme/index.js +1 -0
  152. package/lib/module/theme/index.js.map +1 -1
  153. package/lib/module/theme/themes.js +1 -1
  154. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  155. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts +9 -6
  156. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  157. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts +6 -2
  158. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  159. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts +6 -2
  160. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  161. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts +7 -3
  162. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  163. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts +6 -2
  164. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  165. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts +34 -0
  166. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -0
  167. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashImage/SplashImage.d.ts +2 -3
  168. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -0
  169. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.d.ts +1 -1
  170. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -0
  171. package/lib/typescript/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.d.ts +1 -1
  172. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -0
  173. package/lib/typescript/src/components/Auth/index.d.ts +49 -11
  174. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  175. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +5 -4
  176. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  177. package/lib/typescript/src/components/BlogView/BlogView.d.ts +1 -0
  178. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  179. package/lib/typescript/src/components/Button/MenuBtn.d.ts +1 -8
  180. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  181. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  182. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  183. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  184. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  185. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  186. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  187. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +1 -1
  188. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  189. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  190. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  191. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  192. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  193. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  194. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  195. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  196. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +4 -0
  197. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  198. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
  199. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
  200. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  201. package/lib/typescript/src/components/Content/Content.d.ts +1 -0
  202. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  203. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts +27 -0
  204. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -0
  205. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  206. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  207. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  208. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  209. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  210. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  211. package/lib/typescript/src/components/ContentView/index.d.ts +1 -0
  212. package/lib/typescript/src/components/ContentView/index.d.ts.map +1 -1
  213. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  214. package/lib/typescript/src/components/Headers/Three.d.ts +1 -0
  215. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  216. package/lib/typescript/src/components/Headers/Two.d.ts +1 -0
  217. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  218. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  220. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts +1 -1
  222. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  224. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  225. package/lib/typescript/src/components/Search/components/RecentSearchesSection.d.ts.map +1 -1
  226. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  228. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  230. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  231. package/lib/typescript/src/components/TabBar/Three.d.ts +2 -2
  232. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  233. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  234. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  235. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  236. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  237. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  238. package/lib/typescript/src/components/index.d.ts +0 -1
  239. package/lib/typescript/src/components/index.d.ts.map +1 -1
  240. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts +2 -4
  241. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  242. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +1 -1
  243. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +1 -1
  244. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  245. package/lib/typescript/src/hooks/usePaginatedSection.d.ts +1 -0
  246. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  247. package/lib/typescript/src/theme/ThemeProvider.d.ts +8 -4
  248. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  249. package/lib/typescript/src/theme/hook/useTheme.d.ts +9 -0
  250. package/lib/typescript/src/theme/hook/useTheme.d.ts.map +1 -0
  251. package/lib/typescript/src/theme/index.d.ts +1 -0
  252. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  253. package/lib/typescript/src/types/content/content-view.types.d.ts +7 -3
  254. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  255. package/package.json +3 -2
  256. package/src/components/Account/Account.tsx +7 -6
  257. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +51 -32
  258. package/src/components/Auth/Login/LoginWithEmail.tsx +45 -26
  259. package/src/components/Auth/Login/LoginWithPhone.tsx +38 -24
  260. package/src/components/Auth/OTP/OTP.tsx +96 -61
  261. package/src/components/Auth/SignUp/SignUp.tsx +49 -31
  262. package/src/components/Auth/SplashScreen/SplashScreen.tsx +166 -0
  263. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +66 -0
  264. package/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashLottie/SplashLottie.tsx +7 -19
  265. package/src/components/{SplashScreen → Auth/SplashScreen}/components/SplashVideo/SplashVideo.tsx +23 -14
  266. package/src/components/Auth/index.ts +3 -1
  267. package/src/components/BackgroundLayout/BackgroundLayout.tsx +72 -50
  268. package/src/components/BlogView/BlogView.tsx +29 -9
  269. package/src/components/Button/BackBtn.tsx +1 -1
  270. package/src/components/Button/MenuBtn.tsx +6 -9
  271. package/src/components/Button/PrimaryBtn.tsx +3 -2
  272. package/src/components/Button/TextButton.tsx +3 -2
  273. package/src/components/Content/Card/Category/Category.tsx +3 -2
  274. package/src/components/Content/Card/NowWatching/NowWatching.tsx +15 -8
  275. package/src/components/Content/Card/Sliders/Styles/One.tsx +4 -3
  276. package/src/components/Content/Card/Sliders/Styles/Two.tsx +3 -2
  277. package/src/components/Content/Card/Sliders/index.ts +1 -1
  278. package/src/components/Content/Card/Styles/Five.tsx +7 -6
  279. package/src/components/Content/Card/Styles/Four.tsx +7 -6
  280. package/src/components/Content/Card/Styles/One.tsx +44 -111
  281. package/src/components/Content/Card/Styles/RotateInOut.tsx +5 -5
  282. package/src/components/Content/Card/Styles/Six.tsx +7 -5
  283. package/src/components/Content/Card/Styles/Three.tsx +5 -5
  284. package/src/components/Content/Card/Styles/TopTen.tsx +10 -14
  285. package/src/components/Content/Card/Styles/Two.tsx +9 -7
  286. package/src/components/Content/Card/components/CardPoster.tsx +24 -11
  287. package/src/components/Content/Card/components/NavigateToMore.tsx +4 -3
  288. package/src/components/Content/Card/components/NoContentFallback.tsx +5 -4
  289. package/src/components/Content/Card/components/ThumbnailCard.tsx +2 -1
  290. package/src/components/Content/Content.tsx +38 -7
  291. package/src/components/Content/Sections.tsx +1 -1
  292. package/src/components/ContentView/ContentView.tsx +6 -6
  293. package/src/components/ContentView/MoreContentList.tsx +238 -0
  294. package/src/components/ContentView/components/AboutSection.tsx +5 -4
  295. package/src/components/ContentView/components/CastCard.tsx +5 -4
  296. package/src/components/ContentView/components/EpisodeCard.tsx +30 -4
  297. package/src/components/ContentView/components/GenreTags.tsx +2 -1
  298. package/src/components/ContentView/components/HeroBanner.tsx +10 -6
  299. package/src/components/ContentView/components/Title.tsx +4 -3
  300. package/src/components/ContentView/index.ts +1 -0
  301. package/src/components/Headers/AppHeader.tsx +20 -34
  302. package/src/components/Headers/One.tsx +1 -1
  303. package/src/components/Headers/Three.tsx +4 -3
  304. package/src/components/Headers/Two.tsx +4 -3
  305. package/src/components/Input/InputOne.tsx +6 -4
  306. package/src/components/Input/InputTwo.tsx +5 -4
  307. package/src/components/Input/PhoneNumberInput.tsx +12 -11
  308. package/src/components/Keyboard/HideKeyboard.tsx +41 -15
  309. package/src/components/Logo/Logo.tsx +2 -1
  310. package/src/components/Search/One.tsx +6 -5
  311. package/src/components/Search/components/RecentSearchesSection.tsx +10 -9
  312. package/src/components/Search/components/SearchCard.tsx +6 -5
  313. package/src/components/Settings/AppSettings.tsx +14 -13
  314. package/src/components/Subscription/SubOne.tsx +16 -15
  315. package/src/components/TabBar/One.tsx +6 -3
  316. package/src/components/TabBar/Three.tsx +28 -14
  317. package/src/components/TabBar/Two.tsx +4 -2
  318. package/src/components/Text/Text.tsx +4 -4
  319. package/src/components/User/DeviceSessions/DeviceSessions.tsx +7 -6
  320. package/src/components/User/WatchHistory/WatchHistory.tsx +5 -7
  321. package/src/components/User/WatchLater/WatchLater.tsx +12 -9
  322. package/src/components/User/components/UserAvatar.tsx +1 -1
  323. package/src/components/User/components/UserSection.tsx +5 -4
  324. package/src/components/index.ts +0 -1
  325. package/src/components/layout/SafeAreaWrapper.tsx +16 -9
  326. package/src/hooks/useInitSplashCacheSync.ts +74 -87
  327. package/src/hooks/useKeyboard.ts +9 -8
  328. package/src/hooks/usePaginatedSection.ts +7 -3
  329. package/src/theme/ThemeProvider.tsx +59 -55
  330. package/src/theme/hook/useTheme.ts +41 -0
  331. package/src/theme/index.ts +1 -0
  332. package/src/theme/themes.ts +1 -1
  333. package/src/types/content/content-view.types.ts +4 -2
  334. package/lib/module/components/SplashScreen/SplashScreen.js +0 -109
  335. package/lib/module/components/SplashScreen/SplashScreen.js.map +0 -1
  336. package/lib/module/components/SplashScreen/components/SplashImage/SplashImage.js +0 -68
  337. package/lib/module/components/SplashScreen/components/SplashImage/SplashImage.js.map +0 -1
  338. package/lib/module/components/SplashScreen/components/SplashLottie/SplashLottie.js.map +0 -1
  339. package/lib/module/components/SplashScreen/components/SplashVideo/SplashVideo.js.map +0 -1
  340. package/lib/module/components/SplashScreen/index.js +0 -9
  341. package/lib/module/components/SplashScreen/index.js.map +0 -1
  342. package/lib/typescript/src/components/SplashScreen/SplashScreen.d.ts +0 -32
  343. package/lib/typescript/src/components/SplashScreen/SplashScreen.d.ts.map +0 -1
  344. package/lib/typescript/src/components/SplashScreen/components/SplashImage/SplashImage.d.ts.map +0 -1
  345. package/lib/typescript/src/components/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +0 -1
  346. package/lib/typescript/src/components/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +0 -1
  347. package/lib/typescript/src/components/SplashScreen/index.d.ts +0 -6
  348. package/lib/typescript/src/components/SplashScreen/index.d.ts.map +0 -1
  349. package/src/components/SplashScreen/SplashScreen.tsx +0 -131
  350. package/src/components/SplashScreen/components/SplashImage/SplashImage.tsx +0 -84
  351. package/src/components/SplashScreen/index.ts +0 -6
@@ -22,11 +22,12 @@ import { Play } from 'lucide-react-native';
22
22
  import Animated, { useSharedValue, useAnimatedStyle, withTiming } from 'react-native-reanimated';
23
23
 
24
24
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
25
- import { useTheme } from '../../../../theme';
25
+ import { useTheme } from '../../../../theme/hook/useTheme';
26
26
  import NavigateToMore from '../components/NavigateToMore';
27
27
  import type { IContentData, IGetSectionData, MoreFetchData } from '../../../../types';
28
28
  import type { AppTheme, ITheme } from '../../../../theme/themes';
29
29
  import { Text } from '../../../Text';
30
+ import { RFValue } from 'react-native-responsive-fontsize';
30
31
 
31
32
  export interface IHistoryItem {
32
33
  _id: string;
@@ -107,7 +108,6 @@ const NowWatchingItem = memo(
107
108
  () => getStyles(appliedTheme, itemWidth, borderRadius),
108
109
  [appliedTheme, itemWidth, borderRadius]
109
110
  );
110
-
111
111
  return (
112
112
  <TouchableOpacity
113
113
  style={[styles.item, itemStyle, index === 0 && styles.firstItem, isLast && { marginRight: moderateScale(12) }]}
@@ -118,7 +118,14 @@ const NowWatchingItem = memo(
118
118
  {renderItemImage ? (
119
119
  renderItemImage({ item: item.content, index })
120
120
  ) : (
121
- <FastImage source={{ uri: item.content?.thumbnail }} style={styles.poster}>
121
+ <FastImage
122
+ source={{
123
+ uri: item.content?.thumbnail || item.content?.poster,
124
+ cache: FastImage.cacheControl.immutable,
125
+ priority: FastImage.priority.normal
126
+ }}
127
+ style={styles.poster}
128
+ >
122
129
  <LinearGradient
123
130
  colors={['rgba(0,0,0,0.95)', 'transparent']}
124
131
  start={{ x: 0, y: 1 }}
@@ -314,14 +321,14 @@ const getStyles = (theme: ITheme, itemWidth: number, borderRadius: number) =>
314
321
  marginRight: moderateScale(12)
315
322
  },
316
323
  firstItem: {
317
- marginLeft: moderateScale(12)
324
+ marginLeft: moderateScale(10)
318
325
  },
319
326
  navigateToMoreContainer: {
320
- paddingHorizontal: moderateScale(12),
327
+ paddingHorizontal: moderateScale(10),
321
328
  marginBottom: verticalScale(8)
322
329
  },
323
330
  title: {
324
- fontSize: moderateScale(14),
331
+ fontSize: RFValue(13),
325
332
  fontWeight: '600'
326
333
  },
327
334
  cardWrapper: {
@@ -362,11 +369,11 @@ const getStyles = (theme: ITheme, itemWidth: number, borderRadius: number) =>
362
369
  titleText: {
363
370
  color: theme.colors.textPrimary,
364
371
  fontWeight: '600',
365
- fontSize: moderateScale(12)
372
+ fontSize: RFValue(11)
366
373
  },
367
374
  subTitleText: {
368
375
  color: theme.colors.textSecondary,
369
- fontSize: moderateScale(11),
376
+ fontSize: RFValue(10),
370
377
  opacity: 0.85,
371
378
  marginTop: verticalScale(2)
372
379
  },
@@ -12,10 +12,11 @@ import LinearGradient from 'react-native-linear-gradient';
12
12
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
13
13
  import { Play } from 'lucide-react-native';
14
14
  import { Text } from '../../../../Text';
15
- import { useTheme } from '../../../../../theme/ThemeProvider';
16
15
  import Display from '../../../../../utils/Display';
17
16
  import type { IContentData, ISectionContent } from '../../../../../types';
18
17
  import type { AppTheme } from '../../../../../theme/themes';
18
+ import { useTheme } from '../../../../../theme/hook/useTheme';
19
+ import { RFValue } from 'react-native-responsive-fontsize';
19
20
 
20
21
  // Constants
21
22
  const DEFAULT_SKELETON_COUNT = 3;
@@ -275,7 +276,7 @@ const styles = StyleSheet.create({
275
276
  justifyContent: 'center'
276
277
  },
277
278
  playText: {
278
- fontSize: scale(16),
279
+ fontSize: RFValue(15),
279
280
  fontWeight: 'bold',
280
281
  maxWidth: scale(220)
281
282
  },
@@ -310,7 +311,7 @@ const styles = StyleSheet.create({
310
311
  justifyContent: 'center'
311
312
  },
312
313
  emptyText: {
313
- fontSize: scale(14),
314
+ fontSize: RFValue(13),
314
315
  fontWeight: '500',
315
316
  color: '#fff',
316
317
  textAlign: 'center'
@@ -10,11 +10,12 @@ import FastImage from 'react-native-fast-image';
10
10
  import LinearGradient from 'react-native-linear-gradient';
11
11
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
12
12
  import { Text } from '../../../../Text';
13
- import { useTheme } from '../../../../../theme/ThemeProvider';
13
+ import { useTheme } from '../../../../../theme/hook/useTheme';
14
14
  import Display from '../../../../../utils/Display';
15
15
  import { ThumbnailCard } from '../../components/ThumbnailCard';
16
16
  import type { IContentData, ISectionContent } from '../../../../../types';
17
17
  import type { AppTheme } from '../../../../../theme/themes';
18
+ import { RFValue } from 'react-native-responsive-fontsize';
18
19
 
19
20
  const FULL_WIDTH = Display.fullWidth;
20
21
  const FULL_HEIGHT = FULL_WIDTH * (9 / 16);
@@ -199,7 +200,7 @@ const styles = StyleSheet.create({
199
200
  justifyContent: 'center'
200
201
  },
201
202
  emptyText: {
202
- fontSize: scale(14),
203
+ fontSize: RFValue(13),
203
204
  fontWeight: '500',
204
205
  color: '#fff',
205
206
  textAlign: 'center'
@@ -8,7 +8,7 @@ import SliderTwo from './Styles/Two';
8
8
  const Sliders = {
9
9
  Styles: {
10
10
  One: SliderOne,
11
- Tow: SliderTwo
11
+ Two: SliderTwo
12
12
  }
13
13
  };
14
14
 
@@ -23,9 +23,10 @@ import FastImage from 'react-native-fast-image';
23
23
  import CardPoster from '../components/CardPoster';
24
24
  import NavigateToMore from '../components/NavigateToMore';
25
25
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
26
- import { useTheme } from '../../../../theme';
26
+ import { useTheme } from '../../../../theme/hook/useTheme';
27
27
  import type { AppTheme, ITheme } from '../../../../theme/themes';
28
28
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
29
+ import { RFValue } from 'react-native-responsive-fontsize';
29
30
 
30
31
  const DEFAULT_ITEM_WIDTH = moderateScale(140);
31
32
  const DEFAULT_BORDER_RADIUS = moderateScale(5);
@@ -114,13 +115,13 @@ const MovieCardFive: React.FC<MovieCardFiveProps> = ({
114
115
  borderRadius={borderRadius}
115
116
  posterWrapperStyle={styles.image}
116
117
  resizeMode={FastImage.resizeMode.cover}
117
- isLoading={isPaginating}
118
+ isLoading={isLoading}
118
119
  />
119
120
  )}
120
121
  </TouchableOpacity>
121
122
  );
122
123
  },
123
- [renderItemImage, styles.item, styles.image, itemStyle, appliedTheme, borderRadius, isPaginating, handleItemPress]
124
+ [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress]
124
125
  );
125
126
  if (!initialData) {
126
127
  return null;
@@ -210,7 +211,7 @@ const getStyles = (theme: ITheme, width: number, radius: number) =>
210
211
  marginVertical: verticalScale(6)
211
212
  },
212
213
  item: {
213
- marginLeft: moderateScale(12),
214
+ marginLeft: moderateScale(10),
214
215
  marginBottom: verticalScale(2)
215
216
  },
216
217
  image: {
@@ -220,11 +221,11 @@ const getStyles = (theme: ITheme, width: number, radius: number) =>
220
221
  backgroundColor: theme.colors.surfaceVariant
221
222
  },
222
223
  navigateToMoreContainer: {
223
- paddingHorizontal: moderateScale(12),
224
+ paddingHorizontal: moderateScale(10),
224
225
  marginBottom: verticalScale(8)
225
226
  },
226
227
  title: {
227
- fontSize: moderateScale(14),
228
+ fontSize: RFValue(13),
228
229
  fontWeight: '600'
229
230
  },
230
231
  listContent: {
@@ -20,11 +20,12 @@ import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
20
20
  import { moderateScale, verticalScale } from 'react-native-size-matters';
21
21
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
22
22
  import NavigateToMore from '../components/NavigateToMore';
23
- import { useTheme } from '../../../../theme';
23
+ import { useTheme } from '../../../../theme/hook/useTheme';
24
24
  import CardPoster from '../components/CardPoster';
25
25
  import FastImage from 'react-native-fast-image';
26
26
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
27
27
  import type { AppTheme, ITheme } from '../../../../theme/themes';
28
+ import { RFValue } from 'react-native-responsive-fontsize';
28
29
 
29
30
  // default values
30
31
  const DEFAULT_ITEM_WIDTH = moderateScale(100);
@@ -119,13 +120,13 @@ const MovieCardFour: React.FC<MovieCardFourProps> = ({
119
120
  borderRadius={borderRadius}
120
121
  posterWrapperStyle={styles.image}
121
122
  resizeMode={FastImage.resizeMode.cover}
122
- isLoading={isPaginating}
123
+ isLoading={isLoading}
123
124
  />
124
125
  )}
125
126
  </TouchableOpacity>
126
127
  );
127
128
  },
128
- [renderItemImage, styles.item, styles.image, itemStyle, appliedTheme, borderRadius, isPaginating, handleItemPress]
129
+ [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress]
129
130
  );
130
131
 
131
132
  const renderSkeletonItem = ({ index }: { index: number }) => (
@@ -216,7 +217,7 @@ const getStyles = (theme: ITheme, width: number, height: number, radius: number)
216
217
  marginVertical: verticalScale(6)
217
218
  },
218
219
  item: {
219
- marginLeft: moderateScale(12)
220
+ marginLeft: moderateScale(10)
220
221
  },
221
222
  image: {
222
223
  width,
@@ -225,11 +226,11 @@ const getStyles = (theme: ITheme, width: number, height: number, radius: number)
225
226
  backgroundColor: theme.colors.surfaceVariant
226
227
  },
227
228
  navigateToMoreContainer: {
228
- paddingHorizontal: moderateScale(12),
229
+ paddingHorizontal: moderateScale(10),
229
230
  marginBottom: verticalScale(8)
230
231
  },
231
232
  title: {
232
- fontSize: moderateScale(14),
233
+ fontSize: RFValue(13),
233
234
  fontWeight: '600'
234
235
  },
235
236
  listContent: {
@@ -13,21 +13,21 @@ import {
13
13
  type ViewStyle,
14
14
  type TextStyle,
15
15
  type AccessibilityProps,
16
- type ListRenderItemInfo,
17
- type ListRenderItem
16
+ type ListRenderItemInfo
18
17
  } from 'react-native';
19
18
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
20
19
  import FastImage from 'react-native-fast-image';
21
20
  import { moderateScale, verticalScale } from 'react-native-size-matters';
22
- import { useTheme } from '../../../../theme';
21
+ import { useTheme } from '../../../../theme/hook/useTheme';
23
22
  import CardPoster from '../components/CardPoster';
24
23
  import NavigateToMore from '../components/NavigateToMore';
25
24
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
26
25
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
27
- import type { AppTheme } from '../../../../theme/themes';
26
+ import type { AppTheme, ITheme } from '../../../../theme/themes';
27
+ import { RFValue } from 'react-native-responsive-fontsize';
28
28
 
29
29
  // Constants
30
- const DEFAULT_ITEM_WIDTH = moderateScale(110);
30
+ const DEFAULT_ITEM_WIDTH = moderateScale(105);
31
31
  const DEFAULT_ITEM_HEIGHT = moderateScale(160);
32
32
  const DEFAULT_BORDER_RADIUS = moderateScale(6);
33
33
  const DEFAULT_SKELETON_COUNT = 5;
@@ -80,6 +80,7 @@ const MovieCard: React.FC<MovieCardProps> = ({
80
80
  const flatListRef = useRef<FlatList<IContentData>>(null);
81
81
  const onEndReachedCalledDuringMomentum = useRef(false);
82
82
  const { theme: appliedTheme } = useTheme(theme);
83
+
83
84
  const styles = useMemo(
84
85
  () => getStyles(appliedTheme, itemWidth, itemHeight, borderRadius),
85
86
  [appliedTheme, itemWidth, itemHeight, borderRadius]
@@ -87,46 +88,28 @@ const MovieCard: React.FC<MovieCardProps> = ({
87
88
 
88
89
  const {
89
90
  data,
90
- pagination: paginated,
91
+ pagination,
91
92
  loading: isPaginating,
92
93
  loadMoreData
93
- } = usePaginatedSection(section_id, moreFetchData, initialData?.data, isLoading);
94
-
95
- const listData = useMemo(() => data ?? [], [data]);
94
+ } = usePaginatedSection(section_id, moreFetchData, initialData?.data || [], isLoading);
96
95
 
97
- const handleItemPress = useCallback(
98
- (item: IContentData) => {
99
- onPressItem?.(item);
100
- },
101
- [onPressItem]
102
- );
96
+ const handleItemPress = useCallback((item: IContentData) => onPressItem?.(item), [onPressItem]);
103
97
 
104
98
  const handlePressMore = useCallback(() => {
105
- return onPressMore?.({
106
- section_id,
107
- name: title,
108
- type
109
- });
99
+ onPressMore?.({ section_id, name: title, type });
110
100
  }, [onPressMore, section_id, title, type]);
111
101
 
112
102
  const handleEndReached = useCallback(() => {
113
- if (!onEndReachedCalledDuringMomentum.current && paginated?.hasNextPage && paginated?.nextPage) {
103
+ if (!onEndReachedCalledDuringMomentum.current && pagination?.hasNextPage && pagination?.nextPage) {
114
104
  onEndReachedCalledDuringMomentum.current = true;
115
- loadMoreData(paginated.nextPage);
105
+ loadMoreData(pagination.nextPage);
116
106
  }
117
- }, [loadMoreData, paginated?.hasNextPage, paginated?.nextPage]);
107
+ }, [loadMoreData, pagination]);
118
108
 
119
109
  const renderItem = useCallback(
120
110
  ({ item, index }: ListRenderItemInfo<IContentData>) => {
121
111
  return (
122
- <TouchableOpacity
123
- style={[styles.item, index === 0 && styles.firstItem, itemStyle]}
124
- onPress={() => handleItemPress(item)}
125
- activeOpacity={0.8}
126
- testID={`movie-card-item-${index}`}
127
- accessibilityLabel={`Movie ${item.name || 'item'} ${index + 1}`}
128
- accessibilityHint="Press to view movie details"
129
- >
112
+ <TouchableOpacity style={[styles.item, itemStyle]} onPress={() => handleItemPress(item)} activeOpacity={0.8}>
130
113
  {renderItemImage ? (
131
114
  renderItemImage({ item, index })
132
115
  ) : (
@@ -136,49 +119,34 @@ const MovieCard: React.FC<MovieCardProps> = ({
136
119
  borderRadius={borderRadius}
137
120
  posterWrapperStyle={styles.image}
138
121
  resizeMode={FastImage.resizeMode.cover}
139
- isLoading={isPaginating}
122
+ isLoading={isLoading}
140
123
  />
141
124
  )}
142
125
  </TouchableOpacity>
143
126
  );
144
127
  },
145
- [
146
- renderItemImage,
147
- styles.item,
148
- styles.firstItem,
149
- styles.image,
150
- itemStyle,
151
- appliedTheme,
152
- borderRadius,
153
- isPaginating,
154
- handleItemPress
155
- ]
128
+ [styles.item, styles.image, itemStyle, renderItemImage, appliedTheme, borderRadius, isLoading, handleItemPress]
156
129
  );
157
130
 
158
- const renderSkeletonItem: ListRenderItem<null> = useCallback(
159
- ({ index }) => (
160
- <SkeletonPlaceholder
161
- key={`skeleton-${index}`}
162
- highlightColor={appliedTheme.colors.skeletonHighlightColor}
163
- backgroundColor={appliedTheme.colors.skeletonBaseColor}
164
- >
165
- <SkeletonPlaceholder.Item
166
- width={itemWidth}
167
- height={itemHeight}
168
- borderRadius={borderRadius}
169
- marginRight={moderateScale(12)}
170
- marginLeft={index === 0 ? moderateScale(12) : 0}
171
- />
172
- </SkeletonPlaceholder>
173
- ),
174
- [appliedTheme, itemWidth, itemHeight, borderRadius]
131
+ const renderSkeletonItem = ({ index }: { index: number }) => (
132
+ <SkeletonPlaceholder
133
+ key={`skeleton-${index}`}
134
+ highlightColor={appliedTheme.colors.skeletonHighlightColor}
135
+ backgroundColor={appliedTheme.colors.skeletonBaseColor}
136
+ >
137
+ <SkeletonPlaceholder.Item
138
+ width={itemWidth}
139
+ height={itemHeight}
140
+ borderRadius={borderRadius}
141
+ marginLeft={index === 0 ? moderateScale(12) : 0}
142
+ marginRight={moderateScale(12)}
143
+ />
144
+ </SkeletonPlaceholder>
175
145
  );
176
146
  if (!initialData) {
177
147
  return null;
178
148
  }
179
- if (!isLoading && listData.length === 0) {
180
- return null;
181
- }
149
+ if (!isLoading && data.length === 0) return null;
182
150
 
183
151
  if (isLoading) {
184
152
  return (
@@ -223,86 +191,51 @@ const MovieCard: React.FC<MovieCardProps> = ({
223
191
  />
224
192
  <FlatList
225
193
  ref={flatListRef}
226
- data={listData}
194
+ data={data}
227
195
  horizontal
228
- showsHorizontalScrollIndicator={false}
229
- keyExtractor={(item, index) => `${item._id ?? item.name}-${index}`}
196
+ keyExtractor={(item, index) => `${item._id}-${index}`}
230
197
  renderItem={renderItem}
198
+ showsHorizontalScrollIndicator={false}
231
199
  contentContainerStyle={styles.listContent}
232
200
  initialNumToRender={5}
233
- maxToRenderPerBatch={10}
234
- windowSize={5}
201
+ onEndReached={handleEndReached}
235
202
  onEndReachedThreshold={0.5}
203
+ onScrollBeginDrag={() => {
204
+ onEndReachedCalledDuringMomentum.current = false;
205
+ }}
236
206
  onMomentumScrollBegin={() => {
237
207
  onEndReachedCalledDuringMomentum.current = false;
238
208
  }}
239
- onEndReached={handleEndReached}
240
- ListFooterComponent={
241
- isPaginating ? (
242
- <SkeletonPlaceholder
243
- highlightColor={appliedTheme.colors.skeletonHighlightColor}
244
- backgroundColor={appliedTheme.colors.skeletonBaseColor}
245
- >
246
- <SkeletonPlaceholder.Item
247
- width={itemWidth}
248
- height={itemHeight}
249
- borderRadius={borderRadius}
250
- marginRight={moderateScale(12)}
251
- />
252
- </SkeletonPlaceholder>
253
- ) : null
254
- }
209
+ ListFooterComponent={isPaginating ? renderSkeletonItem({ index: 0 }) : null}
255
210
  />
256
211
  </View>
257
212
  );
258
213
  };
259
214
 
260
- const getStyles = (theme: AppTheme, width: number, height: number, radius: number) =>
215
+ const getStyles = (theme: ITheme, width: number, height: number, radius: number) =>
261
216
  StyleSheet.create({
262
217
  root: {
263
218
  marginVertical: verticalScale(6)
264
219
  },
265
220
  item: {
266
- marginRight: moderateScale(12),
267
- borderRadius: radius,
268
- overflow: 'hidden',
269
- backgroundColor: theme.colors?.surfaceVariant ?? '#2c2c2c',
270
- elevation: 2,
271
- shadowColor: theme.colors?.shadow ?? '#000',
272
- shadowOffset: { width: 0, height: 2 },
273
- shadowOpacity: 0.1,
274
- shadowRadius: 4
275
- },
276
- firstItem: {
277
- marginLeft: moderateScale(12)
221
+ marginLeft: moderateScale(10)
278
222
  },
279
223
  image: {
280
224
  width,
281
225
  height,
282
226
  borderRadius: radius,
283
- backgroundColor: theme.colors?.surfaceVariant ?? '#222'
227
+ backgroundColor: theme.colors.surfaceVariant
284
228
  },
285
229
  navigateToMoreContainer: {
286
- paddingHorizontal: moderateScale(12),
230
+ paddingHorizontal: moderateScale(10),
287
231
  marginBottom: verticalScale(8)
288
232
  },
289
233
  title: {
290
- fontSize: moderateScale(14),
234
+ fontSize: RFValue(13),
291
235
  fontWeight: '600'
292
236
  },
293
237
  listContent: {
294
238
  paddingRight: moderateScale(15)
295
- },
296
- emptyState: {
297
- padding: moderateScale(12),
298
- alignItems: 'center',
299
- justifyContent: 'center'
300
- },
301
- emptyText: {
302
- color: theme.colors?.textPrimary ?? '#fff',
303
- fontSize: moderateScale(14),
304
- fontWeight: '500',
305
- textAlign: 'center'
306
239
  }
307
240
  });
308
241
 
@@ -19,13 +19,14 @@ import Carousel from 'react-native-snap-carousel';
19
19
  import { moderateScale, verticalScale } from 'react-native-size-matters';
20
20
  import { debounce } from 'lodash';
21
21
 
22
- import { useTheme } from '../../../../theme';
22
+ import { useTheme } from '../../../../theme/hook/useTheme';
23
23
  import CardPoster from '../components/CardPoster';
24
24
  import NavigateToMore from '../components/NavigateToMore';
25
25
 
26
26
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
27
27
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
28
28
  import type { AppTheme } from '../../../../theme/themes';
29
+ import { RFValue } from 'react-native-responsive-fontsize';
29
30
 
30
31
  const { width, height } = Dimensions.get('window');
31
32
 
@@ -39,11 +40,11 @@ const staticStyles = StyleSheet.create({
39
40
  marginVertical: verticalScale(6)
40
41
  },
41
42
  navigateToMoreContainer: {
42
- paddingHorizontal: moderateScale(12),
43
+ paddingHorizontal: moderateScale(10),
43
44
  marginBottom: verticalScale(8)
44
45
  },
45
46
  title: {
46
- fontSize: moderateScale(14),
47
+ fontSize: RFValue(13),
47
48
  fontWeight: '600',
48
49
  marginHorizontal: moderateScale(15),
49
50
  marginVertical: moderateScale(5)
@@ -205,7 +206,7 @@ const RotateCarousel: React.FC<Props> = ({
205
206
  borderRadius={borderRadius}
206
207
  posterWrapperStyle={styles.image}
207
208
  resizeMode={FastImage.resizeMode.cover}
208
- isLoading={isPaginating}
209
+ isLoading={isLoading}
209
210
  />
210
211
  )}
211
212
  </TouchableOpacity>
@@ -221,7 +222,6 @@ const RotateCarousel: React.FC<Props> = ({
221
222
  renderItemImage,
222
223
  appliedTheme,
223
224
  borderRadius,
224
- isPaginating,
225
225
  itemWidth,
226
226
  itemHeight,
227
227
  handleItemPress
@@ -20,13 +20,14 @@ import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
20
20
  import { moderateScale, verticalScale } from 'react-native-size-matters';
21
21
  import FastImage from 'react-native-fast-image';
22
22
 
23
- import { useTheme } from '../../../../theme';
23
+ import { useTheme } from '../../../../theme/hook/useTheme';
24
24
  import NavigateToMore from '../components/NavigateToMore';
25
25
  import { ThumbnailCard } from '../components/ThumbnailCard';
26
26
  import { Text } from '../../../Text';
27
27
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
28
28
  import type { AppTheme } from '../../../../theme/themes';
29
29
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
30
+ import { RFValue } from 'react-native-responsive-fontsize';
30
31
  const DEFAULT_ITEM_WIDTH = moderateScale(160);
31
32
  const DEFAULT_BORDER_RADIUS = moderateScale(5);
32
33
  const DEFAULT_SKELETON_COUNT = 3;
@@ -128,6 +129,7 @@ const MovieCardSix: React.FC<MovieCardSixProps> = ({
128
129
  key={`skeleton-${index}`}
129
130
  highlightColor={appliedTheme.colors.skeletonHighlightColor}
130
131
  backgroundColor={appliedTheme.colors.skeletonBaseColor}
132
+ borderRadius={borderRadius}
131
133
  >
132
134
  <SkeletonPlaceholder.Item
133
135
  flexDirection="column"
@@ -218,18 +220,18 @@ const styles = StyleSheet.create({
218
220
  marginVertical: verticalScale(6)
219
221
  },
220
222
  item: {
221
- marginLeft: moderateScale(12)
223
+ marginLeft: moderateScale(10)
222
224
  },
223
225
  navigateToMoreContainer: {
224
- paddingHorizontal: moderateScale(12),
226
+ paddingHorizontal: moderateScale(10),
225
227
  marginBottom: verticalScale(8)
226
228
  },
227
229
  title: {
228
- fontSize: moderateScale(14),
230
+ fontSize: RFValue(13),
229
231
  fontWeight: '600'
230
232
  },
231
233
  itemTitle: {
232
- fontSize: moderateScale(10),
234
+ fontSize: RFValue(9),
233
235
  fontWeight: '500',
234
236
  lineHeight: moderateScale(13),
235
237
  height: moderateScale(13)
@@ -21,11 +21,12 @@ import { debounce } from 'lodash';
21
21
 
22
22
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
23
23
 
24
- import { useTheme } from '../../../../theme';
24
+ import { useTheme } from '../../../../theme/hook/useTheme';
25
25
  import CardPoster from '../components/CardPoster';
26
26
  import NavigateToMore from '../components/NavigateToMore';
27
27
  import type { IContentData, IGetSectionData, ISectionContent, MoreFetchData } from '../../../../types';
28
28
  import type { AppTheme } from '../../../../theme/themes';
29
+ import { RFValue } from 'react-native-responsive-fontsize';
29
30
 
30
31
  const { width, height } = Dimensions.get('window');
31
32
 
@@ -39,11 +40,11 @@ const staticStyles = StyleSheet.create({
39
40
  marginVertical: verticalScale(6)
40
41
  },
41
42
  navigateToMoreContainer: {
42
- paddingHorizontal: moderateScale(12),
43
+ paddingHorizontal: moderateScale(10),
43
44
  marginBottom: verticalScale(8)
44
45
  },
45
46
  title: {
46
- fontSize: moderateScale(14),
47
+ fontSize: RFValue(13),
47
48
  fontWeight: '600',
48
49
  marginHorizontal: moderateScale(15),
49
50
  marginVertical: moderateScale(5)
@@ -206,7 +207,7 @@ const MovieCardThree: React.FC<Props> = ({
206
207
  borderRadius={borderRadius}
207
208
  posterWrapperStyle={styles.image}
208
209
  resizeMode={FastImage.resizeMode.cover}
209
- isLoading={isPaginating}
210
+ isLoading={isLoading}
210
211
  />
211
212
  )}
212
213
  </TouchableOpacity>
@@ -222,7 +223,6 @@ const MovieCardThree: React.FC<Props> = ({
222
223
  renderItemImage,
223
224
  appliedTheme,
224
225
  borderRadius,
225
- isPaginating,
226
226
  itemWidth,
227
227
  itemHeight,
228
228
  handleItemPress