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

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 (421) hide show
  1. package/lib/module/assets/animations/Failed.json +2103 -0
  2. package/lib/module/assets/animations/Pending.json +522 -0
  3. package/lib/module/assets/animations/Successful.json +2289 -0
  4. package/lib/module/components/Account/Account.js +4 -4
  5. package/lib/module/components/Account/Account.js.map +1 -1
  6. package/lib/module/components/Alert/AlertDialog.js +208 -0
  7. package/lib/module/components/Alert/AlertDialog.js.map +1 -0
  8. package/lib/module/components/Alert/UAAlert.js +5 -1
  9. package/lib/module/components/Alert/UAAlert.js.map +1 -1
  10. package/lib/module/components/Alert/index.js +1 -0
  11. package/lib/module/components/Alert/index.js.map +1 -1
  12. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +240 -0
  13. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -0
  14. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +4 -8
  15. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  16. package/lib/module/components/Auth/Login/LoginWithEmail.js +7 -7
  17. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  18. package/lib/module/components/Auth/Login/LoginWithPhone.js +6 -6
  19. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  20. package/lib/module/components/Auth/OTP/OTP.js +5 -5
  21. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  22. package/lib/module/components/Auth/QrLogin/QrLogin.js +8 -9
  23. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  24. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +2 -2
  25. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -1
  26. package/lib/module/components/Auth/SignUp/SignUp.js +9 -9
  27. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  28. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +62 -73
  29. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  30. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +82 -41
  31. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  32. package/lib/module/components/Auth/index.js +2 -0
  33. package/lib/module/components/Auth/index.js.map +1 -1
  34. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +8 -4
  35. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  36. package/lib/module/components/BlogView/BlogView.js +8 -7
  37. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  38. package/lib/module/components/Button/BackBtn.js +2 -2
  39. package/lib/module/components/Button/BackBtn.js.map +1 -1
  40. package/lib/module/components/Button/MenuBtn.js +2 -2
  41. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  42. package/lib/module/components/Button/PrimaryBtn.js +2 -2
  43. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  44. package/lib/module/components/Button/SecondaryBtn.js +91 -0
  45. package/lib/module/components/Button/SecondaryBtn.js.map +1 -0
  46. package/lib/module/components/Button/TextButton.js +2 -2
  47. package/lib/module/components/Button/TextButton.js.map +1 -1
  48. package/lib/module/components/Button/index.js +2 -0
  49. package/lib/module/components/Button/index.js.map +1 -1
  50. package/lib/module/components/Content/Card/Category/Category.js +3 -3
  51. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  52. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +11 -6
  53. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  54. package/lib/module/components/Content/Card/Sliders/Styles/One.js +9 -6
  55. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  56. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +7 -3
  57. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  58. package/lib/module/components/Content/Card/Styles/Five.js +5 -3
  59. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  60. package/lib/module/components/Content/Card/Styles/Four.js +5 -3
  61. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  62. package/lib/module/components/Content/Card/Styles/One.js +11 -6
  63. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  64. package/lib/module/components/Content/Card/Styles/RotateInOut.js +5 -3
  65. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  66. package/lib/module/components/Content/Card/Styles/Six.js +9 -4
  67. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  68. package/lib/module/components/Content/Card/Styles/Three.js +5 -3
  69. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  70. package/lib/module/components/Content/Card/Styles/TopTen.js +5 -3
  71. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  72. package/lib/module/components/Content/Card/Styles/Two.js +5 -3
  73. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  74. package/lib/module/components/Content/Card/components/CardPoster.js +13 -28
  75. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  76. package/lib/module/components/Content/Card/components/NoContentFallback.js +2 -2
  77. package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
  78. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js +116 -0
  79. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js.map +1 -0
  80. package/lib/module/components/Content/Card/components/ShowAllButton.js +3 -1
  81. package/lib/module/components/Content/Card/components/ShowAllButton.js.map +1 -1
  82. package/lib/module/components/Content/Card/components/ThumbnailCard.js +1 -2
  83. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  84. package/lib/module/components/ContentView/ContentView.js +6 -5
  85. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  86. package/lib/module/components/ContentView/MoreContentList.js +4 -2
  87. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  88. package/lib/module/components/ContentView/components/EpisodeCard.js +21 -16
  89. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  90. package/lib/module/components/ContentView/components/HeroBanner.js +29 -8
  91. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  92. package/lib/module/components/ContentView/components/TrailerButton.js +5 -5
  93. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  94. package/lib/module/components/Headers/AppHeader.js +2 -2
  95. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  96. package/lib/module/components/Headers/One.js +2 -2
  97. package/lib/module/components/Headers/One.js.map +1 -1
  98. package/lib/module/components/Headers/Three.js +2 -2
  99. package/lib/module/components/Headers/Three.js.map +1 -1
  100. package/lib/module/components/Headers/Two.js +2 -2
  101. package/lib/module/components/Headers/Two.js.map +1 -1
  102. package/lib/module/components/Input/InputOne.js +2 -2
  103. package/lib/module/components/Input/InputOne.js.map +1 -1
  104. package/lib/module/components/Input/InputTwo.js +2 -2
  105. package/lib/module/components/Input/InputTwo.js.map +1 -1
  106. package/lib/module/components/Input/PhoneNumberInput.js +5 -4
  107. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  108. package/lib/module/components/Logo/Logo.js +7 -7
  109. package/lib/module/components/Logo/Logo.js.map +1 -1
  110. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +0 -4
  111. package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +1 -1
  112. package/lib/module/components/Search/One.js +4 -4
  113. package/lib/module/components/Search/One.js.map +1 -1
  114. package/lib/module/components/Search/components/SearchCard.js +2 -2
  115. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  116. package/lib/module/components/Settings/AppSettings.js +4 -4
  117. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  118. package/lib/module/components/Subscription/SubOne.js +11 -10
  119. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  120. package/lib/module/components/TabBar/One.js +8 -5
  121. package/lib/module/components/TabBar/One.js.map +1 -1
  122. package/lib/module/components/TabBar/Three.js +2 -2
  123. package/lib/module/components/TabBar/Three.js.map +1 -1
  124. package/lib/module/components/TabBar/Two.js +8 -5
  125. package/lib/module/components/TabBar/Two.js.map +1 -1
  126. package/lib/module/components/Text/Text.js +3 -2
  127. package/lib/module/components/Text/Text.js.map +1 -1
  128. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +4 -3
  129. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  130. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +17 -20
  131. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -1
  132. package/lib/module/components/User/WatchHistory/WatchHistory.js +4 -3
  133. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  134. package/lib/module/components/User/WatchLater/WatchLater.js +6 -3
  135. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  136. package/lib/module/components/User/components/UserAvatar.js +41 -11
  137. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  138. package/lib/module/components/User/components/UserSection.js +3 -3
  139. package/lib/module/components/User/components/UserSection.js.map +1 -1
  140. package/lib/module/components/common/AppStatusBar.js +41 -0
  141. package/lib/module/components/common/AppStatusBar.js.map +1 -0
  142. package/lib/module/components/layout/SafeAreaWrapper.js +2 -2
  143. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  144. package/lib/module/hooks/useSplashCache.js +117 -0
  145. package/lib/module/hooks/useSplashCache.js.map +1 -0
  146. package/lib/module/store/RecentSearchesStore.js +0 -1
  147. package/lib/module/store/RecentSearchesStore.js.map +1 -1
  148. package/lib/module/store/splashStore.js +3 -7
  149. package/lib/module/store/splashStore.js.map +1 -1
  150. package/lib/module/store/themeStore.js +39 -0
  151. package/lib/module/store/themeStore.js.map +1 -0
  152. package/lib/module/theme/ThemeProvider.js +40 -69
  153. package/lib/module/theme/ThemeProvider.js.map +1 -1
  154. package/lib/module/theme/hook/index.js +5 -0
  155. package/lib/module/theme/hook/index.js.map +1 -0
  156. package/lib/module/theme/hook/useInternalTheme.js +46 -0
  157. package/lib/module/theme/hook/useInternalTheme.js.map +1 -0
  158. package/lib/module/theme/hook/useThemeStatusBar.js +27 -0
  159. package/lib/module/theme/hook/useThemeStatusBar.js.map +1 -0
  160. package/lib/module/theme/index.js +1 -2
  161. package/lib/module/theme/index.js.map +1 -1
  162. package/lib/module/theme/themes.js +6 -4
  163. package/lib/module/theme/themes.js.map +1 -1
  164. package/lib/typescript/src/components/Account/Account.d.ts +2 -2
  165. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  166. package/lib/typescript/src/components/Alert/AlertDialog.d.ts +18 -0
  167. package/lib/typescript/src/components/Alert/AlertDialog.d.ts.map +1 -0
  168. package/lib/typescript/src/components/Alert/UAAlert.d.ts +2 -2
  169. package/lib/typescript/src/components/Alert/UAAlert.d.ts.map +1 -1
  170. package/lib/typescript/src/components/Alert/index.d.ts +1 -0
  171. package/lib/typescript/src/components/Alert/index.d.ts.map +1 -1
  172. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts +35 -0
  173. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -0
  174. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts +2 -2
  175. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  176. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts +2 -2
  177. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  178. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts +2 -2
  179. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  180. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts +2 -2
  181. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  182. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +2 -2
  183. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  184. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +2 -2
  185. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  186. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts +2 -2
  187. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  188. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts +6 -5
  189. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  190. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts +1 -1
  191. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  192. package/lib/typescript/src/components/Auth/index.d.ts +7 -5
  193. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  194. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +2 -2
  195. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  196. package/lib/typescript/src/components/BlogView/BlogView.d.ts +2 -2
  197. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  198. package/lib/typescript/src/components/Button/BackBtn.d.ts +2 -2
  199. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  200. package/lib/typescript/src/components/Button/MenuBtn.d.ts +2 -2
  201. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  202. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +2 -2
  203. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  204. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts +21 -0
  205. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts.map +1 -0
  206. package/lib/typescript/src/components/Button/index.d.ts +13 -2
  207. package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
  208. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts +2 -2
  209. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  210. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts +2 -2
  211. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  212. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts +2 -2
  213. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  214. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts +2 -2
  215. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  216. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +2 -2
  217. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +2 -2
  218. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts +2 -2
  220. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts +2 -2
  222. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts +2 -2
  224. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  225. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts +2 -2
  226. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts +2 -2
  228. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts +2 -2
  230. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  231. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts +2 -2
  232. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  233. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +4 -2
  234. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts +2 -2
  236. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
  237. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts +14 -0
  238. package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts.map +1 -0
  239. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts +2 -0
  240. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts.map +1 -1
  241. package/lib/typescript/src/components/Content/Card/index.d.ts +10 -10
  242. package/lib/typescript/src/components/Content/Content.d.ts +2 -2
  243. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  244. package/lib/typescript/src/components/Content/Sections.d.ts +2 -2
  245. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  246. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  247. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts +2 -2
  248. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  249. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +3 -3
  250. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  251. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +1 -1
  252. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  253. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +2 -2
  254. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  255. package/lib/typescript/src/components/Headers/AppHeader.d.ts +2 -2
  256. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  257. package/lib/typescript/src/components/Headers/One.d.ts +2 -2
  258. package/lib/typescript/src/components/Headers/One.d.ts.map +1 -1
  259. package/lib/typescript/src/components/Headers/Three.d.ts +2 -2
  260. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  261. package/lib/typescript/src/components/Headers/Two.d.ts +2 -2
  262. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  263. package/lib/typescript/src/components/Input/InputOne.d.ts +2 -2
  264. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  265. package/lib/typescript/src/components/Input/InputTwo.d.ts +2 -2
  266. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  267. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts +2 -2
  268. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  269. package/lib/typescript/src/components/Logo/Logo.d.ts +2 -2
  270. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  271. package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +1 -1
  272. package/lib/typescript/src/components/Search/One.d.ts +2 -2
  273. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  274. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +2 -2
  275. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  276. package/lib/typescript/src/components/Settings/AppSettings.d.ts +2 -2
  277. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  278. package/lib/typescript/src/components/Subscription/SubOne.d.ts +2 -2
  279. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  280. package/lib/typescript/src/components/Subscription/index.d.ts +1 -1
  281. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  282. package/lib/typescript/src/components/TabBar/One.d.ts +2 -2
  283. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  284. package/lib/typescript/src/components/TabBar/Three.d.ts +2 -2
  285. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  286. package/lib/typescript/src/components/TabBar/Two.d.ts +2 -2
  287. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  288. package/lib/typescript/src/components/Text/Text.d.ts +2 -0
  289. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  290. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +2 -2
  291. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  292. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +4 -4
  293. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -1
  294. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +2 -2
  295. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  296. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +2 -2
  297. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  298. package/lib/typescript/src/components/User/components/UserAvatar.d.ts +6 -2
  299. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  300. package/lib/typescript/src/components/User/components/UserSection.d.ts +2 -2
  301. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  302. package/lib/typescript/src/components/common/AppStatusBar.d.ts +17 -0
  303. package/lib/typescript/src/components/common/AppStatusBar.d.ts.map +1 -0
  304. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts +2 -2
  305. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  306. package/lib/typescript/src/hooks/useSplashCache.d.ts +22 -0
  307. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -0
  308. package/lib/typescript/src/store/RecentSearchesStore.d.ts.map +1 -1
  309. package/lib/typescript/src/store/themeStore.d.ts +7 -0
  310. package/lib/typescript/src/store/themeStore.d.ts.map +1 -0
  311. package/lib/typescript/src/theme/ThemeProvider.d.ts +17 -10
  312. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  313. package/lib/typescript/src/theme/hook/index.d.ts +3 -0
  314. package/lib/typescript/src/theme/hook/index.d.ts.map +1 -0
  315. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts +3 -0
  316. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -0
  317. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts +10 -0
  318. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +1 -0
  319. package/lib/typescript/src/theme/index.d.ts +1 -6
  320. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  321. package/lib/typescript/src/theme/themes.d.ts +14 -2
  322. package/lib/typescript/src/theme/themes.d.ts.map +1 -1
  323. package/lib/typescript/src/types/content/content-view.types.d.ts +4 -3
  324. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  325. package/package.json +1 -1
  326. package/src/assets/animations/Failed.json +2103 -0
  327. package/src/assets/animations/Pending.json +522 -0
  328. package/src/assets/animations/Successful.json +2289 -0
  329. package/src/components/Account/Account.tsx +6 -6
  330. package/src/components/Alert/AlertDialog.tsx +247 -0
  331. package/src/components/Alert/UAAlert.tsx +5 -3
  332. package/src/components/Alert/index.ts +1 -0
  333. package/src/components/Auth/AuthProvider/AuthProvider.tsx +294 -0
  334. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +6 -8
  335. package/src/components/Auth/Login/LoginWithEmail.tsx +9 -9
  336. package/src/components/Auth/Login/LoginWithPhone.tsx +8 -8
  337. package/src/components/Auth/OTP/OTP.tsx +7 -7
  338. package/src/components/Auth/QrLogin/QrLogin.tsx +8 -12
  339. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +4 -4
  340. package/src/components/Auth/SignUp/SignUp.tsx +11 -11
  341. package/src/components/Auth/SplashScreen/SplashScreen.tsx +87 -91
  342. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +90 -40
  343. package/src/components/Auth/index.ts +2 -0
  344. package/src/components/BackgroundLayout/BackgroundLayout.tsx +8 -6
  345. package/src/components/BlogView/BlogView.tsx +13 -8
  346. package/src/components/Button/BackBtn.tsx +4 -4
  347. package/src/components/Button/MenuBtn.tsx +4 -4
  348. package/src/components/Button/PrimaryBtn.tsx +4 -4
  349. package/src/components/Button/SecondaryBtn.tsx +116 -0
  350. package/src/components/Button/TextButton.tsx +2 -2
  351. package/src/components/Button/index.ts +2 -0
  352. package/src/components/Content/Card/Category/Category.tsx +5 -5
  353. package/src/components/Content/Card/NowWatching/NowWatching.tsx +10 -5
  354. package/src/components/Content/Card/Sliders/Styles/One.tsx +10 -5
  355. package/src/components/Content/Card/Sliders/Styles/Two.tsx +9 -4
  356. package/src/components/Content/Card/Styles/Five.tsx +6 -5
  357. package/src/components/Content/Card/Styles/Four.tsx +6 -5
  358. package/src/components/Content/Card/Styles/One.tsx +12 -6
  359. package/src/components/Content/Card/Styles/RotateInOut.tsx +6 -5
  360. package/src/components/Content/Card/Styles/Six.tsx +10 -5
  361. package/src/components/Content/Card/Styles/Three.tsx +6 -5
  362. package/src/components/Content/Card/Styles/TopTen.tsx +6 -5
  363. package/src/components/Content/Card/Styles/Two.tsx +6 -5
  364. package/src/components/Content/Card/components/CardPoster.tsx +24 -51
  365. package/src/components/Content/Card/components/NoContentFallback.tsx +4 -4
  366. package/src/components/Content/Card/components/RentOrBuyIcon.tsx +109 -0
  367. package/src/components/Content/Card/components/ShowAllButton.tsx +6 -1
  368. package/src/components/Content/Card/components/ThumbnailCard.tsx +1 -2
  369. package/src/components/Content/Content.tsx +2 -2
  370. package/src/components/Content/Sections.tsx +2 -2
  371. package/src/components/ContentView/ContentView.tsx +6 -5
  372. package/src/components/ContentView/MoreContentList.tsx +6 -4
  373. package/src/components/ContentView/components/EpisodeCard.tsx +25 -17
  374. package/src/components/ContentView/components/HeroBanner.tsx +26 -3
  375. package/src/components/ContentView/components/TrailerButton.tsx +6 -5
  376. package/src/components/Headers/AppHeader.tsx +4 -4
  377. package/src/components/Headers/One.tsx +4 -4
  378. package/src/components/Headers/Three.tsx +4 -4
  379. package/src/components/Headers/Two.tsx +4 -4
  380. package/src/components/Input/InputOne.tsx +4 -4
  381. package/src/components/Input/InputTwo.tsx +4 -4
  382. package/src/components/Input/PhoneNumberInput.tsx +5 -5
  383. package/src/components/Logo/Logo.tsx +9 -11
  384. package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +1 -8
  385. package/src/components/Search/One.tsx +10 -9
  386. package/src/components/Search/components/SearchCard.tsx +4 -4
  387. package/src/components/Settings/AppSettings.tsx +6 -6
  388. package/src/components/Subscription/SubOne.tsx +19 -18
  389. package/src/components/TabBar/One.tsx +10 -6
  390. package/src/components/TabBar/Three.tsx +4 -4
  391. package/src/components/TabBar/Two.tsx +9 -6
  392. package/src/components/Text/Text.tsx +5 -2
  393. package/src/components/User/DeviceSessions/DeviceSessions.tsx +6 -5
  394. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +20 -26
  395. package/src/components/User/WatchHistory/WatchHistory.tsx +6 -5
  396. package/src/components/User/WatchLater/WatchLater.tsx +8 -6
  397. package/src/components/User/components/UserAvatar.tsx +46 -7
  398. package/src/components/User/components/UserSection.tsx +5 -5
  399. package/src/components/common/AppStatusBar.tsx +51 -0
  400. package/src/components/layout/SafeAreaWrapper.tsx +4 -4
  401. package/src/hooks/useSplashCache.ts +166 -0
  402. package/src/store/RecentSearchesStore.ts +0 -1
  403. package/src/store/splashStore.ts +5 -5
  404. package/src/store/themeStore.ts +53 -0
  405. package/src/theme/ThemeProvider.tsx +40 -102
  406. package/src/theme/hook/index.ts +2 -0
  407. package/src/theme/hook/useInternalTheme.ts +61 -0
  408. package/src/theme/hook/useThemeStatusBar.ts +33 -0
  409. package/src/theme/index.ts +1 -7
  410. package/src/theme/themes.ts +20 -6
  411. package/src/types/content/content-view.types.ts +4 -3
  412. package/lib/module/hooks/useInitSplashCacheSync.js +0 -116
  413. package/lib/module/hooks/useInitSplashCacheSync.js.map +0 -1
  414. package/lib/module/theme/hook/useTheme.js +0 -45
  415. package/lib/module/theme/hook/useTheme.js.map +0 -1
  416. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +0 -22
  417. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +0 -1
  418. package/lib/typescript/src/theme/hook/useTheme.d.ts +0 -9
  419. package/lib/typescript/src/theme/hook/useTheme.d.ts.map +0 -1
  420. package/src/hooks/useInitSplashCacheSync.ts +0 -174
  421. package/src/theme/hook/useTheme.ts +0 -45
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * @author Naresh Dhamu
3
- * @lastModified Mon 09 Jun 2025 at 04:29 PM
3
+ * @lastModified Thu 17 Oct 2025
4
4
  */
