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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +6 -0
  3. package/lib/module/assets/animations/135037-payment-processing-error.json +1347 -1
  4. package/lib/module/assets/animations/7227-vui-animation.json +3377 -1
  5. package/lib/module/assets/animations/succesfull-payment.json +2379 -1
  6. package/lib/module/assets/animations/voice-icon.json +542 -1
  7. package/lib/module/components/Account/Account.js +6 -6
  8. package/lib/module/components/Account/Account.js.map +1 -1
  9. package/lib/module/components/Account/index.js +1 -1
  10. package/lib/module/components/Account/index.js.map +1 -1
  11. package/lib/module/components/Alert/UAAlert.js +138 -0
  12. package/lib/module/components/Alert/UAAlert.js.map +1 -0
  13. package/lib/module/components/Alert/index.js +4 -0
  14. package/lib/module/components/Alert/index.js.map +1 -0
  15. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +9 -9
  16. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
  17. package/lib/module/components/Auth/Login/LoginWithEmail.js +10 -10
  18. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
  19. package/lib/module/components/Auth/Login/LoginWithPhone.js +10 -10
  20. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
  21. package/lib/module/components/Auth/OTP/OTP.js +9 -9
  22. package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
  23. package/lib/module/components/Auth/SignUp/SignUp.js +10 -10
  24. package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
  25. package/lib/module/components/Auth/SplashScreen/SplashScreen.js +6 -6
  26. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
  27. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +1 -6
  28. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
  29. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js +1 -1
  30. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
  31. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +1 -1
  32. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
  33. package/lib/module/components/Auth/index.js +6 -6
  34. package/lib/module/components/Auth/index.js.map +1 -1
  35. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +1 -1
  36. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  37. package/lib/module/components/BlogView/BlogView.js +4 -10
  38. package/lib/module/components/BlogView/BlogView.js.map +1 -1
  39. package/lib/module/components/BlogView/index.js +1 -1
  40. package/lib/module/components/BlogView/index.js.map +1 -1
  41. package/lib/module/components/Button/BackBtn.js +1 -1
  42. package/lib/module/components/Button/BackBtn.js.map +1 -1
  43. package/lib/module/components/Button/MenuBtn.js +1 -1
  44. package/lib/module/components/Button/MenuBtn.js.map +1 -1
  45. package/lib/module/components/Button/PrimaryBtn.js +2 -2
  46. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  47. package/lib/module/components/Button/TextButton.js +2 -2
  48. package/lib/module/components/Button/TextButton.js.map +1 -1
  49. package/lib/module/components/Button/index.js +3 -3
  50. package/lib/module/components/Button/index.js.map +1 -1
  51. package/lib/module/components/Content/Card/Category/Category.js +2 -2
  52. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  53. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +6 -6
  54. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  55. package/lib/module/components/Content/Card/Sliders/Styles/One.js +3 -3
  56. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  57. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +4 -4
  58. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  59. package/lib/module/components/Content/Card/Sliders/index.js +2 -2
  60. package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
  61. package/lib/module/components/Content/Card/Styles/Five.js +4 -4
  62. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  63. package/lib/module/components/Content/Card/Styles/Four.js +4 -4
  64. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  65. package/lib/module/components/Content/Card/Styles/One.js +4 -4
  66. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  67. package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -4
  68. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  69. package/lib/module/components/Content/Card/Styles/Six.js +5 -5
  70. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  71. package/lib/module/components/Content/Card/Styles/Three.js +4 -4
  72. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  73. package/lib/module/components/Content/Card/Styles/TopTen.js +5 -5
  74. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  75. package/lib/module/components/Content/Card/Styles/Two.js +4 -4
  76. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  77. package/lib/module/components/Content/Card/components/CardPoster.js +1 -10
  78. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  79. package/lib/module/components/Content/Card/components/NavigateToMore.js +2 -2
  80. package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
  81. package/lib/module/components/Content/Card/components/NoContentFallback.js +3 -3
  82. package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
  83. package/lib/module/components/Content/Card/components/ShowAllButton.js +1 -1
  84. package/lib/module/components/Content/Card/components/ShowAllButton.js.map +1 -1
  85. package/lib/module/components/Content/Card/components/ThumbnailCard.js +1 -1
  86. package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
  87. package/lib/module/components/Content/Card/index.js +10 -10
  88. package/lib/module/components/Content/Card/index.js.map +1 -1
  89. package/lib/module/components/Content/Content.js +4 -4
  90. package/lib/module/components/Content/Content.js.map +1 -1
  91. package/lib/module/components/Content/Sections.js +2 -2
  92. package/lib/module/components/Content/Sections.js.map +1 -1
  93. package/lib/module/components/ContentView/ContentView.js +8 -9
  94. package/lib/module/components/ContentView/ContentView.js.map +1 -1
  95. package/lib/module/components/ContentView/MoreContentList.js +6 -6
  96. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  97. package/lib/module/components/ContentView/components/AboutSection.js +2 -2
  98. package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
  99. package/lib/module/components/ContentView/components/CastCard.js +2 -2
  100. package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
  101. package/lib/module/components/ContentView/components/EpisodeCard.js +3 -3
  102. package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
  103. package/lib/module/components/ContentView/components/GenreTags.js +1 -1
  104. package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
  105. package/lib/module/components/ContentView/components/HeroBanner.js +5 -5
  106. package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
  107. package/lib/module/components/ContentView/components/PlayButton.js +0 -1
  108. package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
  109. package/lib/module/components/ContentView/components/Title.js +1 -1
  110. package/lib/module/components/ContentView/components/Title.js.map +1 -1
  111. package/lib/module/components/ContentView/components/TrailerButton.js +1 -2
  112. package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
  113. package/lib/module/components/ContentView/index.js +2 -2
  114. package/lib/module/components/ContentView/index.js.map +1 -1
  115. package/lib/module/components/Headers/AppHeader.js +2 -2
  116. package/lib/module/components/Headers/AppHeader.js.map +1 -1
  117. package/lib/module/components/Headers/One.js +2 -2
  118. package/lib/module/components/Headers/One.js.map +1 -1
  119. package/lib/module/components/Headers/Three.js +2 -2
  120. package/lib/module/components/Headers/Three.js.map +1 -1
  121. package/lib/module/components/Headers/Two.js +5 -6
  122. package/lib/module/components/Headers/Two.js.map +1 -1
  123. package/lib/module/components/Headers/index.js +3 -3
  124. package/lib/module/components/Headers/index.js.map +1 -1
  125. package/lib/module/components/Input/Input.js +3 -3
  126. package/lib/module/components/Input/Input.js.map +1 -1
  127. package/lib/module/components/Input/InputOne.js +1 -1
  128. package/lib/module/components/Input/InputOne.js.map +1 -1
  129. package/lib/module/components/Input/InputTwo.js +1 -1
  130. package/lib/module/components/Input/InputTwo.js.map +1 -1
  131. package/lib/module/components/Input/PhoneNumberInput.js +1 -1
  132. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  133. package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
  134. package/lib/module/components/Loader/Loader.js +1 -6
  135. package/lib/module/components/Loader/Loader.js.map +1 -1
  136. package/lib/module/components/Logo/Logo.js +2 -2
  137. package/lib/module/components/Logo/Logo.js.map +1 -1
  138. package/lib/module/components/Search/One.js +9 -9
  139. package/lib/module/components/Search/One.js.map +1 -1
  140. package/lib/module/components/Search/components/RecentSearchesSection.js +1 -1
  141. package/lib/module/components/Search/components/RecentSearchesSection.js.map +1 -1
  142. package/lib/module/components/Search/components/SearchCard.js +3 -3
  143. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  144. package/lib/module/components/Search/index.js +2 -2
  145. package/lib/module/components/Search/index.js.map +1 -1
  146. package/lib/module/components/Settings/AppSettings.js +4 -4
  147. package/lib/module/components/Settings/AppSettings.js.map +1 -1
  148. package/lib/module/components/Settings/index.js +1 -1
  149. package/lib/module/components/Settings/index.js.map +1 -1
  150. package/lib/module/components/Subscription/SubOne.js +4 -4
  151. package/lib/module/components/Subscription/SubOne.js.map +1 -1
  152. package/lib/module/components/Subscription/index.js +1 -1
  153. package/lib/module/components/Subscription/index.js.map +1 -1
  154. package/lib/module/components/TabBar/One.js +2 -2
  155. package/lib/module/components/TabBar/One.js.map +1 -1
  156. package/lib/module/components/TabBar/Three.js +1 -1
  157. package/lib/module/components/TabBar/Three.js.map +1 -1
  158. package/lib/module/components/TabBar/Two.js +2 -2
  159. package/lib/module/components/TabBar/Two.js.map +1 -1
  160. package/lib/module/components/TabBar/index.js +3 -3
  161. package/lib/module/components/TabBar/index.js.map +1 -1
  162. package/lib/module/components/Text/Text.js +1 -1
  163. package/lib/module/components/Text/Text.js.map +1 -1
  164. package/lib/module/components/Text/index.js +1 -1
  165. package/lib/module/components/Text/index.js.map +1 -1
  166. package/lib/module/components/User/DeviceSessions/DeviceSessions.js +3 -3
  167. package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
  168. package/lib/module/components/User/WatchHistory/WatchHistory.js +4 -4
  169. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  170. package/lib/module/components/User/WatchLater/WatchLater.js +5 -5
  171. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  172. package/lib/module/components/User/components/UserAvatar.js +1 -1
  173. package/lib/module/components/User/components/UserAvatar.js.map +1 -1
  174. package/lib/module/components/User/components/UserSection.js +3 -3
  175. package/lib/module/components/User/components/UserSection.js.map +1 -1
  176. package/lib/module/components/User/index.js +3 -3
  177. package/lib/module/components/User/index.js.map +1 -1
  178. package/lib/module/components/View/View.js.map +1 -1
  179. package/lib/module/components/View/index.js +1 -1
  180. package/lib/module/components/View/index.js.map +1 -1
  181. package/lib/module/components/index.js +19 -18
  182. package/lib/module/components/index.js.map +1 -1
  183. package/lib/module/components/layout/SafeAreaWrapper.js +1 -1
  184. package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
  185. package/lib/module/components/layout/index.js +1 -1
  186. package/lib/module/components/layout/index.js.map +1 -1
  187. package/lib/module/constants/dummySections.js.map +1 -1
  188. package/lib/module/hooks/useDebounce.js.map +1 -1
  189. package/lib/module/hooks/useInitSplashCacheSync.js +7 -7
  190. package/lib/module/hooks/useInitSplashCacheSync.js.map +1 -1
  191. package/lib/module/hooks/useKeyboard.js.map +1 -1
  192. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  193. package/lib/module/index.js +3 -3
  194. package/lib/module/index.js.map +1 -1
  195. package/lib/module/package.json +1 -0
  196. package/lib/module/store/RecentSearchesStore.js.map +1 -1
  197. package/lib/module/store/splashStore.js.map +1 -1
  198. package/lib/module/theme/ThemeProvider.js +11 -8
  199. package/lib/module/theme/ThemeProvider.js.map +1 -1
  200. package/lib/module/theme/hook/useTheme.js +2 -2
  201. package/lib/module/theme/hook/useTheme.js.map +1 -1
  202. package/lib/module/theme/index.js +3 -2
  203. package/lib/module/theme/index.js.map +1 -1
  204. package/lib/module/theme/themes.js +0 -13
  205. package/lib/module/theme/themes.js.map +1 -1
  206. package/lib/typescript/package.json +1 -0
  207. package/lib/typescript/src/components/Account/Account.d.ts +0 -1
  208. package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
  209. package/lib/typescript/src/components/Alert/UAAlert.d.ts +16 -0
  210. package/lib/typescript/src/components/Alert/UAAlert.d.ts.map +1 -0
  211. package/lib/typescript/src/components/Alert/index.d.ts +2 -0
  212. package/lib/typescript/src/components/Alert/index.d.ts.map +1 -0
  213. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
  214. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
  215. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
  216. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
  217. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
  218. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
  219. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts +0 -4
  220. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
  221. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
  222. package/lib/typescript/src/components/Auth/index.d.ts +1 -1
  223. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  224. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  225. package/lib/typescript/src/components/BlogView/BlogView.d.ts +0 -4
  226. package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
  227. package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
  228. package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
  229. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  230. package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
  231. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts +1 -1
  232. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  233. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  234. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  235. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  236. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  237. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  238. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  240. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  241. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  242. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  243. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  244. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +0 -8
  245. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  246. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
  247. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts +1 -2
  248. package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
  249. package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts.map +1 -1
  250. package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
  251. package/lib/typescript/src/components/Content/Card/index.d.ts +2 -2
  252. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  253. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  254. package/lib/typescript/src/components/ContentView/ContentView.d.ts +1 -2
  255. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
  256. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  257. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +1 -2
  258. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
  259. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +1 -6
  260. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
  261. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +1 -2
  262. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
  263. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
  264. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
  265. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +1 -2
  266. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
  267. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +1 -2
  268. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
  269. package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
  270. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
  271. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +1 -2
  272. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
  273. package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
  274. package/lib/typescript/src/components/Headers/One.d.ts.map +1 -1
  275. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  276. package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
  277. package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
  278. package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
  279. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  280. package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts.map +1 -1
  281. package/lib/typescript/src/components/Loader/Loader.d.ts +0 -4
  282. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  283. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  284. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  285. package/lib/typescript/src/components/Search/components/RecentSearchesSection.d.ts.map +1 -1
  286. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  287. package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
  288. package/lib/typescript/src/components/Subscription/SubOne.d.ts +1 -1
  289. package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
  290. package/lib/typescript/src/components/Subscription/index.d.ts +2 -2
  291. package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
  292. package/lib/typescript/src/components/TabBar/One.d.ts +2 -2
  293. package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
  294. package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
  295. package/lib/typescript/src/components/TabBar/Two.d.ts +1 -1
  296. package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
  297. package/lib/typescript/src/components/TabBar/index.d.ts +2 -2
  298. package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
  299. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +1 -1
  300. package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
  301. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  302. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  303. package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
  304. package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
  305. package/lib/typescript/src/components/View/View.d.ts.map +1 -1
  306. package/lib/typescript/src/components/index.d.ts +1 -0
  307. package/lib/typescript/src/components/index.d.ts.map +1 -1
  308. package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
  309. package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
  310. package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
  311. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +1 -1
  312. package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +1 -1
  313. package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
  314. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  315. package/lib/typescript/src/index.d.ts.map +1 -1
  316. package/lib/typescript/src/store/RecentSearchesStore.d.ts +5 -3
  317. package/lib/typescript/src/store/RecentSearchesStore.d.ts.map +1 -1
  318. package/lib/typescript/src/store/splashStore.d.ts +5 -3
  319. package/lib/typescript/src/store/splashStore.d.ts.map +1 -1
  320. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  321. package/lib/typescript/src/theme/hook/useTheme.d.ts.map +1 -1
  322. package/lib/typescript/src/theme/index.d.ts +5 -0
  323. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  324. package/lib/typescript/src/theme/themes.d.ts +11 -4
  325. package/lib/typescript/src/theme/themes.d.ts.map +1 -1
  326. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  327. package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts +1 -1
  328. package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts.map +1 -1
  329. package/package.json +167 -70
  330. package/src/Styles/globalStyles.ts +18 -18
  331. package/src/assets/animations/135037-payment-processing-error.json +1347 -1
  332. package/src/assets/animations/7227-vui-animation.json +3377 -1
  333. package/src/assets/animations/succesfull-payment.json +2379 -1
  334. package/src/assets/animations/voice-icon.json +542 -1
  335. package/src/components/Account/Account.tsx +139 -61
  336. package/src/components/Alert/UAAlert.tsx +168 -0
  337. package/src/components/Alert/index.ts +1 -0
  338. package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +53 -23
  339. package/src/components/Auth/Login/LoginWithEmail.tsx +62 -32
  340. package/src/components/Auth/Login/LoginWithPhone.tsx +55 -24
  341. package/src/components/Auth/OTP/OTP.tsx +77 -32
  342. package/src/components/Auth/SignUp/SignUp.tsx +67 -32
  343. package/src/components/Auth/SplashScreen/SplashScreen.tsx +44 -16
  344. package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +21 -12
  345. package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +5 -5
  346. package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +15 -5
  347. package/src/components/Auth/index.ts +1 -1
  348. package/src/components/BackgroundLayout/BackgroundLayout.tsx +45 -17
  349. package/src/components/BlogView/BlogView.tsx +51 -31
  350. package/src/components/Button/BackBtn.tsx +31 -9
  351. package/src/components/Button/MenuBtn.tsx +61 -22
  352. package/src/components/Button/PrimaryBtn.tsx +30 -10
  353. package/src/components/Button/TextButton.tsx +30 -15
  354. package/src/components/Button/index.ts +1 -1
  355. package/src/components/Content/Card/Category/Category.tsx +73 -32
  356. package/src/components/Content/Card/NowWatching/NowWatching.tsx +102 -44
  357. package/src/components/Content/Card/Sliders/Styles/One.tsx +89 -38
  358. package/src/components/Content/Card/Sliders/Styles/Two.tsx +47 -21
  359. package/src/components/Content/Card/Sliders/index.ts +2 -2
  360. package/src/components/Content/Card/Styles/Five.tsx +65 -22
  361. package/src/components/Content/Card/Styles/Four.tsx +73 -23
  362. package/src/components/Content/Card/Styles/One.tsx +68 -21
  363. package/src/components/Content/Card/Styles/RotateInOut.tsx +59 -23
  364. package/src/components/Content/Card/Styles/Six.tsx +57 -19
  365. package/src/components/Content/Card/Styles/Three.tsx +59 -23
  366. package/src/components/Content/Card/Styles/TopTen.tsx +59 -26
  367. package/src/components/Content/Card/Styles/Two.tsx +39 -18
  368. package/src/components/Content/Card/components/CardPoster.tsx +34 -32
  369. package/src/components/Content/Card/components/NavigateToMore.tsx +17 -7
  370. package/src/components/Content/Card/components/NoContentFallback.tsx +36 -19
  371. package/src/components/Content/Card/components/ShowAllButton.tsx +12 -8
  372. package/src/components/Content/Card/components/ThumbnailCard.tsx +26 -17
  373. package/src/components/Content/Card/index.ts +2 -2
  374. package/src/components/Content/Content.tsx +41 -17
  375. package/src/components/Content/Sections.tsx +14 -8
  376. package/src/components/ContentView/ContentView.tsx +34 -27
  377. package/src/components/ContentView/MoreContentList.tsx +40 -18
  378. package/src/components/ContentView/components/AboutSection.tsx +30 -12
  379. package/src/components/ContentView/components/CastCard.tsx +65 -24
  380. package/src/components/ContentView/components/EpisodeCard.tsx +109 -44
  381. package/src/components/ContentView/components/GenreTags.tsx +35 -11
  382. package/src/components/ContentView/components/HeroBanner.tsx +52 -21
  383. package/src/components/ContentView/components/PlayButton.tsx +13 -5
  384. package/src/components/ContentView/components/Title.tsx +30 -10
  385. package/src/components/ContentView/components/TrailerButton.tsx +16 -7
  386. package/src/components/Headers/AppHeader.tsx +40 -14
  387. package/src/components/Headers/One.tsx +18 -9
  388. package/src/components/Headers/Three.tsx +22 -7
  389. package/src/components/Headers/Two.tsx +24 -13
  390. package/src/components/Headers/index.ts +1 -1
  391. package/src/components/Input/Input.ts +1 -1
  392. package/src/components/Input/InputOne.tsx +69 -23
  393. package/src/components/Input/InputTwo.tsx +41 -18
  394. package/src/components/Input/PhoneNumberInput.tsx +94 -48
  395. package/src/components/Keyboard/HideKeyboard.tsx +16 -10
  396. package/src/components/Loader/Loader.tsx +3 -8
  397. package/src/components/Logo/Logo.tsx +17 -9
  398. package/src/components/Search/One.tsx +46 -17
  399. package/src/components/Search/components/RecentSearchesSection.tsx +48 -21
  400. package/src/components/Search/components/SearchCard.tsx +34 -16
  401. package/src/components/Search/index.ts +1 -1
  402. package/src/components/Settings/AppSettings.tsx +80 -29
  403. package/src/components/Subscription/SubOne.tsx +84 -39
  404. package/src/components/Subscription/index.ts +1 -1
  405. package/src/components/TabBar/One.tsx +22 -18
  406. package/src/components/TabBar/Three.tsx +55 -19
  407. package/src/components/TabBar/Two.tsx +16 -12
  408. package/src/components/TabBar/index.ts +1 -1
  409. package/src/components/Text/Text.tsx +7 -3
  410. package/src/components/User/DeviceSessions/DeviceSessions.tsx +93 -38
  411. package/src/components/User/WatchHistory/WatchHistory.tsx +37 -12
  412. package/src/components/User/WatchLater/WatchLater.tsx +94 -31
  413. package/src/components/User/components/UserAvatar.tsx +8 -4
  414. package/src/components/User/components/UserSection.tsx +34 -19
  415. package/src/components/View/View.tsx +11 -2
  416. package/src/components/index.ts +1 -0
  417. package/src/components/layout/SafeAreaWrapper.tsx +10 -4
  418. package/src/constants/dummySections.ts +9 -7
  419. package/src/hooks/useDebounce.ts +4 -1
  420. package/src/hooks/useInitSplashCacheSync.ts +46 -18
  421. package/src/hooks/useKeyboard.ts +5 -3
  422. package/src/hooks/usePaginatedSection.ts +11 -7
  423. package/src/store/RecentSearchesStore.ts +12 -7
  424. package/src/store/splashStore.ts +16 -16
  425. package/src/theme/ThemeProvider.tsx +50 -20
  426. package/src/theme/hook/useTheme.ts +7 -3
  427. package/src/theme/index.ts +6 -0
  428. package/src/theme/themes.ts +42 -31
  429. package/src/types/content/content-view.types.ts +4 -1
  430. package/src/types/hook/usePaginatedSetion.ts +1 -1
  431. package/lib/module/components/Icons/AlertIcon.js +0 -33
  432. package/lib/module/components/Icons/AlertIcon.js.map +0 -1
  433. package/lib/module/components/Icons/DeviceIcon.js +0 -25
  434. package/lib/module/components/Icons/DeviceIcon.js.map +0 -1
  435. package/lib/module/components/Icons/DoneIcon/DoneIcon.js +0 -23
  436. package/lib/module/components/Icons/DoneIcon/DoneIcon.js.map +0 -1
  437. package/lib/module/components/Icons/ForgotPasswordMessageIcon.js +0 -65
  438. package/lib/module/components/Icons/ForgotPasswordMessageIcon.js.map +0 -1
  439. package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js +0 -56
  440. package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js.map +0 -1
  441. package/lib/module/components/Icons/NewIndex.js +0 -36
  442. package/lib/module/components/Icons/NewIndex.js.map +0 -1
  443. package/lib/module/components/Icons/ResendOTP.js +0 -21
  444. package/lib/module/components/Icons/ResendOTP.js.map +0 -1
  445. package/lib/typescript/src/components/Icons/AlertIcon.d.ts +0 -7
  446. package/lib/typescript/src/components/Icons/AlertIcon.d.ts.map +0 -1
  447. package/lib/typescript/src/components/Icons/DeviceIcon.d.ts +0 -7
  448. package/lib/typescript/src/components/Icons/DeviceIcon.d.ts.map +0 -1
  449. package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts +0 -6
  450. package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts.map +0 -1
  451. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts +0 -3
  452. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts.map +0 -1
  453. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts +0 -3
  454. package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts.map +0 -1
  455. package/lib/typescript/src/components/Icons/NewIndex.d.ts +0 -19
  456. package/lib/typescript/src/components/Icons/NewIndex.d.ts.map +0 -1
  457. package/lib/typescript/src/components/Icons/ResendOTP.d.ts +0 -7
  458. package/lib/typescript/src/components/Icons/ResendOTP.d.ts.map +0 -1
  459. package/src/components/Icons/AlertIcon.tsx +0 -18
  460. package/src/components/Icons/DeviceIcon.tsx +0 -18
  461. package/src/components/Icons/DoneIcon/DoneIcon.tsx +0 -17
  462. package/src/components/Icons/ForgotPasswordMessageIcon.tsx +0 -34
  463. package/src/components/Icons/ForgotPasswordMessageIconTwo.tsx +0 -32
  464. package/src/components/Icons/NewIndex.ts +0 -35
  465. package/src/components/Icons/ResendOTP.tsx +0 -13
  466. /package/src/{index.ts → index.tsx} +0 -0
