@zezosoft/zezo-ott-react-native-ui-kit 1.0.5 → 1.0.7

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/components/Account/Account.js +4 -4
  2. package/lib/module/components/Account/Account.js.map +1 -1
  3. package/lib/module/components/Alert/AlertDialog.js +2 -2
  4. package/lib/module/components/Alert/AlertDialog.js.map +1 -1
  5. package/lib/module/components/Alert/UAAlert.js +5 -1
  6. package/lib/module/components/Alert/UAAlert.js.map +1 -1
  7. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +74 -104
  8. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
  9. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +4 -8
  10. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  11. package/lib/module/components/Auth/Login/LoginWithEmail.js +7 -7
  12. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  13. package/lib/module/components/Auth/Login/LoginWithPhone.js +6 -6
  14. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  15. package/lib/module/components/Auth/OTP/OTP.js +5 -5
  16. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  17. package/lib/module/components/Auth/QrLogin/QrLogin.js +8 -9
  18. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -1
  19. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +2 -2
  20. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -1
  21. package/lib/module/components/Auth/SignUp/SignUp.js +9 -9
  22. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  23. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +14 -23
  24. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  25. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +71 -47
  26. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  27. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +5 -1
  28. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  29. package/lib/module/components/BlogView/BlogView.js +8 -7
  30. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  31. package/lib/module/components/Button/BackBtn.js +2 -2
  32. package/lib/module/components/Button/BackBtn.js.map +1 -1
  33. package/lib/module/components/Button/MenuBtn.js +2 -2
  34. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  35. package/lib/module/components/Button/PrimaryBtn.js +2 -2
  36. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  37. package/lib/module/components/Button/SecondaryBtn.js +2 -2
  38. package/lib/module/components/Button/SecondaryBtn.js.map +1 -1
  39. package/lib/module/components/Button/TextButton.js +2 -2
  40. package/lib/module/components/Button/TextButton.js.map +1 -1
  41. package/lib/module/components/Content/Card/Category/Category.js +3 -3
  42. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  43. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +5 -3
  44. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  45. package/lib/module/components/Content/Card/Sliders/Styles/One.js +5 -5
  46. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  47. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +3 -2
  48. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  49. package/lib/module/components/Content/Card/Styles/Five.js +4 -3
  50. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  51. package/lib/module/components/Content/Card/Styles/Four.js +4 -3
  52. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  53. package/lib/module/components/Content/Card/Styles/One.js +4 -3
  54. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  55. package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -3
  56. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  57. package/lib/module/components/Content/Card/Styles/Six.js +5 -3
  58. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  59. package/lib/module/components/Content/Card/Styles/Three.js +4 -3
  60. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  61. package/lib/module/components/Content/Card/Styles/TopTen.js +4 -3
  62. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  63. package/lib/module/components/Content/Card/Styles/Two.js +4 -3
  64. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  65. package/lib/module/components/Content/Card/components/CardPoster.js +6 -0
  66. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  67. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js +1 -1
  68. package/lib/module/components/Content/Card/components/RentOrBuyIcon.js.map +1 -1
  69. package/lib/module/components/Content/Card/components/ShowAllButton.js +3 -1
  70. package/lib/module/components/Content/Card/components/ShowAllButton.js.map +1 -1
  71. package/lib/module/components/Content/Content.js +22 -7
  72. package/lib/module/components/Content/Content.js.map +1 -1
  73. package/lib/module/components/ContentView/ContentView.js +101 -85
  74. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  75. package/lib/module/components/ContentView/MoreContentList.js +3 -2
  76. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  77. package/lib/module/components/ContentView/components/AboutSection.js +15 -1
  78. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  79. package/lib/module/components/ContentView/components/CastCard.js +1 -1
  80. package/lib/module/components/ContentView/components/EpisodeCard.js +15 -6
  81. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  82. package/lib/module/components/ContentView/components/HeroBanner.js +56 -20
  83. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  84. package/lib/module/components/ContentView/components/MiniInfo.js +136 -0
  85. package/lib/module/components/ContentView/components/MiniInfo.js.map +1 -0
  86. package/lib/module/components/ContentView/components/Title.js +19 -27
  87. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  88. package/lib/module/components/ContentView/components/TrailerButton.js +5 -5
  89. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  90. package/lib/module/components/{Content/Card/components → Fallbacks}/NoContentFallback.js +50 -33
  91. package/lib/module/components/Fallbacks/NoContentFallback.js.map +1 -0
  92. package/lib/module/components/Fallbacks/NotFoundFallback.js +79 -0
  93. package/lib/module/components/Fallbacks/NotFoundFallback.js.map +1 -0
  94. package/lib/module/components/Fallbacks/index.js +5 -0
  95. package/lib/module/components/Fallbacks/index.js.map +1 -0
  96. package/lib/module/components/Headers/AppHeader.js +2 -2
  97. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  98. package/lib/module/components/Headers/One.js +2 -2
  99. package/lib/module/components/Headers/One.js.map +1 -1
  100. package/lib/module/components/Headers/Three.js +2 -2
  101. package/lib/module/components/Headers/Three.js.map +1 -1
  102. package/lib/module/components/Headers/Two.js +2 -2
  103. package/lib/module/components/Headers/Two.js.map +1 -1
  104. package/lib/module/components/Input/InputOne.js +11 -5
  105. package/lib/module/components/Input/InputOne.js.map +1 -1
  106. package/lib/module/components/Input/InputTwo.js +2 -2
  107. package/lib/module/components/Input/InputTwo.js.map +1 -1
  108. package/lib/module/components/Input/PhoneNumberInput.js +5 -4
  109. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  110. package/lib/module/components/Logo/Logo.js +2 -2
  111. package/lib/module/components/Logo/Logo.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 +9 -8
  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 +34 -12
  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 +8 -8
  131. package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -1
  132. package/lib/module/components/User/WatchHistory/WatchHistory.js +3 -3
  133. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  134. package/lib/module/components/User/WatchLater/WatchLater.js +5 -3
  135. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  136. package/lib/module/components/User/components/UserAvatar.js +13 -10
  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/View/View.js.map +1 -1
  141. package/lib/module/components/common/AppStatusBar.js +41 -0
  142. package/lib/module/components/common/AppStatusBar.js.map +1 -0
  143. package/lib/module/components/index.js +3 -1
  144. package/lib/module/components/index.js.map +1 -1
  145. package/lib/module/components/layout/SafeAreaWrapper.js +2 -2
  146. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  147. package/lib/module/store/splashStore.js +3 -7
  148. package/lib/module/store/splashStore.js.map +1 -1
  149. package/lib/module/store/themeStore.js +36 -0
  150. package/lib/module/store/themeStore.js.map +1 -0
  151. package/lib/module/theme/ThemeProvider.js +40 -69
  152. package/lib/module/theme/ThemeProvider.js.map +1 -1
  153. package/lib/module/theme/hook/index.js +5 -0
  154. package/lib/module/theme/hook/index.js.map +1 -0
  155. package/lib/module/theme/hook/useInternalTheme.js +57 -0
  156. package/lib/module/theme/hook/useInternalTheme.js.map +1 -0
  157. package/lib/module/theme/hook/useThemeStatusBar.js +27 -0
  158. package/lib/module/theme/hook/useThemeStatusBar.js.map +1 -0
  159. package/lib/module/theme/index.js +1 -2
  160. package/lib/module/theme/index.js.map +1 -1
  161. package/lib/module/theme/themes.js +18 -4
  162. package/lib/module/theme/themes.js.map +1 -1
  163. package/lib/typescript/src/components/Account/Account.d.ts +2 -2
  164. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  165. package/lib/typescript/src/components/Alert/AlertDialog.d.ts +2 -2
  166. package/lib/typescript/src/components/Alert/AlertDialog.d.ts.map +1 -1
  167. package/lib/typescript/src/components/Alert/UAAlert.d.ts +2 -2
  168. package/lib/typescript/src/components/Alert/UAAlert.d.ts.map +1 -1
  169. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts +6 -6
  170. package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -1
  171. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts +2 -2
  172. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  173. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts +2 -2
  174. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  175. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts +2 -2
  176. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  177. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts +2 -2
  178. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  179. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +2 -2
  180. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -1
  181. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +2 -2
  182. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -1
  183. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts +2 -2
  184. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  185. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts +2 -2
  186. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  187. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts +7 -6
  188. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  189. package/lib/typescript/src/components/Auth/index.d.ts +5 -5
  190. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  191. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts +2 -2
  192. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  193. package/lib/typescript/src/components/BlogView/BlogView.d.ts +2 -2
  194. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  195. package/lib/typescript/src/components/Button/BackBtn.d.ts +2 -2
  196. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  197. package/lib/typescript/src/components/Button/MenuBtn.d.ts +2 -2
  198. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  199. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +2 -2
  200. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  201. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts +2 -2
  202. package/lib/typescript/src/components/Button/SecondaryBtn.d.ts.map +1 -1
  203. package/lib/typescript/src/components/Button/index.d.ts +3 -3
  204. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts +2 -2
  205. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  206. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts +2 -2
  207. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  208. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts +2 -2
  209. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  210. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts +2 -2
  211. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  212. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +2 -2
  213. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +2 -2
  214. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  215. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts +2 -2
  216. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  217. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts +2 -2
  218. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts +2 -2
  220. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts +2 -2
  222. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  223. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts +2 -2
  224. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  225. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts +2 -2
  226. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts +2 -2
  228. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +4 -0
  230. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  231. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts +2 -0
  232. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts.map +1 -1
  233. package/lib/typescript/src/components/Content/Card/index.d.ts +10 -10
  234. package/lib/typescript/src/components/Content/Content.d.ts +4 -2
  235. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  236. package/lib/typescript/src/components/Content/Sections.d.ts +2 -2
  237. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  238. package/lib/typescript/src/components/ContentView/ContentView.d.ts +1 -5
  239. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  240. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts +2 -2
  241. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  242. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +6 -3
  243. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  244. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +3 -3
  245. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  246. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +1 -1
  247. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  248. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts +22 -0
  249. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts.map +1 -0
  250. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +2 -2
  251. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  252. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts +16 -0
  253. package/lib/typescript/src/components/Fallbacks/NoContentFallback.d.ts.map +1 -0
  254. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts +19 -0
  255. package/lib/typescript/src/components/Fallbacks/NotFoundFallback.d.ts.map +1 -0
  256. package/lib/typescript/src/components/Fallbacks/index.d.ts +3 -0
  257. package/lib/typescript/src/components/Fallbacks/index.d.ts.map +1 -0
  258. package/lib/typescript/src/components/Headers/AppHeader.d.ts +2 -2
  259. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  260. package/lib/typescript/src/components/Headers/One.d.ts +2 -2
  261. package/lib/typescript/src/components/Headers/One.d.ts.map +1 -1
  262. package/lib/typescript/src/components/Headers/Three.d.ts +2 -2
  263. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  264. package/lib/typescript/src/components/Headers/Two.d.ts +2 -2
  265. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  266. package/lib/typescript/src/components/Input/InputOne.d.ts +2 -2
  267. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  268. package/lib/typescript/src/components/Input/InputTwo.d.ts +2 -2
  269. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  270. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts +2 -2
  271. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  272. package/lib/typescript/src/components/Logo/Logo.d.ts +2 -2
  273. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  274. package/lib/typescript/src/components/Search/One.d.ts +2 -2
  275. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  276. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +2 -2
  277. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  278. package/lib/typescript/src/components/Settings/AppSettings.d.ts +2 -2
  279. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  280. package/lib/typescript/src/components/Subscription/SubOne.d.ts +2 -2
  281. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  282. package/lib/typescript/src/components/Subscription/index.d.ts +1 -1
  283. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  284. package/lib/typescript/src/components/TabBar/One.d.ts +2 -2
  285. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  286. package/lib/typescript/src/components/TabBar/Three.d.ts +2 -2
  287. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  288. package/lib/typescript/src/components/TabBar/Two.d.ts +2 -2
  289. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  290. package/lib/typescript/src/components/Text/Text.d.ts +3 -4
  291. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  292. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +2 -2
  293. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  294. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +2 -2
  295. package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -1
  296. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +2 -2
  297. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  298. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +2 -2
  299. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  300. package/lib/typescript/src/components/User/components/UserAvatar.d.ts +2 -2
  301. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  302. package/lib/typescript/src/components/User/components/UserSection.d.ts +2 -2
  303. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  304. package/lib/typescript/src/components/View/View.d.ts +2 -2
  305. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  306. package/lib/typescript/src/components/common/AppStatusBar.d.ts +17 -0
  307. package/lib/typescript/src/components/common/AppStatusBar.d.ts.map +1 -0
  308. package/lib/typescript/src/components/index.d.ts +3 -1
  309. package/lib/typescript/src/components/index.d.ts.map +1 -1
  310. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts +2 -2
  311. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  312. package/lib/typescript/src/store/themeStore.d.ts +25 -0
  313. package/lib/typescript/src/store/themeStore.d.ts.map +1 -0
  314. package/lib/typescript/src/theme/ThemeProvider.d.ts +17 -10
  315. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  316. package/lib/typescript/src/theme/hook/index.d.ts +3 -0
  317. package/lib/typescript/src/theme/hook/index.d.ts.map +1 -0
  318. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts +7 -0
  319. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -0
  320. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts +10 -0
  321. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +1 -0
  322. package/lib/typescript/src/theme/index.d.ts +1 -6
  323. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  324. package/lib/typescript/src/theme/themes.d.ts +20 -2
  325. package/lib/typescript/src/theme/themes.d.ts.map +1 -1
  326. package/lib/typescript/src/types/content/content-view.types.d.ts +10 -3
  327. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  328. package/package.json +1 -1
  329. package/src/components/Account/Account.tsx +6 -6
  330. package/src/components/Alert/AlertDialog.tsx +4 -4
  331. package/src/components/Alert/UAAlert.tsx +5 -3
  332. package/src/components/Auth/AuthProvider/AuthProvider.tsx +106 -156
  333. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +6 -8
  334. package/src/components/Auth/Login/LoginWithEmail.tsx +9 -9
  335. package/src/components/Auth/Login/LoginWithPhone.tsx +8 -8
  336. package/src/components/Auth/OTP/OTP.tsx +7 -7
  337. package/src/components/Auth/QrLogin/QrLogin.tsx +8 -12
  338. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +4 -4
  339. package/src/components/Auth/SignUp/SignUp.tsx +11 -11
  340. package/src/components/Auth/SplashScreen/SplashScreen.tsx +17 -30
  341. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +90 -74
  342. package/src/components/BackgroundLayout/BackgroundLayout.tsx +5 -3
  343. package/src/components/BlogView/BlogView.tsx +13 -8
  344. package/src/components/Button/BackBtn.tsx +4 -4
  345. package/src/components/Button/MenuBtn.tsx +4 -4
  346. package/src/components/Button/PrimaryBtn.tsx +4 -4
  347. package/src/components/Button/SecondaryBtn.tsx +4 -4
  348. package/src/components/Button/TextButton.tsx +2 -2
  349. package/src/components/Content/Card/Category/Category.tsx +5 -5
  350. package/src/components/Content/Card/NowWatching/NowWatching.tsx +6 -5
  351. package/src/components/Content/Card/Sliders/Styles/One.tsx +9 -6
  352. package/src/components/Content/Card/Sliders/Styles/Two.tsx +8 -5
  353. package/src/components/Content/Card/Styles/Five.tsx +5 -5
  354. package/src/components/Content/Card/Styles/Four.tsx +5 -5
  355. package/src/components/Content/Card/Styles/One.tsx +5 -5
  356. package/src/components/Content/Card/Styles/RotateInOut.tsx +5 -5
  357. package/src/components/Content/Card/Styles/Six.tsx +9 -6
  358. package/src/components/Content/Card/Styles/Three.tsx +5 -5
  359. package/src/components/Content/Card/Styles/TopTen.tsx +5 -5
  360. package/src/components/Content/Card/Styles/Two.tsx +5 -5
  361. package/src/components/Content/Card/components/CardPoster.tsx +6 -0
  362. package/src/components/Content/Card/components/RentOrBuyIcon.tsx +1 -1
  363. package/src/components/Content/Card/components/ShowAllButton.tsx +6 -1
  364. package/src/components/Content/Content.tsx +25 -5
  365. package/src/components/Content/Sections.tsx +2 -2
  366. package/src/components/ContentView/ContentView.tsx +112 -88
  367. package/src/components/ContentView/MoreContentList.tsx +5 -4
  368. package/src/components/ContentView/components/AboutSection.tsx +23 -3
  369. package/src/components/ContentView/components/CastCard.tsx +1 -1
  370. package/src/components/ContentView/components/EpisodeCard.tsx +21 -8
  371. package/src/components/ContentView/components/HeroBanner.tsx +55 -20
  372. package/src/components/ContentView/components/MiniInfo.tsx +193 -0
  373. package/src/components/ContentView/components/Title.tsx +17 -26
  374. package/src/components/ContentView/components/TrailerButton.tsx +6 -5
  375. package/src/components/Fallbacks/NoContentFallback.tsx +172 -0
  376. package/src/components/Fallbacks/NotFoundFallback.tsx +86 -0
  377. package/src/components/Fallbacks/index.ts +2 -0
  378. package/src/components/Headers/AppHeader.tsx +4 -4
  379. package/src/components/Headers/One.tsx +4 -4
  380. package/src/components/Headers/Three.tsx +4 -4
  381. package/src/components/Headers/Two.tsx +4 -4
  382. package/src/components/Input/InputOne.tsx +30 -7
  383. package/src/components/Input/InputTwo.tsx +4 -4
  384. package/src/components/Input/PhoneNumberInput.tsx +5 -5
  385. package/src/components/Logo/Logo.tsx +4 -4
  386. package/src/components/Search/One.tsx +10 -9
  387. package/src/components/Search/components/SearchCard.tsx +4 -4
  388. package/src/components/Settings/AppSettings.tsx +6 -6
  389. package/src/components/Subscription/SubOne.tsx +15 -16
  390. package/src/components/TabBar/One.tsx +10 -6
  391. package/src/components/TabBar/Three.tsx +4 -4
  392. package/src/components/TabBar/Two.tsx +9 -6
  393. package/src/components/Text/Text.tsx +26 -13
  394. package/src/components/User/DeviceSessions/DeviceSessions.tsx +6 -5
  395. package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +10 -14
  396. package/src/components/User/WatchHistory/WatchHistory.tsx +5 -5
  397. package/src/components/User/WatchLater/WatchLater.tsx +7 -6
  398. package/src/components/User/components/UserAvatar.tsx +16 -10
  399. package/src/components/User/components/UserSection.tsx +5 -5
  400. package/src/components/View/View.tsx +2 -1
  401. package/src/components/common/AppStatusBar.tsx +51 -0
  402. package/src/components/index.ts +3 -1
  403. package/src/components/layout/SafeAreaWrapper.tsx +4 -4
  404. package/src/store/splashStore.ts +5 -5
  405. package/src/store/themeStore.ts +43 -0
  406. package/src/theme/ThemeProvider.tsx +39 -102
  407. package/src/theme/hook/index.ts +2 -0
  408. package/src/theme/hook/useInternalTheme.ts +83 -0
  409. package/src/theme/hook/useThemeStatusBar.ts +33 -0
  410. package/src/theme/index.ts +1 -7
  411. package/src/theme/themes.ts +40 -6
  412. package/src/types/content/content-view.types.ts +10 -3
  413. package/lib/module/components/Content/Card/components/NoContentFallback.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/components/Content/Card/components/NoContentFallback.d.ts +0 -17
  417. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.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/components/Content/Card/components/NoContentFallback.tsx +0 -147
  421. package/src/theme/hook/useTheme.ts +0 -45
