@zezosoft/zezo-ott-react-native-ui-kit 1.1.2 → 1.1.5

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 (667) hide show
  1. package/lib/module/components/Auth/AuthProvider/AuthProvider.js +5 -2
  2. package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
  3. package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js +232 -0
  4. package/lib/module/components/Auth/One/ForgotPassword/ForgotPassword.js.map +1 -0
  5. package/lib/module/components/Auth/One/Login/LoginWithEmail.js +324 -0
  6. package/lib/module/components/Auth/One/Login/LoginWithEmail.js.map +1 -0
  7. package/lib/module/components/Auth/{Login → One/Login}/LoginWithPhone.js +13 -11
  8. package/lib/module/components/Auth/One/Login/LoginWithPhone.js.map +1 -0
  9. package/lib/module/components/Auth/One/OTP/OTP.js +301 -0
  10. package/lib/module/components/Auth/One/OTP/OTP.js.map +1 -0
  11. package/lib/module/components/Auth/One/QrLogin/QrLogin.js +479 -0
  12. package/lib/module/components/Auth/One/QrLogin/QrLogin.js.map +1 -0
  13. package/lib/module/components/Auth/One/QrLogin/components/QrViewArea.js +295 -0
  14. package/lib/module/components/Auth/One/QrLogin/components/QrViewArea.js.map +1 -0
  15. package/lib/module/components/Auth/One/SignUp/SignUp.js +362 -0
  16. package/lib/module/components/Auth/One/SignUp/SignUp.js.map +1 -0
  17. package/lib/module/components/Auth/{SplashScreen → One/SplashScreen}/SplashScreen.js +8 -5
  18. package/lib/module/components/Auth/One/SplashScreen/SplashScreen.js.map +1 -0
  19. package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js +80 -0
  20. package/lib/module/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.js.map +1 -0
  21. package/lib/module/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashLottie/SplashLottie.js +1 -1
  22. package/lib/module/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -0
  23. package/lib/module/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashVideo/SplashVideo.js +42 -21
  24. package/lib/module/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -0
  25. package/lib/module/components/Auth/One/index.js +25 -0
  26. package/lib/module/components/Auth/One/index.js.map +1 -0
  27. package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js +93 -0
  28. package/lib/module/components/Auth/Two/AuthHeader/AuthHeader.js.map +1 -0
  29. package/lib/module/components/Auth/{ForgotPassword → Two/ForgotPassword}/ForgotPassword.js +55 -28
  30. package/lib/module/components/Auth/Two/ForgotPassword/ForgotPassword.js.map +1 -0
  31. package/lib/module/components/Auth/Two/Login/AuthLoginShell.js +138 -0
  32. package/lib/module/components/Auth/Two/Login/AuthLoginShell.js.map +1 -0
  33. package/lib/module/components/Auth/Two/Login/LoginWithEmail.js +226 -0
  34. package/lib/module/components/Auth/Two/Login/LoginWithEmail.js.map +1 -0
  35. package/lib/module/components/Auth/Two/Login/LoginWithPhone.js +143 -0
  36. package/lib/module/components/Auth/Two/Login/LoginWithPhone.js.map +1 -0
  37. package/lib/module/components/Auth/{OTP → Two/OTP}/OTP.js +93 -63
  38. package/lib/module/components/Auth/Two/OTP/OTP.js.map +1 -0
  39. package/lib/module/components/Auth/Two/QrLogin/QrLogin.js +479 -0
  40. package/lib/module/components/Auth/Two/QrLogin/QrLogin.js.map +1 -0
  41. package/lib/module/components/Auth/Two/QrLogin/components/QrViewArea.js +295 -0
  42. package/lib/module/components/Auth/Two/QrLogin/components/QrViewArea.js.map +1 -0
  43. package/lib/module/components/Auth/Two/SignUp/SignUp.js +379 -0
  44. package/lib/module/components/Auth/Two/SignUp/SignUp.js.map +1 -0
  45. package/lib/module/components/Auth/Two/SplashScreen/SplashScreen.js +141 -0
  46. package/lib/module/components/Auth/Two/SplashScreen/SplashScreen.js.map +1 -0
  47. package/lib/module/components/Auth/{SplashScreen → Two/SplashScreen}/components/SplashImage/SplashImage.js +1 -1
  48. package/lib/module/components/Auth/Two/SplashScreen/components/SplashImage/SplashImage.js.map +1 -0
  49. package/lib/module/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.js +63 -0
  50. package/lib/module/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -0
  51. package/lib/module/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.js +157 -0
  52. package/lib/module/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -0
  53. package/lib/module/components/Auth/Two/index.js +29 -0
  54. package/lib/module/components/Auth/Two/index.js.map +1 -0
  55. package/lib/module/components/Auth/index.js +7 -22
  56. package/lib/module/components/Auth/index.js.map +1 -1
  57. package/lib/module/components/BackgroundLayout/BackgroundLayout.js +7 -3
  58. package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
  59. package/lib/module/components/BackgroundLayout/BackgroundLayoutOne.js +52 -0
  60. package/lib/module/components/BackgroundLayout/BackgroundLayoutOne.js.map +1 -0
  61. package/lib/module/components/BottomSheet/BottomSheet.js +7 -3
  62. package/lib/module/components/BottomSheet/BottomSheet.js.map +1 -1
  63. package/lib/module/components/BottomSheet/BottomSheetOne.js +170 -0
  64. package/lib/module/components/BottomSheet/BottomSheetOne.js.map +1 -0
  65. package/lib/module/components/BottomSheet/index.js +1 -0
  66. package/lib/module/components/BottomSheet/index.js.map +1 -1
  67. package/lib/module/components/Button/PrimaryBtn.js +16 -6
  68. package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
  69. package/lib/module/components/Content/Card/Category/Category.js +88 -13
  70. package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
  71. package/lib/module/components/Content/Card/Category/CategroyTwo.js +287 -0
  72. package/lib/module/components/Content/Card/Category/CategroyTwo.js.map +1 -0
  73. package/lib/module/components/Content/Card/NowWatching/NowWatching.js +237 -108
  74. package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
  75. package/lib/module/components/Content/Card/Sliders/Styles/One.js +191 -132
  76. package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
  77. package/lib/module/components/Content/Card/Sliders/Styles/Three.js +714 -0
  78. package/lib/module/components/Content/Card/Sliders/Styles/Three.js.map +1 -0
  79. package/lib/module/components/Content/Card/Sliders/Styles/Two.js +139 -92
  80. package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
  81. package/lib/module/components/Content/Card/Sliders/index.js +3 -1
  82. package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
  83. package/lib/module/components/Content/Card/Styles/Five.js +132 -48
  84. package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
  85. package/lib/module/components/Content/Card/Styles/Four.js +127 -59
  86. package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
  87. package/lib/module/components/Content/Card/Styles/One.js +126 -50
  88. package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
  89. package/lib/module/components/Content/Card/Styles/RotateInOut.js +139 -53
  90. package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
  91. package/lib/module/components/Content/Card/Styles/Six.js +207 -115
  92. package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
  93. package/lib/module/components/Content/Card/Styles/Three.js +119 -94
  94. package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
  95. package/lib/module/components/Content/Card/Styles/TopTen.js +187 -171
  96. package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
  97. package/lib/module/components/Content/Card/Styles/Two.js +145 -64
  98. package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
  99. package/lib/module/components/Content/Card/components/AdsPoster.js +162 -0
  100. package/lib/module/components/Content/Card/components/AdsPoster.js.map +1 -0
  101. package/lib/module/components/Content/Card/components/CardPoster.js +217 -135
  102. package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
  103. package/lib/module/components/Content/Card/components/NavigateToMore.js +26 -2
  104. package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
  105. package/lib/module/components/Content/Card/components/index.js +4 -0
  106. package/lib/module/components/Content/Card/components/index.js.map +1 -0
  107. package/lib/module/components/Content/Content.js +90 -33
  108. package/lib/module/components/Content/Content.js.map +1 -1
  109. package/lib/module/components/Content/Sections.js +41 -11
  110. package/lib/module/components/Content/Sections.js.map +1 -1
  111. package/lib/module/components/Content/types.js +4 -0
  112. package/lib/module/components/Content/types.js.map +1 -0
  113. package/lib/module/components/ContentView/MoreContentList.js +1 -0
  114. package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
  115. package/lib/module/components/ContentView/{ContentView.js → One/ContentViewOne.js} +6 -5
  116. package/lib/module/components/ContentView/One/ContentViewOne.js.map +1 -0
  117. package/lib/module/components/ContentView/{components → One/components}/AboutSection.js +2 -2
  118. package/lib/module/components/ContentView/One/components/AboutSection.js.map +1 -0
  119. package/lib/module/components/ContentView/{components → One/components}/CastCard.js +2 -2
  120. package/lib/module/components/ContentView/One/components/CastCard.js.map +1 -0
  121. package/lib/module/components/ContentView/{components → One/components}/EpisodeCard.js +5 -6
  122. package/lib/module/components/ContentView/One/components/EpisodeCard.js.map +1 -0
  123. package/lib/module/components/ContentView/{components → One/components}/GenreTags.js +2 -2
  124. package/lib/module/components/ContentView/One/components/GenreTags.js.map +1 -0
  125. package/lib/module/components/ContentView/{components → One/components}/HeroBanner.js +45 -44
  126. package/lib/module/components/ContentView/One/components/HeroBanner.js.map +1 -0
  127. package/lib/module/components/ContentView/{components → One/components}/MiniInfo.js +50 -5
  128. package/lib/module/components/ContentView/One/components/MiniInfo.js.map +1 -0
  129. package/lib/module/components/ContentView/{components → One/components}/PlayButton.js +1 -1
  130. package/lib/module/components/ContentView/One/components/PlayButton.js.map +1 -0
  131. package/lib/module/components/ContentView/{components → One/components}/Title.js +1 -1
  132. package/lib/module/components/ContentView/One/components/Title.js.map +1 -0
  133. package/lib/module/components/ContentView/{components → One/components}/TrailerButton.js +2 -2
  134. package/lib/module/components/ContentView/One/components/TrailerButton.js.map +1 -0
  135. package/lib/module/components/ContentView/Two/ContentViewTwo.js +220 -0
  136. package/lib/module/components/ContentView/Two/ContentViewTwo.js.map +1 -0
  137. package/lib/module/components/ContentView/Two/components/AboutSection.js +150 -0
  138. package/lib/module/components/ContentView/Two/components/AboutSection.js.map +1 -0
  139. package/lib/module/components/ContentView/Two/components/Details.js +156 -0
  140. package/lib/module/components/ContentView/Two/components/Details.js.map +1 -0
  141. package/lib/module/components/ContentView/Two/components/EpisodeCard.js +425 -0
  142. package/lib/module/components/ContentView/Two/components/EpisodeCard.js.map +1 -0
  143. package/lib/module/components/ContentView/Two/components/GenreTags.js +86 -0
  144. package/lib/module/components/ContentView/Two/components/GenreTags.js.map +1 -0
  145. package/lib/module/components/ContentView/Two/components/HeroBanner.js +339 -0
  146. package/lib/module/components/ContentView/Two/components/HeroBanner.js.map +1 -0
  147. package/lib/module/components/ContentView/Two/components/LikeShareActions.js +88 -0
  148. package/lib/module/components/ContentView/Two/components/LikeShareActions.js.map +1 -0
  149. package/lib/module/components/ContentView/Two/components/MoreLikeThisContentList .js +235 -0
  150. package/lib/module/components/ContentView/Two/components/MoreLikeThisContentList .js.map +1 -0
  151. package/lib/module/components/ContentView/Two/components/PlayOrTrailer.js +120 -0
  152. package/lib/module/components/ContentView/Two/components/PlayOrTrailer.js.map +1 -0
  153. package/lib/module/components/ContentView/Two/components/SectionTabs.js +112 -0
  154. package/lib/module/components/ContentView/Two/components/SectionTabs.js.map +1 -0
  155. package/lib/module/components/ContentView/Two/components/Title.js +146 -0
  156. package/lib/module/components/ContentView/Two/components/Title.js.map +1 -0
  157. package/lib/module/components/ContentView/Two/components/index.js +18 -0
  158. package/lib/module/components/ContentView/Two/components/index.js.map +1 -0
  159. package/lib/module/components/ContentView/index.js +6 -1
  160. package/lib/module/components/ContentView/index.js.map +1 -1
  161. package/lib/module/components/Headers/Four.js +68 -0
  162. package/lib/module/components/Headers/Four.js.map +1 -0
  163. package/lib/module/components/Headers/Three.js +75 -24
  164. package/lib/module/components/Headers/Three.js.map +1 -1
  165. package/lib/module/components/Headers/index.js +3 -1
  166. package/lib/module/components/Headers/index.js.map +1 -1
  167. package/lib/module/components/Input/Input.js +5 -1
  168. package/lib/module/components/Input/Input.js.map +1 -1
  169. package/lib/module/components/Input/InputThree.js +157 -0
  170. package/lib/module/components/Input/InputThree.js.map +1 -0
  171. package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
  172. package/lib/module/components/Input/PhoneNumberInputTwo.js +316 -0
  173. package/lib/module/components/Input/PhoneNumberInputTwo.js.map +1 -0
  174. package/lib/module/components/Loader/Loader.js +14 -6
  175. package/lib/module/components/Loader/Loader.js.map +1 -1
  176. package/lib/module/components/Logo/Logo.js +42 -17
  177. package/lib/module/components/Logo/Logo.js.map +1 -1
  178. package/lib/module/components/NewRelease/NewReleaseSheet.js +227 -0
  179. package/lib/module/components/NewRelease/NewReleaseSheet.js.map +1 -0
  180. package/lib/module/components/NewRelease/index.js +4 -0
  181. package/lib/module/components/NewRelease/index.js.map +1 -0
  182. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js +92 -17
  183. package/lib/module/components/Reels/ReelsSeries/MediaControls/BottomControls.js.map +1 -1
  184. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js +65 -2
  185. package/lib/module/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.js.map +1 -1
  186. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js +2 -1
  187. package/lib/module/components/Reels/ReelsSeries/MediaControls/RightControls.js.map +1 -1
  188. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js +4 -2
  189. package/lib/module/components/Reels/ReelsSeries/Model/SettingModal.js.map +1 -1
  190. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +80 -46
  191. package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -1
  192. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +78 -29
  193. package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -1
  194. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js +21 -34
  195. package/lib/module/components/Reels/ReelsSeries/components/VideoControls/QualityControl.js.map +1 -1
  196. package/lib/module/components/Reels/ReelsSeries/useReelsWatchProgress.js +58 -0
  197. package/lib/module/components/Reels/ReelsSeries/useReelsWatchProgress.js.map +1 -0
  198. package/lib/module/components/Reels/ReelsSeries/utils/quality.js +44 -0
  199. package/lib/module/components/Reels/ReelsSeries/utils/quality.js.map +1 -0
  200. package/lib/module/components/Reels/index.js +1 -0
  201. package/lib/module/components/Reels/index.js.map +1 -1
  202. package/lib/module/components/Search/One.js +7 -4
  203. package/lib/module/components/Search/One.js.map +1 -1
  204. package/lib/module/components/Search/components/SearchCard.js +59 -7
  205. package/lib/module/components/Search/components/SearchCard.js.map +1 -1
  206. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js +2 -1
  207. package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js.map +1 -1
  208. package/lib/module/components/User/WatchHistory/WatchHistory.js +1 -0
  209. package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
  210. package/lib/module/components/User/WatchLater/WatchLater.js +1 -0
  211. package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
  212. package/lib/module/components/common/AppStatusBar.js +2 -1
  213. package/lib/module/components/common/AppStatusBar.js.map +1 -1
  214. package/lib/module/components/index.js +1 -0
  215. package/lib/module/components/index.js.map +1 -1
  216. package/lib/module/constants/dummySections.js +47 -5
  217. package/lib/module/constants/dummySections.js.map +1 -1
  218. package/lib/module/hooks/Images/index.js +5 -0
  219. package/lib/module/hooks/Images/index.js.map +1 -0
  220. package/lib/module/hooks/Images/useImageLoader.js +168 -0
  221. package/lib/module/hooks/Images/useImageLoader.js.map +1 -0
  222. package/lib/module/hooks/Images/useImageValidation.js +36 -0
  223. package/lib/module/hooks/Images/useImageValidation.js.map +1 -0
  224. package/lib/module/hooks/index.js +3 -0
  225. package/lib/module/hooks/index.js.map +1 -1
  226. package/lib/module/hooks/useAdTracking.js +270 -0
  227. package/lib/module/hooks/useAdTracking.js.map +1 -0
  228. package/lib/module/hooks/useCards.js +164 -0
  229. package/lib/module/hooks/useCards.js.map +1 -0
  230. package/lib/module/hooks/usePaginatedSection.js +11 -6
  231. package/lib/module/hooks/usePaginatedSection.js.map +1 -1
  232. package/lib/module/hooks/useSplashCache.js +78 -60
  233. package/lib/module/hooks/useSplashCache.js.map +1 -1
  234. package/lib/module/theme/ThemeProvider.js +14 -2
  235. package/lib/module/theme/ThemeProvider.js.map +1 -1
  236. package/lib/module/theme/hook/index.js +0 -1
  237. package/lib/module/theme/hook/index.js.map +1 -1
  238. package/lib/module/theme/hook/useInternalTheme.js +21 -7
  239. package/lib/module/theme/hook/useInternalTheme.js.map +1 -1
  240. package/lib/module/theme/themes.js +2 -0
  241. package/lib/module/theme/themes.js.map +1 -1
  242. package/lib/module/theme/utils/validateColor.js +84 -0
  243. package/lib/module/theme/utils/validateColor.js.map +1 -0
  244. package/lib/module/utils/colorUtils.js +68 -0
  245. package/lib/module/utils/colorUtils.js.map +1 -0
  246. package/lib/typescript/src/components/Auth/{ForgotPassword → One/ForgotPassword}/ForgotPassword.d.ts +1 -1
  247. package/lib/typescript/src/components/Auth/One/ForgotPassword/ForgotPassword.d.ts.map +1 -0
  248. package/lib/typescript/src/components/Auth/{Login → One/Login}/LoginWithEmail.d.ts +1 -1
  249. package/lib/typescript/src/components/Auth/One/Login/LoginWithEmail.d.ts.map +1 -0
  250. package/lib/typescript/src/components/Auth/{Login → One/Login}/LoginWithPhone.d.ts +1 -1
  251. package/lib/typescript/src/components/Auth/One/Login/LoginWithPhone.d.ts.map +1 -0
  252. package/lib/typescript/src/components/Auth/{OTP → One/OTP}/OTP.d.ts +1 -1
  253. package/lib/typescript/src/components/Auth/One/OTP/OTP.d.ts.map +1 -0
  254. package/lib/typescript/src/components/Auth/{QrLogin → One/QrLogin}/QrLogin.d.ts +3 -1
  255. package/lib/typescript/src/components/Auth/One/QrLogin/QrLogin.d.ts.map +1 -0
  256. package/lib/typescript/src/components/Auth/{QrLogin → One/QrLogin}/components/QrViewArea.d.ts +1 -1
  257. package/lib/typescript/src/components/Auth/One/QrLogin/components/QrViewArea.d.ts.map +1 -0
  258. package/lib/typescript/src/components/Auth/{SignUp → One/SignUp}/SignUp.d.ts +1 -1
  259. package/lib/typescript/src/components/Auth/One/SignUp/SignUp.d.ts.map +1 -0
  260. package/lib/typescript/src/components/Auth/{SplashScreen → One/SplashScreen}/SplashScreen.d.ts +1 -1
  261. package/lib/typescript/src/components/Auth/One/SplashScreen/SplashScreen.d.ts.map +1 -0
  262. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts +14 -0
  263. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -0
  264. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -0
  265. package/lib/typescript/src/components/Auth/One/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -0
  266. package/lib/typescript/src/components/Auth/One/index.d.ts +234 -0
  267. package/lib/typescript/src/components/Auth/One/index.d.ts.map +1 -0
  268. package/lib/typescript/src/components/Auth/Two/AuthHeader/AuthHeader.d.ts +16 -0
  269. package/lib/typescript/src/components/Auth/Two/AuthHeader/AuthHeader.d.ts.map +1 -0
  270. package/lib/typescript/src/components/Auth/Two/ForgotPassword/ForgotPassword.d.ts +53 -0
  271. package/lib/typescript/src/components/Auth/Two/ForgotPassword/ForgotPassword.d.ts.map +1 -0
  272. package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts +17 -0
  273. package/lib/typescript/src/components/Auth/Two/Login/AuthLoginShell.d.ts.map +1 -0
  274. package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts +52 -0
  275. package/lib/typescript/src/components/Auth/Two/Login/LoginWithEmail.d.ts.map +1 -0
  276. package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts +37 -0
  277. package/lib/typescript/src/components/Auth/Two/Login/LoginWithPhone.d.ts.map +1 -0
  278. package/lib/typescript/src/components/Auth/Two/OTP/OTP.d.ts +63 -0
  279. package/lib/typescript/src/components/Auth/Two/OTP/OTP.d.ts.map +1 -0
  280. package/lib/typescript/src/components/Auth/Two/QrLogin/QrLogin.d.ts +19 -0
  281. package/lib/typescript/src/components/Auth/Two/QrLogin/QrLogin.d.ts.map +1 -0
  282. package/lib/typescript/src/components/Auth/Two/QrLogin/components/QrViewArea.d.ts +14 -0
  283. package/lib/typescript/src/components/Auth/Two/QrLogin/components/QrViewArea.d.ts.map +1 -0
  284. package/lib/typescript/src/components/Auth/Two/SignUp/SignUp.d.ts +67 -0
  285. package/lib/typescript/src/components/Auth/Two/SignUp/SignUp.d.ts.map +1 -0
  286. package/lib/typescript/src/components/Auth/Two/SplashScreen/SplashScreen.d.ts +35 -0
  287. package/lib/typescript/src/components/Auth/Two/SplashScreen/SplashScreen.d.ts.map +1 -0
  288. package/lib/typescript/src/components/Auth/Two/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -0
  289. package/lib/typescript/src/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.d.ts +17 -0
  290. package/lib/typescript/src/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +1 -0
  291. package/lib/typescript/src/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.d.ts +20 -0
  292. package/lib/typescript/src/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -0
  293. package/lib/typescript/src/components/Auth/Two/index.d.ts +220 -0
  294. package/lib/typescript/src/components/Auth/Two/index.d.ts.map +1 -0
  295. package/lib/typescript/src/components/Auth/index.d.ts +447 -232
  296. package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
  297. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
  298. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayoutOne.d.ts +7 -0
  299. package/lib/typescript/src/components/BackgroundLayout/BackgroundLayoutOne.d.ts.map +1 -0
  300. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  301. package/lib/typescript/src/components/BottomSheet/BottomSheetOne.d.ts +19 -0
  302. package/lib/typescript/src/components/BottomSheet/BottomSheetOne.d.ts.map +1 -0
  303. package/lib/typescript/src/components/BottomSheet/index.d.ts +2 -0
  304. package/lib/typescript/src/components/BottomSheet/index.d.ts.map +1 -1
  305. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts +1 -0
  306. package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
  307. package/lib/typescript/src/components/Button/index.d.ts +1 -0
  308. package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
  309. package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
  310. package/lib/typescript/src/components/Content/Card/Category/CategroyTwo.d.ts +26 -0
  311. package/lib/typescript/src/components/Content/Card/Category/CategroyTwo.d.ts.map +1 -0
  312. package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
  313. package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
  314. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Three.d.ts +19 -0
  315. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Three.d.ts.map +1 -0
  316. package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
  317. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +11 -0
  318. package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts.map +1 -1
  319. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +13 -1
  320. package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
  321. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts +13 -1
  322. package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
  323. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts +15 -3
  324. package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
  325. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts +13 -1
  326. package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
  327. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts +1 -0
  328. package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
  329. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts +13 -5
  330. package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
  331. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts +1 -0
  332. package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
  333. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts +13 -1
  334. package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
  335. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts +26 -0
  336. package/lib/typescript/src/components/Content/Card/components/AdsPoster.d.ts.map +1 -0
  337. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +4 -1
  338. package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
  339. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts +3 -0
  340. package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
  341. package/lib/typescript/src/components/Content/Card/components/index.d.ts +2 -0
  342. package/lib/typescript/src/components/Content/Card/components/index.d.ts.map +1 -0
  343. package/lib/typescript/src/components/Content/Card/index.d.ts +76 -6
  344. package/lib/typescript/src/components/Content/Card/index.d.ts.map +1 -1
  345. package/lib/typescript/src/components/Content/Content.d.ts +2 -51
  346. package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
  347. package/lib/typescript/src/components/Content/Sections.d.ts +2 -39
  348. package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
  349. package/lib/typescript/src/components/Content/types.d.ts +149 -0
  350. package/lib/typescript/src/components/Content/types.d.ts.map +1 -0
  351. package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
  352. package/lib/typescript/src/components/ContentView/One/ContentViewOne.d.ts +15 -0
  353. package/lib/typescript/src/components/ContentView/One/ContentViewOne.d.ts.map +1 -0
  354. package/lib/typescript/src/components/ContentView/{components → One/components}/AboutSection.d.ts +1 -1
  355. package/lib/typescript/src/components/ContentView/One/components/AboutSection.d.ts.map +1 -0
  356. package/lib/typescript/src/components/ContentView/{components → One/components}/CastCard.d.ts +1 -1
  357. package/lib/typescript/src/components/ContentView/One/components/CastCard.d.ts.map +1 -0
  358. package/lib/typescript/src/components/ContentView/{components → One/components}/EpisodeCard.d.ts +1 -1
  359. package/lib/typescript/src/components/ContentView/One/components/EpisodeCard.d.ts.map +1 -0
  360. package/lib/typescript/src/components/ContentView/{components → One/components}/GenreTags.d.ts +1 -1
  361. package/lib/typescript/src/components/ContentView/One/components/GenreTags.d.ts.map +1 -0
  362. package/lib/typescript/src/components/ContentView/{components → One/components}/HeroBanner.d.ts +1 -1
  363. package/lib/typescript/src/components/ContentView/One/components/HeroBanner.d.ts.map +1 -0
  364. package/lib/typescript/src/components/ContentView/{components → One/components}/MiniInfo.d.ts +1 -1
  365. package/lib/typescript/src/components/ContentView/One/components/MiniInfo.d.ts.map +1 -0
  366. package/lib/typescript/src/components/ContentView/One/components/PlayButton.d.ts.map +1 -0
  367. package/lib/typescript/src/components/ContentView/{components → One/components}/Title.d.ts +1 -1
  368. package/lib/typescript/src/components/ContentView/One/components/Title.d.ts.map +1 -0
  369. package/lib/typescript/src/components/ContentView/One/components/TrailerButton.d.ts.map +1 -0
  370. package/lib/typescript/src/components/ContentView/Two/ContentViewTwo.d.ts +18 -0
  371. package/lib/typescript/src/components/ContentView/Two/ContentViewTwo.d.ts.map +1 -0
  372. package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts +27 -0
  373. package/lib/typescript/src/components/ContentView/Two/components/AboutSection.d.ts.map +1 -0
  374. package/lib/typescript/src/components/ContentView/Two/components/Details.d.ts +15 -0
  375. package/lib/typescript/src/components/ContentView/Two/components/Details.d.ts.map +1 -0
  376. package/lib/typescript/src/components/ContentView/Two/components/EpisodeCard.d.ts +23 -0
  377. package/lib/typescript/src/components/ContentView/Two/components/EpisodeCard.d.ts.map +1 -0
  378. package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts +22 -0
  379. package/lib/typescript/src/components/ContentView/Two/components/GenreTags.d.ts.map +1 -0
  380. package/lib/typescript/src/components/ContentView/Two/components/HeroBanner.d.ts +8 -0
  381. package/lib/typescript/src/components/ContentView/Two/components/HeroBanner.d.ts.map +1 -0
  382. package/lib/typescript/src/components/ContentView/Two/components/LikeShareActions.d.ts +25 -0
  383. package/lib/typescript/src/components/ContentView/Two/components/LikeShareActions.d.ts.map +1 -0
  384. package/lib/typescript/src/components/ContentView/Two/components/MoreLikeThisContentList .d.ts +26 -0
  385. package/lib/typescript/src/components/ContentView/Two/components/MoreLikeThisContentList .d.ts.map +1 -0
  386. package/lib/typescript/src/components/ContentView/Two/components/PlayOrTrailer.d.ts +21 -0
  387. package/lib/typescript/src/components/ContentView/Two/components/PlayOrTrailer.d.ts.map +1 -0
  388. package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts +28 -0
  389. package/lib/typescript/src/components/ContentView/Two/components/SectionTabs.d.ts.map +1 -0
  390. package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts +34 -0
  391. package/lib/typescript/src/components/ContentView/Two/components/Title.d.ts.map +1 -0
  392. package/lib/typescript/src/components/ContentView/Two/components/index.d.ts +15 -0
  393. package/lib/typescript/src/components/ContentView/Two/components/index.d.ts.map +1 -0
  394. package/lib/typescript/src/components/ContentView/index.d.ts +6 -1
  395. package/lib/typescript/src/components/ContentView/index.d.ts.map +1 -1
  396. package/lib/typescript/src/components/Headers/Four.d.ts +18 -0
  397. package/lib/typescript/src/components/Headers/Four.d.ts.map +1 -0
  398. package/lib/typescript/src/components/Headers/Three.d.ts +9 -1
  399. package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
  400. package/lib/typescript/src/components/Headers/index.d.ts +1 -0
  401. package/lib/typescript/src/components/Headers/index.d.ts.map +1 -1
  402. package/lib/typescript/src/components/Input/Input.d.ts +2 -0
  403. package/lib/typescript/src/components/Input/Input.d.ts.map +1 -1
  404. package/lib/typescript/src/components/Input/InputThree.d.ts +22 -0
  405. package/lib/typescript/src/components/Input/InputThree.d.ts.map +1 -0
  406. package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
  407. package/lib/typescript/src/components/Input/PhoneNumberInputTwo.d.ts +26 -0
  408. package/lib/typescript/src/components/Input/PhoneNumberInputTwo.d.ts.map +1 -0
  409. package/lib/typescript/src/components/Loader/Loader.d.ts +2 -0
  410. package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
  411. package/lib/typescript/src/components/Logo/Logo.d.ts +1 -1
  412. package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
  413. package/lib/typescript/src/components/NewRelease/NewReleaseSheet.d.ts +10 -0
  414. package/lib/typescript/src/components/NewRelease/NewReleaseSheet.d.ts.map +1 -0
  415. package/lib/typescript/src/components/NewRelease/index.d.ts +2 -0
  416. package/lib/typescript/src/components/NewRelease/index.d.ts.map +1 -0
  417. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts +2 -0
  418. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/BottomControls.d.ts.map +1 -1
  419. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts +1 -0
  420. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.d.ts.map +1 -1
  421. package/lib/typescript/src/components/Reels/ReelsSeries/MediaControls/RightControls.d.ts.map +1 -1
  422. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts +2 -1
  423. package/lib/typescript/src/components/Reels/ReelsSeries/Model/SettingModal.d.ts.map +1 -1
  424. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +9 -2
  425. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -1
  426. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +11 -1
  427. package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -1
  428. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts +11 -0
  429. package/lib/typescript/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.d.ts.map +1 -1
  430. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +15 -0
  431. package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -1
  432. package/lib/typescript/src/components/Reels/ReelsSeries/useReelsWatchProgress.d.ts +34 -0
  433. package/lib/typescript/src/components/Reels/ReelsSeries/useReelsWatchProgress.d.ts.map +1 -0
  434. package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts +10 -0
  435. package/lib/typescript/src/components/Reels/ReelsSeries/utils/quality.d.ts.map +1 -0
  436. package/lib/typescript/src/components/Reels/index.d.ts +1 -0
  437. package/lib/typescript/src/components/Reels/index.d.ts.map +1 -1
  438. package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
  439. package/lib/typescript/src/components/Search/components/SearchCard.d.ts +1 -0
  440. package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
  441. package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts.map +1 -1
  442. package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
  443. package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
  444. package/lib/typescript/src/components/common/AppStatusBar.d.ts +1 -0
  445. package/lib/typescript/src/components/common/AppStatusBar.d.ts.map +1 -1
  446. package/lib/typescript/src/components/index.d.ts +1 -0
  447. package/lib/typescript/src/components/index.d.ts.map +1 -1
  448. package/lib/typescript/src/constants/dummySections.d.ts +8 -1
  449. package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
  450. package/lib/typescript/src/hooks/Images/index.d.ts +3 -0
  451. package/lib/typescript/src/hooks/Images/index.d.ts.map +1 -0
  452. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts +36 -0
  453. package/lib/typescript/src/hooks/Images/useImageLoader.d.ts.map +1 -0
  454. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts +17 -0
  455. package/lib/typescript/src/hooks/Images/useImageValidation.d.ts.map +1 -0
  456. package/lib/typescript/src/hooks/index.d.ts +3 -0
  457. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  458. package/lib/typescript/src/hooks/useAdTracking.d.ts +39 -0
  459. package/lib/typescript/src/hooks/useAdTracking.d.ts.map +1 -0
  460. package/lib/typescript/src/hooks/useCards.d.ts +36 -0
  461. package/lib/typescript/src/hooks/useCards.d.ts.map +1 -0
  462. package/lib/typescript/src/hooks/usePaginatedSection.d.ts +12 -2
  463. package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
  464. package/lib/typescript/src/hooks/useSplashCache.d.ts.map +1 -1
  465. package/lib/typescript/src/theme/ThemeProvider.d.ts +2 -0
  466. package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
  467. package/lib/typescript/src/theme/hook/index.d.ts +0 -1
  468. package/lib/typescript/src/theme/hook/index.d.ts.map +1 -1
  469. package/lib/typescript/src/theme/hook/useInternalTheme.d.ts.map +1 -1
  470. package/lib/typescript/src/theme/themes.d.ts +1 -0
  471. package/lib/typescript/src/theme/themes.d.ts.map +1 -1
  472. package/lib/typescript/src/theme/utils/validateColor.d.ts +21 -0
  473. package/lib/typescript/src/theme/utils/validateColor.d.ts.map +1 -0
  474. package/lib/typescript/src/types/content/content-view.types.d.ts +40 -1
  475. package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
  476. package/lib/typescript/src/types/sections/index.d.ts +7 -4
  477. package/lib/typescript/src/types/sections/index.d.ts.map +1 -1
  478. package/lib/typescript/src/utils/colorUtils.d.ts +19 -0
  479. package/lib/typescript/src/utils/colorUtils.d.ts.map +1 -0
  480. package/package.json +13 -4
  481. package/src/components/Auth/AuthProvider/AuthProvider.tsx +6 -2
  482. package/src/components/Auth/One/ForgotPassword/ForgotPassword.tsx +324 -0
  483. package/src/components/Auth/One/Login/LoginWithEmail.tsx +455 -0
  484. package/src/components/Auth/{Login → One/Login}/LoginWithPhone.tsx +12 -12
  485. package/src/components/Auth/One/OTP/OTP.tsx +465 -0
  486. package/src/components/Auth/One/QrLogin/QrLogin.tsx +602 -0
  487. package/src/components/Auth/One/QrLogin/components/QrViewArea.tsx +423 -0
  488. package/src/components/Auth/One/SignUp/SignUp.tsx +479 -0
  489. package/src/components/Auth/{SplashScreen → One/SplashScreen}/SplashScreen.tsx +10 -6
  490. package/src/components/Auth/One/SplashScreen/components/SplashImage/SplashImage.tsx +103 -0
  491. package/src/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashLottie/SplashLottie.tsx +1 -1
  492. package/src/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashVideo/SplashVideo.tsx +35 -25
  493. package/src/components/Auth/One/index.ts +24 -0
  494. package/src/components/Auth/Two/AuthHeader/AuthHeader.tsx +108 -0
  495. package/src/components/Auth/{ForgotPassword → Two/ForgotPassword}/ForgotPassword.tsx +62 -35
  496. package/src/components/Auth/Two/Login/AuthLoginShell.tsx +173 -0
  497. package/src/components/Auth/Two/Login/LoginWithEmail.tsx +279 -0
  498. package/src/components/Auth/Two/Login/LoginWithPhone.tsx +188 -0
  499. package/src/components/Auth/{OTP → Two/OTP}/OTP.tsx +92 -81
  500. package/src/components/Auth/Two/QrLogin/QrLogin.tsx +602 -0
  501. package/src/components/Auth/Two/QrLogin/components/QrViewArea.tsx +423 -0
  502. package/src/components/Auth/Two/SignUp/SignUp.tsx +472 -0
  503. package/src/components/Auth/Two/SplashScreen/SplashScreen.tsx +248 -0
  504. package/src/components/Auth/{SplashScreen → Two/SplashScreen}/components/SplashImage/SplashImage.tsx +1 -1
  505. package/src/components/Auth/Two/SplashScreen/components/SplashLottie/SplashLottie.tsx +77 -0
  506. package/src/components/Auth/Two/SplashScreen/components/SplashVideo/SplashVideo.tsx +178 -0
  507. package/src/components/Auth/Two/index.ts +28 -0
  508. package/src/components/Auth/index.ts +7 -22
  509. package/src/components/BackgroundLayout/BackgroundLayout.tsx +2 -0
  510. package/src/components/BackgroundLayout/BackgroundLayoutOne.tsx +56 -0
  511. package/src/components/BottomSheet/BottomSheet.tsx +6 -1
  512. package/src/components/BottomSheet/BottomSheetOne.tsx +220 -0
  513. package/src/components/BottomSheet/index.ts +2 -0
  514. package/src/components/Button/PrimaryBtn.tsx +10 -2
  515. package/src/components/Content/Card/Category/Category.tsx +104 -10
  516. package/src/components/Content/Card/Category/CategroyTwo.tsx +429 -0
  517. package/src/components/Content/Card/NowWatching/NowWatching.tsx +281 -136
  518. package/src/components/Content/Card/Sliders/Styles/One.tsx +248 -152
  519. package/src/components/Content/Card/Sliders/Styles/Three.tsx +935 -0
  520. package/src/components/Content/Card/Sliders/Styles/Two.tsx +171 -102
  521. package/src/components/Content/Card/Sliders/index.ts +2 -0
  522. package/src/components/Content/Card/Styles/Five.tsx +162 -62
  523. package/src/components/Content/Card/Styles/Four.tsx +165 -85
  524. package/src/components/Content/Card/Styles/One.tsx +162 -71
  525. package/src/components/Content/Card/Styles/RotateInOut.tsx +158 -60
  526. package/src/components/Content/Card/Styles/Six.tsx +242 -142
  527. package/src/components/Content/Card/Styles/Three.tsx +160 -162
  528. package/src/components/Content/Card/Styles/TopTen.tsx +231 -191
  529. package/src/components/Content/Card/Styles/Two.tsx +183 -79
  530. package/src/components/Content/Card/components/AdsPoster.tsx +202 -0
  531. package/src/components/Content/Card/components/CardPoster.tsx +250 -151
  532. package/src/components/Content/Card/components/NavigateToMore.tsx +29 -1
  533. package/src/components/Content/Card/components/index.ts +1 -0
  534. package/src/components/Content/Content.tsx +103 -119
  535. package/src/components/Content/Sections.tsx +51 -45
  536. package/src/components/Content/types.ts +176 -0
  537. package/src/components/ContentView/MoreContentList.tsx +1 -0
  538. package/src/components/ContentView/{ContentView.tsx → One/ContentViewOne.tsx} +8 -7
  539. package/src/components/ContentView/{components → One/components}/AboutSection.tsx +3 -3
  540. package/src/components/ContentView/{components → One/components}/CastCard.tsx +3 -3
  541. package/src/components/ContentView/{components → One/components}/EpisodeCard.tsx +7 -8
  542. package/src/components/ContentView/{components → One/components}/GenreTags.tsx +3 -3
  543. package/src/components/ContentView/{components → One/components}/HeroBanner.tsx +44 -59
  544. package/src/components/ContentView/{components → One/components}/MiniInfo.tsx +69 -5
  545. package/src/components/ContentView/{components → One/components}/PlayButton.tsx +1 -1
  546. package/src/components/ContentView/{components → One/components}/Title.tsx +2 -2
  547. package/src/components/ContentView/{components → One/components}/TrailerButton.tsx +2 -2
  548. package/src/components/ContentView/Two/ContentViewTwo.tsx +343 -0
  549. package/src/components/ContentView/Two/components/AboutSection.tsx +216 -0
  550. package/src/components/ContentView/Two/components/Details.tsx +193 -0
  551. package/src/components/ContentView/Two/components/EpisodeCard.tsx +602 -0
  552. package/src/components/ContentView/Two/components/GenreTags.tsx +123 -0
  553. package/src/components/ContentView/Two/components/HeroBanner.tsx +402 -0
  554. package/src/components/ContentView/Two/components/LikeShareActions.tsx +125 -0
  555. package/src/components/ContentView/Two/components/MoreLikeThisContentList .tsx +305 -0
  556. package/src/components/ContentView/Two/components/PlayOrTrailer.tsx +133 -0
  557. package/src/components/ContentView/Two/components/SectionTabs.tsx +177 -0
  558. package/src/components/ContentView/Two/components/Title.tsx +226 -0
  559. package/src/components/ContentView/Two/components/index.ts +15 -0
  560. package/src/components/ContentView/index.ts +7 -1
  561. package/src/components/Headers/Four.tsx +83 -0
  562. package/src/components/Headers/Three.tsx +88 -25
  563. package/src/components/Headers/index.ts +2 -0
  564. package/src/components/Input/Input.ts +4 -0
  565. package/src/components/Input/InputThree.tsx +212 -0
  566. package/src/components/Input/PhoneNumberInput.tsx +4 -2
  567. package/src/components/Input/PhoneNumberInputTwo.tsx +418 -0
  568. package/src/components/Loader/Loader.tsx +25 -9
  569. package/src/components/Logo/Logo.tsx +53 -34
  570. package/src/components/NewRelease/NewReleaseSheet.tsx +250 -0
  571. package/src/components/NewRelease/index.ts +1 -0
  572. package/src/components/Reels/ReelsSeries/MediaControls/BottomControls.tsx +92 -27
  573. package/src/components/Reels/ReelsSeries/MediaControls/MediaControlsProvider.tsx +81 -1
  574. package/src/components/Reels/ReelsSeries/MediaControls/RightControls.tsx +4 -1
  575. package/src/components/Reels/ReelsSeries/Model/SettingModal.tsx +6 -3
  576. package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +88 -55
  577. package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +92 -30
  578. package/src/components/Reels/ReelsSeries/components/VideoControls/QualityControl.tsx +35 -38
  579. package/src/components/Reels/ReelsSeries/types.ts +16 -0
  580. package/src/components/Reels/ReelsSeries/useReelsWatchProgress.ts +85 -0
  581. package/src/components/Reels/ReelsSeries/utils/quality.ts +48 -0
  582. package/src/components/Reels/index.ts +1 -0
  583. package/src/components/Search/One.tsx +8 -5
  584. package/src/components/Search/components/SearchCard.tsx +68 -11
  585. package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +1 -0
  586. package/src/components/User/WatchHistory/WatchHistory.tsx +1 -0
  587. package/src/components/User/WatchLater/WatchLater.tsx +1 -0
  588. package/src/components/common/AppStatusBar.tsx +7 -1
  589. package/src/components/index.ts +1 -0
  590. package/src/constants/dummySections.ts +54 -3
  591. package/src/hooks/Images/index.ts +2 -0
  592. package/src/hooks/Images/useImageLoader.ts +206 -0
  593. package/src/hooks/Images/useImageValidation.ts +36 -0
  594. package/src/hooks/index.ts +3 -0
  595. package/src/hooks/useAdTracking.ts +349 -0
  596. package/src/hooks/useCards.ts +228 -0
  597. package/src/hooks/usePaginatedSection.ts +26 -7
  598. package/src/hooks/useSplashCache.ts +88 -69
  599. package/src/theme/ThemeProvider.tsx +15 -2
  600. package/src/theme/hook/index.ts +0 -1
  601. package/src/theme/hook/useInternalTheme.ts +22 -13
  602. package/src/theme/themes.ts +3 -0
  603. package/src/theme/utils/validateColor.ts +127 -0
  604. package/src/types/content/content-view.types.ts +43 -1
  605. package/src/types/sections/index.ts +7 -4
  606. package/src/utils/colorUtils.ts +70 -0
  607. package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +0 -1
  608. package/lib/module/components/Auth/Login/LoginWithEmail.js +0 -314
  609. package/lib/module/components/Auth/Login/LoginWithEmail.js.map +0 -1
  610. package/lib/module/components/Auth/Login/LoginWithPhone.js.map +0 -1
  611. package/lib/module/components/Auth/OTP/OTP.js.map +0 -1
  612. package/lib/module/components/Auth/QrLogin/QrLogin.js +0 -313
  613. package/lib/module/components/Auth/QrLogin/QrLogin.js.map +0 -1
  614. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +0 -243
  615. package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +0 -1
  616. package/lib/module/components/Auth/SignUp/SignUp.js +0 -352
  617. package/lib/module/components/Auth/SignUp/SignUp.js.map +0 -1
  618. package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +0 -1
  619. package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +0 -1
  620. package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +0 -1
  621. package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +0 -1
  622. package/lib/module/components/ContentView/ContentView.js.map +0 -1
  623. package/lib/module/components/ContentView/components/AboutSection.js.map +0 -1
  624. package/lib/module/components/ContentView/components/CastCard.js.map +0 -1
  625. package/lib/module/components/ContentView/components/EpisodeCard.js.map +0 -1
  626. package/lib/module/components/ContentView/components/GenreTags.js.map +0 -1
  627. package/lib/module/components/ContentView/components/HeroBanner.js.map +0 -1
  628. package/lib/module/components/ContentView/components/MiniInfo.js.map +0 -1
  629. package/lib/module/components/ContentView/components/PlayButton.js.map +0 -1
  630. package/lib/module/components/ContentView/components/Title.js.map +0 -1
  631. package/lib/module/components/ContentView/components/TrailerButton.js.map +0 -1
  632. package/lib/module/theme/hook/useThemeStatusBar.js +0 -33
  633. package/lib/module/theme/hook/useThemeStatusBar.js.map +0 -1
  634. package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +0 -1
  635. package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +0 -1
  636. package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +0 -1
  637. package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +0 -1
  638. package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +0 -1
  639. package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +0 -1
  640. package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +0 -1
  641. package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +0 -1
  642. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +0 -1
  643. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.d.ts.map +0 -1
  644. package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +0 -1
  645. package/lib/typescript/src/components/ContentView/ContentView.d.ts +0 -15
  646. package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +0 -1
  647. package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +0 -1
  648. package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +0 -1
  649. package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +0 -1
  650. package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +0 -1
  651. package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +0 -1
  652. package/lib/typescript/src/components/ContentView/components/MiniInfo.d.ts.map +0 -1
  653. package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +0 -1
  654. package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +0 -1
  655. package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +0 -1
  656. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts +0 -10
  657. package/lib/typescript/src/theme/hook/useThemeStatusBar.d.ts.map +0 -1
  658. package/src/components/Auth/Login/LoginWithEmail.tsx +0 -441
  659. package/src/components/Auth/QrLogin/QrLogin.tsx +0 -342
  660. package/src/components/Auth/QrLogin/components/QrViewArea.tsx +0 -329
  661. package/src/components/Auth/SignUp/SignUp.tsx +0 -462
  662. package/src/theme/hook/useThemeStatusBar.ts +0 -42
  663. /package/lib/typescript/src/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashLottie/SplashLottie.d.ts +0 -0
  664. /package/lib/typescript/src/components/Auth/{SplashScreen → One/SplashScreen}/components/SplashVideo/SplashVideo.d.ts +0 -0
  665. /package/lib/typescript/src/components/Auth/{SplashScreen → Two/SplashScreen}/components/SplashImage/SplashImage.d.ts +0 -0
  666. /package/lib/typescript/src/components/ContentView/{components → One/components}/PlayButton.d.ts +0 -0
  667. /package/lib/typescript/src/components/ContentView/{components → One/components}/TrailerButton.d.ts +0 -0