@@ -3,8 +3,13 @@
3
3
  * @lastModified Mon 21 Jul 2025 at 12:35 PM
4
4
  */
5
5
 
6
- import React, { cloneElement, isValidElement, memo, type ReactElement } from 'react';
7
- import { View, StyleSheet, ScrollView, TouchableOpacity, type TextStyle } from 'react-native';
6
+ import {
7
+ View,
8
+ StyleSheet,
9
+ ScrollView,
10
+ TouchableOpacity,
11
+ type TextStyle,
12
+ } from 'react-native';
8
13
  import { ChevronRight, Trash2 } from 'lucide-react-native';
9
14
  import { useTheme } from '../../theme/hook/useTheme';
10
15
  import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
@@ -16,6 +21,7 @@ import { Text } from '../Text';
16
21
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
17
22
  import type { AppTheme, ITheme } from '../../theme/themes';
18
23
  import { RFValue } from 'react-native-responsive-fontsize';
24
+ import { cloneElement, isValidElement, memo, type ReactElement } from 'react';
19
25
 
20
26
  type CardItem = {
21
27
  type: 'card';
@@ -70,17 +76,29 @@ export type AccountProps = {
70
76
  };
71
77
 
72
78
  const isInvalidText = (val?: string | null): boolean =>
73
- !val || val.trim() === '' || val.includes('undefined') || val.includes('Invalid');
79
+ !val ||
80
+ val.trim() === '' ||
81
+ val.includes('undefined') ||
82
+ val.includes('Invalid');
74
83
 
75
- const renderIconWithColor = (icon: React.ReactNode, color: string): React.ReactNode => {
84
+ const renderIconWithColor = (
85
+ icon: React.ReactNode,
86
+ color: string
87
+ ): React.ReactNode => {
76
88
  if (isValidElement(icon)) {
77
89
  return cloneElement(icon as ReactElement<any>, { color });
78
90
  }
79
91
  return icon;
80
92
  };
81
93
 
82
- const getValidSectionItems = (items: AccountSectionItem[]): AccountSectionItem[] =>
83
- items.filter((item) => (item.type === 'card' ? !isInvalidText(item.title) || !isInvalidText(item.subtitle) : true));
94
+ const getValidSectionItems = (
95
+ items: AccountSectionItem[]
96
+ ): AccountSectionItem[] =>
97
+ items.filter((item) =>
98
+ item.type === 'card'
99
+ ? !isInvalidText(item.title) || !isInvalidText(item.subtitle)
100
+ : true
101
+ );
84
102
 
85
103
  export const Account: React.FC<AccountProps> = ({
86
104
  title = 'Account',
@@ -98,17 +116,25 @@ export const Account: React.FC<AccountProps> = ({
98
116
  deleteAccountText = 'Delete Account',
99
117
  deleteAccountIcon,
100
118
  onHelpPress,
101
- onDeleteAccountPress
119
+ onDeleteAccountPress,
102
120
  }) => {
103
121
  const { theme: appliedTheme } = useTheme(theme);
104
122
  const insets = useSafeAreaInsets();
105
123
 
106
124
  return (
107
- <View style={[styles.container, { backgroundColor: appliedTheme.colors.background }]}>
125
+ <View
126
+ style={[
127
+ styles.container,
128
+ { backgroundColor: appliedTheme.colors.background },
129
+ ]}
130
+ >
108
131
  <AppHeader onBackPress={onBackPress} title={title} theme={appliedTheme} />
109
132
 
110
133
  <ScrollView
111
- contentContainerStyle={[styles.content, { paddingBottom: insets.bottom + verticalScale(40) }]}
134
+ contentContainerStyle={[
135
+ styles.content,
136
+ { paddingBottom: insets.bottom + verticalScale(40) },
137
+ ]}
112
138
  showsVerticalScrollIndicator={false}
113
139
  keyboardShouldPersistTaps="handled"
114
140
  >
@@ -128,13 +154,28 @@ export const Account: React.FC<AccountProps> = ({
128
154
 
129
155
  return (
130
156
  <View key={sectionTitle} style={styles.sectionBlock}>
131
- <Text style={[styles.sectionTitle, { color: appliedTheme.colors.textSecondary }]}>{sectionTitle}</Text>
157
+ <Text
158
+ style={[
159
+ styles.sectionTitle,
160
+ { color: appliedTheme.colors.textSecondary },
161
+ ]}
162
+ >
163
+ {sectionTitle}
164
+ </Text>
132
165
 
133
166
  {validItems.map((item, index) =>
134
167
  item.type === 'card' ? (
135
- <CardItemView key={`card-${index}`} {...item} theme={appliedTheme} />
168
+ <CardItemView
169
+ key={`card-${index}`}
170
+ {...item}
171
+ theme={appliedTheme}
172
+ />
136
173
  ) : (
137
- <MenuItemView key={`row-${index}`} {...item} theme={appliedTheme} />
174
+ <MenuItemView
175
+ key={`row-${index}`}
176
+ {...item}
177
+ theme={appliedTheme}
178
+ />
138
179
  )
139
180
  )}
140
181
  </View>
@@ -148,13 +189,17 @@ export const Account: React.FC<AccountProps> = ({
148
189
  onPress={onDeleteAccountPress}
149
190
  style={{
150
191
  fontWeight: '500',
151
- color: appliedTheme.colors.error
192
+ color: appliedTheme.colors.error,
152
193
  }}
153
194
  title={deleteAccountText}
154
195
  underline
155
196
  leftIcon={
156
197
  deleteAccountIcon ?? (
157
- <Trash2 size={18} color={appliedTheme.colors.error} style={{ marginRight: scale(4) }} />
198
+ <Trash2
199
+ size={18}
200
+ color={appliedTheme.colors.error}
201
+ style={{ marginRight: scale(4) }}
202
+ />
158
203
  )
159
204
  }
160
205
  />
@@ -162,13 +207,20 @@ export const Account: React.FC<AccountProps> = ({
162
207
 
163
208
  {(helpText || clickableText) && (
164
209
  <View style={styles.helpSubContainer}>
165
- <Text style={[styles.helpText, { color: appliedTheme.colors.textSecondary }]}>{helpText}</Text>
210
+ <Text
211
+ style={[
212
+ styles.helpText,
213
+ { color: appliedTheme.colors.textSecondary },
214
+ ]}
215
+ >
216
+ {helpText}
217
+ </Text>
166
218
  {clickableText && (
167
219
  <TextButton
168
220
  onPress={() => onHelpPress?.()}
169
221
  style={{
170
222
  fontWeight: '500',
171
- color: appliedTheme.colors.primary
223
+ color: appliedTheme.colors.primary,
172
224
  }}
173
225
  title={clickableText}
174
226
  underline
@@ -183,68 +235,94 @@ export const Account: React.FC<AccountProps> = ({
183
235
  );
184
236
  };
185
237
 
186
- const CardItemView = memo(({ title, subtitle, theme }: CardItem & { theme: ITheme }) => {
187
- if (isInvalidText(title) && isInvalidText(subtitle)) return null;
188
-
189
- return (
190
- <View style={[styles.card, { backgroundColor: theme.colors.surfaceDisabled }]}>
191
- {!isInvalidText(title) && <Text style={[styles.cardTitle, { color: theme.colors.textPrimary }]}>{title}</Text>}
192
- {!isInvalidText(subtitle) && (
193
- <Text style={[styles.cardSub, { color: theme.colors.textSecondary }]}>{subtitle}</Text>
194
- )}
195
- </View>
196
- );
197
- });
238
+ const CardItemView = memo(
239
+ ({ title, subtitle, theme }: CardItem & { theme: ITheme }) => {
240
+ if (isInvalidText(title) && isInvalidText(subtitle)) return null;
198
241
 
199
- const MenuItemView = memo(({ label, leftIcon, showRightIcon, onPress, theme }: RowItem & { theme: ITheme }) => {
200
- return (
201
- <TouchableOpacity
202
- onPress={onPress}
203
- activeOpacity={0.6}
204
- style={[
205
- styles.row,
206
- {
207
- backgroundColor: theme.colors.surfaceDisabled,
208
- borderColor: theme.colors.border
209
- }
210
- ]}
211
- >
212
- <View style={styles.leftRow}>
213
- {leftIcon && <View style={styles.menuIcon}>{renderIconWithColor(leftIcon, theme.colors.textPrimary)}</View>}
214
- <Text style={[styles.rowText, { color: theme.colors.textPrimary }]}>{label}</Text>
242
+ return (
243
+ <View
244
+ style={[styles.card, { backgroundColor: theme.colors.surfaceDisabled }]}
245
+ >
246
+ {!isInvalidText(title) && (
247
+ <Text style={[styles.cardTitle, { color: theme.colors.textPrimary }]}>
248
+ {title}
249
+ </Text>
250
+ )}
251
+ {!isInvalidText(subtitle) && (
252
+ <Text style={[styles.cardSub, { color: theme.colors.textSecondary }]}>
253
+ {subtitle}
254
+ </Text>
255
+ )}
215
256
  </View>
257
+ );
258
+ }
259
+ );
216
260
 
217
- {showRightIcon && <ChevronRight color={theme.colors.textSecondary} size={20} />}
218
- </TouchableOpacity>
219
- );
220
- });
261
+ const MenuItemView = memo(
262
+ ({
263
+ label,
264
+ leftIcon,
265
+ showRightIcon,
266
+ onPress,
267
+ theme,
268
+ }: RowItem & { theme: ITheme }) => {
269
+ return (
270
+ <TouchableOpacity
271
+ onPress={onPress}
272
+ activeOpacity={0.6}
273
+ style={[
274
+ styles.row,
275
+ {
276
+ backgroundColor: theme.colors.surfaceDisabled,
277
+ borderColor: theme.colors.border,
278
+ },
279
+ ]}
280
+ >
281
+ <View style={styles.leftRow}>
282
+ {leftIcon && (
283
+ <View style={styles.menuIcon}>
284
+ {renderIconWithColor(leftIcon, theme.colors.textPrimary)}
285
+ </View>
286
+ )}
287
+ <Text style={[styles.rowText, { color: theme.colors.textPrimary }]}>
288
+ {label}
289
+ </Text>
290
+ </View>
291
+
292
+ {showRightIcon && (
293
+ <ChevronRight color={theme.colors.textSecondary} size={20} />
294
+ )}
295
+ </TouchableOpacity>
296
+ );
297
+ }
298
+ );
221
299
 
222
300
  const styles = StyleSheet.create({
223
301
  container: { flex: 1 },
224
302
  content: { paddingHorizontal: moderateScale(16) },
225
303
 
226
304
  sectionBlock: {
227
- marginBottom: verticalScale(16)
305
+ marginBottom: verticalScale(16),
228
306
  },
229
307
  sectionTitle: {
230
308
  fontSize: RFValue(11),
231
309
  fontWeight: '500',
232
310
  marginBottom: verticalScale(8),
233
- textTransform: 'uppercase'
311
+ textTransform: 'uppercase',
234
312
  },
235
313
 
236
314
  card: {
237
315
  borderRadius: scale(8),
238
316
  padding: moderateScale(16),
239
- marginBottom: verticalScale(12)
317
+ marginBottom: verticalScale(12),
240
318
  },
241
319
  cardTitle: {
242
320
  fontSize: RFValue(12),
243
321
  fontWeight: '600',
244
- marginBottom: verticalScale(4)
322
+ marginBottom: verticalScale(4),
245
323
  },
246
324
  cardSub: {
247
- fontSize: RFValue(10)
325
+ fontSize: RFValue(10),
248
326
  },
249
327
 
250
328
  row: {
@@ -255,35 +333,35 @@ const styles = StyleSheet.create({
255
333
  marginBottom: verticalScale(12),
256
334
  flexDirection: 'row',
257
335
  alignItems: 'center',
258
- justifyContent: 'space-between'
336
+ justifyContent: 'space-between',
259
337
  },
260
338
  leftRow: {
261
339
  flexDirection: 'row',
262
340
  alignItems: 'center',
263
- flexShrink: 1
341
+ flexShrink: 1,
264
342
  },
265
343
  menuIcon: {
266
344
  marginRight: scale(8),
267
345
  alignItems: 'center',
268
- justifyContent: 'center'
346
+ justifyContent: 'center',
269
347
  },
270
348
  rowText: {
271
349
  fontSize: RFValue(12),
272
- fontWeight: '500'
350
+ fontWeight: '500',
273
351
  },
274
352
 
275
353
  bottomBlock: {
276
354
  marginTop: verticalScale(32),
277
355
  alignItems: 'center',
278
356
  justifyContent: 'center',
279
- gap: verticalScale(8)
357
+ gap: verticalScale(8),
280
358
  },
281
359
  helpSubContainer: {
282
360
  flexDirection: 'row',
283
361
  alignItems: 'center',
284
- gap: scale(1)
362
+ gap: scale(1),
285
363
  },
286
364
  helpText: {
287
- fontSize: RFValue(10)
288
- }
365
+ fontSize: RFValue(10),
366
+ },
289
367
  });
@@ -0,0 +1,168 @@
1
+ import React from 'react';
2
+ import { Modal, Text, View, TouchableOpacity, StyleSheet } from 'react-native';
3
+ import { scale } from 'react-native-size-matters';
4
+ import type { AppTheme } from '../../theme';
5
+
6
+ interface IProps {
7
+ theme: AppTheme;
8
+ visible: boolean;
9
+ title?: string;
10
+ message?: string;
11
+ confirmationText?: string;
12
+ rejectText?: string;
13
+ resolveText?: string;
14
+ onPress: (e: 'reject' | 'resolve') => void;
15
+ onRequestClose?: () => void;
16
+ }
17
+
18
+ export const UAAlert: React.FC<IProps> = ({
19
+ theme,
20
+ visible,
21
+ title = 'Maturity Rating: 18+',
22
+ message = 'May contain non-explicit sexual behavior, nudity, violence, strong language, substances.',
23
+ confirmationText = 'I confirm that I am 18 years and above.',
24
+ rejectText = 'No',
25
+ resolveText = 'Yes',
26
+ onPress,
27
+ onRequestClose,
28
+ }): React.ReactElement => {
29
+ return (
30
+ <Modal
31
+ animationType="fade"
32
+ transparent
33
+ visible={visible}
34
+ onRequestClose={onRequestClose ?? (() => onPress('reject'))}
35
+ >
36
+ <View style={styles.overlay}>
37
+ <View
38
+ style={[
39
+ styles.container,
40
+ { backgroundColor: theme?.colors?.surface ?? '#fff' },
41
+ ]}
42
+ >
43
+ {/* Title */}
44
+ <Text style={[styles.title, { color: theme?.colors?.textPrimary }]}>
45
+ {title}
46
+ </Text>
47
+
48
+ {/* Message */}
49
+ <Text
50
+ style={[styles.message, { color: theme?.colors?.textSecondary }]}
51
+ >
52
+ {message}
53
+ </Text>
54
+
55
+ {/* Confirmation Note */}
56
+ {confirmationText ? (
57
+ <Text
58
+ style={[
59
+ styles.confirmation,
60
+ { color: theme?.colors?.textSecondary },
61
+ ]}
62
+ >
63
+ {confirmationText}
64
+ </Text>
65
+ ) : null}
66
+
67
+ {/* Divider */}
68
+ <View style={[styles.divider, { backgroundColor: '#ccc' }]} />
69
+
70
+ {/* Buttons */}
71
+ <View style={styles.buttonRow}>
72
+ <TouchableOpacity
73
+ activeOpacity={0.8}
74
+ onPress={() => onPress('reject')}
75
+ style={[
76
+ styles.button,
77
+ {
78
+ backgroundColor: 'rgba(255, 255, 255, 0.97)',
79
+ },
80
+ ]}
81
+ >
82
+ <Text
83
+ style={[
84
+ styles.buttonText,
85
+ { color: theme?.colors?.black ?? '#000' },
86
+ ]}
87
+ >
88
+ {rejectText}
89
+ </Text>
90
+ </TouchableOpacity>
91
+
92
+ <TouchableOpacity
93
+ activeOpacity={0.8}
94
+ onPress={() => onPress('resolve')}
95
+ style={[
96
+ styles.button,
97
+ { backgroundColor: theme?.colors?.primary },
98
+ ]}
99
+ >
100
+ <Text
101
+ style={[
102
+ styles.buttonText,
103
+ { color: theme?.colors?.black ?? '#000' },
104
+ ]}
105
+ >
106
+ {resolveText}
107
+ </Text>
108
+ </TouchableOpacity>
109
+ </View>
110
+ </View>
111
+ </View>
112
+ </Modal>
113
+ );
114
+ };
115
+
116
+ const styles = StyleSheet.create({
117
+ overlay: {
118
+ flex: 1,
119
+ justifyContent: 'center',
120
+ alignItems: 'center',
121
+ backgroundColor: 'rgba(0,0,0,0.6)', // ✅ lighter backdrop for light mode
122
+ },
123
+ container: {
124
+ width: '80%',
125
+ padding: scale(20),
126
+ borderRadius: scale(20),
127
+ elevation: 5, // ✅ shadow on Android
128
+ shadowColor: '#000', // ✅ shadow on iOS
129
+ shadowOpacity: 0.2,
130
+ shadowOffset: { width: 0, height: 2 },
131
+ shadowRadius: 6,
132
+ },
133
+ title: {
134
+ fontSize: scale(18),
135
+ fontWeight: 'bold',
136
+ textAlign: 'center',
137
+ },
138
+ message: {
139
+ fontSize: scale(13),
140
+ textAlign: 'center',
141
+ marginTop: scale(20),
142
+ },
143
+ confirmation: {
144
+ fontSize: scale(12.2),
145
+ textAlign: 'center',
146
+ marginTop: scale(20),
147
+ },
148
+ divider: {
149
+ height: StyleSheet.hairlineWidth,
150
+ marginVertical: scale(12),
151
+ marginHorizontal: scale(18),
152
+ },
153
+ buttonRow: {
154
+ flexDirection: 'row',
155
+ justifyContent: 'space-around',
156
+ marginTop: scale(10),
157
+ },
158
+ button: {
159
+ width: scale(100),
160
+ paddingVertical: scale(10),
161
+ borderRadius: scale(8),
162
+ alignItems: 'center',
163
+ },
164
+ buttonText: {
165
+ fontSize: scale(13),
166
+ fontWeight: '600',
167
+ },
168
+ });
@@ -0,0 +1 @@
1
+ export * from './UAAlert';
@@ -3,7 +3,14 @@
3
3
  * @lastModified Wed 18 Jun 2025 at 10:45 AM
4
4
  **/
5
5
  import React, { useCallback, useMemo, useState } from 'react';
6
- import { StyleSheet, View, Platform, Alert, type ViewStyle, type TextStyle } from 'react-native';
6
+ import {
7
+ StyleSheet,
8
+ View,
9
+ Platform,
10
+ Alert,
11
+ type ViewStyle,
12
+ type TextStyle,
13
+ } from 'react-native';
7
14
  import { useForm, Controller } from 'react-hook-form';
8
15
  import { scale, verticalScale } from 'react-native-size-matters';
9
16
  import { Input } from '../../Input/Input';
@@ -52,7 +59,11 @@ type ForgetPasswordProps = {
52
59
  text?: TextConfig;
53
60
  renderLogo?: () => React.ReactNode;
54
61
  renderForgetPasswordHeader?: () => React.ReactNode;
55
- renderSubmitButton?: (props: { onPress: () => void; disabled: boolean; loading: boolean }) => React.ReactNode;
62
+ renderSubmitButton?: (props: {
63
+ onPress: () => void;
64
+ disabled: boolean;
65
+ loading: boolean;
66
+ }) => React.ReactNode;
56
67
  renderTopBackBtn?: (props: { onPress: () => void }) => React.ReactNode;
57
68
  renderBottomInfoText?: () => React.ReactNode;
58
69
  };
@@ -75,21 +86,21 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
75
86
  emailLabel: 'Email',
76
87
  emailPlaceholder: 'Enter your email',
77
88
  loadingSubmitBtnText: 'Processing...',
78
- forgetPasswordButton: 'Send Reset Link'
89
+ forgetPasswordButton: 'Send Reset Link',
79
90
  },
80
91
  renderLogo,
81
92
  renderForgetPasswordHeader,
82
93
  renderSubmitButton,
83
94
  renderTopBackBtn,
84
- renderBottomInfoText
95
+ renderBottomInfoText,
85
96
  }) => {
86
97
  const {
87
98
  control,
88
99
  handleSubmit,
89
- formState: { errors, isValid, touchedFields }
100
+ formState: { errors, isValid, touchedFields },
90
101
  } = useForm<FormValues>({
91
102
  defaultValues: { email: '' },
92
- mode: 'onChange'
103
+ mode: 'onChange',
93
104
  });
94
105
 
95
106
  const { theme: resolvedTheme } = useTheme(overrideTheme);
@@ -113,7 +124,8 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
113
124
  );
114
125
 
115
126
  const shouldRender = useMemo(
116
- () => (condition?: boolean | unknown) => typeof condition === 'function' || !!condition,
127
+ () => (condition?: boolean | unknown) =>
128
+ typeof condition === 'function' || !!condition,
117
129
  []
118
130
  );
119
131
 
@@ -123,7 +135,9 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
123
135
  <BackgroundLayout
124
136
  backgroundImage={backgroundImage?.source}
125
137
  theme={resolvedTheme}
126
- gradientSplitBackground={isKeyboardOpen ? (Platform.OS === 'ios' ? 0.19 : 0.14) : 0.3}
138
+ gradientSplitBackground={
139
+ isKeyboardOpen ? (Platform.OS === 'ios' ? 0.19 : 0.14) : 0.3
140
+ }
127
141
  >
128
142
  <View style={[styles.container, containerStyle]}>
129
143
  {/* Top Back Button */}
@@ -131,23 +145,35 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
131
145
  <View style={styles.topBackBtnWrapper}>
132
146
  {renderTopBackBtn ? (
133
147
  renderTopBackBtn({
134
- onPress: onTopBackBtnPress ?? (() => {})
148
+ onPress: onTopBackBtnPress ?? (() => {}),
135
149
  })
136
150
  ) : (
137
- <BackBtn theme={resolvedTheme} style={topBackBtnStyle} onPress={onTopBackBtnPress} />
151
+ <BackBtn
152
+ theme={resolvedTheme}
153
+ style={topBackBtnStyle}
154
+ onPress={onTopBackBtnPress}
155
+ />
138
156
  )}
139
157
  </View>
140
158
  )}
141
159
  <HideKeyboard>
142
160
  <View style={styles.centerContent}>
143
161
  {/* Logo */}
144
- {renderLogo ? renderLogo() : logoUri ? <Logo logoUri={logoUri} /> : null}
162
+ {renderLogo ? (
163
+ renderLogo()
164
+ ) : logoUri ? (
165
+ <Logo logoUri={logoUri} />
166
+ ) : null}
145
167
 
146
168
  {/* Title */}
147
169
  {renderForgetPasswordHeader ? (
148
170
  renderForgetPasswordHeader()
149
171
  ) : (
150
- <Text style={[styles.title, titleStyle]} accessibilityRole="header" testID="title">
172
+ <Text
173
+ style={[styles.title, titleStyle]}
174
+ accessibilityRole="header"
175
+ testID="title"
176
+ >
151
177
  {title}
152
178
  </Text>
153
179
  )}
@@ -161,8 +187,8 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
161
187
  required: 'Email is required',
162
188
  pattern: {
163
189
  value: /^\S+@\S+\.\S+$/,
164
- message: 'Enter a valid email address'
165
- }
190
+ message: 'Enter a valid email address',
191
+ },
166
192
  }}
167
193
  render={({ field: { onChange, onBlur, value } }) => (
168
194
  <Input.One
@@ -193,7 +219,7 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
193
219
  renderSubmitButton({
194
220
  onPress: handleSubmit(handleFormSubmit),
195
221
  disabled: isSubmitDisabled || !isValid,
196
- loading: loadingSubmitBtn || isLoading
222
+ loading: loadingSubmitBtn || isLoading,
197
223
  })
198
224
  ) : (
199
225
  <Button.Primary
@@ -213,7 +239,11 @@ const ForgetPassword: React.FC<ForgetPasswordProps> = ({
213
239
  {renderBottomInfoText ? (
214
240
  renderBottomInfoText()
215
241
  ) : text.bottomInfoText ? (
216
- <Text style={styles.bottomInfo} accessibilityRole="text" testID="bottom-info-text">
242
+ <Text
243
+ style={styles.bottomInfo}
244
+ accessibilityRole="text"
245
+ testID="bottom-info-text"
246
+ >
217
247
  {text.bottomInfoText}
218
248
  </Text>
219
249
  ) : null}
@@ -236,38 +266,38 @@ const styles = StyleSheet.create({
236
266
  paddingTop: verticalScale(24),
237
267
  paddingBottom: verticalScale(32),
238
268
  justifyContent: 'center',
239
- alignItems: 'center'
269
+ alignItems: 'center',
240
270
  },
241
271
  topBackBtnWrapper: {
242
272
  position: 'absolute',
243
273
  top: verticalScale(6),
244
274
  left: 0,
245
- zIndex: 10
275
+ zIndex: 10,
246
276
  },
247
277
  centerContent: {
248
278
  flex: 1,
249
279
  width: '100%',
250
280
  alignItems: 'center',
251
281
  justifyContent: 'center',
252
- gap: verticalScale(16)
282
+ gap: verticalScale(16),
253
283
  },
254
284
  title: {
255
285
  fontSize: RFValue(23),
256
286
  fontWeight: '700',
257
287
  marginTop: verticalScale(12),
258
288
  marginBottom: verticalScale(20),
259
- textAlign: 'center'
289
+ textAlign: 'center',
260
290
  },
261
291
  form: {
262
292
  width: '100%',
263
293
  gap: verticalScale(14),
264
- marginTop: verticalScale(8)
294
+ marginTop: verticalScale(8),
265
295
  },
266
296
  bottomInfo: {
267
297
  marginTop: verticalScale(15),
268
298
  fontSize: RFValue(10),
269
299
  fontWeight: '500',
270
300
  textAlign: 'center',
271
- opacity: 0.7
272
- }
301
+ opacity: 0.7,
302
+ },
273
303
  });