@@ -1,135 +1,72 @@
1
1
  /**
2
2
  * @author Naresh Dhamu
3
- * @lastModified Sat 26 Jul 2025 at 02:11 PM
3
+ * @lastModified Wed 22 Oct 2025 at 11:29 AM
4
4
  */
5
- import React, {
6
- createContext,
7
- useMemo,
8
- useState,
9
- useCallback,
10
- useEffect,
11
- useContext,
12
- type ReactNode,
13
- } from 'react';
14
- import { View, StatusBar, Platform, Appearance } from 'react-native';
5
+
6
+ import React, { createContext, useContext, type ReactNode } from 'react';
7
+ import { View } from 'react-native';
15
8
  import {
16
9
  SafeAreaProvider,
17
10
  initialWindowMetrics,
18
11
  } from 'react-native-safe-area-context';
19
- import { LightTheme, DarkTheme, type ITheme, type AppTheme } from './themes';
20
12
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
13
+ import { AppStatusBar } from '../components/common/AppStatusBar';
14
+ import { useInternalTheme } from './hook/useInternalTheme';
15
+ import { type ITheme, type ThemeOverride } from './themes';
21
16
 
22
17
  type ThemeContextType = {
23
- theme: ITheme;
18
+ theme: {
19
+ dark: ITheme['colors'];
20
+ light: ITheme['colors'];
21
+ };
24
22
  isDarkMode: boolean;
25
- toggleTheme: () => void;
26
- setThemeOverride: (override?: Partial<AppTheme>) => void;
23
+ setTheme: (mode: 'light' | 'dark' | 'system') => void;
24
+ finalTheme: ITheme;
27
25
  };