5
- import React, { useRef, useMemo, useCallback } from 'react';
6
- import Video, { type VideoRef } from 'react-native-video';
5
+ import React, { useMemo, useCallback, useState } from 'react';
6
+ import { View, StyleSheet, Animated } from 'react-native';
7
+ import Video from 'react-native-video';
7
8
  import Display from '../../../../../utils/Display';
9
+ import { useInternalTheme } from '../../../../../theme/hook';
8
10
 
9
11
  interface IProps {
10
12
  width: number;
@@ -29,9 +31,11 @@ const SplashVideo: React.FC<IProps> = ({
29
31
  onLoaded,
30
32
  onError,
31
33
  }) => {
32
- const videoRef = useRef<VideoRef>(null);
34
+ const { theme: applyTheme } = useInternalTheme();
35
+ const [loaded, setLoaded] = useState(false);
36
+ const fadeAnim = useMemo(() => new Animated.Value(0), []);
33
37
 
34
- // Memoize video style to prevent unnecessary recalculations
38
+ // Video style
35
39
  const videoStyle = useMemo(
36
40
  () => ({
37
41
  width: fullscreen ? Display.fullWidth : width,
@@ -40,21 +44,31 @@ const SplashVideo: React.FC<IProps> = ({
40
44
  [fullscreen, width, height]
41
45
  );
42
46
 
43
- // Optimize event handlers with useCallback
47
+ // Event handlers
44
48
  const handleLoadStart = useCallback(() => {
49
+ setLoaded(false);
50
+ fadeAnim.setValue(0); // Reset fade animation
45
51
  onLoadStart?.();
46
- }, [onLoadStart]);
52
+ }, [onLoadStart, fadeAnim]);
47
53
 
48
54
  const handleLoad = useCallback(
49
55
  (data: any) => {
56
+ setLoaded(true);
57
+
58
+ // Fade-in animation
59
+ Animated.timing(fadeAnim, {
60
+ toValue: 1,
61
+ duration: 400, // 0.4s smooth fade
62
+ useNativeDriver: true,
63
+ }).start();
64
+
50
65
  onLoaded?.(data);
51
66
  },
52
- [onLoaded]
67
+ [onLoaded, fadeAnim]
53
68
  );
54
69
 
55
70
  const handleError = useCallback(
56
71
  (e: any) => {
57
- // More robust error handling
58
72
  const error =
59
73
  e?.error?.message ||
60
74
  e?.message ||
@@ -62,52 +76,88 @@ const SplashVideo: React.FC<IProps> = ({
62
76
  e ||
63
77
  'Unknown video error';
64
78
  console.error('Video playback error:', error);
79
+ setLoaded(false);
65
80
  onError?.(error);
66
81
  },
67
82
  [onError]
68
83
  );
84
+
69
85
  const resolveUri = (src?: string): string => {
70
86
  if (!src) return '';
71
87
  if (
72
88
  src.startsWith('http') ||
73
89
  src.startsWith('https') ||
74
90
  src.startsWith('file://')
75
- )
91
+ ) {
76
92
  return src;
93
+ }
77
94
  return `file://${src}`;
78
95
  };
96
+
79
97
  return (
80
- <Video
81
- ref={videoRef}
82
- source={{ uri: resolveUri(source) }}
83
- style={videoStyle}
84
- resizeMode={resizeMode}
85
- paused={false}
86
- onLoadStart={handleLoadStart}
87
- onLoad={handleLoad}
88
- onError={handleError}
89
- onEnd={onEnd}
90
- controlsStyles={{
91
- hideForward: true,
92
- hideDuration: true,
93
- hideFullscreen: true,
94
- hidePlayPause: true,
95
- hideNavigationBarOnFullScreenMode: true,
96
- hideNotificationBarOnFullScreenMode: true,
97
- hideNext: true,
98
- hidePosition: true,
99
- hidePrevious: true,
100
- hideRewind: true,
101
- hideSeekBar: true,
102
- hideSettingButton: true,
103
- }}
104
- ignoreSilentSwitch="obey"
105
- playInBackground={false}
106
- playWhenInactive={false}
107
- allowsExternalPlayback={false}
108
- automaticallyWaitsToMinimizeStalling={true}
109
- />
98
+ <View
99
+ style={[
100
+ videoStyle,
101
+ styles.wrapper,
102
+ { backgroundColor: applyTheme.colors.background },
103
+ ]}
104
+ >
105
+ {/* Black background layer */}
106
+ {!loaded && (
107
+ <View
108
+ style={[
109
+ videoStyle,
110
+ styles.blackLayer,
111
+ { backgroundColor: applyTheme.colors.background },
112
+ ]}
113
+ />
114
+ )}
115
+
116
+ {/* Animated video */}
117
+ <Animated.View style={[videoStyle, { opacity: fadeAnim }]}>
118
+ <Video
119
+ source={{ uri: resolveUri(source) }}
120
+ style={videoStyle}
121
+ resizeMode={resizeMode}
122
+ paused={false}
123
+ onLoadStart={handleLoadStart}
124
+ onLoad={handleLoad}
125
+ onError={handleError}
126
+ onEnd={onEnd}
127
+ controlsStyles={{
128
+ hideForward: true,
129
+ hideDuration: true,
130
+ hideFullscreen: true,
131
+ hidePlayPause: true,
132
+ hideNavigationBarOnFullScreenMode: true,
133
+ hideNotificationBarOnFullScreenMode: true,
134
+ hideNext: true,
135
+ hidePosition: true,
136
+ hidePrevious: true,
137
+ hideRewind: true,
138
+ hideSeekBar: true,
139
+ hideSettingButton: true,
140
+ }}
141
+ ignoreSilentSwitch="obey"
142
+ playInBackground={false}
143
+ playWhenInactive={false}
144
+ allowsExternalPlayback={false}
145
+ automaticallyWaitsToMinimizeStalling
146
+ />
147
+ </Animated.View>
148
+ </View>
110
149
  );
111
150
  };
112
151
 
152
+ const styles = StyleSheet.create({
153
+ wrapper: {
154
+ overflow: 'hidden',
155
+ },
156
+ blackLayer: {
157
+ ...StyleSheet.absoluteFillObject,
158
+
159
+ zIndex: 1,
160
+ },
161
+ });
162
+
113
163
  export default React.memo(SplashVideo);
@@ -3,6 +3,7 @@
3
3
  * @lastModified Fri 13 Jun 2025 at 11:11 AM
4
4
  */
5
5
 
6
+ import AuthProvider from './AuthProvider/AuthProvider';
6
7
  import ForgotPassword from './ForgotPassword/ForgotPassword';
7
8
  import LoginWithEmail from './Login/LoginWithEmail';
8
9
  import LoginWithPhone from './Login/LoginWithPhone';
@@ -12,6 +13,7 @@ import SignUp from './SignUp/SignUp';
12
13
  import { SplashScreen } from './SplashScreen/SplashScreen';
13
14
 
14
15
  const Auth = {
16
+ AuthProvider,
15
17
  LoginWithEmail,
16
18
  LoginWithPhone,
17
19
  SignUp,
@@ -7,8 +7,9 @@ import {
7
7
  type ImageStyle,
8
8
  } from 'react-native';
9
9
  import LinearGradient from 'react-native-linear-gradient';
10
- import { useInitSplashCacheSync } from '../../hooks/useInitSplashCacheSync';
11
- import type { ITheme } from '../../theme/themes';
10
+ import type { ThemeOverride } from '../../theme/themes';
11
+ import { useSplashCache } from '../../hooks/useSplashCache';
12
+ import { useInternalTheme } from '../../theme/hook';
12
13
 
13
14
  interface BackgroundLayoutProps {
14
15
  children: React.ReactNode;
@@ -17,7 +18,7 @@ interface BackgroundLayoutProps {
17
18
  gradientSplitBackground?: number;
18
19
  resizeMode?: 'cover' | 'contain' | 'stretch' | 'repeat' | 'center';
19
20
  innerContainerStyle?: ViewStyle;
20
- theme: ITheme;
21
+ theme?: ThemeOverride;
21
22
  onImageError?: (error: Error) => void;
22
23
  }
23
24
 
@@ -30,12 +31,13 @@ export const BackgroundLayout: React.FC<BackgroundLayoutProps> = (props) => {
30
31
  resizeMode = 'cover',
31
32
  innerContainerStyle,
32
33
  onImageError,
33
- theme,
34
+ theme: themeOverride,
34
35
  } = props;
35
36
 
37
+ const { theme } = useInternalTheme(themeOverride);
36
38
  const {
37
- data: { localPathBackground },
38
- } = useInitSplashCacheSync({
39
+ data: { backgroundPath: localPathBackground },
40
+ } = useSplashCache({
39
41
  backgroundUrl: backgroundImageUri || undefined,
40
42
  });
41
43
 
@@ -9,10 +9,10 @@ import {
9
9
  } from 'react-native';
10
10
  import Markdown from 'react-native-markdown-display';
11
11
  import { Text } from '../Text';
12
- import { useTheme } from '../../theme/hook/useTheme';
12
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
13
13
  import AppHeader from '../Headers/AppHeader';
14
14
  import { scale, moderateScale } from 'react-native-size-matters';
15
- import type { AppTheme, ITheme } from '../../theme/themes';
15
+ import type { ITheme, ThemeOverride } from '../../theme/themes';
16
16
  import { RFValue } from 'react-native-responsive-fontsize';
17
17
 
18
18
  type BlogViewProps = {
@@ -20,7 +20,7 @@ type BlogViewProps = {
20
20
  containerStyle?: ViewStyle;
21
21
  scrollable?: boolean;
22
22
  emptyText?: string;
23
- theme?: AppTheme;
23
+ theme?: ThemeOverride;
24
24
 
25
25
  // Header customization
26
26
  headerTitle?: string;
@@ -51,7 +51,7 @@ export const BlogView: React.FC<BlogViewProps> = ({
51
51
  renderEmpty,
52
52
  isLoading = false,
53
53
  }) => {
54
- const { theme: appliedTheme } = useTheme(theme);
54
+ const { theme: appliedTheme, isDarkMode } = useInternalTheme(theme);
55
55
 
56
56
  const renderFinalHeader = () => {
57
57
  if (renderHeader) return renderHeader();
@@ -62,7 +62,7 @@ export const BlogView: React.FC<BlogViewProps> = ({
62
62
  onRightPress={onRightPress}
63
63
  title={headerTitle}
64
64
  titleAlign="left"
65
- theme={appliedTheme}
65
+ theme={theme}
66
66
  titleStyle={{
67
67
  ...styles.headerTitle,
68
68
  color: appliedTheme.colors.onBackground,
@@ -83,7 +83,9 @@ export const BlogView: React.FC<BlogViewProps> = ({
83
83
  if (renderContent) return renderContent();
84
84
  if (content) {
85
85
  return (
86
- <Markdown style={getMarkdownStyles(appliedTheme)}>{content}</Markdown>
86
+ <Markdown style={getMarkdownStyles(appliedTheme, isDarkMode)}>
87
+ {content}
88
+ </Markdown>
87
89
  );
88
90
  }
89
91
 
@@ -130,7 +132,10 @@ export const BlogView: React.FC<BlogViewProps> = ({
130
132
  );
131
133
  };
132
134
 
133
- const getMarkdownStyles = (theme: ITheme): { [key: string]: TextStyle } => {
135
+ const getMarkdownStyles = (
136
+ theme: ITheme,
137
+ isDarkMode: boolean
138
+ ): { [key: string]: TextStyle } => {
134
139
  const baseColor = theme.colors.textPrimary;
135
140
 
136
141
  return {
@@ -161,7 +166,7 @@ const getMarkdownStyles = (theme: ITheme): { [key: string]: TextStyle } => {
161
166
  ordered_list: { color: baseColor },
162
167
  link: { color: theme.colors.primary },
163
168
  blockquote: {
164
- backgroundColor: theme.dark
169
+ backgroundColor: isDarkMode
165
170
  ? theme.colors.surfaceVariant
166
171
  : theme.colors.surface,
167
172
  color: theme.colors.onSurface,
@@ -13,17 +13,17 @@ import {
13
13
  } from 'react-native';
14
14
  import { ArrowLeft } from 'lucide-react-native';
15
15
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
16
- import { useTheme } from '../../theme/hook/useTheme';
16
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
17
17
  import { scale, verticalScale } from 'react-native-size-matters';
18
18
  import { BlurView } from '@react-native-community/blur';
19
- import type { AppTheme } from '../../theme/themes';
19
+ import type { ThemeOverride } from '../../theme/themes';
20
20
 
21
21
  type BackBtnProps = {
22
22
  size?: number;
23
23
  color?: string;
24
24
  onPress?: () => void;
25
25
  style?: StyleProp<ViewStyle>;
26
- theme?: AppTheme;
26
+ theme?: ThemeOverride;
27
27
  enableBlur?: boolean;
28
28
  };
29
29
 
@@ -36,7 +36,7 @@ const BackBtn: React.FC<BackBtnProps> = ({
36
36
  enableBlur = false,
37
37
  }) => {
38
38
  const insets = useSafeAreaInsets();
39
- const { theme: appliedTheme } = useTheme(theme);
39
+ const { theme: appliedTheme } = useInternalTheme(theme);
40
40
 
41
41
  const handlePress = () => {
42
42
  if (onPress) {
@@ -21,15 +21,15 @@ import {
21
21
  import { Ellipsis } from 'lucide-react-native';
22
22
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
23
23
  import { BlurView } from '@react-native-community/blur';
24
- import { useTheme } from '../../theme/hook/useTheme';
24
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
25
25
  import { scale, verticalScale } from 'react-native-size-matters';
26
- import type { AppTheme } from '../../theme/themes';
26
+ import type { ThemeOverride } from '../../theme/themes';
27
27
  import type { MenuAction } from '../../types/content/content-view.types';
28
28
  import { RFValue } from 'react-native-responsive-fontsize';
29
29
 
30
30
  type MenuBtnProps = {
31
31
  actions: MenuAction[];
32
- theme?: AppTheme;
32
+ theme?: ThemeOverride;
33
33
  style?: StyleProp<ViewStyle>;
34
34
  enableBlur?: boolean;
35
35
  };
@@ -41,7 +41,7 @@ const MenuBtn: React.FC<MenuBtnProps> = ({
41
41
  enableBlur = false,
42
42
  }) => {
43
43
  const insets = useSafeAreaInsets();
44
- const { theme: appliedTheme } = useTheme(theme);
44
+ const { theme: appliedTheme } = useInternalTheme(theme);
45
45
  const [visible, setVisible] = useState(false);
46
46
  const [menuPosition, setMenuPosition] = useState<{
47
47
  top: number;
@@ -14,9 +14,9 @@ import {
14
14
  type TextStyle,
15
15
  } from 'react-native';
16
16
  import { scale, verticalScale } from 'react-native-size-matters';
17
- import { useTheme } from '../../theme/hook/useTheme';
17
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
18
18
  import { Text } from '../Text';
19
- import type { AppTheme } from '../../theme/themes';
19
+ import type { ThemeOverride } from '../../theme/themes';
20
20
  import { RFValue } from 'react-native-responsive-fontsize';
21
21
 
22
22
  type PrimaryBtnProps = {
@@ -27,7 +27,7 @@ type PrimaryBtnProps = {
27
27
  disabled?: boolean;
28
28
  containerStyle?: ViewStyle;
29
29
  titleStyle?: TextStyle;
30
- theme?: AppTheme;
30
+ theme?: ThemeOverride;
31
31
  };
32
32
 
33
33
  export const PrimaryBtn: React.FC<PrimaryBtnProps> = ({
@@ -40,7 +40,7 @@ export const PrimaryBtn: React.FC<PrimaryBtnProps> = ({
40
40
  titleStyle,
41
41
  theme,
42
42
  }) => {
43
- const { theme: appliedTheme } = useTheme(theme);
43
+ const { theme: appliedTheme } = useInternalTheme(theme);
44
44
  const backgroundColor =
45
45
  disabled || loading
46
46
  ? appliedTheme.colors?.buttonDisabled
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @author Ashok Desai
3
+ * @lastModified Mon 06 Oct 2025 at 03:45 PM
4
+ */
5
+
6
+ import React from 'react';
7
+ import {
8
+ TouchableOpacity,
9
+ ActivityIndicator,
10
+ StyleSheet,
11
+ View,
12
+ type GestureResponderEvent,
13
+ type ViewStyle,
14
+ type TextStyle,
15
+ } from 'react-native';
16
+ import { scale, verticalScale } from 'react-native-size-matters';
17
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
18
+ import { Text } from '../Text';
19
+ import type { ThemeOverride } from '../../theme/themes';
20
+ import { RFValue } from 'react-native-responsive-fontsize';
21
+
22
+ type SecondaryBtnProps = {
23
+ title: string;
24
+ onPress?: (event: GestureResponderEvent) => void;
25
+ loading?: boolean;
26
+ loadingText?: string;
27
+ disabled?: boolean;
28
+ containerStyle?: ViewStyle;
29
+ titleStyle?: TextStyle;
30
+ theme?: ThemeOverride;
31
+ leftIcon?: React.ReactNode;
32
+ };
33
+
34
+ export const SecondaryBtn: React.FC<SecondaryBtnProps> = ({
35
+ title,
36
+ onPress,
37
+ loading = false,
38
+ loadingText = 'Loading...',
39
+ disabled = false,
40
+ containerStyle,
41
+ titleStyle,
42
+ leftIcon,
43
+ theme,
44
+ }) => {
45
+ const { theme: appliedTheme } = useInternalTheme(theme);
46
+
47
+ const backgroundColor =
48
+ disabled || loading
49
+ ? appliedTheme.colors?.buttonDisabled
50
+ : appliedTheme.colors?.button;
51
+
52
+ return (
53
+ <TouchableOpacity
54
+ onPress={onPress}
55
+ disabled={disabled || loading}
56
+ activeOpacity={0.8}
57
+ style={[styles.button, { backgroundColor }, containerStyle]}
58
+ accessibilityRole="button"
59
+ accessibilityState={{ disabled: disabled || loading }}
60
+ >
61
+ <View style={styles.row}>
62
+ {leftIcon && <View style={{ marginRight: scale(8) }}>{leftIcon}</View>}
63
+
64
+ {loading ? (
65
+ <>
66
+ <ActivityIndicator
67
+ color={appliedTheme.colors.buttonText}
68
+ style={{ marginRight: scale(6) }}
69
+ />
70
+ <Text
71
+ style={[
72
+ styles.text,
73
+ { color: appliedTheme.colors.buttonText, opacity: 0.75 },
74
+ titleStyle,
75
+ ]}
76
+ >
77
+ {loadingText}
78
+ </Text>
79
+ </>
80
+ ) : (
81
+ <Text
82
+ style={[
83
+ styles.text,
84
+ { color: appliedTheme.colors.buttonText },
85
+ titleStyle,
86
+ ]}
87
+ >
88
+ {title}
89
+ </Text>
90
+ )}
91
+ </View>
92
+ </TouchableOpacity>
93
+ );
94
+ };
95
+
96
+ const styles = StyleSheet.create({
97
+ button: {
98
+ width: '100%',
99
+ alignSelf: 'stretch',
100
+ paddingVertical: verticalScale(12),
101
+ paddingHorizontal: scale(16),
102
+ borderRadius: scale(6),
103
+ alignItems: 'center',
104
+ justifyContent: 'center',
105
+ },
106
+ row: {
107
+ flexDirection: 'row',
108
+ alignItems: 'center',
109
+ justifyContent: 'center',
110
+ },
111
+ text: {
112
+ textAlign: 'center',
113
+ fontSize: RFValue(13),
114
+ fontWeight: '600',
115
+ },
116
+ });
@@ -7,7 +7,7 @@ import {
7
7
  type TextStyle,
8
8
  type ViewStyle,
9
9
  } from 'react-native';
10
- import { useTheme } from '../../theme/hook/useTheme';
10
+ import { useInternalTheme } from '../../theme/hook/useInternalTheme';
11
11
  import { scale, verticalScale } from 'react-native-size-matters';
12
12
  import { Text } from '../Text';
13
13
  import { RFValue } from 'react-native-responsive-fontsize';
@@ -37,7 +37,7 @@ const TextButton: React.FC<TextButtonProps> = ({
37
37
  align = 'center',
38
38
  leftIcon,
39
39
  }) => {
40
- const { theme } = useTheme();
40
+ const { theme } = useInternalTheme();
41
41
 
42
42
  const alignSelfMap: Record<
43
43
  'left' | 'center' | 'right',
@@ -5,10 +5,12 @@
5
5
 
6
6
  import BackBtn from './BackBtn';
7
7
  import { PrimaryBtn } from './PrimaryBtn';
8
+ import { SecondaryBtn } from './SecondaryBtn';
8
9
  import TextButton from './TextButton';
9
10
 
10
11
  const Button = {
11
12
  Primary: PrimaryBtn,
13
+ Secondary: SecondaryBtn,
12
14
  BackBtn,
13
15
  TextButton,
14
16
  };
@@ -22,10 +22,10 @@ import {
22
22
  type ListRenderItemInfo,
23
23
  } from 'react-native';
24
24
  import { Text } from '../../../Text';
25
- import { useTheme } from '../../../../theme/hook/useTheme';
25
+ import { useInternalTheme } from '../../../../theme/hook/useInternalTheme';
26
26
  import { scale, verticalScale } from 'react-native-size-matters';
27
27
  import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
28
- import type { AppTheme } from '../../../../theme/themes';
28
+ import type { ThemeOverride } from '../../../../theme/themes';
29
29
  import { RFValue } from 'react-native-responsive-fontsize';
30
30
 
31
31
  export type ICategory = {
@@ -42,7 +42,7 @@ type CategoryCardProps = {
42
42
  category?: ICategory[];
43
43
  activeCategory?: ICategory;
44
44
  onPressCategory?: (category: ICategory) => void;
45
- theme?: AppTheme;
45
+ theme?: ThemeOverride;
46
46
  mode?: 'text' | 'filled';
47
47
  isLoading?: boolean;
48
48
  };
@@ -68,7 +68,7 @@ const CategoryCard = React.memo(
68
68
  mode = 'text',
69
69
  isLoading = false,
70
70
  }: CategoryCardProps) => {
71
- const { theme: appliedTheme } = useTheme(theme);
71
+ const { theme: appliedTheme } = useInternalTheme(theme);
72
72
  const flatListRef = useRef<FlatList<ICategory>>(null);
73
73
  const [itemWidths, setItemWidths] = useState<number[]>([]);
74
74
 
@@ -162,7 +162,7 @@ const CategoryCard = React.memo(
162
162
 
163
163
  const textColor = isFilledMode
164
164
  ? isSelected
165
- ? appliedTheme.colors.black
165
+ ? appliedTheme.colors.buttonText
166
166
  : appliedTheme.colors.textPrimary
167
167
  : isSelected
168
168
  ? appliedTheme.colors.primary
@@ -26,16 +26,17 @@ import Animated, {
26
26
  } from 'react-native-reanimated';
27
27
 
28
28
  import { usePaginatedSection } from '../../../../hooks/usePaginatedSection';
29
- import { useTheme } from '../../../../theme/hook/useTheme';
29
+ import { useInternalTheme } from '../../../../theme/hook/useInternalTheme';
30
30
  import NavigateToMore from '../components/NavigateToMore';
31
31
  import type {
32
32
  IContentData,
33
33
  IGetSectionData,
34
34
  MoreFetchData,
35
35
  } from '../../../../types';
36
- import type { AppTheme, ITheme } from '../../../../theme/themes';
36
+ import type { ITheme, ThemeOverride } from '../../../../theme/themes';
37
37
  import { Text } from '../../../Text';
38
38
  import { RFValue } from 'react-native-responsive-fontsize';
39
+ import RentOrBuyIcon from '../components/RentOrBuyIcon';
39
40
 
40
41
  export interface IHistoryItem {
41
42
  _id: string;
@@ -56,7 +57,7 @@ type Props = {
56
57
  historyData?: IHistoryItem[];
57
58
  type: IGetSectionData['type'];
58
59
  moreFetchDataHistory?: MoreFetchData<IHistoryItem>;
59
- theme?: AppTheme;
60
+ theme?: ThemeOverride;
60
61
  onPressItem?: (item: IContentData) => void;
61
62
  onPressMore?: (params: {
62
63
  section_id: IGetSectionData['_id'];
@@ -148,6 +149,10 @@ const NowWatchingItem = memo(
148
149
  }}
149
150
  style={styles.poster}
150
151
  >
152
+ <RentOrBuyIcon
153
+ theme={appliedTheme}
154
+ content_offering_type={item.content.content_offering_type}
155
+ />
151
156
  <LinearGradient
152
157
  colors={['rgba(0,0,0,0.95)', 'transparent']}
153
158
  start={{ x: 0, y: 1 }}
@@ -208,7 +213,7 @@ const NowWatching: React.FC<Props> = ({
208
213
  }) => {
209
214
  const flatListRef = useRef<FlatList<IHistoryItem>>(null);
210
215
  const onEndReachedCalledDuringMomentum = useRef(false);
211
- const { theme: appliedTheme } = useTheme(theme);
216
+ const { theme: appliedTheme } = useInternalTheme(theme);
212
217
  const styles = useMemo(
213
218
  () => getStyles(appliedTheme, itemWidth, borderRadius),
214
219
  [appliedTheme, itemWidth, borderRadius]
@@ -315,7 +320,7 @@ const NowWatching: React.FC<Props> = ({
315
320
  titleStyle,
316
321
  ]}
317
322
  containerStyle={styles.navigateToMoreContainer}
318
- showAllProps={{ iconColor: appliedTheme.colors.textPrimary }}
323
+ showAllProps={{ iconColor: appliedTheme.colors.textPrimary, theme }}
319
324
  />
320
325
  )}
321
326
  {(isLoading || isLoadingHistory) && (