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

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 (533) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +6 -0
  3. package/lib/module/assets/animations/135037-payment-processing-error.json +1347 -1
  4. package/lib/module/assets/animations/7227-vui-animation.json +3377 -1
  5. package/lib/module/assets/animations/heart.json +788 -0
  6. package/lib/module/assets/animations/succesfull-payment.json +2379 -1
  7. package/lib/module/assets/animations/voice-icon.json +542 -1
  8. package/lib/module/components/Account/Account.js +6 -6
  9. package/lib/module/components/Account/Account.js.map +1 -1
  10. package/lib/module/components/Account/index.js +1 -1
  11. package/lib/module/components/Account/index.js.map +1 -1
  12. package/lib/module/components/Alert/UAAlert.js +138 -0
  13. package/lib/module/components/Alert/UAAlert.js.map +1 -0
  14. package/lib/module/components/Alert/index.js +4 -0
  15. package/lib/module/components/Alert/index.js.map +1 -0
  16. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +9 -9
  17. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  18. package/lib/module/components/Auth/Login/LoginWithEmail.js +10 -10
  19. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  20. package/lib/module/components/Auth/Login/LoginWithPhone.js +10 -10
  21. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  22. package/lib/module/components/Auth/OTP/OTP.js +9 -9
  23. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  24. package/lib/module/components/Auth/QrLogin/QrLogin.js +267 -0
  25. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -0
  26. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +178 -0
  27. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -0
  28. package/lib/module/components/Auth/SignUp/SignUp.js +10 -10
  29. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  30. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +6 -6
  31. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  32. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +1 -6
  33. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
  34. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js +1 -1
  35. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
  36. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +1 -1
  37. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  38. package/lib/module/components/Auth/index.js +9 -7
  39. package/lib/module/components/Auth/index.js.map +1 -1
  40. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +1 -1
  41. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  42. package/lib/module/components/BlogView/BlogView.js +4 -10
  43. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  44. package/lib/module/components/BlogView/index.js +1 -1
  45. package/lib/module/components/BlogView/index.js.map +1 -1
  46. package/lib/module/components/Button/BackBtn.js +1 -1
  47. package/lib/module/components/Button/BackBtn.js.map +1 -1
  48. package/lib/module/components/Button/MenuBtn.js +1 -1
  49. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  50. package/lib/module/components/Button/PrimaryBtn.js +2 -2
  51. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  52. package/lib/module/components/Button/TextButton.js +2 -2
  53. package/lib/module/components/Button/TextButton.js.map +1 -1
  54. package/lib/module/components/Button/index.js +3 -3
  55. package/lib/module/components/Button/index.js.map +1 -1
  56. package/lib/module/components/Content/Card/Category/Category.js +2 -2
  57. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  58. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +6 -6
  59. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  60. package/lib/module/components/Content/Card/Sliders/Styles/One.js +3 -3
  61. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  62. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +4 -4
  63. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  64. package/lib/module/components/Content/Card/Sliders/index.js +2 -2
  65. package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
  66. package/lib/module/components/Content/Card/Styles/Five.js +4 -4
  67. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  68. package/lib/module/components/Content/Card/Styles/Four.js +4 -4
  69. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  70. package/lib/module/components/Content/Card/Styles/One.js +4 -4
  71. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  72. package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -4
  73. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  74. package/lib/module/components/Content/Card/Styles/Six.js +5 -5
  75. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  76. package/lib/module/components/Content/Card/Styles/Three.js +4 -4
  77. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  78. package/lib/module/components/Content/Card/Styles/TopTen.js +5 -5
  79. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  80. package/lib/module/components/Content/Card/Styles/Two.js +4 -4
  81. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  82. package/lib/module/components/Content/Card/components/CardPoster.js +1 -10
  83. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  84. package/lib/module/components/Content/Card/components/NavigateToMore.js +2 -2
  85. package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
  86. package/lib/module/components/Content/Card/components/NoContentFallback.js +3 -3
  87. package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
  88. package/lib/module/components/Content/Card/components/ShowAllButton.js +1 -1
  89. package/lib/module/components/Content/Card/components/ShowAllButton.js.map +1 -1
  90. package/lib/module/components/Content/Card/components/ThumbnailCard.js +1 -1
  91. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  92. package/lib/module/components/Content/Card/index.js +10 -10
  93. package/lib/module/components/Content/Card/index.js.map +1 -1
  94. package/lib/module/components/Content/Content.js +4 -4
  95. package/lib/module/components/Content/Content.js.map +1 -1
  96. package/lib/module/components/Content/Sections.js +2 -2
  97. package/lib/module/components/Content/Sections.js.map +1 -1
  98. package/lib/module/components/ContentView/ContentView.js +8 -9
  99. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  100. package/lib/module/components/ContentView/MoreContentList.js +6 -6
  101. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  102. package/lib/module/components/ContentView/components/AboutSection.js +2 -2
  103. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  104. package/lib/module/components/ContentView/components/CastCard.js +2 -2
  105. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  106. package/lib/module/components/ContentView/components/EpisodeCard.js +3 -3
  107. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  108. package/lib/module/components/ContentView/components/GenreTags.js +1 -1
  109. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  110. package/lib/module/components/ContentView/components/HeroBanner.js +5 -5
  111. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  112. package/lib/module/components/ContentView/components/PlayButton.js +0 -1
  113. package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
  114. package/lib/module/components/ContentView/components/Title.js +1 -1
  115. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  116. package/lib/module/components/ContentView/components/TrailerButton.js +1 -2
  117. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  118. package/lib/module/components/ContentView/index.js +2 -2
  119. package/lib/module/components/ContentView/index.js.map +1 -1
  120. package/lib/module/components/Headers/AppHeader.js +3 -3
  121. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  122. package/lib/module/components/Headers/One.js +3 -3
  123. package/lib/module/components/Headers/One.js.map +1 -1
  124. package/lib/module/components/Headers/Three.js +2 -2
  125. package/lib/module/components/Headers/Three.js.map +1 -1
  126. package/lib/module/components/Headers/Two.js +6 -7
  127. package/lib/module/components/Headers/Two.js.map +1 -1
  128. package/lib/module/components/Headers/index.js +3 -3
  129. package/lib/module/components/Headers/index.js.map +1 -1
  130. package/lib/module/components/Input/Input.js +3 -3
  131. package/lib/module/components/Input/Input.js.map +1 -1
  132. package/lib/module/components/Input/InputOne.js +1 -1
  133. package/lib/module/components/Input/InputOne.js.map +1 -1
  134. package/lib/module/components/Input/InputTwo.js +1 -1
  135. package/lib/module/components/Input/InputTwo.js.map +1 -1
  136. package/lib/module/components/Input/PhoneNumberInput.js +1 -1
  137. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  138. package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
  139. package/lib/module/components/Loader/Loader.js +1 -6
  140. package/lib/module/components/Loader/Loader.js.map +1 -1
  141. package/lib/module/components/Logo/Logo.js +2 -2
  142. package/lib/module/components/Logo/Logo.js.map +1 -1
  143. package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js +110 -0
  144. package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js.map +1 -0
  145. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +216 -0
  146. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +1 -0
  147. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js +182 -0
  148. package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js.map +1 -0
  149. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js +203 -0
  150. package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js.map +1 -0
  151. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +121 -0
  152. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -0
  153. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +290 -0
  154. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -0
  155. package/lib/module/components/Reels/ReelsSeries/types.js +2 -0
  156. package/lib/module/components/Reels/ReelsSeries/types.js.map +1 -0
  157. package/lib/module/components/Reels/index.js +11 -0
  158. package/lib/module/components/Reels/index.js.map +1 -0
  159. package/lib/module/components/Search/One.js +9 -9
  160. package/lib/module/components/Search/One.js.map +1 -1
  161. package/lib/module/components/Search/components/RecentSearchesSection.js +1 -1
  162. package/lib/module/components/Search/components/RecentSearchesSection.js.map +1 -1
  163. package/lib/module/components/Search/components/SearchCard.js +3 -3
  164. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  165. package/lib/module/components/Search/index.js +2 -2
  166. package/lib/module/components/Search/index.js.map +1 -1
  167. package/lib/module/components/Settings/AppSettings.js +4 -4
  168. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  169. package/lib/module/components/Settings/index.js +1 -1
  170. package/lib/module/components/Settings/index.js.map +1 -1
  171. package/lib/module/components/Subscription/SubOne.js +4 -4
  172. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  173. package/lib/module/components/Subscription/index.js +1 -1
  174. package/lib/module/components/Subscription/index.js.map +1 -1
  175. package/lib/module/components/TabBar/One.js +2 -2
  176. package/lib/module/components/TabBar/One.js.map +1 -1
  177. package/lib/module/components/TabBar/Three.js +1 -1
  178. package/lib/module/components/TabBar/Three.js.map +1 -1
  179. package/lib/module/components/TabBar/Two.js +2 -2
  180. package/lib/module/components/TabBar/Two.js.map +1 -1
  181. package/lib/module/components/TabBar/index.js +3 -3
  182. package/lib/module/components/TabBar/index.js.map +1 -1
  183. package/lib/module/components/Text/Text.js +1 -1
  184. package/lib/module/components/Text/Text.js.map +1 -1
  185. package/lib/module/components/Text/index.js +1 -1
  186. package/lib/module/components/Text/index.js.map +1 -1
  187. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +11 -3
  188. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  189. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +258 -0
  190. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -0
  191. package/lib/module/components/User/WatchHistory/WatchHistory.js +4 -4
  192. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  193. package/lib/module/components/User/WatchLater/WatchLater.js +5 -5
  194. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  195. package/lib/module/components/User/components/UserAvatar.js +1 -1
  196. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  197. package/lib/module/components/User/components/UserSection.js +11 -16
  198. package/lib/module/components/User/components/UserSection.js.map +1 -1
  199. package/lib/module/components/User/index.js +5 -4
  200. package/lib/module/components/User/index.js.map +1 -1
  201. package/lib/module/components/View/View.js.map +1 -1
  202. package/lib/module/components/View/index.js +1 -1
  203. package/lib/module/components/View/index.js.map +1 -1
  204. package/lib/module/components/index.js +20 -18
  205. package/lib/module/components/index.js.map +1 -1
  206. package/lib/module/components/layout/SafeAreaWrapper.js +1 -1
  207. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  208. package/lib/module/components/layout/index.js +1 -1
  209. package/lib/module/components/layout/index.js.map +1 -1
  210. package/lib/module/constants/dummySections.js.map +1 -1
  211. package/lib/module/hooks/useDebounce.js.map +1 -1
  212. package/lib/module/hooks/useInitSplashCacheSync.js +7 -7
  213. package/lib/module/hooks/useInitSplashCacheSync.js.map +1 -1
  214. package/lib/module/hooks/useKeyboard.js.map +1 -1
  215. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  216. package/lib/module/index.js +3 -3
  217. package/lib/module/index.js.map +1 -1
  218. package/lib/module/package.json +1 -0
  219. package/lib/module/store/RecentSearchesStore.js.map +1 -1
  220. package/lib/module/store/splashStore.js.map +1 -1
  221. package/lib/module/theme/ThemeProvider.js +24 -18
  222. package/lib/module/theme/ThemeProvider.js.map +1 -1
  223. package/lib/module/theme/hook/useTheme.js +2 -2
  224. package/lib/module/theme/hook/useTheme.js.map +1 -1
  225. package/lib/module/theme/index.js +3 -2
  226. package/lib/module/theme/index.js.map +1 -1
  227. package/lib/module/theme/themes.js +2 -13
  228. package/lib/module/theme/themes.js.map +1 -1
  229. package/lib/module/utils/Formater.js +17 -0
  230. package/lib/module/utils/Formater.js.map +1 -0
  231. package/lib/typescript/package.json +1 -0
  232. package/lib/typescript/src/components/Account/Account.d.ts +0 -1
  233. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  234. package/lib/typescript/src/components/Alert/UAAlert.d.ts +16 -0
  235. package/lib/typescript/src/components/Alert/UAAlert.d.ts.map +1 -0
  236. package/lib/typescript/src/components/Alert/index.d.ts +2 -0
  237. package/lib/typescript/src/components/Alert/index.d.ts.map +1 -0
  238. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  240. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  241. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  242. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +32 -0
  243. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -0
  244. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +15 -0
  245. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -0
  246. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  247. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  248. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts +0 -4
  249. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  250. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  251. package/lib/typescript/src/components/Auth/index.d.ts +2 -1
  252. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  253. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  254. package/lib/typescript/src/components/BlogView/BlogView.d.ts +0 -4
  255. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  256. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  257. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  258. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  259. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  260. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts +1 -1
  261. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  262. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  263. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  264. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  265. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  266. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  267. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  268. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  269. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  270. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  271. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  272. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  273. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +0 -8
  274. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  275. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
  276. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts +1 -2
  277. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
  278. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts.map +1 -1
  279. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  280. package/lib/typescript/src/components/Content/Card/index.d.ts +2 -2
  281. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  282. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  283. package/lib/typescript/src/components/ContentView/ContentView.d.ts +1 -2
  284. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  285. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  286. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +1 -2
  287. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  288. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +1 -6
  289. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  290. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +1 -2
  291. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  292. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
  293. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  294. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +1 -2
  295. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  296. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +1 -2
  297. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
  298. package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
  299. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  300. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +1 -2
  301. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  302. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  303. package/lib/typescript/src/components/Headers/One.d.ts.map +1 -1
  304. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  305. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  306. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  307. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  308. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  309. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts.map +1 -1
  310. package/lib/typescript/src/components/Loader/Loader.d.ts +0 -4
  311. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  312. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  313. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts +12 -0
  314. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts.map +1 -0
  315. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts +9 -0
  316. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +1 -0
  317. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts +13 -0
  318. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts.map +1 -0
  319. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts +18 -0
  320. package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts.map +1 -0
  321. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +15 -0
  322. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -0
  323. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +18 -0
  324. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -0
  325. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +24 -0
  326. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -0
  327. package/lib/typescript/src/components/Reels/index.d.ts +8 -0
  328. package/lib/typescript/src/components/Reels/index.d.ts.map +1 -0
  329. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  330. package/lib/typescript/src/components/Search/components/RecentSearchesSection.d.ts.map +1 -1
  331. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  332. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  333. package/lib/typescript/src/components/Subscription/SubOne.d.ts +1 -1
  334. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  335. package/lib/typescript/src/components/Subscription/index.d.ts +2 -2
  336. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  337. package/lib/typescript/src/components/TabBar/One.d.ts +2 -2
  338. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  339. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  340. package/lib/typescript/src/components/TabBar/Two.d.ts +1 -1
  341. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  342. package/lib/typescript/src/components/TabBar/index.d.ts +2 -2
  343. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  344. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +2 -1
  345. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  346. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +27 -0
  347. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -0
  348. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  349. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  350. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  351. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  352. package/lib/typescript/src/components/User/index.d.ts +2 -1
  353. package/lib/typescript/src/components/User/index.d.ts.map +1 -1
  354. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  355. package/lib/typescript/src/components/index.d.ts +2 -0
  356. package/lib/typescript/src/components/index.d.ts.map +1 -1
  357. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  358. package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
  359. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
  360. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +1 -1
  361. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +1 -1
  362. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  363. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  364. package/lib/typescript/src/index.d.ts.map +1 -1
  365. package/lib/typescript/src/store/RecentSearchesStore.d.ts +5 -3
  366. package/lib/typescript/src/store/RecentSearchesStore.d.ts.map +1 -1
  367. package/lib/typescript/src/store/splashStore.d.ts +5 -3
  368. package/lib/typescript/src/store/splashStore.d.ts.map +1 -1
  369. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  370. package/lib/typescript/src/theme/hook/useTheme.d.ts.map +1 -1
  371. package/lib/typescript/src/theme/index.d.ts +5 -0
  372. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  373. package/lib/typescript/src/theme/themes.d.ts +12 -4
  374. package/lib/typescript/src/theme/themes.d.ts.map +1 -1
  375. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  376. package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts +1 -1
  377. package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts.map +1 -1
  378. package/lib/typescript/src/utils/Formater.d.ts +2 -0
  379. package/lib/typescript/src/utils/Formater.d.ts.map +1 -0
  380. package/package.json +175 -70
  381. package/src/Styles/globalStyles.ts +18 -18
  382. package/src/assets/animations/135037-payment-processing-error.json +1347 -1
  383. package/src/assets/animations/7227-vui-animation.json +3377 -1
  384. package/src/assets/animations/heart.json +788 -0
  385. package/src/assets/animations/succesfull-payment.json +2379 -1
  386. package/src/assets/animations/voice-icon.json +542 -1
  387. package/src/components/Account/Account.tsx +139 -61
  388. package/src/components/Alert/UAAlert.tsx +168 -0
  389. package/src/components/Alert/index.ts +1 -0
  390. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +53 -23
  391. package/src/components/Auth/Login/LoginWithEmail.tsx +62 -32
  392. package/src/components/Auth/Login/LoginWithPhone.tsx +55 -24
  393. package/src/components/Auth/OTP/OTP.tsx +77 -32
  394. package/src/components/Auth/QrLogin/QrLogin.tsx +306 -0
  395. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +213 -0
  396. package/src/components/Auth/SignUp/SignUp.tsx +67 -32
  397. package/src/components/Auth/SplashScreen/SplashScreen.tsx +44 -16
  398. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +21 -12
  399. package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +5 -5
  400. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +15 -5
  401. package/src/components/Auth/index.ts +3 -1
  402. package/src/components/BackgroundLayout/BackgroundLayout.tsx +45 -17
  403. package/src/components/BlogView/BlogView.tsx +51 -31
  404. package/src/components/Button/BackBtn.tsx +31 -9
  405. package/src/components/Button/MenuBtn.tsx +61 -22
  406. package/src/components/Button/PrimaryBtn.tsx +30 -10
  407. package/src/components/Button/TextButton.tsx +30 -15
  408. package/src/components/Button/index.ts +1 -1
  409. package/src/components/Content/Card/Category/Category.tsx +73 -32
  410. package/src/components/Content/Card/NowWatching/NowWatching.tsx +102 -44
  411. package/src/components/Content/Card/Sliders/Styles/One.tsx +89 -38
  412. package/src/components/Content/Card/Sliders/Styles/Two.tsx +47 -21
  413. package/src/components/Content/Card/Sliders/index.ts +2 -2
  414. package/src/components/Content/Card/Styles/Five.tsx +65 -22
  415. package/src/components/Content/Card/Styles/Four.tsx +73 -23
  416. package/src/components/Content/Card/Styles/One.tsx +68 -21
  417. package/src/components/Content/Card/Styles/RotateInOut.tsx +59 -23
  418. package/src/components/Content/Card/Styles/Six.tsx +57 -19
  419. package/src/components/Content/Card/Styles/Three.tsx +59 -23
  420. package/src/components/Content/Card/Styles/TopTen.tsx +59 -26
  421. package/src/components/Content/Card/Styles/Two.tsx +39 -18
  422. package/src/components/Content/Card/components/CardPoster.tsx +34 -32
  423. package/src/components/Content/Card/components/NavigateToMore.tsx +17 -7
  424. package/src/components/Content/Card/components/NoContentFallback.tsx +36 -19
  425. package/src/components/Content/Card/components/ShowAllButton.tsx +12 -8
  426. package/src/components/Content/Card/components/ThumbnailCard.tsx +26 -17
  427. package/src/components/Content/Card/index.ts +2 -2
  428. package/src/components/Content/Content.tsx +41 -17
  429. package/src/components/Content/Sections.tsx +14 -8
  430. package/src/components/ContentView/ContentView.tsx +34 -27
  431. package/src/components/ContentView/MoreContentList.tsx +40 -18
  432. package/src/components/ContentView/components/AboutSection.tsx +30 -12
  433. package/src/components/ContentView/components/CastCard.tsx +65 -24
  434. package/src/components/ContentView/components/EpisodeCard.tsx +109 -44
  435. package/src/components/ContentView/components/GenreTags.tsx +35 -11
  436. package/src/components/ContentView/components/HeroBanner.tsx +52 -21
  437. package/src/components/ContentView/components/PlayButton.tsx +13 -5
  438. package/src/components/ContentView/components/Title.tsx +30 -10
  439. package/src/components/ContentView/components/TrailerButton.tsx +16 -7
  440. package/src/components/Headers/AppHeader.tsx +41 -15
  441. package/src/components/Headers/One.tsx +19 -10
  442. package/src/components/Headers/Three.tsx +22 -7
  443. package/src/components/Headers/Two.tsx +25 -14
  444. package/src/components/Headers/index.ts +1 -1
  445. package/src/components/Input/Input.ts +1 -1
  446. package/src/components/Input/InputOne.tsx +69 -23
  447. package/src/components/Input/InputTwo.tsx +41 -18
  448. package/src/components/Input/PhoneNumberInput.tsx +94 -48
  449. package/src/components/Keyboard/HideKeyboard.tsx +16 -10
  450. package/src/components/Loader/Loader.tsx +3 -8
  451. package/src/components/Logo/Logo.tsx +17 -9
  452. package/src/components/Reels/ReelsSeries/Model/Episodes.tsx +133 -0
  453. package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +249 -0
  454. package/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx +209 -0
  455. package/src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx +185 -0
  456. package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +163 -0
  457. package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +333 -0
  458. package/src/components/Reels/ReelsSeries/types.ts +27 -0
  459. package/src/components/Reels/index.ts +8 -0
  460. package/src/components/Search/One.tsx +46 -17
  461. package/src/components/Search/components/RecentSearchesSection.tsx +48 -21
  462. package/src/components/Search/components/SearchCard.tsx +34 -16
  463. package/src/components/Search/index.ts +1 -1
  464. package/src/components/Settings/AppSettings.tsx +80 -29
  465. package/src/components/Subscription/SubOne.tsx +84 -39
  466. package/src/components/Subscription/index.ts +1 -1
  467. package/src/components/TabBar/One.tsx +22 -18
  468. package/src/components/TabBar/Three.tsx +55 -19
  469. package/src/components/TabBar/Two.tsx +16 -12
  470. package/src/components/TabBar/index.ts +1 -1
  471. package/src/components/Text/Text.tsx +7 -3
  472. package/src/components/User/DeviceSessions/DeviceSessions.tsx +104 -38
  473. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +265 -0
  474. package/src/components/User/WatchHistory/WatchHistory.tsx +37 -12
  475. package/src/components/User/WatchLater/WatchLater.tsx +94 -31
  476. package/src/components/User/components/UserAvatar.tsx +8 -4
  477. package/src/components/User/components/UserSection.tsx +39 -27
  478. package/src/components/User/index.ts +3 -1
  479. package/src/components/View/View.tsx +11 -2
  480. package/src/components/index.ts +2 -0
  481. package/src/components/layout/SafeAreaWrapper.tsx +10 -4
  482. package/src/constants/dummySections.ts +9 -7
  483. package/src/hooks/useDebounce.ts +4 -1
  484. package/src/hooks/useInitSplashCacheSync.ts +46 -18
  485. package/src/hooks/useKeyboard.ts +5 -3
  486. package/src/hooks/usePaginatedSection.ts +11 -7
  487. package/src/store/RecentSearchesStore.ts +12 -7
  488. package/src/store/splashStore.ts +16 -16
  489. package/src/theme/ThemeProvider.tsx +57 -24
  490. package/src/theme/hook/useTheme.ts +7 -3
  491. package/src/theme/index.ts +6 -0
  492. package/src/theme/themes.ts +45 -31
  493. package/src/types/content/content-view.types.ts +4 -1
  494. package/src/types/hook/usePaginatedSetion.ts +1 -1
  495. package/src/utils/Formater.ts +14 -0
  496. package/lib/module/components/Icons/AlertIcon.js +0 -33
  497. package/lib/module/components/Icons/AlertIcon.js.map +0 -1
  498. package/lib/module/components/Icons/DeviceIcon.js +0 -25
  499. package/lib/module/components/Icons/DeviceIcon.js.map +0 -1
  500. package/lib/module/components/Icons/DoneIcon/DoneIcon.js +0 -23
  501. package/lib/module/components/Icons/DoneIcon/DoneIcon.js.map +0 -1
  502. package/lib/module/components/Icons/ForgotPasswordMessageIcon.js +0 -65
  503. package/lib/module/components/Icons/ForgotPasswordMessageIcon.js.map +0 -1
  504. package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js +0 -56
  505. package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js.map +0 -1
  506. package/lib/module/components/Icons/NewIndex.js +0 -36
  507. package/lib/module/components/Icons/NewIndex.js.map +0 -1
  508. package/lib/module/components/Icons/ResendOTP.js +0 -21
  509. package/lib/module/components/Icons/ResendOTP.js.map +0 -1
  510. package/lib/typescript/src/components/Icons/AlertIcon.d.ts +0 -7
  511. package/lib/typescript/src/components/Icons/AlertIcon.d.ts.map +0 -1
  512. package/lib/typescript/src/components/Icons/DeviceIcon.d.ts +0 -7
  513. package/lib/typescript/src/components/Icons/DeviceIcon.d.ts.map +0 -1
  514. package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts +0 -6
  515. package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts.map +0 -1
  516. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts +0 -3
  517. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts.map +0 -1
  518. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts +0 -3
  519. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts.map +0 -1
  520. package/lib/typescript/src/components/Icons/NewIndex.d.ts +0 -19
  521. package/lib/typescript/src/components/Icons/NewIndex.d.ts.map +0 -1
  522. package/lib/typescript/src/components/Icons/ResendOTP.d.ts +0 -7
  523. package/lib/typescript/src/components/Icons/ResendOTP.d.ts.map +0 -1
  524. package/src/components/Icons/AlertIcon.tsx +0 -18
  525. package/src/components/Icons/DeviceIcon.tsx +0 -18
  526. package/src/components/Icons/DoneIcon/DoneIcon.tsx +0 -17
  527. package/src/components/Icons/ForgotPasswordMessageIcon.tsx +0 -34
  528. package/src/components/Icons/ForgotPasswordMessageIconTwo.tsx +0 -32
  529. package/src/components/Icons/NewIndex.ts +0 -35
  530. package/src/components/Icons/ResendOTP.tsx +0 -13
  531. /package/lib/module/assets/{img → svg}/h.svg +0 -0
  532. /package/src/assets/{img → svg}/h.svg +0 -0
  533. /package/src/{index.ts → index.tsx} +0 -0