28
26
 
29
27
  const ThemeContext = createContext<ThemeContextType | null>(null);
30
28
 
31
- export const useThemeContext = () => {
29
+ /**
30
+ * Custom hook to access ZezoUI theme context.
31
+ */
32
+ export const useTheme = (): ThemeContextType => {
32
33
  const ctx = useContext(ThemeContext);
33
- if (!ctx) throw new Error('useTheme must be used within ZezoUIProvider');
34
+ if (!ctx) {
35
+ throw new Error('useTheme must be used within ZezoUIProvider');
36
+ }
34
37
  return ctx;
35
38
  };
36
39
 
37
40
  type ZezoUIProviderProps = {
38
41
  children: ReactNode;
39
- theme?: Partial<AppTheme> & { dark?: boolean };
40
- autoSwitchTheme?: boolean;
41
- };
42
-
43
- const getIsDarkMode = (
44
- autoSwitchTheme: boolean | undefined,
45
- colorScheme: 'dark' | 'light' | null,
46
- userDark?: boolean
47
- ): boolean => {
48
- if (autoSwitchTheme) return colorScheme === 'dark';
49
- return userDark ?? false;
42
+ theme?: ThemeOverride;
43
+ isDark?: boolean;
50
44
  };
51
45
 
46
+ /**
47
+ * ZezoUIProvider — Wraps your app with theming, safe area, and gesture support.
48
+ */
52
49
  export const ZezoUIProvider: React.FC<ZezoUIProviderProps> = ({
53
50
  children,
54
- theme,
55
- autoSwitchTheme,
51
+ theme: overrideTheme,
52
+ isDark,
56
53
  }) => {
57
- const colorScheme = Appearance.getColorScheme();
58
- const [overrideTheme, setOverrideTheme] = useState<
59
- Partial<AppTheme> | undefined
60
- >(theme);
61
-
62
- // Sync prop to state if changed externally
63
- useEffect(() => {
64
- if (theme) {
65
- setOverrideTheme(theme);
66
- }
67
- }, [theme]);
68
-
69
- // ✅ This prioritizes externally passed theme.dark
70
- const isDarkMode = useMemo(() => {
71
- if (theme?.dark !== undefined) return theme.dark;
72
- return getIsDarkMode(
73
- autoSwitchTheme,
74
- colorScheme || 'dark',
75
- overrideTheme?.dark
76
- );
77
- }, [theme?.dark, autoSwitchTheme, colorScheme, overrideTheme?.dark]);
78
-
79
- const baseTheme = useMemo<ITheme>(
80
- () => (isDarkMode ? DarkTheme : LightTheme),
81
- [isDarkMode]
82
- );
83
-
84
- const mergedTheme = useMemo<ITheme>(() => {
85
- return {
86
- ...baseTheme,
87
- ...overrideTheme,
88
- dark: isDarkMode,
89
- colors: {
90
- ...baseTheme.colors,
91
- ...(overrideTheme?.colors ?? {}),
92
- },
93
- };
94
- }, [baseTheme, overrideTheme, isDarkMode]);
95
-
96
- const toggleTheme = useCallback(() => {
97
- if (autoSwitchTheme || theme?.dark !== undefined) return;
98
- setOverrideTheme((prev) => ({
99
- ...prev,
100
- dark: !getIsDarkMode(false, null, prev?.dark),
101
- }));
102
- }, [autoSwitchTheme, theme?.dark]);
103
-
104
- const setThemeOverride = useCallback((override?: Partial<AppTheme>) => {
105
- setOverrideTheme(override);
106
- }, []);
107
-
108
- // ✅ Update StatusBar only when required
109
-
110
- useEffect(() => {
111
- StatusBar.setBarStyle(isDarkMode ? 'light-content' : 'dark-content', true);
112
-
113
- if (Platform.OS === 'android') {
114
- StatusBar.setBackgroundColor(mergedTheme.colors.background, true);
115
- }
116
- }, [isDarkMode, mergedTheme.colors.background]);
117
- const contextValue = useMemo(
118
- () => ({
119
- theme: mergedTheme,
120
- isDarkMode,
121
- toggleTheme,
122
- setThemeOverride,
123
- }),
124
- [mergedTheme, isDarkMode, toggleTheme, setThemeOverride]
125
- );
54
+ const {
55
+ theme: finalTheme,
56
+ isDarkMode,
57
+ setTheme,
58
+ themeFull,
59
+ } = useInternalTheme(overrideTheme, isDark);
126
60
 
127
61
  return (
128
- <GestureHandlerRootView>
62
+ <GestureHandlerRootView style={{ flex: 1 }}>
129
63
  <SafeAreaProvider initialMetrics={initialWindowMetrics}>
130
- <ThemeContext.Provider value={contextValue}>
64
+ <ThemeContext.Provider
65
+ value={{ theme: themeFull, isDarkMode, setTheme, finalTheme }}
66
+ >
67
+ <AppStatusBar theme={overrideTheme} />
131
68
  <View
132
- style={{ flex: 1, backgroundColor: mergedTheme.colors.background }}
69
+ style={{ flex: 1, backgroundColor: finalTheme.colors.background }}
133
70
  >
134
71
  {children}
135
72
  </View>
@@ -0,0 +1,2 @@
1
+ export * from './useInternalTheme';
2
+ export * from './useThemeStatusBar';
@@ -0,0 +1,83 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ /**
3
+ * @author Naresh Dhamu
4
+ * @lastModified Fri 24 Oct 2025 at 10:45 AM
5
+ */
6
+
7
+ import React from 'react';
8
+ import {
9
+ DarkTheme,
10
+ LightTheme,
11
+ type ITheme,
12
+ type ThemeOverride,
13
+ type useInternalThemeReturn,
14
+ } from '../themes';
15
+ import { useInternalThemeStore } from '../../store/themeStore';
16
+ import { Appearance } from 'react-native';
17
+
18
+ export const useInternalTheme = (
19
+ override?: ThemeOverride,
20
+ isDark?: boolean
21
+ ): useInternalThemeReturn => {
22
+ const {
23
+ isDarkMode: storeDarkMode,
24
+ setTheme,
25
+ themeMode,
26
+ setIsDarkMode,
27
+ } = useInternalThemeStore();
28
+
29
+ const isDarkMode = isDark ?? storeDarkMode;
30
+
31
+ React.useEffect(() => {
32
+ if (isDark !== undefined) {
33
+ setTheme(isDark ? 'dark' : 'light');
34
+ }
35
+ }, [isDark, setTheme]);
36
+
37
+ React.useEffect(() => {
38
+ if (themeMode !== 'system') return;
39
+ const subscription = Appearance.addChangeListener(({ colorScheme }) => {
40
+ if (colorScheme === 'dark' || colorScheme === 'light') {
41
+ setIsDarkMode(colorScheme === 'dark');
42
+ }
43
+ });
44
+
45
+ return () => subscription.remove();
46
+ }, []);
47
+
48
+ const overrideColors = React.useMemo(
49
+ () => (isDarkMode ? (override?.dark ?? {}) : (override?.light ?? {})),
50
+ [override, isDarkMode]
51
+ );
52
+
53
+ const baseTheme = isDarkMode ? DarkTheme : LightTheme;
54
+
55
+ const finalTheme = React.useMemo<ITheme>(
56
+ () => ({
57
+ ...baseTheme,
58
+ colors: {
59
+ ...baseTheme.colors,
60
+ ...overrideColors,
61
+ },
62
+ }),
63
+ [baseTheme, overrideColors]
64
+ );
65
+
66
+ const themeFull = React.useMemo(
67
+ () => ({
68
+ light: (override?.light as ITheme['colors']) ?? LightTheme.colors,
69
+ dark: (override?.dark as ITheme['colors']) ?? DarkTheme.colors,
70
+ }),
71
+ [override]
72
+ );
73
+
74
+ return React.useMemo(
75
+ () => ({
76
+ theme: finalTheme,
77
+ isDarkMode,
78
+ setTheme,
79
+ themeFull,
80
+ }),
81
+ [finalTheme, isDarkMode, setTheme, themeFull]
82
+ );
83
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @author Naresh Dhamu
3
+ * @lastModified Wed 22 Oct 2025 at 10:29 AM
4
+ */
5
+ /**
6
+ * Automatically syncs StatusBar color & style with current theme.
7
+ */
8
+ import { useEffect } from 'react';
9
+ import { StatusBar, Platform, type StatusBarStyle } from 'react-native';
10
+ import Color from 'color';
11
+ import type { ITheme } from '../themes';
12
+
13
+ interface UseThemeStatusBarOptions {
14
+ theme: ITheme;
15
+ backgroundColor?: string;
16
+ barStyle?: StatusBarStyle;
17
+ }
18
+
19
+ export const useThemeStatusBar = ({
20
+ theme,
21
+ backgroundColor,
22
+ barStyle,
23
+ }: UseThemeStatusBarOptions) => {
24
+ useEffect(() => {
25
+ const bgColor = backgroundColor ?? theme.colors.background;
26
+ const contentStyle: StatusBarStyle =
27
+ barStyle ?? (Color(bgColor).isDark() ? 'light-content' : 'dark-content');
28
+ StatusBar.setBarStyle(contentStyle, true);
29
+ if (Platform.OS === 'android') {
30
+ StatusBar.setBackgroundColor(bgColor, true);
31
+ }
32
+ }, [theme, backgroundColor, barStyle]);
33
+ };
@@ -1,13 +1,7 @@
1
- import type { BaseColors, ITheme } from './themes';
2
-
3
1
  /**
4
2
  * @author Naresh Dhamu
5
3
  * @lastModified Sat 14 Jun 2025 at 11:47 AM
6
4
  */
7
- export type AppTheme = Omit<ITheme, 'colors'> & {
8
- dark?: boolean;
9
- colors?: Partial<BaseColors>;
10
- };
11
5
 
12
6
  export * from './ThemeProvider';
13
- export * from './hook/useTheme';
7
+ export * from './themes';
@@ -82,21 +82,40 @@ export type BaseColors = {
82
82
  switchThumbColor: string;
83
83
  switchTrackColorDisabled: string;
84
84
  switchThumbColorDisabled: string;
85
+
86
+ alert: {
87
+ success: string;
88
+ warning: string;
89
+ info: string;
90
+ error: string;
91
+ };
92
+ premiumIcon: string;
85
93
  };
86
94
 
87
95
  export interface ITheme {
88
- dark: boolean;
89
-
90
96
  colors: BaseColors;
91
97
  }
98
+
92
99
  export type AppTheme = Omit<ITheme, 'colors'> & {
93
- dark?: boolean;
94
100
  colors?: Partial<BaseColors>;
95
101
  };
96
102
 
97
- export const LightTheme: ITheme = {
98
- dark: false,
103
+ // New type for override object
104
+ export type ThemeOverride = {
105
+ light?: Partial<BaseColors>;
106
+ dark?: Partial<BaseColors>;
107
+ };
108
+ export interface useInternalThemeReturn {
109
+ theme: ITheme;
110
+ themeFull: {
111
+ light: ITheme['colors'];
112
+ dark: ITheme['colors'];
113
+ };
114
+ isDarkMode: boolean;
115
+ setTheme: (mode: 'dark' | 'light' | 'system') => void;
116
+ }
99
117
 
118
+ export const LightTheme: ITheme = {
100
119
  colors: {
101
120
  primary: 'rgba(244, 197, 66, 1)',
102
121
  onPrimary: 'rgba(255, 255, 255, 1)',
@@ -194,11 +213,18 @@ export const LightTheme: ITheme = {
194
213
  switchThumbColor: 'white',
195
214
  switchTrackColorDisabled: '#D5D5D5',
196
215
  switchThumbColorDisabled: 'white',
216
+ premiumIcon: '#CA091E',
217
+
218
+ alert: {
219
+ success: '#4CAF50',
220
+ error: 'rgba(255, 0, 0, 1)',
221
+ warning: '#FF9800',
222
+ info: '#2196F3',
223
+ },
197
224
  },
198
225
  };
199
226
 
200
227
  export const DarkTheme: ITheme = {
201
- dark: true,
202
228
  colors: {
203
229
  primary: 'rgba(244, 197, 66, 1)',
204
230
  onPrimary: 'rgba(15, 23, 42, 1)',
@@ -295,5 +321,13 @@ export const DarkTheme: ITheme = {
295
321
  switchThumbColor: 'white',
296
322
  switchTrackColorDisabled: '#D5D5D5',
297
323
  switchThumbColorDisabled: 'white',
324
+ premiumIcon: '#CA091E',
325
+
326
+ alert: {
327
+ success: '#4CAF50',
328
+ error: 'rgba(255, 0, 0, 1)',
329
+ warning: '#FF9800',
330
+ info: '#2196F3',
331
+ },
298
332
  },
299
333
  };
@@ -5,7 +5,7 @@
5
5
 
6
6
  import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
7
7
  import type { ImageStyle as FastImageStyle } from 'react-native-fast-image';
8
- import type { AppTheme, ITheme } from '../../theme/themes';
8
+ import type { ThemeOverride } from '../../theme/themes';
9
9
  import type { IContentData } from '../../types';
10
10
  import type { IGetSectionData, ISectionItem } from '../../types/sections';
11
11
  import type { MoreFetchData } from '../../types/hook/usePaginatedSetion';
@@ -121,7 +121,7 @@ export type SkeletonOverrides = Partial<{
121
121
  export type HeroBannerProps = {
122
122
  backgroundImage: IContentData['thumbnail'];
123
123
  title: IContentData['name'];
124
- theme: ITheme;
124
+ theme?: ThemeOverride;
125
125
  isLoading?: boolean;
126
126
  onPressPlay?: ({ is_trailer }: { is_trailer: boolean }) => void;
127
127
  onBackPress?: () => void;
@@ -136,7 +136,14 @@ export type HeroBannerProps = {
136
136
  export type ComponentProps = {
137
137
  content: IContentData;
138
138
  seasons?: IContentData['seasons'];
139
- theme?: AppTheme;
139
+ text?: {
140
+ notFound?: {
141
+ title?: string;
142
+ subtitle?: string;
143
+ buttonText?: string;
144
+ };
145
+ };
146
+ theme?: ThemeOverride;
140
147
  isLoading?: boolean;
141
148
  seasonsIsLoading?: boolean;
142
149
  recommendedContent?: ISectionItem | null;
@@ -1 +0,0 @@
1
- {"version":3,"names":["useCallback","TouchableOpacity","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withSpring","scale","verticalScale","Text","useTheme","RFValue","jsx","_jsx","jsxs","_jsxs","NoContentFallback","message","retryText","onRetry","theme","emoji","style","appliedTheme","scaleValue","handlePressIn","value","damping","stiffness","handlePressOut","animatedButtonStyle","transform","View","styles","container","backgroundColor","colors","background","accessibilityLabel","accessibilityHint","children","color","textPrimary","textSecondary","onPress","onPressIn","onPressOut","retryButton","primary","borderColor","outline","accessibilityRole","create","flex","alignItems","justifyContent","paddingHorizontal","paddingVertical","fontSize","marginBottom","textAlign","fontWeight","lineHeight","borderRadius","borderWidth"],"sourceRoot":"../../../../../../src","sources":["components/Content/Card/components/NoContentFallback.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- /**
4
- * @author Naresh Dhamu
5
- * @lastModified Sat 26 Jul 2025 at 02:11 PM
6
- */
7
-
8
- import React, { useMemo } from 'react';
9
- import { useThemeContext } from "../ThemeProvider.js";
10
- import { DarkTheme, LightTheme } from "../themes.js";
11
- export const useTheme = override => {
12
- const {
13
- theme: contextTheme,
14
- isDarkMode,
15
- setThemeOverride
16
- } = useThemeContext();
17
- const isOverrideDark = override?.dark ?? contextTheme.dark ?? isDarkMode;
18
- const baseTheme = useMemo(() => {
19
- return isOverrideDark ? DarkTheme : LightTheme;
20
- }, [isOverrideDark]);
21
- const finalTheme = useMemo(() => {
22
- return {
23
- ...baseTheme,
24
- ...override,
25
- dark: isOverrideDark,
26
- colors: {
27
- ...baseTheme.colors,
28
- ...(override?.colors ?? {})
29
- }
30
- };
31
- }, [baseTheme, override, isOverrideDark]);
32
-
33
- // 🔄 Push override only once (optional)
34
- React.useEffect(() => {
35
- if (override) {
36
- setThemeOverride(override);
37
- } else {
38
- setThemeOverride(undefined);
39
- }
40
- }, [override, setThemeOverride]);
41
- return useMemo(() => ({
42
- theme: finalTheme
43
- }), [finalTheme]);
44
- };
45
- //# sourceMappingURL=useTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useMemo","useThemeContext","DarkTheme","LightTheme","useTheme","override","theme","contextTheme","isDarkMode","setThemeOverride","isOverrideDark","dark","baseTheme","finalTheme","colors","useEffect","undefined"],"sourceRoot":"../../../../src","sources":["theme/hook/useTheme.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,SAAS,EAAEC,UAAU,QAAoC,cAAW;AAE7E,OAAO,MAAMC,QAAQ,GAAIC,QAA4B,IAAwB;EAC3E,MAAM;IACJC,KAAK,EAAEC,YAAY;IACnBC,UAAU;IACVC;EACF,CAAC,GAAGR,eAAe,CAAC,CAAC;EAErB,MAAMS,cAAc,GAAGL,QAAQ,EAAEM,IAAI,IAAIJ,YAAY,CAACI,IAAI,IAAIH,UAAU;EAExE,MAAMI,SAAS,GAAGZ,OAAO,CAAC,MAAM;IAC9B,OAAOU,cAAc,GAAGR,SAAS,GAAGC,UAAU;EAChD,CAAC,EAAE,CAACO,cAAc,CAAC,CAAC;EAEpB,MAAMG,UAAU,GAAGb,OAAO,CAAS,MAAM;IACvC,OAAO;MACL,GAAGY,SAAS;MACZ,GAAGP,QAAQ;MACXM,IAAI,EAAED,cAAc;MACpBI,MAAM,EAAE;QACN,GAAGF,SAAS,CAACE,MAAM;QACnB,IAAIT,QAAQ,EAAES,MAAM,IAAI,CAAC,CAAC;MAC5B;IACF,CAAC;EACH,CAAC,EAAE,CAACF,SAAS,EAAEP,QAAQ,EAAEK,cAAc,CAAC,CAAC;;EAEzC;EACAX,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,IAAIV,QAAQ,EAAE;MACZI,gBAAgB,CAACJ,QAAQ,CAAC;IAC5B,CAAC,MAAM;MACLI,gBAAgB,CAACO,SAAS,CAAC;IAC7B;EACF,CAAC,EAAE,CAACX,QAAQ,EAAEI,gBAAgB,CAAC,CAAC;EAEhC,OAAOT,OAAO,CAAC,OAAO;IAAEM,KAAK,EAAEO;EAAW,CAAC,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;AAC7D,CAAC","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- /**
2
- * @author Naresh Dhamu
3
- * @lastModified Wed 25 Jun 2025 at 11:59 AM
4
- */
5
- import { type StyleProp, type ViewStyle } from 'react-native';
6
- import type { AppTheme } from '../../../../theme/themes';
7
- type NoContentFallbackProps = {
8
- message?: string;
9
- retryText?: string;
10
- onRetry?: () => void;
11
- theme?: AppTheme;
12
- emoji?: string;
13
- style?: StyleProp<ViewStyle>;
14
- };
15
- declare const NoContentFallback: ({ message, retryText, onRetry, theme, emoji, style, }: NoContentFallbackProps) => import("react/jsx-runtime").JSX.Element;
16
- export default NoContentFallback;
17
- //# sourceMappingURL=NoContentFallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoContentFallback.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/Content/Card/components/NoContentFallback.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,iBAAiB,GAAI,uDAOxB,sBAAsB,4CAwExB,CAAC;AAmCF,eAAe,iBAAiB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @author Naresh Dhamu
3
- * @lastModified Sat 26 Jul 2025 at 02:11 PM
4
- */
5
- import { type AppTheme, type ITheme } from '../themes';
6
- export declare const useTheme: (override?: Partial<AppTheme>) => {
7
- theme: ITheme;
8
- };
9
- //# sourceMappingURL=useTheme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../../../../src/theme/hook/useTheme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAyB,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE9E,eAAO,MAAM,QAAQ,GAAI,WAAW,OAAO,CAAC,QAAQ,CAAC,KAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAmCtE,CAAC"}
@@ -1,147 +0,0 @@
1
- /**
2
- * @author Naresh Dhamu
3
- * @lastModified Wed 25 Jun 2025 at 11:59 AM
4
- */
5
-
6
- import { useCallback } from 'react';
7
- import {
8
- TouchableOpacity,
9
- StyleSheet,
10
- type StyleProp,
11
- type ViewStyle,
12
- } from 'react-native';
13
- import Animated, {
14
- useSharedValue,
15
- useAnimatedStyle,
16
- withSpring,
17
- } from 'react-native-reanimated';
18
- import { scale, verticalScale } from 'react-native-size-matters';
19
- import { Text } from '../../../Text';
20
- import { useTheme } from '../../../../theme/hook/useTheme';
21
- import type { AppTheme } from '../../../../theme/themes';
22
- import { RFValue } from 'react-native-responsive-fontsize';
23
-
24
- type NoContentFallbackProps = {
25
- message?: string;
26
- retryText?: string;
27
- onRetry?: () => void;
28
- theme?: AppTheme;
29
- emoji?: string;
30
- style?: StyleProp<ViewStyle>;
31
- };
32
-
33
- const NoContentFallback = ({
34
- message = 'No content available right now.\nPlease check back later.',
35
- retryText = 'Try Again',
36
- onRetry,
37
- theme,
38
- emoji = '😔',
39
- style,
40
- }: NoContentFallbackProps) => {
41
- const { theme: appliedTheme } = useTheme(theme);
42
- const scaleValue = useSharedValue(1);
43
-
44
- const handlePressIn = useCallback(() => {
45
- scaleValue.value = withSpring(0.95, { damping: 15, stiffness: 200 });
46
- }, [scaleValue]);
47
-
48
- const handlePressOut = useCallback(() => {
49
- scaleValue.value = withSpring(1, { damping: 15, stiffness: 200 });
50
- }, [scaleValue]);
51
-
52
- const animatedButtonStyle = useAnimatedStyle(() => ({
53
- transform: [{ scale: scaleValue.value }],
54
- }));
55
-
56
- return (
57
- <Animated.View
58
- style={[
59
- styles.container,
60
- style,
61
- { backgroundColor: appliedTheme.colors.background },
62
- ]}
63
- accessibilityLabel="No content available"
64
- accessibilityHint="Check back later or try again"
65
- >
66
- <Animated.Text
67
- style={[styles.emoji, { color: appliedTheme.colors.textPrimary }]}
68
- >
69
- {emoji}
70
- </Animated.Text>
71
- <Text
72
- style={[
73
- styles.message,
74
- {
75
- color: appliedTheme.colors.textSecondary,
76
- },
77
- ]}
78
- >
79
- {message}
80
- </Text>
81
- {onRetry && (
82
- <TouchableOpacity
83
- onPress={onRetry}
84
- onPressIn={handlePressIn}
85
- onPressOut={handlePressOut}
86
- style={[
87
- styles.retryButton,
88
- {
89
- backgroundColor: appliedTheme.colors.primary,
90
- borderColor: appliedTheme.colors.outline,
91
- },
92
- ]}
93
- accessibilityLabel={retryText}
94
- accessibilityRole="button"
95
- >
96
- <Animated.View style={animatedButtonStyle}>
97
- <Text
98
- style={[
99
- styles.retryText,
100
- {
101
- color: appliedTheme.colors.textPrimary,
102
- },
103
- ]}
104
- >
105
- {retryText}
106
- </Text>
107
- </Animated.View>
108
- </TouchableOpacity>
109
- )}
110
- </Animated.View>
111
- );
112
- };
113
-
114
- const styles = StyleSheet.create({
115
- container: {
116
- flex: 1,
117
- alignItems: 'center',
118
- justifyContent: 'center',
119
- paddingHorizontal: scale(20),
120
- paddingVertical: verticalScale(40),
121
- },
122
- emoji: {
123
- fontSize: RFValue(63),
124
- marginBottom: verticalScale(16),
125
- textAlign: 'center',
126
- },
127
- message: {
128
- fontSize: RFValue(15),
129
- textAlign: 'center',
130
- fontWeight: '500',
131
- lineHeight: verticalScale(22),
132
- marginBottom: verticalScale(20),
133
- },
134
- retryButton: {
135
- paddingHorizontal: scale(24),
136
- paddingVertical: verticalScale(12),
137
- borderRadius: scale(8),
138
- borderWidth: scale(1),
139
- },
140
- retryText: {
141
- fontSize: RFValue(13),
142
- fontWeight: '600',
143
- textAlign: 'center',
144
- },
145
- });
146
-
147
- export default NoContentFallback;