@@ -0,0 +1,602 @@
1
+ /**
2
+ * @author Ashok Desai
3
+ * @lastModified oct 02 Oct 2025 at 10:30 AM
4
+ */
5
+ import React, {
6
+ useState,
7
+ useRef,
8
+ useMemo,
9
+ useCallback,
10
+ useEffect,
11
+ } from 'react';
12
+ import {
13
+ View,
14
+ StyleSheet,
15
+ Dimensions,
16
+ TouchableOpacity,
17
+ ActivityIndicator,
18
+ } from 'react-native';
19
+ import type { ViewStyle, TextStyle } from 'react-native';
20
+ import { scale } from 'react-native-size-matters';
21
+ import { RFValue } from 'react-native-responsive-fontsize';
22
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
23
+ import { Text } from '../../../Text';
24
+ import AppHeader from '../../../Headers/AppHeader';
25
+ import { useInternalTheme } from '../../../../theme/hook/useInternalTheme';
26
+ import type { ThemeOverride } from '../../../../theme/themes';
27
+ import { Camera as CameraIcon, QrCode } from 'lucide-react-native';
28
+ import {
29
+ Camera,
30
+ useCameraDevice,
31
+ useCameraPermission,
32
+ useCodeScanner,
33
+ type Code,
34
+ } from 'react-native-vision-camera';
35
+ import QrViewArea from './components/QrViewArea';
36
+ import { AppStatusBar } from '../../../common/AppStatusBar';
37
+
38
+ const { width: SCREEN_W, height: SCREEN_H } = Dimensions.get('window');
39
+
40
+ // ==================== Constants ====================
41
+ const SCAN_DELAY_MS = 1000;
42
+ const RESET_DELAY_MS = 2000;
43
+ const CAMERA_TYPE = 'back' as const;
44
+ const CARD_WIDTH_OFFSET = 40;
45
+ const CARD_MIN_HEIGHT_RATIO = 2.5;
46
+ const ICON_SIZES = {
47
+ camera: 50,
48
+ qrCode: 180,
49
+ button: 22,
50
+ } as const;
51
+ const STROKE_WIDTHS = {
52
+ icon: 1.6,
53
+ button: 2,
54
+ } as const;
55
+
56
+ // ==================== Types ====================
57
+ export type QrLoginProps = {
58
+ title?: string;
59
+ description?: string;
60
+ scanButtonText?: string;
61
+ onBackPress?: () => void;
62
+ onScanSuccess?: (value: string) => void;
63
+ onScanError?: (error: string) => void;
64
+ allowMultipleScans?: boolean;
65
+ theme?: ThemeOverride;
66
+ };
67
+
68
+ // ==================== Default Values ====================
69
+ const DEFAULTS = {
70
+ title: 'QR Login',
71
+ description: 'Please move your camera over the QR Code',
72
+ scanButtonText: 'Scan QR Code',
73
+ cameraType: CAMERA_TYPE,
74
+ } as const;
75
+
76
+ // ==================== Helper Functions ====================
77
+ /**
78
+ * Extracts error message from error object
79
+ */
80
+ const getErrorMessage = (error: unknown, defaultMessage: string): string => {
81
+ return error instanceof Error ? error.message : defaultMessage;
82
+ };
83
+
84
+ /**
85
+ * Creates style with background color
86
+ */
87
+ const createBackgroundStyle = (
88
+ baseStyle: ViewStyle,
89
+ backgroundColor: string
90
+ ): ViewStyle[] => [baseStyle, { backgroundColor }];
91
+
92
+ /**
93
+ * Creates text style with color
94
+ */
95
+ const createTextStyle = (baseStyle: TextStyle, color: string): TextStyle[] => [
96
+ baseStyle,
97
+ { color },
98
+ ];
99
+
100
+ // ==================== Custom Hooks ====================
101
+ /**
102
+ * Hook to manage QR scan state and timers
103
+ */
104
+ const useQrScanState = () => {
105
+ const scanTimer = useRef<NodeJS.Timeout | null>(null);
106
+ const resetTimer = useRef<NodeJS.Timeout | null>(null);
107
+ const lastValueRef = useRef<string | null>(null);
108
+ const isScanning = useRef(false);
109
+
110
+ const resetScanState = useCallback(() => {
111
+ if (scanTimer.current) {
112
+ clearTimeout(scanTimer.current);
113
+ scanTimer.current = null;
114
+ }
115
+ if (resetTimer.current) {
116
+ clearTimeout(resetTimer.current);
117
+ resetTimer.current = null;
118
+ }
119
+ isScanning.current = false;
120
+ lastValueRef.current = null;
121
+ }, []);
122
+
123
+ useEffect(() => {
124
+ return () => {
125
+ resetScanState();
126
+ };
127
+ }, [resetScanState]);
128
+
129
+ return {
130
+ scanTimer,
131
+ resetTimer,
132
+ lastValueRef,
133
+ isScanning,
134
+ resetScanState,
135
+ };
136
+ };
137
+
138
+ /**
139
+ * Hook to handle camera permission request
140
+ */
141
+ const useCameraPermissionHandler = (
142
+ hasPermission: boolean,
143
+ requestPermission: () => Promise<boolean>,
144
+ onError?: (error: string) => void
145
+ ) => {
146
+ const [requesting, setRequesting] = useState(false);
147
+
148
+ const requestCameraPermission = useCallback(async (): Promise<boolean> => {
149
+ if (hasPermission) return true;
150
+
151
+ setRequesting(true);
152
+ try {
153
+ const granted = await requestPermission();
154
+ setRequesting(false);
155
+
156
+ if (!granted) {
157
+ onError?.('Camera permission denied');
158
+ return false;
159
+ }
160
+ return true;
161
+ } catch (error) {
162
+ setRequesting(false);
163
+ const errorMessage = getErrorMessage(
164
+ error,
165
+ 'Camera permission request failed'
166
+ );
167
+ console.warn('Camera permission request failed:', error);
168
+ onError?.(errorMessage);
169
+ return false;
170
+ }
171
+ }, [hasPermission, requestPermission, onError]);
172
+
173
+ return { requesting, requestCameraPermission };
174
+ };
175
+
176
+ // ==================== Sub-Components ====================
177
+ /**
178
+ * Camera view component when scanning is active
179
+ */
180
+ const CameraView: React.FC<{
181
+ device: ReturnType<typeof useCameraDevice>;
182
+ codeScanner: ReturnType<typeof useCodeScanner>;
183
+ theme?: ThemeOverride;
184
+ }> = React.memo(({ device, codeScanner, theme }) => {
185
+ if (!device) {
186
+ return null;
187
+ }
188
+
189
+ return (
190
+ <>
191
+ <Camera
192
+ style={StyleSheet.absoluteFill}
193
+ device={device}
194
+ isActive={true}
195
+ codeScanner={codeScanner}
196
+ enableFpsGraph={false}
197
+ />
198
+ <QrViewArea theme={theme} />
199
+ </>
200
+ );
201
+ });
202
+
203
+ CameraView.displayName = 'CameraView';
204
+
205
+ /**
206
+ * No camera available view
207
+ */
208
+ const NoCameraView: React.FC<{
209
+ textStyle: TextStyle;
210
+ containerStyle: ViewStyle[];
211
+ }> = React.memo(({ textStyle, containerStyle }) => (
212
+ <View style={containerStyle}>
213
+ <Text style={textStyle}>No camera available</Text>
214
+ </View>
215
+ ));
216
+
217
+ NoCameraView.displayName = 'NoCameraView';
218
+
219
+ /**
220
+ * Initial scan screen with QR code preview
221
+ */
222
+ const ScanPreviewScreen: React.FC<{
223
+ description: string;
224
+ scanButtonText: string;
225
+ requesting: boolean;
226
+ onStartScan: () => void;
227
+ colors: {
228
+ button: string;
229
+ textPrimary: string;
230
+ primary: string;
231
+ skeletonBaseColor: string;
232
+ };
233
+ styles: {
234
+ descText: TextStyle[];
235
+ qrBox: ViewStyle[];
236
+ scanBtn: ViewStyle[];
237
+ scanText: TextStyle[];
238
+ iconMargin: ViewStyle;
239
+ buttonIconMargin: ViewStyle;
240
+ loaderMargin: ViewStyle;
241
+ };
242
+ }> = React.memo(
243
+ ({
244
+ description,
245
+ scanButtonText,
246
+ requesting,
247
+ onStartScan,
248
+ colors,
249
+ styles: componentStyles,
250
+ }) => (
251
+ <View style={styles.content}>
252
+ <View style={styles.card}>
253
+ <CameraIcon
254
+ size={scale(ICON_SIZES.camera)}
255
+ color={colors.button}
256
+ strokeWidth={STROKE_WIDTHS.icon}
257
+ style={componentStyles.iconMargin}
258
+ />
259
+
260
+ <Text style={componentStyles.descText}>{description}</Text>
261
+
262
+ <View style={componentStyles.qrBox}>
263
+ <QrCode
264
+ size={scale(ICON_SIZES.qrCode)}
265
+ color={colors.button}
266
+ strokeWidth={STROKE_WIDTHS.icon}
267
+ />
268
+ </View>
269
+
270
+ <TouchableOpacity
271
+ style={componentStyles.scanBtn}
272
+ onPress={onStartScan}
273
+ activeOpacity={0.85}
274
+ >
275
+ <CameraIcon
276
+ size={scale(ICON_SIZES.button)}
277
+ color={colors.button}
278
+ strokeWidth={STROKE_WIDTHS.button}
279
+ style={componentStyles.buttonIconMargin}
280
+ />
281
+ <Text style={componentStyles.scanText}>{scanButtonText}</Text>
282
+ </TouchableOpacity>
283
+
284
+ {requesting && (
285
+ <ActivityIndicator
286
+ style={componentStyles.loaderMargin}
287
+ color={colors.primary}
288
+ />
289
+ )}
290
+ </View>
291
+ </View>
292
+ )
293
+ );
294
+
295
+ ScanPreviewScreen.displayName = 'ScanPreviewScreen';
296
+
297
+ // ==================== Main Component ====================
298
+ export const QrLogin: React.FC<QrLoginProps> = React.memo(
299
+ ({
300
+ title = DEFAULTS.title,
301
+ description = DEFAULTS.description,
302
+ scanButtonText = DEFAULTS.scanButtonText,
303
+ onBackPress,
304
+ onScanSuccess,
305
+ onScanError,
306
+ allowMultipleScans = true,
307
+ theme,
308
+ }) => {
309
+ const { theme: appliedTheme } = useInternalTheme(theme);
310
+ const { colors } = appliedTheme;
311
+ const { top: statusBarHeight } = useSafeAreaInsets();
312
+
313
+ const [scanActive, setScanActive] = useState(false);
314
+
315
+ const device = useCameraDevice(DEFAULTS.cameraType);
316
+ const { hasPermission, requestPermission } = useCameraPermission();
317
+
318
+ // QR scan state management
319
+ const { scanTimer, resetTimer, lastValueRef, isScanning, resetScanState } =
320
+ useQrScanState();
321
+
322
+ // Camera permission handler
323
+ const { requesting, requestCameraPermission } = useCameraPermissionHandler(
324
+ hasPermission,
325
+ requestPermission,
326
+ onScanError
327
+ );
328
+
329
+ // Stop scanning
330
+ const stopScan = useCallback(() => {
331
+ resetScanState();
332
+ setScanActive(false);
333
+ }, [resetScanState]);
334
+
335
+ // Handle back press
336
+ const handleBackPress = useCallback(() => {
337
+ if (scanActive) {
338
+ stopScan();
339
+ }
340
+ onBackPress?.();
341
+ }, [scanActive, stopScan, onBackPress]);
342
+
343
+ // Handle code scanned
344
+ const handleCodeScanned = useCallback(
345
+ (codes: Code[]) => {
346
+ if (isScanning.current || codes.length === 0) return;
347
+
348
+ for (const code of codes) {
349
+ const value = code?.value;
350
+ if (!value) continue;
351
+
352
+ // Prevent duplicate scans
353
+ if (!allowMultipleScans && lastValueRef.current === value) return;
354
+
355
+ // Clear pending scan timer
356
+ if (scanTimer.current) {
357
+ clearTimeout(scanTimer.current);
358
+ scanTimer.current = null;
359
+ }
360
+
361
+ lastValueRef.current = value;
362
+
363
+ // Trigger success callback after delay
364
+ scanTimer.current = setTimeout(() => {
365
+ isScanning.current = true;
366
+ try {
367
+ onScanSuccess?.(value);
368
+ } catch (error) {
369
+ const errorMessage = getErrorMessage(
370
+ error,
371
+ 'Unknown error occurred'
372
+ );
373
+ onScanError?.(errorMessage);
374
+ console.error('QR scan success callback error:', error);
375
+ }
376
+
377
+ // Reset scan state after delay for re-scanning
378
+ if (allowMultipleScans) {
379
+ resetTimer.current = setTimeout(() => {
380
+ resetScanState();
381
+ }, RESET_DELAY_MS);
382
+ }
383
+ }, SCAN_DELAY_MS);
384
+
385
+ break;
386
+ }
387
+ },
388
+ [
389
+ onScanSuccess,
390
+ onScanError,
391
+ allowMultipleScans,
392
+ resetScanState,
393
+ isScanning,
394
+ lastValueRef,
395
+ resetTimer,
396
+ scanTimer,
397
+ ]
398
+ );
399
+
400
+ // Code scanner
401
+ const codeScanner = useCodeScanner({
402
+ codeTypes: ['qr'],
403
+ onCodeScanned: handleCodeScanned,
404
+ });
405
+
406
+ // Start scan
407
+ const startScan = useCallback(async () => {
408
+ resetScanState();
409
+
410
+ const hasPermissionGranted = await requestCameraPermission();
411
+ if (!hasPermissionGranted) return;
412
+
413
+ if (!device) {
414
+ onScanError?.('No camera device available');
415
+ return;
416
+ }
417
+
418
+ setScanActive(true);
419
+ }, [device, resetScanState, requestCameraPermission, onScanError]);
420
+
421
+ // Memoized styles
422
+ const containerStyle = useMemo(
423
+ () => createBackgroundStyle(styles.container, colors.background),
424
+ [colors.background]
425
+ );
426
+
427
+ const headerWrapperStyle = useMemo(
428
+ () => [
429
+ styles.headerWrapper,
430
+ {
431
+ height: statusBarHeight,
432
+ backgroundColor: colors.background,
433
+ },
434
+ ],
435
+ [colors.background, statusBarHeight]
436
+ );
437
+
438
+ const centerStyle = useMemo(
439
+ () => createBackgroundStyle(styles.center, colors.background),
440
+ [colors.background]
441
+ );
442
+
443
+ const descTextStyle = useMemo(
444
+ () => createTextStyle(styles.descText, colors.textPrimary),
445
+ [colors.textPrimary]
446
+ );
447
+
448
+ const qrBoxStyle = useMemo(
449
+ () => [
450
+ styles.qrBox,
451
+ {
452
+ borderColor: colors.primary,
453
+ backgroundColor: colors.skeletonBaseColor,
454
+ },
455
+ ],
456
+ [colors.primary, colors.skeletonBaseColor]
457
+ );
458
+
459
+ const scanBtnStyle = useMemo(
460
+ () => [styles.scanBtn, { borderColor: colors.button }],
461
+ [colors.button]
462
+ );
463
+
464
+ const scanTextStyle = useMemo(
465
+ () => createTextStyle(styles.scanText, colors.button),
466
+ [colors.button]
467
+ );
468
+
469
+ const noCameraTextStyle = useMemo(
470
+ () => ({ color: colors.textPrimary, fontSize: RFValue(16) }),
471
+ [colors.textPrimary]
472
+ );
473
+
474
+ const cameraWrapperStyle = useMemo(
475
+ () => [
476
+ styles.cameraWrapper,
477
+ {
478
+ top: statusBarHeight,
479
+ },
480
+ ],
481
+ [statusBarHeight]
482
+ );
483
+
484
+ const componentStyles = useMemo(
485
+ () => ({
486
+ descText: descTextStyle,
487
+ qrBox: qrBoxStyle,
488
+ scanBtn: scanBtnStyle,
489
+ scanText: scanTextStyle,
490
+ iconMargin: styles.iconMargin,
491
+ buttonIconMargin: styles.buttonIconMargin,
492
+ loaderMargin: styles.loaderMargin,
493
+ }),
494
+ [descTextStyle, qrBoxStyle, scanBtnStyle, scanTextStyle]
495
+ );
496
+
497
+ return (
498
+ <View style={containerStyle}>
499
+ <AppStatusBar theme={theme} />
500
+
501
+ <View style={headerWrapperStyle}>
502
+ <AppHeader
503
+ title={title}
504
+ onBackPress={handleBackPress}
505
+ theme={theme}
506
+ titleAlign="left"
507
+ />
508
+ </View>
509
+
510
+ <View style={cameraWrapperStyle}>
511
+ {scanActive ? (
512
+ device ? (
513
+ <CameraView
514
+ device={device}
515
+ codeScanner={codeScanner}
516
+ theme={theme}
517
+ />
518
+ ) : (
519
+ <NoCameraView
520
+ textStyle={noCameraTextStyle}
521
+ containerStyle={centerStyle}
522
+ />
523
+ )
524
+ ) : (
525
+ <ScanPreviewScreen
526
+ description={description}
527
+ scanButtonText={scanButtonText}
528
+ requesting={requesting}
529
+ onStartScan={startScan}
530
+ colors={colors}
531
+ styles={componentStyles}
532
+ />
533
+ )}
534
+ </View>
535
+ </View>
536
+ );
537
+ }
538
+ );
539
+
540
+ QrLogin.displayName = 'QrLogin';
541
+
542
+ // ==================== Styles ====================
543
+ const styles = StyleSheet.create({
544
+ container: { flex: 1 },
545
+ headerWrapper: {
546
+ position: 'absolute',
547
+ top: 0,
548
+ left: 0,
549
+ right: 0,
550
+ zIndex: 20,
551
+ elevation: 20,
552
+ },
553
+ cameraWrapper: {
554
+ flex: 1,
555
+ },
556
+ center: {
557
+ flex: 1,
558
+ alignItems: 'center',
559
+ justifyContent: 'center',
560
+ },
561
+ content: {
562
+ flex: 1,
563
+ justifyContent: 'center',
564
+ alignItems: 'center',
565
+ padding: scale(14),
566
+ marginBottom: scale(50),
567
+ },
568
+ card: {
569
+ width: SCREEN_W - scale(CARD_WIDTH_OFFSET),
570
+ minHeight: SCREEN_H / CARD_MIN_HEIGHT_RATIO,
571
+ alignItems: 'center',
572
+ padding: scale(20),
573
+ },
574
+ descText: {
575
+ fontSize: RFValue(15),
576
+ textAlign: 'center',
577
+ marginVertical: scale(12),
578
+ },
579
+ qrBox: {
580
+ marginVertical: scale(20),
581
+ padding: scale(20),
582
+ borderWidth: 2,
583
+ borderRadius: scale(12),
584
+ justifyContent: 'center',
585
+ alignItems: 'center',
586
+ },
587
+ scanBtn: {
588
+ flexDirection: 'row',
589
+ alignItems: 'center',
590
+ borderWidth: scale(2),
591
+ borderRadius: scale(12),
592
+ paddingVertical: scale(10),
593
+ paddingHorizontal: scale(25),
594
+ marginTop: scale(20),
595
+ },
596
+ scanText: { fontWeight: '600', fontSize: RFValue(14) },
597
+ iconMargin: { marginBottom: scale(12) },
598
+ buttonIconMargin: { marginRight: 10 },
599
+ loaderMargin: { marginTop: scale(12) },
600
+ });
601
+
602
+ export default QrLogin;