@@ -0,0 +1,133 @@
1
+ import React from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ FlatList,
6
+ StyleSheet,
7
+ Dimensions,
8
+ TouchableOpacity,
9
+ } from 'react-native';
10
+ import { Lock, ChartNoAxesColumnIncreasing } from 'lucide-react-native';
11
+ import { moderateScale, verticalScale } from 'react-native-size-matters';
12
+ import { RFValue } from 'react-native-responsive-fontsize';
13
+ import type { ISeriesEpisode, ISeriesItem } from '../types';
14
+
15
+ const { height, width } = Dimensions.get('window');
16
+ const NUM_COLUMNS = 6;
17
+
18
+ interface EpisodesProps {
19
+ reel: ISeriesEpisode;
20
+ data: ISeriesItem;
21
+ currentReel: number;
22
+ onEpisodeSelect?: (index: number) => void;
23
+ totalReels?: number;
24
+ }
25
+
26
+ const Episodes: React.FC<EpisodesProps> = ({
27
+ data,
28
+ currentReel,
29
+ onEpisodeSelect,
30
+ totalReels = 0,
31
+ }) => {
32
+ const totalBoxes = Math.max(data.episodes?.length || 0, totalReels);
33
+ const EpisodeData = Array.from({ length: totalBoxes }, (_, i) => i + 1);
34
+
35
+ const renderItem = ({ item }: { item: number }) => {
36
+ const isAvailable = item <= (data.episodes.length ?? 0);
37
+ const isActive = item === currentReel + 1;
38
+
39
+ return (
40
+ <TouchableOpacity
41
+ key={`episode-${item}`}
42
+ onPress={() => isAvailable && onEpisodeSelect?.(item - 1)}
43
+ activeOpacity={0.8}
44
+ >
45
+ <View
46
+ style={[
47
+ styles.box,
48
+ {
49
+ backgroundColor: isActive
50
+ ? 'rgba(60,60,60,1)'
51
+ : 'rgba(34,34,34,1)',
52
+ },
53
+ ]}
54
+ >
55
+ <Text style={[styles.number, { color: 'white' }]}>{item}</Text>
56
+
57
+ {!isAvailable && (
58
+ <View
59
+ style={[
60
+ styles.lockContainer,
61
+ { backgroundColor: 'rgba(76,76,76,1)' },
62
+ ]}
63
+ >
64
+ <Lock color={'white'} size={moderateScale(11)} />
65
+ </View>
66
+ )}
67
+
68
+ {isActive && (
69
+ <ChartNoAxesColumnIncreasing
70
+ color={'white'}
71
+ size={moderateScale(16)}
72
+ style={styles.activeIcon}
73
+ />
74
+ )}
75
+ </View>
76
+ </TouchableOpacity>
77
+ );
78
+ };
79
+
80
+ return (
81
+ <FlatList
82
+ data={EpisodeData}
83
+ numColumns={NUM_COLUMNS}
84
+ keyExtractor={(item) => `episode-${item}`}
85
+ renderItem={renderItem}
86
+ contentContainerStyle={[{ paddingBottom: verticalScale(20) }]}
87
+ showsVerticalScrollIndicator={false}
88
+ scrollEnabled={true} // important for modal
89
+ removeClippedSubviews={true} // improves performance
90
+ windowSize={10} // virtualized window
91
+ initialNumToRender={NUM_COLUMNS * 2}
92
+ nestedScrollEnabled={true} // Allows scroll inside modal
93
+ />
94
+ );
95
+ };
96
+
97
+ export default Episodes;
98
+
99
+ const styles = StyleSheet.create({
100
+ box: {
101
+ width:
102
+ (width - moderateScale(8) * 2 - moderateScale(6) * NUM_COLUMNS) /
103
+ NUM_COLUMNS,
104
+ height: (height * 0.52) / 8,
105
+ borderRadius: moderateScale(10),
106
+ justifyContent: 'center',
107
+ alignItems: 'center',
108
+ marginVertical: moderateScale(2.5),
109
+ marginHorizontal: moderateScale(2.5),
110
+ position: 'relative',
111
+ },
112
+ number: {
113
+ fontSize: RFValue(15),
114
+ fontWeight: '600',
115
+ },
116
+ lockContainer: {
117
+ position: 'absolute',
118
+ top: 0,
119
+ right: 0,
120
+ width: moderateScale(18),
121
+ height: moderateScale(18),
122
+ borderRadius: moderateScale(7),
123
+ borderTopLeftRadius: 0,
124
+ borderBottomRightRadius: 0,
125
+ justifyContent: 'center',
126
+ alignItems: 'center',
127
+ },
128
+ activeIcon: {
129
+ position: 'absolute',
130
+ bottom: verticalScale(6),
131
+ left: moderateScale(6),
132
+ },
133
+ });
@@ -0,0 +1,249 @@
1
+ import React, { useCallback } from 'react';
2
+ import {
3
+ Text,
4
+ View,
5
+ Image,
6
+ StyleSheet,
7
+ TouchableOpacity,
8
+ Dimensions,
9
+ FlatList,
10
+ } from 'react-native';
11
+ import { RFValue } from 'react-native-responsive-fontsize';
12
+ import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
13
+ import type { ISeriesEpisode, ISeriesItem } from '../types';
14
+ import Svg, { Path, Defs, LinearGradient, Stop } from 'react-native-svg';
15
+
16
+ const { width: SCREEN_WIDTH } = Dimensions.get('window');
17
+ const GAP = moderateScale(10);
18
+
19
+ interface SynopsisProps {
20
+ reel: ISeriesEpisode;
21
+ data: ISeriesItem;
22
+ }
23
+
24
+ interface ILikeMoreData {
25
+ id: number;
26
+ name: string;
27
+ thumbnail: string;
28
+ }
29
+
30
+ const likeMoreData: Array<ILikeMoreData> = [
31
+ {
32
+ id: 1,
33
+ name: 'Housefull 5',
34
+ thumbnail:
35
+ 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZFKczA4mK0DoFSiKN75aAtWdhm_AZvCWGkwPl2StUpOQYq6_b',
36
+ },
37
+ {
38
+ id: 2,
39
+ name: 'Sample Episode',
40
+ thumbnail:
41
+ 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTfRd3dwJUToDAbEB4afBWcic5_HCwbKbn-B7-ZgF7niTa-MTIt',
42
+ },
43
+ {
44
+ id: 3,
45
+ name: 'Tees Maar Khan',
46
+ thumbnail:
47
+ 'https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSwz8vklTTg8YdCqRHg9aauHq9BgpVgxLUvldi-Doz_Eh7ZIiVl',
48
+ },
49
+ {
50
+ id: 4,
51
+ name: 'Aap Jaisa Koi',
52
+ thumbnail:
53
+ 'https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQujccf3ymM7lkv83Y6TkS5BkcLYJLTu2d3rJQYxh6cGqwx8AuR',
54
+ },
55
+ {
56
+ id: 5,
57
+ name: 'Kaalidhar Laapata',
58
+ thumbnail:
59
+ 'https://upload.wikimedia.org/wikipedia/en/b/bd/Kaalidhar_Laapata.jpg',
60
+ },
61
+ {
62
+ id: 6,
63
+ name: 'Aankhon Ki Gustaakhiyan',
64
+ thumbnail:
65
+ 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSLqG-A_lUucNT4TOcY1u42ujHyPbwuJvRLbO4zjNS8iuzNQ_6X',
66
+ },
67
+ ];
68
+
69
+ const Synopsis: React.FC<SynopsisProps> = ({ data }) => {
70
+ // responsive columns
71
+ const numColumns = SCREEN_WIDTH >= 420 ? 4 : 3;
72
+ const keyExtractor = useCallback(
73
+ (item: ILikeMoreData) => item.id.toString(),
74
+ []
75
+ );
76
+
77
+ const renderItem = useCallback(
78
+ ({ item }: { item: ILikeMoreData; index: number }) => (
79
+ <TouchableOpacity
80
+ style={[styles.card]}
81
+ activeOpacity={0.8}
82
+ onPress={() => {
83
+ // Handle item press if needed
84
+ console.log('Pressed item:', item.name);
85
+ }}
86
+ >
87
+ <Image
88
+ source={{
89
+ uri:
90
+ item.thumbnail ||
91
+ 'https://via.placeholder.com/300x400?text=Episode',
92
+ }}
93
+ style={styles.thumbnail}
94
+ resizeMode="cover"
95
+ />
96
+ <Text
97
+ style={[styles.title, { color: '#fff', width: scale(90) }]}
98
+ numberOfLines={2}
99
+ >
100
+ {item.name || 'Untitled'}
101
+ </Text>
102
+ </TouchableOpacity>
103
+ ),
104
+ []
105
+ );
106
+
107
+ return (
108
+ <View style={styles.container}>
109
+ <Text
110
+ style={{
111
+ color: 'rgba(255,255,255,1)',
112
+ fontSize: RFValue(10),
113
+ lineHeight: RFValue(14),
114
+ marginBottom: verticalScale(12),
115
+ }}
116
+ >
117
+ {data.description ||
118
+ 'No synopsis available for this reel. Please check back later.'}
119
+ </Text>
120
+
121
+ {/* Header */}
122
+ <View style={styles.header}>
123
+ <Svg width={22} height={2} viewBox="0 0 22 2" fill="none">
124
+ <Path d="M21.692 1.196H.594" stroke="url(#a)" strokeWidth={1.005} />
125
+ <Defs>
126
+ <LinearGradient
127
+ id="a"
128
+ x1={0.594}
129
+ y1={1.696}
130
+ x2={21.692}
131
+ y2={1.696}
132
+ gradientUnits="userSpaceOnUse"
133
+ >
134
+ <Stop stopOpacity={0} />
135
+ <Stop offset={1} stopColor="#fff" />
136
+ </LinearGradient>
137
+ </Defs>
138
+ </Svg>
139
+ <Text
140
+ style={{
141
+ color: '#fff',
142
+ fontSize: 12,
143
+ textAlign: 'center',
144
+ marginHorizontal: scale(8),
145
+ }}
146
+ >
147
+ More Like This
148
+ </Text>
149
+ <Svg width={22} height={2} viewBox="0 0 22 2" fill="none">
150
+ <Path
151
+ d="M.312 1.196H21.41"
152
+ stroke="url(#paint0_linear_797_3114)"
153
+ strokeWidth={1.00467}
154
+ />
155
+ <Defs>
156
+ <LinearGradient
157
+ id="paint0_linear_797_3114"
158
+ x1={21.4102}
159
+ y1={1.69629}
160
+ x2={0.312025}
161
+ y2={1.69629}
162
+ gradientUnits="userSpaceOnUse"
163
+ >
164
+ <Stop stopOpacity={0} />
165
+ <Stop offset={1} stopColor="#fff" />
166
+ </LinearGradient>
167
+ </Defs>
168
+ </Svg>
169
+ </View>
170
+
171
+ {/* Episodes Grid */}
172
+ {likeMoreData.length === 0 ? (
173
+ <Text style={styles.noEpisodesText}>No recommendations available.</Text>
174
+ ) : (
175
+ <FlatList
176
+ data={likeMoreData}
177
+ keyExtractor={keyExtractor}
178
+ renderItem={renderItem}
179
+ numColumns={numColumns}
180
+ columnWrapperStyle={{
181
+ justifyContent: 'space-between',
182
+ marginBottom: GAP,
183
+ }}
184
+ showsVerticalScrollIndicator={false}
185
+ contentContainerStyle={{
186
+ paddingBottom: verticalScale(16),
187
+ }}
188
+ removeClippedSubviews={false} // Disable to prevent recycling issues
189
+ nestedScrollEnabled={true} // Allows scroll inside modal
190
+ getItemLayout={(_data, index) => ({
191
+ length: verticalScale(120) + verticalScale(6) + verticalScale(20), // thumbnail + margin + text
192
+ offset:
193
+ (verticalScale(120) + verticalScale(6) + verticalScale(20)) *
194
+ Math.floor(index / numColumns),
195
+ index,
196
+ })}
197
+ initialNumToRender={6}
198
+ maxToRenderPerBatch={6}
199
+ windowSize={5}
200
+ disableVirtualization={false}
201
+ />
202
+ )}
203
+ </View>
204
+ );
205
+ };
206
+
207
+ export default Synopsis;
208
+
209
+ const styles = StyleSheet.create({
210
+ container: { flex: 1 },
211
+ header: {
212
+ flexDirection: 'row',
213
+ alignItems: 'center',
214
+ justifyContent: 'center',
215
+ marginBottom: verticalScale(12),
216
+ },
217
+ headerLine: {
218
+ height: verticalScale(1.5),
219
+ width: moderateScale(50),
220
+ marginHorizontal: moderateScale(8),
221
+ borderRadius: 999,
222
+ },
223
+ headerLabel: {
224
+ fontSize: RFValue(12),
225
+ textAlign: 'center',
226
+ },
227
+ card: {
228
+ // alignItems: 'center',
229
+ },
230
+ thumbnail: {
231
+ width: '100%',
232
+ height: verticalScale(120),
233
+ borderRadius: moderateScale(8),
234
+ marginBottom: verticalScale(6),
235
+ backgroundColor: 'rgba(255,255,255,0.06)',
236
+ aspectRatio: 3 / 4,
237
+ },
238
+ title: {
239
+ fontSize: RFValue(10),
240
+ // textAlign: 'center',
241
+ },
242
+ noEpisodesText: {
243
+ color: 'rgba(180,180,180,1)',
244
+ fontSize: RFValue(13),
245
+ textAlign: 'center',
246
+ marginTop: verticalScale(8),
247
+ marginBottom: verticalScale(12),
248
+ },
249
+ });
@@ -0,0 +1,209 @@
1
+ import React, { useState } from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ TouchableOpacity,
6
+ Image,
7
+ StyleSheet,
8
+ Dimensions,
9
+ } from 'react-native';
10
+ import Modal from 'react-native-modal';
11
+ import LinearGradient from 'react-native-linear-gradient';
12
+ import { X } from 'lucide-react-native';
13
+ import { moderateScale, verticalScale } from 'react-native-size-matters';
14
+ import { RFValue } from 'react-native-responsive-fontsize';
15
+ import Episodes from './Model/Episodes';
16
+ import Synopsis from './Model/Synopsis';
17
+ import type { ISeriesEpisode, ISeriesItem } from './types';
18
+ import { formatCount } from '../../../utils/Formater';
19
+
20
+ const { height } = Dimensions.get('window');
21
+
22
+ interface ReelSeriesDetailsModalProps {
23
+ visible: boolean;
24
+ onClose: () => void;
25
+ reel: ISeriesEpisode;
26
+ data: ISeriesItem;
27
+ activeEpisodeIndex: number;
28
+ onEpisodeSelect: (index: number) => void;
29
+ }
30
+
31
+ const ReelSeriesDetailsModal: React.FC<ReelSeriesDetailsModalProps> = ({
32
+ visible,
33
+ onClose,
34
+ reel,
35
+ data,
36
+ activeEpisodeIndex,
37
+ onEpisodeSelect,
38
+ }) => {
39
+ const [activeTab, setActiveTab] = useState<'synopsis' | 'episodes'>(
40
+ 'synopsis'
41
+ );
42
+ const [routes] = useState<
43
+ {
44
+ key: string;
45
+ title: string;
46
+ }[]
47
+ >([
48
+ { key: 'synopsis', title: 'Synopsis' },
49
+ { key: 'episodes', title: 'Episodes' },
50
+ ]);
51
+
52
+ return (
53
+ <Modal
54
+ isVisible={visible}
55
+ onBackdropPress={onClose}
56
+ swipeDirection="down"
57
+ onSwipeComplete={onClose}
58
+ backdropOpacity={0.5}
59
+ style={{ margin: 0, justifyContent: 'flex-end' }}
60
+ propagateSwipe
61
+ >
62
+ <LinearGradient
63
+ colors={['rgba(103,85,35,1)', 'rgba(21,21,21,1)']}
64
+ style={styles.bottomSheetContainer}
65
+ >
66
+ {/* Drag Handle */}
67
+ <View style={styles.dragHandle} />
68
+ {/* Close Button */}
69
+ <TouchableOpacity onPress={onClose} style={styles.closeButtonWrapper}>
70
+ <X size={moderateScale(16)} color={'#fff'} />
71
+ </TouchableOpacity>
72
+ {/* Creator + Title */}
73
+ <View style={styles.headerRow}>
74
+ <Image
75
+ source={{ uri: data.thumbnail }}
76
+ style={styles.reelPosterImage}
77
+ />
78
+ <View style={{ flex: 1 }}>
79
+ <Text style={styles.reelTitleText}>{data.title}</Text>
80
+ <Text style={styles.reelDescriptionText} numberOfLines={3}>
81
+ {data.description}
82
+ </Text>
83
+ <Text style={styles.reelViewsText}>
84
+ {formatCount(data.views || 0)} Views
85
+ </Text>
86
+ </View>
87
+ </View>
88
+ {/* Tab View */}
89
+ <View
90
+ style={{
91
+ flexDirection: 'row',
92
+ // justifyContent: 'space-around',
93
+ marginTop: verticalScale(10),
94
+ }}
95
+ >
96
+ {routes.map((item) => (
97
+ <TouchableOpacity
98
+ key={item.key}
99
+ style={{
100
+ borderBottomColor: 'white',
101
+ borderBottomWidth:
102
+ activeTab === routes.find((r) => r.key === item.key)?.key
103
+ ? 2
104
+ : 0,
105
+ paddingBottom: 6,
106
+ marginHorizontal: 12,
107
+ }}
108
+ onPress={() => {
109
+ const tab = routes.find((r) => r.key === item.key)?.key;
110
+ tab && setActiveTab(tab as 'synopsis' | 'episodes');
111
+ }}
112
+ >
113
+ <Text
114
+ style={{
115
+ color: 'white',
116
+ fontSize: RFValue(11),
117
+ fontWeight: '700',
118
+ opacity:
119
+ activeTab === routes.find((r) => r.key === item.key)?.key
120
+ ? 1
121
+ : 0.6,
122
+ }}
123
+ >
124
+ {item.title}
125
+ </Text>
126
+ </TouchableOpacity>
127
+ ))}
128
+ </View>
129
+ {/* Tab View Content */}
130
+ <View
131
+ style={{
132
+ flex: 1,
133
+ marginTop: verticalScale(8),
134
+ marginHorizontal: 12,
135
+ }}
136
+ >
137
+ {activeTab === 'synopsis' && <Synopsis reel={reel} data={data} />}
138
+ {activeTab === 'episodes' && (
139
+ <Episodes
140
+ reel={reel}
141
+ data={data}
142
+ currentReel={activeEpisodeIndex}
143
+ onEpisodeSelect={onEpisodeSelect}
144
+ />
145
+ )}
146
+ </View>
147
+ </LinearGradient>
148
+ </Modal>
149
+ );
150
+ };
151
+
152
+ export default ReelSeriesDetailsModal;
153
+
154
+ const styles = StyleSheet.create({
155
+ bottomSheetContainer: {
156
+ height: height * 0.9,
157
+ borderTopLeftRadius: moderateScale(20),
158
+ borderTopRightRadius: moderateScale(20),
159
+ overflow: 'hidden',
160
+ paddingTop: verticalScale(10),
161
+ },
162
+ dragHandle: {
163
+ width: moderateScale(50),
164
+ height: verticalScale(5),
165
+ borderRadius: moderateScale(3),
166
+ backgroundColor: 'rgba(255,255,255,0.5)',
167
+ alignSelf: 'center',
168
+ marginBottom: verticalScale(10),
169
+ },
170
+ closeButtonWrapper: {
171
+ position: 'absolute',
172
+ top: verticalScale(10),
173
+ right: moderateScale(14),
174
+ zIndex: 10,
175
+ borderRadius: moderateScale(18),
176
+ width: moderateScale(30),
177
+ height: moderateScale(30),
178
+ justifyContent: 'center',
179
+ alignItems: 'center',
180
+ backgroundColor: 'rgba(255,255,255,0.26)',
181
+ },
182
+ headerRow: {
183
+ flexDirection: 'row',
184
+ paddingHorizontal: moderateScale(16),
185
+ marginBottom: verticalScale(10),
186
+ },
187
+ reelPosterImage: {
188
+ width: moderateScale(80),
189
+ height: verticalScale(100),
190
+ borderRadius: moderateScale(8),
191
+ marginRight: moderateScale(12),
192
+ },
193
+ reelTitleText: {
194
+ fontSize: RFValue(14),
195
+ fontWeight: '600',
196
+ color: '#fff',
197
+ },
198
+ reelDescriptionText: {
199
+ fontSize: RFValue(10),
200
+ color: 'rgba(215,215,215,1)',
201
+ marginBottom: verticalScale(4),
202
+ marginTop: verticalScale(3.5),
203
+ },
204
+ reelViewsText: {
205
+ fontSize: RFValue(10),
206
+ color: 'rgba(215,215,215,1)',
207
+ marginTop: verticalScale(2),
208
+ },
209
+ });