@zezosoft/zezo-ott-react-native-ui-kit 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +6 -0
- package/lib/module/assets/animations/135037-payment-processing-error.json +1347 -1
- package/lib/module/assets/animations/7227-vui-animation.json +3377 -1
- package/lib/module/assets/animations/heart.json +788 -0
- package/lib/module/assets/animations/succesfull-payment.json +2379 -1
- package/lib/module/assets/animations/voice-icon.json +542 -1
- package/lib/module/components/Account/Account.js +6 -6
- package/lib/module/components/Account/Account.js.map +1 -1
- package/lib/module/components/Account/index.js +1 -1
- package/lib/module/components/Account/index.js.map +1 -1
- package/lib/module/components/Alert/UAAlert.js +138 -0
- package/lib/module/components/Alert/UAAlert.js.map +1 -0
- package/lib/module/components/Alert/index.js +4 -0
- package/lib/module/components/Alert/index.js.map +1 -0
- package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js +9 -9
- package/lib/module/components/Auth/ForgotPassword/ForgotPassword.js.map +1 -1
- package/lib/module/components/Auth/Login/LoginWithEmail.js +10 -10
- package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
- package/lib/module/components/Auth/Login/LoginWithPhone.js +10 -10
- package/lib/module/components/Auth/Login/LoginWithPhone.js.map +1 -1
- package/lib/module/components/Auth/OTP/OTP.js +9 -9
- package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
- package/lib/module/components/Auth/QrLogin/QrLogin.js +267 -0
- package/lib/module/components/Auth/QrLogin/QrLogin.js.map +1 -0
- package/lib/module/components/Auth/QrLogin/components/QrViewArea.js +178 -0
- package/lib/module/components/Auth/QrLogin/components/QrViewArea.js.map +1 -0
- package/lib/module/components/Auth/SignUp/SignUp.js +10 -10
- package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
- package/lib/module/components/Auth/SplashScreen/SplashScreen.js +6 -6
- package/lib/module/components/Auth/SplashScreen/SplashScreen.js.map +1 -1
- package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js +1 -6
- package/lib/module/components/Auth/SplashScreen/components/SplashImage/SplashImage.js.map +1 -1
- package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js +1 -1
- package/lib/module/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.js.map +1 -1
- package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js +1 -1
- package/lib/module/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.js.map +1 -1
- package/lib/module/components/Auth/index.js +9 -7
- package/lib/module/components/Auth/index.js.map +1 -1
- package/lib/module/components/BackgroundLayout/BackgroundLayout.js +1 -1
- package/lib/module/components/BackgroundLayout/BackgroundLayout.js.map +1 -1
- package/lib/module/components/BlogView/BlogView.js +4 -10
- package/lib/module/components/BlogView/BlogView.js.map +1 -1
- package/lib/module/components/BlogView/index.js +1 -1
- package/lib/module/components/BlogView/index.js.map +1 -1
- package/lib/module/components/Button/BackBtn.js +1 -1
- package/lib/module/components/Button/BackBtn.js.map +1 -1
- package/lib/module/components/Button/MenuBtn.js +1 -1
- package/lib/module/components/Button/MenuBtn.js.map +1 -1
- package/lib/module/components/Button/PrimaryBtn.js +2 -2
- package/lib/module/components/Button/PrimaryBtn.js.map +1 -1
- package/lib/module/components/Button/TextButton.js +2 -2
- package/lib/module/components/Button/TextButton.js.map +1 -1
- package/lib/module/components/Button/index.js +3 -3
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Content/Card/Category/Category.js +2 -2
- package/lib/module/components/Content/Card/Category/Category.js.map +1 -1
- package/lib/module/components/Content/Card/NowWatching/NowWatching.js +6 -6
- package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
- package/lib/module/components/Content/Card/Sliders/Styles/One.js +3 -3
- package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
- package/lib/module/components/Content/Card/Sliders/Styles/Two.js +4 -4
- package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
- package/lib/module/components/Content/Card/Sliders/index.js +2 -2
- package/lib/module/components/Content/Card/Sliders/index.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Five.js +4 -4
- package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Four.js +4 -4
- package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/One.js +4 -4
- package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/RotateInOut.js +4 -4
- package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Six.js +5 -5
- package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Three.js +4 -4
- package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/TopTen.js +5 -5
- package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Two.js +4 -4
- package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
- package/lib/module/components/Content/Card/components/CardPoster.js +1 -10
- package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
- package/lib/module/components/Content/Card/components/NavigateToMore.js +2 -2
- package/lib/module/components/Content/Card/components/NavigateToMore.js.map +1 -1
- package/lib/module/components/Content/Card/components/NoContentFallback.js +3 -3
- package/lib/module/components/Content/Card/components/NoContentFallback.js.map +1 -1
- package/lib/module/components/Content/Card/components/ShowAllButton.js +1 -1
- package/lib/module/components/Content/Card/components/ShowAllButton.js.map +1 -1
- package/lib/module/components/Content/Card/components/ThumbnailCard.js +1 -1
- package/lib/module/components/Content/Card/components/ThumbnailCard.js.map +1 -1
- package/lib/module/components/Content/Card/index.js +10 -10
- package/lib/module/components/Content/Card/index.js.map +1 -1
- package/lib/module/components/Content/Content.js +4 -4
- package/lib/module/components/Content/Content.js.map +1 -1
- package/lib/module/components/Content/Sections.js +2 -2
- package/lib/module/components/Content/Sections.js.map +1 -1
- package/lib/module/components/ContentView/ContentView.js +8 -9
- package/lib/module/components/ContentView/ContentView.js.map +1 -1
- package/lib/module/components/ContentView/MoreContentList.js +6 -6
- package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
- package/lib/module/components/ContentView/components/AboutSection.js +2 -2
- package/lib/module/components/ContentView/components/AboutSection.js.map +1 -1
- package/lib/module/components/ContentView/components/CastCard.js +2 -2
- package/lib/module/components/ContentView/components/CastCard.js.map +1 -1
- package/lib/module/components/ContentView/components/EpisodeCard.js +3 -3
- package/lib/module/components/ContentView/components/EpisodeCard.js.map +1 -1
- package/lib/module/components/ContentView/components/GenreTags.js +1 -1
- package/lib/module/components/ContentView/components/GenreTags.js.map +1 -1
- package/lib/module/components/ContentView/components/HeroBanner.js +5 -5
- package/lib/module/components/ContentView/components/HeroBanner.js.map +1 -1
- package/lib/module/components/ContentView/components/PlayButton.js +0 -1
- package/lib/module/components/ContentView/components/PlayButton.js.map +1 -1
- package/lib/module/components/ContentView/components/Title.js +1 -1
- package/lib/module/components/ContentView/components/Title.js.map +1 -1
- package/lib/module/components/ContentView/components/TrailerButton.js +1 -2
- package/lib/module/components/ContentView/components/TrailerButton.js.map +1 -1
- package/lib/module/components/ContentView/index.js +2 -2
- package/lib/module/components/ContentView/index.js.map +1 -1
- package/lib/module/components/Headers/AppHeader.js +3 -3
- package/lib/module/components/Headers/AppHeader.js.map +1 -1
- package/lib/module/components/Headers/One.js +3 -3
- package/lib/module/components/Headers/One.js.map +1 -1
- package/lib/module/components/Headers/Three.js +2 -2
- package/lib/module/components/Headers/Three.js.map +1 -1
- package/lib/module/components/Headers/Two.js +6 -7
- package/lib/module/components/Headers/Two.js.map +1 -1
- package/lib/module/components/Headers/index.js +3 -3
- package/lib/module/components/Headers/index.js.map +1 -1
- package/lib/module/components/Input/Input.js +3 -3
- package/lib/module/components/Input/Input.js.map +1 -1
- package/lib/module/components/Input/InputOne.js +1 -1
- package/lib/module/components/Input/InputOne.js.map +1 -1
- package/lib/module/components/Input/InputTwo.js +1 -1
- package/lib/module/components/Input/InputTwo.js.map +1 -1
- package/lib/module/components/Input/PhoneNumberInput.js +1 -1
- package/lib/module/components/Input/PhoneNumberInput.js.map +1 -1
- package/lib/module/components/Keyboard/HideKeyboard.js.map +1 -1
- package/lib/module/components/Loader/Loader.js +1 -6
- package/lib/module/components/Loader/Loader.js.map +1 -1
- package/lib/module/components/Logo/Logo.js +2 -2
- package/lib/module/components/Logo/Logo.js.map +1 -1
- package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js +110 -0
- package/lib/module/components/Reels/ReelsSeries/Model/Episodes.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js +216 -0
- package/lib/module/components/Reels/ReelsSeries/Model/Synopsis.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js +182 -0
- package/lib/module/components/Reels/ReelsSeries/ReelSeriesDetailsModal.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js +203 -0
- package/lib/module/components/Reels/ReelsSeries/ReelSeriesOverlay.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js +121 -0
- package/lib/module/components/Reels/ReelsSeries/ReelsSeries.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js +290 -0
- package/lib/module/components/Reels/ReelsSeries/ReelsSeriesItem.js.map +1 -0
- package/lib/module/components/Reels/ReelsSeries/types.js +2 -0
- package/lib/module/components/Reels/ReelsSeries/types.js.map +1 -0
- package/lib/module/components/Reels/index.js +11 -0
- package/lib/module/components/Reels/index.js.map +1 -0
- package/lib/module/components/Search/One.js +9 -9
- package/lib/module/components/Search/One.js.map +1 -1
- package/lib/module/components/Search/components/RecentSearchesSection.js +1 -1
- package/lib/module/components/Search/components/RecentSearchesSection.js.map +1 -1
- package/lib/module/components/Search/components/SearchCard.js +3 -3
- package/lib/module/components/Search/components/SearchCard.js.map +1 -1
- package/lib/module/components/Search/index.js +2 -2
- package/lib/module/components/Search/index.js.map +1 -1
- package/lib/module/components/Settings/AppSettings.js +4 -4
- package/lib/module/components/Settings/AppSettings.js.map +1 -1
- package/lib/module/components/Settings/index.js +1 -1
- package/lib/module/components/Settings/index.js.map +1 -1
- package/lib/module/components/Subscription/SubOne.js +4 -4
- package/lib/module/components/Subscription/SubOne.js.map +1 -1
- package/lib/module/components/Subscription/index.js +1 -1
- package/lib/module/components/Subscription/index.js.map +1 -1
- package/lib/module/components/TabBar/One.js +2 -2
- package/lib/module/components/TabBar/One.js.map +1 -1
- package/lib/module/components/TabBar/Three.js +1 -1
- package/lib/module/components/TabBar/Three.js.map +1 -1
- package/lib/module/components/TabBar/Two.js +2 -2
- package/lib/module/components/TabBar/Two.js.map +1 -1
- package/lib/module/components/TabBar/index.js +3 -3
- package/lib/module/components/TabBar/index.js.map +1 -1
- package/lib/module/components/Text/Text.js +1 -1
- package/lib/module/components/Text/Text.js.map +1 -1
- package/lib/module/components/Text/index.js +1 -1
- package/lib/module/components/Text/index.js.map +1 -1
- package/lib/module/components/User/DeviceSessions/DeviceSessions.js +11 -3
- package/lib/module/components/User/DeviceSessions/DeviceSessions.js.map +1 -1
- package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js +258 -0
- package/lib/module/components/User/ProfileUpdate/ProfileUpdate.js.map +1 -0
- package/lib/module/components/User/WatchHistory/WatchHistory.js +4 -4
- package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
- package/lib/module/components/User/WatchLater/WatchLater.js +5 -5
- package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
- package/lib/module/components/User/components/UserAvatar.js +1 -1
- package/lib/module/components/User/components/UserAvatar.js.map +1 -1
- package/lib/module/components/User/components/UserSection.js +11 -16
- package/lib/module/components/User/components/UserSection.js.map +1 -1
- package/lib/module/components/User/index.js +5 -4
- package/lib/module/components/User/index.js.map +1 -1
- package/lib/module/components/View/View.js.map +1 -1
- package/lib/module/components/View/index.js +1 -1
- package/lib/module/components/View/index.js.map +1 -1
- package/lib/module/components/index.js +20 -18
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/layout/SafeAreaWrapper.js +1 -1
- package/lib/module/components/layout/SafeAreaWrapper.js.map +1 -1
- package/lib/module/components/layout/index.js +1 -1
- package/lib/module/components/layout/index.js.map +1 -1
- package/lib/module/constants/dummySections.js.map +1 -1
- package/lib/module/hooks/useDebounce.js.map +1 -1
- package/lib/module/hooks/useInitSplashCacheSync.js +7 -7
- package/lib/module/hooks/useInitSplashCacheSync.js.map +1 -1
- package/lib/module/hooks/useKeyboard.js.map +1 -1
- package/lib/module/hooks/usePaginatedSection.js.map +1 -1
- package/lib/module/index.js +3 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/store/RecentSearchesStore.js.map +1 -1
- package/lib/module/store/splashStore.js.map +1 -1
- package/lib/module/theme/ThemeProvider.js +24 -18
- package/lib/module/theme/ThemeProvider.js.map +1 -1
- package/lib/module/theme/hook/useTheme.js +2 -2
- package/lib/module/theme/hook/useTheme.js.map +1 -1
- package/lib/module/theme/index.js +3 -2
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/themes.js +2 -13
- package/lib/module/theme/themes.js.map +1 -1
- package/lib/module/utils/Formater.js +17 -0
- package/lib/module/utils/Formater.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/Account/Account.d.ts +0 -1
- package/lib/typescript/src/components/Account/Account.d.ts.map +1 -1
- package/lib/typescript/src/components/Alert/UAAlert.d.ts +16 -0
- package/lib/typescript/src/components/Alert/UAAlert.d.ts.map +1 -0
- package/lib/typescript/src/components/Alert/index.d.ts +2 -0
- package/lib/typescript/src/components/Alert/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Auth/ForgotPassword/ForgotPassword.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/Login/LoginWithPhone.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts +32 -0
- package/lib/typescript/src/components/Auth/QrLogin/QrLogin.d.ts.map +1 -0
- package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts +15 -0
- package/lib/typescript/src/components/Auth/QrLogin/components/QrViewArea.d.ts.map +1 -0
- package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/SplashScreen/SplashScreen.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts +0 -4
- package/lib/typescript/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/index.d.ts +2 -1
- package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
- package/lib/typescript/src/components/BackgroundLayout/BackgroundLayout.d.ts.map +1 -1
- package/lib/typescript/src/components/BlogView/BlogView.d.ts +0 -4
- package/lib/typescript/src/components/BlogView/BlogView.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/BackBtn.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/MenuBtn.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/PrimaryBtn.d.ts.map +1 -1
- package/lib/typescript/src/components/Button/TextButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Category/Category.d.ts +1 -1
- package/lib/typescript/src/components/Content/Card/Category/Category.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Sliders/Styles/One.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/Four.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/One.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/RotateInOut.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/Six.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/Three.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/TopTen.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Styles/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts +0 -8
- package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/NavigateToMore.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts +1 -2
- package/lib/typescript/src/components/Content/Card/components/NoContentFallback.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/ShowAllButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/ThumbnailCard.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/index.d.ts +2 -2
- package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/ContentView.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/MoreContentList.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +1 -6
- package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/components/GenreTags.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/components/HeroBanner.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/components/PlayButton.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/Title.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/components/Title.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts +1 -2
- package/lib/typescript/src/components/ContentView/components/TrailerButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Headers/AppHeader.d.ts.map +1 -1
- package/lib/typescript/src/components/Headers/One.d.ts.map +1 -1
- package/lib/typescript/src/components/Headers/Three.d.ts.map +1 -1
- package/lib/typescript/src/components/Headers/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/InputOne.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/InputTwo.d.ts.map +1 -1
- package/lib/typescript/src/components/Input/PhoneNumberInput.d.ts.map +1 -1
- package/lib/typescript/src/components/Keyboard/HideKeyboard.d.ts.map +1 -1
- package/lib/typescript/src/components/Loader/Loader.d.ts +0 -4
- package/lib/typescript/src/components/Loader/Loader.d.ts.map +1 -1
- package/lib/typescript/src/components/Logo/Logo.d.ts.map +1 -1
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts +12 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/Episodes.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts +9 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/Model/Synopsis.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts +13 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts +18 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelSeriesOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts +15 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeries.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts +18 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/ReelsSeriesItem.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts +24 -0
- package/lib/typescript/src/components/Reels/ReelsSeries/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Reels/index.d.ts +8 -0
- package/lib/typescript/src/components/Reels/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
- package/lib/typescript/src/components/Search/components/RecentSearchesSection.d.ts.map +1 -1
- package/lib/typescript/src/components/Search/components/SearchCard.d.ts.map +1 -1
- package/lib/typescript/src/components/Settings/AppSettings.d.ts.map +1 -1
- package/lib/typescript/src/components/Subscription/SubOne.d.ts +1 -1
- package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
- package/lib/typescript/src/components/Subscription/index.d.ts +2 -2
- package/lib/typescript/src/components/Subscription/index.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/One.d.ts +2 -2
- package/lib/typescript/src/components/TabBar/One.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/Two.d.ts +1 -1
- package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/index.d.ts +2 -2
- package/lib/typescript/src/components/Text/Text.d.ts.map +1 -1
- package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts +2 -1
- package/lib/typescript/src/components/User/DeviceSessions/DeviceSessions.d.ts.map +1 -1
- package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts +27 -0
- package/lib/typescript/src/components/User/ProfileUpdate/ProfileUpdate.d.ts.map +1 -0
- package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
- package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts.map +1 -1
- package/lib/typescript/src/components/User/components/UserAvatar.d.ts.map +1 -1
- package/lib/typescript/src/components/User/components/UserSection.d.ts.map +1 -1
- package/lib/typescript/src/components/User/index.d.ts +2 -1
- package/lib/typescript/src/components/User/index.d.ts.map +1 -1
- package/lib/typescript/src/components/View/View.d.ts.map +1 -1
- package/lib/typescript/src/components/index.d.ts +2 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/components/layout/SafeAreaWrapper.d.ts.map +1 -1
- package/lib/typescript/src/constants/dummySections.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useDebounce.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts +1 -1
- package/lib/typescript/src/hooks/useInitSplashCacheSync.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useKeyboard.d.ts.map +1 -1
- package/lib/typescript/src/hooks/usePaginatedSection.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/store/RecentSearchesStore.d.ts +5 -3
- package/lib/typescript/src/store/RecentSearchesStore.d.ts.map +1 -1
- package/lib/typescript/src/store/splashStore.d.ts +5 -3
- package/lib/typescript/src/store/splashStore.d.ts.map +1 -1
- package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theme/hook/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/theme/index.d.ts +5 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/themes.d.ts +12 -4
- package/lib/typescript/src/theme/themes.d.ts.map +1 -1
- package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
- package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts +1 -1
- package/lib/typescript/src/types/hook/usePaginatedSetion.d.ts.map +1 -1
- package/lib/typescript/src/utils/Formater.d.ts +2 -0
- package/lib/typescript/src/utils/Formater.d.ts.map +1 -0
- package/package.json +175 -70
- package/src/Styles/globalStyles.ts +18 -18
- package/src/assets/animations/135037-payment-processing-error.json +1347 -1
- package/src/assets/animations/7227-vui-animation.json +3377 -1
- package/src/assets/animations/heart.json +788 -0
- package/src/assets/animations/succesfull-payment.json +2379 -1
- package/src/assets/animations/voice-icon.json +542 -1
- package/src/components/Account/Account.tsx +139 -61
- package/src/components/Alert/UAAlert.tsx +168 -0
- package/src/components/Alert/index.ts +1 -0
- package/src/components/Auth/ForgotPassword/ForgotPassword.tsx +53 -23
- package/src/components/Auth/Login/LoginWithEmail.tsx +62 -32
- package/src/components/Auth/Login/LoginWithPhone.tsx +55 -24
- package/src/components/Auth/OTP/OTP.tsx +77 -32
- package/src/components/Auth/QrLogin/QrLogin.tsx +306 -0
- package/src/components/Auth/QrLogin/components/QrViewArea.tsx +213 -0
- package/src/components/Auth/SignUp/SignUp.tsx +67 -32
- package/src/components/Auth/SplashScreen/SplashScreen.tsx +44 -16
- package/src/components/Auth/SplashScreen/components/SplashImage/SplashImage.tsx +21 -12
- package/src/components/Auth/SplashScreen/components/SplashLottie/SplashLottie.tsx +5 -5
- package/src/components/Auth/SplashScreen/components/SplashVideo/SplashVideo.tsx +15 -5
- package/src/components/Auth/index.ts +3 -1
- package/src/components/BackgroundLayout/BackgroundLayout.tsx +45 -17
- package/src/components/BlogView/BlogView.tsx +51 -31
- package/src/components/Button/BackBtn.tsx +31 -9
- package/src/components/Button/MenuBtn.tsx +61 -22
- package/src/components/Button/PrimaryBtn.tsx +30 -10
- package/src/components/Button/TextButton.tsx +30 -15
- package/src/components/Button/index.ts +1 -1
- package/src/components/Content/Card/Category/Category.tsx +73 -32
- package/src/components/Content/Card/NowWatching/NowWatching.tsx +102 -44
- package/src/components/Content/Card/Sliders/Styles/One.tsx +89 -38
- package/src/components/Content/Card/Sliders/Styles/Two.tsx +47 -21
- package/src/components/Content/Card/Sliders/index.ts +2 -2
- package/src/components/Content/Card/Styles/Five.tsx +65 -22
- package/src/components/Content/Card/Styles/Four.tsx +73 -23
- package/src/components/Content/Card/Styles/One.tsx +68 -21
- package/src/components/Content/Card/Styles/RotateInOut.tsx +59 -23
- package/src/components/Content/Card/Styles/Six.tsx +57 -19
- package/src/components/Content/Card/Styles/Three.tsx +59 -23
- package/src/components/Content/Card/Styles/TopTen.tsx +59 -26
- package/src/components/Content/Card/Styles/Two.tsx +39 -18
- package/src/components/Content/Card/components/CardPoster.tsx +34 -32
- package/src/components/Content/Card/components/NavigateToMore.tsx +17 -7
- package/src/components/Content/Card/components/NoContentFallback.tsx +36 -19
- package/src/components/Content/Card/components/ShowAllButton.tsx +12 -8
- package/src/components/Content/Card/components/ThumbnailCard.tsx +26 -17
- package/src/components/Content/Card/index.ts +2 -2
- package/src/components/Content/Content.tsx +41 -17
- package/src/components/Content/Sections.tsx +14 -8
- package/src/components/ContentView/ContentView.tsx +34 -27
- package/src/components/ContentView/MoreContentList.tsx +40 -18
- package/src/components/ContentView/components/AboutSection.tsx +30 -12
- package/src/components/ContentView/components/CastCard.tsx +65 -24
- package/src/components/ContentView/components/EpisodeCard.tsx +109 -44
- package/src/components/ContentView/components/GenreTags.tsx +35 -11
- package/src/components/ContentView/components/HeroBanner.tsx +52 -21
- package/src/components/ContentView/components/PlayButton.tsx +13 -5
- package/src/components/ContentView/components/Title.tsx +30 -10
- package/src/components/ContentView/components/TrailerButton.tsx +16 -7
- package/src/components/Headers/AppHeader.tsx +41 -15
- package/src/components/Headers/One.tsx +19 -10
- package/src/components/Headers/Three.tsx +22 -7
- package/src/components/Headers/Two.tsx +25 -14
- package/src/components/Headers/index.ts +1 -1
- package/src/components/Input/Input.ts +1 -1
- package/src/components/Input/InputOne.tsx +69 -23
- package/src/components/Input/InputTwo.tsx +41 -18
- package/src/components/Input/PhoneNumberInput.tsx +94 -48
- package/src/components/Keyboard/HideKeyboard.tsx +16 -10
- package/src/components/Loader/Loader.tsx +3 -8
- package/src/components/Logo/Logo.tsx +17 -9
- package/src/components/Reels/ReelsSeries/Model/Episodes.tsx +133 -0
- package/src/components/Reels/ReelsSeries/Model/Synopsis.tsx +249 -0
- package/src/components/Reels/ReelsSeries/ReelSeriesDetailsModal.tsx +209 -0
- package/src/components/Reels/ReelsSeries/ReelSeriesOverlay.tsx +185 -0
- package/src/components/Reels/ReelsSeries/ReelsSeries.tsx +163 -0
- package/src/components/Reels/ReelsSeries/ReelsSeriesItem.tsx +333 -0
- package/src/components/Reels/ReelsSeries/types.ts +27 -0
- package/src/components/Reels/index.ts +8 -0
- package/src/components/Search/One.tsx +46 -17
- package/src/components/Search/components/RecentSearchesSection.tsx +48 -21
- package/src/components/Search/components/SearchCard.tsx +34 -16
- package/src/components/Search/index.ts +1 -1
- package/src/components/Settings/AppSettings.tsx +80 -29
- package/src/components/Subscription/SubOne.tsx +84 -39
- package/src/components/Subscription/index.ts +1 -1
- package/src/components/TabBar/One.tsx +22 -18
- package/src/components/TabBar/Three.tsx +55 -19
- package/src/components/TabBar/Two.tsx +16 -12
- package/src/components/TabBar/index.ts +1 -1
- package/src/components/Text/Text.tsx +7 -3
- package/src/components/User/DeviceSessions/DeviceSessions.tsx +104 -38
- package/src/components/User/ProfileUpdate/ProfileUpdate.tsx +265 -0
- package/src/components/User/WatchHistory/WatchHistory.tsx +37 -12
- package/src/components/User/WatchLater/WatchLater.tsx +94 -31
- package/src/components/User/components/UserAvatar.tsx +8 -4
- package/src/components/User/components/UserSection.tsx +39 -27
- package/src/components/User/index.ts +3 -1
- package/src/components/View/View.tsx +11 -2
- package/src/components/index.ts +2 -0
- package/src/components/layout/SafeAreaWrapper.tsx +10 -4
- package/src/constants/dummySections.ts +9 -7
- package/src/hooks/useDebounce.ts +4 -1
- package/src/hooks/useInitSplashCacheSync.ts +46 -18
- package/src/hooks/useKeyboard.ts +5 -3
- package/src/hooks/usePaginatedSection.ts +11 -7
- package/src/store/RecentSearchesStore.ts +12 -7
- package/src/store/splashStore.ts +16 -16
- package/src/theme/ThemeProvider.tsx +57 -24
- package/src/theme/hook/useTheme.ts +7 -3
- package/src/theme/index.ts +6 -0
- package/src/theme/themes.ts +45 -31
- package/src/types/content/content-view.types.ts +4 -1
- package/src/types/hook/usePaginatedSetion.ts +1 -1
- package/src/utils/Formater.ts +14 -0
- package/lib/module/components/Icons/AlertIcon.js +0 -33
- package/lib/module/components/Icons/AlertIcon.js.map +0 -1
- package/lib/module/components/Icons/DeviceIcon.js +0 -25
- package/lib/module/components/Icons/DeviceIcon.js.map +0 -1
- package/lib/module/components/Icons/DoneIcon/DoneIcon.js +0 -23
- package/lib/module/components/Icons/DoneIcon/DoneIcon.js.map +0 -1
- package/lib/module/components/Icons/ForgotPasswordMessageIcon.js +0 -65
- package/lib/module/components/Icons/ForgotPasswordMessageIcon.js.map +0 -1
- package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js +0 -56
- package/lib/module/components/Icons/ForgotPasswordMessageIconTwo.js.map +0 -1
- package/lib/module/components/Icons/NewIndex.js +0 -36
- package/lib/module/components/Icons/NewIndex.js.map +0 -1
- package/lib/module/components/Icons/ResendOTP.js +0 -21
- package/lib/module/components/Icons/ResendOTP.js.map +0 -1
- package/lib/typescript/src/components/Icons/AlertIcon.d.ts +0 -7
- package/lib/typescript/src/components/Icons/AlertIcon.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/DeviceIcon.d.ts +0 -7
- package/lib/typescript/src/components/Icons/DeviceIcon.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts +0 -6
- package/lib/typescript/src/components/Icons/DoneIcon/DoneIcon.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts +0 -3
- package/lib/typescript/src/components/Icons/ForgotPasswordMessageIcon.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts +0 -3
- package/lib/typescript/src/components/Icons/ForgotPasswordMessageIconTwo.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/NewIndex.d.ts +0 -19
- package/lib/typescript/src/components/Icons/NewIndex.d.ts.map +0 -1
- package/lib/typescript/src/components/Icons/ResendOTP.d.ts +0 -7
- package/lib/typescript/src/components/Icons/ResendOTP.d.ts.map +0 -1
- package/src/components/Icons/AlertIcon.tsx +0 -18
- package/src/components/Icons/DeviceIcon.tsx +0 -18
- package/src/components/Icons/DoneIcon/DoneIcon.tsx +0 -17
- package/src/components/Icons/ForgotPasswordMessageIcon.tsx +0 -34
- package/src/components/Icons/ForgotPasswordMessageIconTwo.tsx +0 -32
- package/src/components/Icons/NewIndex.ts +0 -35
- package/src/components/Icons/ResendOTP.tsx +0 -13
- /package/lib/module/assets/{img → svg}/h.svg +0 -0
- /package/src/assets/{img → svg}/h.svg +0 -0
- /package/src/{index.ts → index.tsx} +0 -0
|
@@ -4,7 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
View,
|
|
9
|
+
StyleSheet,
|
|
10
|
+
FlatList,
|
|
11
|
+
TouchableOpacity,
|
|
12
|
+
type StyleProp,
|
|
13
|
+
type ViewStyle,
|
|
14
|
+
Alert,
|
|
15
|
+
} from 'react-native';
|
|
8
16
|
import { scale, verticalScale } from 'react-native-size-matters';
|
|
9
17
|
import { Text } from '../../Text';
|
|
10
18
|
import { useTheme } from '../../../theme/hook/useTheme';
|
|
@@ -12,6 +20,7 @@ import AppHeader from '../../Headers/AppHeader';
|
|
|
12
20
|
import SkeletonPlaceholder from 'react-native-skeleton-placeholder';
|
|
13
21
|
import type { AppTheme } from '../../../theme/themes';
|
|
14
22
|
import { RFValue } from 'react-native-responsive-fontsize';
|
|
23
|
+
import { ScanLine } from 'lucide-react-native';
|
|
15
24
|
|
|
16
25
|
type IUserLocation = {
|
|
17
26
|
country: string | null;
|
|
@@ -49,10 +58,17 @@ type IDeviceSessionsProps = {
|
|
|
49
58
|
error?: string;
|
|
50
59
|
onLogout: ({ session }: { session: ISessions }) => void;
|
|
51
60
|
onBackPress?: () => void;
|
|
61
|
+
onQrLoginPress?: () => void;
|
|
52
62
|
style?: StyleProp<ViewStyle>;
|
|
53
63
|
title?: string;
|
|
54
64
|
renderLogoutButton?: ({ session }: { session: ISessions }) => React.ReactNode;
|
|
55
|
-
renderContent?: ({
|
|
65
|
+
renderContent?: ({
|
|
66
|
+
session,
|
|
67
|
+
isActive,
|
|
68
|
+
}: {
|
|
69
|
+
session: ISessions;
|
|
70
|
+
isActive: boolean;
|
|
71
|
+
}) => React.ReactNode | null;
|
|
56
72
|
textLabels?: TextLabels;
|
|
57
73
|
headerStyle?: StyleProp<ViewStyle>;
|
|
58
74
|
headerTitleAlign?: 'left' | 'center';
|
|
@@ -68,6 +84,7 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
68
84
|
activeSessionId,
|
|
69
85
|
onLogout,
|
|
70
86
|
onBackPress = () => {},
|
|
87
|
+
onQrLoginPress,
|
|
71
88
|
title = 'Manage Devices',
|
|
72
89
|
style,
|
|
73
90
|
error,
|
|
@@ -80,12 +97,14 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
80
97
|
renderHeader,
|
|
81
98
|
theme,
|
|
82
99
|
isLoading,
|
|
83
|
-
isLoadingLogout
|
|
100
|
+
isLoadingLogout,
|
|
84
101
|
}) => {
|
|
85
102
|
const { theme: appliedTheme } = useTheme(theme);
|
|
86
103
|
const colors = appliedTheme.colors;
|
|
87
104
|
|
|
88
|
-
const [logoutSessionId, setLogoutSessionId] = React.useState<string | null>(
|
|
105
|
+
const [logoutSessionId, setLogoutSessionId] = React.useState<string | null>(
|
|
106
|
+
null
|
|
107
|
+
);
|
|
89
108
|
|
|
90
109
|
const {
|
|
91
110
|
thisDevice = 'This Device',
|
|
@@ -94,17 +113,21 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
94
113
|
noSessions = 'No active sessions found.',
|
|
95
114
|
loadingLogoutText = 'Logging out...',
|
|
96
115
|
cannotLogoutThisDeviceTitle = '⚠️ Cannot Logout',
|
|
97
|
-
cannotLogoutThisDeviceMessage = 'You cannot log out of this device.'
|
|
116
|
+
cannotLogoutThisDeviceMessage = 'You cannot log out of this device.',
|
|
98
117
|
} = textLabels || {};
|
|
99
118
|
|
|
100
|
-
const renderItem = ({
|
|
119
|
+
const renderItem = ({
|
|
120
|
+
item,
|
|
121
|
+
}: {
|
|
122
|
+
item: ISessions;
|
|
123
|
+
}): React.ReactElement | null => {
|
|
101
124
|
const isActive = item?.id === activeSessionId;
|
|
102
125
|
const isLoggingOut = isLoadingLogout && logoutSessionId === item.id;
|
|
103
126
|
if (renderContent) {
|
|
104
127
|
return (
|
|
105
128
|
(renderContent({
|
|
106
129
|
session: item,
|
|
107
|
-
isActive
|
|
130
|
+
isActive,
|
|
108
131
|
}) as React.ReactElement) ?? null
|
|
109
132
|
);
|
|
110
133
|
}
|
|
@@ -113,9 +136,14 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
113
136
|
const hasLocation = location?.city || location?.state || location?.country;
|
|
114
137
|
const handleLogoutPress = () => {
|
|
115
138
|
if (isActive) {
|
|
116
|
-
Alert.alert(
|
|
117
|
-
|
|
118
|
-
|
|
139
|
+
Alert.alert(
|
|
140
|
+
cannotLogoutThisDeviceTitle,
|
|
141
|
+
cannotLogoutThisDeviceMessage,
|
|
142
|
+
[{ text: 'Cancel', style: 'cancel' }],
|
|
143
|
+
{
|
|
144
|
+
cancelable: true,
|
|
145
|
+
}
|
|
146
|
+
);
|
|
119
147
|
return;
|
|
120
148
|
}
|
|
121
149
|
setLogoutSessionId(item.id);
|
|
@@ -128,21 +156,30 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
128
156
|
{
|
|
129
157
|
backgroundColor: colors.surfaceVariant,
|
|
130
158
|
borderColor: colors.outlineVariant ?? colors.outline,
|
|
131
|
-
shadowColor: colors.shadow ?? '#000'
|
|
132
|
-
}
|
|
159
|
+
shadowColor: colors.shadow ?? '#000',
|
|
160
|
+
},
|
|
133
161
|
]}
|
|
134
162
|
>
|
|
135
163
|
<View style={styles.deviceInfo}>
|
|
136
164
|
{(name || isActive) && (
|
|
137
165
|
<View style={styles.deviceRowHeader}>
|
|
138
166
|
{name && (
|
|
139
|
-
<Text
|
|
167
|
+
<Text
|
|
168
|
+
numberOfLines={1}
|
|
169
|
+
ellipsizeMode="tail"
|
|
170
|
+
style={[styles.deviceName, { color: colors.onSurface }]}
|
|
171
|
+
>
|
|
140
172
|
{name}
|
|
141
173
|
</Text>
|
|
142
174
|
)}
|
|
143
175
|
{isActive && (
|
|
144
|
-
<View
|
|
145
|
-
|
|
176
|
+
<View
|
|
177
|
+
style={[styles.badge, { backgroundColor: colors.button }]}
|
|
178
|
+
>
|
|
179
|
+
<Text
|
|
180
|
+
numberOfLines={1}
|
|
181
|
+
style={[styles.badgeText, { color: colors.black }]}
|
|
182
|
+
>
|
|
146
183
|
{thisDevice}
|
|
147
184
|
</Text>
|
|
148
185
|
</View>
|
|
@@ -158,7 +195,10 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
158
195
|
>
|
|
159
196
|
{browser}
|
|
160
197
|
{browser && hasLocation ? ' · ' : ''}
|
|
161
|
-
{hasLocation &&
|
|
198
|
+
{hasLocation &&
|
|
199
|
+
[location?.city, location?.state, location?.country]
|
|
200
|
+
.filter(Boolean)
|
|
201
|
+
.join(', ')}
|
|
162
202
|
</Text>
|
|
163
203
|
)}
|
|
164
204
|
|
|
@@ -175,7 +215,7 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
175
215
|
|
|
176
216
|
{renderLogoutButton ? (
|
|
177
217
|
renderLogoutButton({
|
|
178
|
-
session: item
|
|
218
|
+
session: item,
|
|
179
219
|
})
|
|
180
220
|
) : (
|
|
181
221
|
<TouchableOpacity
|
|
@@ -184,7 +224,11 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
184
224
|
activeOpacity={0.7}
|
|
185
225
|
onPress={handleLogoutPress}
|
|
186
226
|
>
|
|
187
|
-
<Text
|
|
227
|
+
<Text
|
|
228
|
+
numberOfLines={1}
|
|
229
|
+
ellipsizeMode="tail"
|
|
230
|
+
style={[styles.logoutText, { color: colors.primary }]}
|
|
231
|
+
>
|
|
188
232
|
{isLoggingOut ? loadingLogoutText : logOut}
|
|
189
233
|
</Text>
|
|
190
234
|
</TouchableOpacity>
|
|
@@ -205,7 +249,7 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
205
249
|
borderRadius: scale(10),
|
|
206
250
|
padding: scale(12),
|
|
207
251
|
marginBottom: verticalScale(12),
|
|
208
|
-
backgroundColor: colors.surfaceVariant
|
|
252
|
+
backgroundColor: colors.surfaceVariant,
|
|
209
253
|
}}
|
|
210
254
|
>
|
|
211
255
|
<SkeletonPlaceholder
|
|
@@ -213,7 +257,11 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
213
257
|
highlightColor={colors.skeletonHighlightColor || '#F2F8FC'}
|
|
214
258
|
borderRadius={scale(8)}
|
|
215
259
|
>
|
|
216
|
-
<SkeletonPlaceholder.Item
|
|
260
|
+
<SkeletonPlaceholder.Item
|
|
261
|
+
flexDirection="row"
|
|
262
|
+
alignItems="center"
|
|
263
|
+
justifyContent="space-between"
|
|
264
|
+
>
|
|
217
265
|
<SkeletonPlaceholder.Item flex={1} paddingRight={scale(12)}>
|
|
218
266
|
<SkeletonPlaceholder.Item
|
|
219
267
|
width="60%"
|
|
@@ -227,10 +275,18 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
227
275
|
borderRadius={scale(4)}
|
|
228
276
|
marginBottom={scale(4)}
|
|
229
277
|
/>
|
|
230
|
-
<SkeletonPlaceholder.Item
|
|
278
|
+
<SkeletonPlaceholder.Item
|
|
279
|
+
width="50%"
|
|
280
|
+
height={scale(10)}
|
|
281
|
+
borderRadius={scale(4)}
|
|
282
|
+
/>
|
|
231
283
|
</SkeletonPlaceholder.Item>
|
|
232
284
|
|
|
233
|
-
<SkeletonPlaceholder.Item
|
|
285
|
+
<SkeletonPlaceholder.Item
|
|
286
|
+
width={scale(80)}
|
|
287
|
+
height={verticalScale(30)}
|
|
288
|
+
borderRadius={scale(6)}
|
|
289
|
+
/>
|
|
234
290
|
</SkeletonPlaceholder.Item>
|
|
235
291
|
</SkeletonPlaceholder>
|
|
236
292
|
</View>
|
|
@@ -247,13 +303,23 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
247
303
|
});
|
|
248
304
|
}, [sessions, activeSessionId]);
|
|
249
305
|
return (
|
|
250
|
-
<View
|
|
306
|
+
<View
|
|
307
|
+
style={[styles.container, { backgroundColor: colors.background }, style]}
|
|
308
|
+
>
|
|
251
309
|
{renderHeader ? (
|
|
252
310
|
renderHeader()
|
|
253
311
|
) : (
|
|
254
312
|
<AppHeader
|
|
255
313
|
title={title}
|
|
256
314
|
onBackPress={onBackPress}
|
|
315
|
+
onRightPress={onQrLoginPress}
|
|
316
|
+
rightIcon={
|
|
317
|
+
<ScanLine
|
|
318
|
+
size={22}
|
|
319
|
+
strokeWidth={2}
|
|
320
|
+
color={colors.onSurfaceVariant}
|
|
321
|
+
/>
|
|
322
|
+
}
|
|
257
323
|
titleAlign={headerTitleAlign}
|
|
258
324
|
style={headerStyle}
|
|
259
325
|
titleStyle={headerTitleStyle}
|
|
@@ -287,11 +353,11 @@ export const DeviceSessions: React.FC<IDeviceSessionsProps> = ({
|
|
|
287
353
|
|
|
288
354
|
const styles = StyleSheet.create({
|
|
289
355
|
container: {
|
|
290
|
-
flex: 1
|
|
356
|
+
flex: 1,
|
|
291
357
|
},
|
|
292
358
|
listContent: {
|
|
293
359
|
paddingHorizontal: scale(16),
|
|
294
|
-
paddingVertical: verticalScale(12)
|
|
360
|
+
paddingVertical: verticalScale(12),
|
|
295
361
|
},
|
|
296
362
|
deviceRow: {
|
|
297
363
|
flexDirection: 'row',
|
|
@@ -304,11 +370,11 @@ const styles = StyleSheet.create({
|
|
|
304
370
|
elevation: 2,
|
|
305
371
|
shadowOpacity: 0.1,
|
|
306
372
|
shadowOffset: { width: 0, height: 1 },
|
|
307
|
-
shadowRadius: 4
|
|
373
|
+
shadowRadius: 4,
|
|
308
374
|
},
|
|
309
375
|
deviceInfo: {
|
|
310
376
|
flex: 1,
|
|
311
|
-
paddingRight: scale(12)
|
|
377
|
+
paddingRight: scale(12),
|
|
312
378
|
},
|
|
313
379
|
deviceRowHeader: {
|
|
314
380
|
flexDirection: 'row',
|
|
@@ -316,18 +382,18 @@ const styles = StyleSheet.create({
|
|
|
316
382
|
columnGap: scale(8),
|
|
317
383
|
rowGap: verticalScale(2),
|
|
318
384
|
flexWrap: 'wrap',
|
|
319
|
-
marginBottom: scale(4)
|
|
385
|
+
marginBottom: scale(4),
|
|
320
386
|
},
|
|
321
387
|
deviceName: {
|
|
322
388
|
fontSize: RFValue(12),
|
|
323
389
|
fontWeight: '600',
|
|
324
390
|
flexShrink: 1,
|
|
325
|
-
maxWidth: '80%'
|
|
391
|
+
maxWidth: '80%',
|
|
326
392
|
},
|
|
327
393
|
deviceMeta: {
|
|
328
394
|
fontSize: RFValue(9),
|
|
329
395
|
marginTop: scale(2),
|
|
330
|
-
flexShrink: 1
|
|
396
|
+
flexShrink: 1,
|
|
331
397
|
},
|
|
332
398
|
logoutButton: {
|
|
333
399
|
paddingHorizontal: scale(12),
|
|
@@ -335,36 +401,36 @@ const styles = StyleSheet.create({
|
|
|
335
401
|
borderRadius: scale(6),
|
|
336
402
|
minWidth: scale(80),
|
|
337
403
|
borderWidth: scale(1.5),
|
|
338
|
-
alignItems: 'center'
|
|
404
|
+
alignItems: 'center',
|
|
339
405
|
},
|
|
340
406
|
logoutText: {
|
|
341
407
|
fontSize: RFValue(10),
|
|
342
|
-
fontWeight: '600'
|
|
408
|
+
fontWeight: '600',
|
|
343
409
|
},
|
|
344
410
|
badge: {
|
|
345
411
|
paddingHorizontal: scale(8),
|
|
346
412
|
paddingVertical: verticalScale(2),
|
|
347
|
-
borderRadius: scale(6)
|
|
413
|
+
borderRadius: scale(6),
|
|
348
414
|
},
|
|
349
415
|
badgeText: {
|
|
350
416
|
fontSize: RFValue(9),
|
|
351
417
|
fontWeight: '500',
|
|
352
418
|
maxWidth: scale(100),
|
|
353
|
-
flexShrink: 1
|
|
419
|
+
flexShrink: 1,
|
|
354
420
|
},
|
|
355
421
|
emptyWrapper: {
|
|
356
422
|
paddingVertical: verticalScale(40),
|
|
357
423
|
alignItems: 'center',
|
|
358
|
-
justifyContent: 'center'
|
|
424
|
+
justifyContent: 'center',
|
|
359
425
|
},
|
|
360
426
|
emptyText: {
|
|
361
427
|
fontSize: RFValue(11),
|
|
362
|
-
textAlign: 'center'
|
|
428
|
+
textAlign: 'center',
|
|
363
429
|
},
|
|
364
430
|
skeletonLine: {
|
|
365
431
|
borderRadius: scale(4),
|
|
366
|
-
backgroundColor: '#ccc'
|
|
367
|
-
}
|
|
432
|
+
backgroundColor: '#ccc',
|
|
433
|
+
},
|
|
368
434
|
});
|
|
369
435
|
|
|
370
436
|
export namespace DeviceSessions {
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Naresh Dhamu
|
|
3
|
+
* @lastModified Fri 03 Oct 2025 at 01:09 PM
|
|
4
|
+
*/
|
|
5
|
+
import { useCallback } from 'react';
|
|
6
|
+
import {
|
|
7
|
+
View,
|
|
8
|
+
StyleSheet,
|
|
9
|
+
KeyboardAvoidingView,
|
|
10
|
+
Platform,
|
|
11
|
+
TouchableWithoutFeedback,
|
|
12
|
+
Keyboard,
|
|
13
|
+
TouchableOpacity,
|
|
14
|
+
} from 'react-native';
|
|
15
|
+
import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
|
|
16
|
+
import { RFValue } from 'react-native-responsive-fontsize';
|
|
17
|
+
import { Camera } from 'lucide-react-native';
|
|
18
|
+
import { useForm, Controller } from 'react-hook-form';
|
|
19
|
+
import { Text } from '../../Text';
|
|
20
|
+
import AppHeader from '../../Headers/AppHeader';
|
|
21
|
+
import { useTheme } from '../../../theme/hook/useTheme';
|
|
22
|
+
import type { AppTheme } from '../../../theme/themes';
|
|
23
|
+
import UserAvatar from '../components/UserAvatar';
|
|
24
|
+
import { Input } from '../../Input/Input';
|
|
25
|
+
import { Button } from '../../Button';
|
|
26
|
+
import ImageCropPicker, { type Image } from 'react-native-image-crop-picker';
|
|
27
|
+
|
|
28
|
+
export type ProfileUpdateFormValues = {
|
|
29
|
+
fullName: string;
|
|
30
|
+
avatarFile: Image; // new field to store actual file
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type ProfileUpdateProps = {
|
|
34
|
+
title?: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
avatarUri?: string;
|
|
37
|
+
onBackPress?: () => void;
|
|
38
|
+
onSubmit?: (val: { fullName: string; avatarFile: Image }) => void;
|
|
39
|
+
theme?: AppTheme;
|
|
40
|
+
loading?: boolean;
|
|
41
|
+
onError?: (error: { message: string }) => void;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export const ProfileUpdate = ({
|
|
45
|
+
title = 'My Profile',
|
|
46
|
+
name = '',
|
|
47
|
+
avatarUri = '',
|
|
48
|
+
onBackPress,
|
|
49
|
+
onSubmit,
|
|
50
|
+
theme,
|
|
51
|
+
loading = false,
|
|
52
|
+
onError,
|
|
53
|
+
}: ProfileUpdateProps) => {
|
|
54
|
+
const { theme: appliedTheme } = useTheme(theme);
|
|
55
|
+
const { colors } = appliedTheme;
|
|
56
|
+
|
|
57
|
+
const {
|
|
58
|
+
control,
|
|
59
|
+
handleSubmit,
|
|
60
|
+
formState: { errors },
|
|
61
|
+
trigger,
|
|
62
|
+
setValue,
|
|
63
|
+
watch,
|
|
64
|
+
} = useForm<ProfileUpdateFormValues>({
|
|
65
|
+
defaultValues: {
|
|
66
|
+
fullName: name,
|
|
67
|
+
avatarFile: {
|
|
68
|
+
path: avatarUri,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
mode: 'onChange',
|
|
72
|
+
reValidateMode: 'onBlur',
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const avatar = watch('avatarFile');
|
|
76
|
+
|
|
77
|
+
const handlePickImage = async () => {
|
|
78
|
+
try {
|
|
79
|
+
const image = await ImageCropPicker.openPicker({
|
|
80
|
+
width: 400,
|
|
81
|
+
height: 400,
|
|
82
|
+
cropping: true,
|
|
83
|
+
showCropGuidelines: false,
|
|
84
|
+
cropperCircleOverlay: true,
|
|
85
|
+
showCropFrame: false,
|
|
86
|
+
compressImageQuality: 0.7,
|
|
87
|
+
mediaType: 'photo',
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
if (image?.path && image?.path !== '' && image.path !== avatarUri) {
|
|
91
|
+
setValue('avatarFile', image, {
|
|
92
|
+
shouldValidate: true,
|
|
93
|
+
shouldDirty: true,
|
|
94
|
+
});
|
|
95
|
+
} else {
|
|
96
|
+
onError?.({ message: 'No image selected' });
|
|
97
|
+
}
|
|
98
|
+
} catch (error) {
|
|
99
|
+
const message = (error as Error).message;
|
|
100
|
+
onError?.({ message });
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const handleFormSubmit = useCallback(
|
|
105
|
+
(data: ProfileUpdateFormValues) => {
|
|
106
|
+
Keyboard.dismiss();
|
|
107
|
+
if (data.avatarFile.path !== avatarUri) {
|
|
108
|
+
onSubmit?.({
|
|
109
|
+
avatarFile: data.avatarFile,
|
|
110
|
+
fullName: data.fullName,
|
|
111
|
+
});
|
|
112
|
+
} else {
|
|
113
|
+
onError?.({ message: 'No image selected' });
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
[avatarUri, onError, onSubmit]
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
return (
|
|
120
|
+
<KeyboardAvoidingView
|
|
121
|
+
style={[styles.container, { backgroundColor: colors.background }]}
|
|
122
|
+
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
|
123
|
+
>
|
|
124
|
+
<TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}>
|
|
125
|
+
<View style={{ flex: 1 }}>
|
|
126
|
+
<AppHeader
|
|
127
|
+
title={title}
|
|
128
|
+
onBackPress={onBackPress}
|
|
129
|
+
theme={appliedTheme}
|
|
130
|
+
titleAlign="left"
|
|
131
|
+
/>
|
|
132
|
+
|
|
133
|
+
<View style={styles.content}>
|
|
134
|
+
<View style={styles.avatarBox}>
|
|
135
|
+
<UserAvatar
|
|
136
|
+
avatarUri={avatar.path}
|
|
137
|
+
theme={appliedTheme}
|
|
138
|
+
size={100}
|
|
139
|
+
/>
|
|
140
|
+
<TouchableOpacity
|
|
141
|
+
style={[
|
|
142
|
+
styles.cameraBtn,
|
|
143
|
+
{
|
|
144
|
+
borderColor: colors.button,
|
|
145
|
+
backgroundColor: colors.surfaceVariant,
|
|
146
|
+
shadowColor: colors.shadow || colors.surface,
|
|
147
|
+
},
|
|
148
|
+
]}
|
|
149
|
+
activeOpacity={0.8}
|
|
150
|
+
onPress={handlePickImage}
|
|
151
|
+
>
|
|
152
|
+
<Camera
|
|
153
|
+
size={moderateScale(13)}
|
|
154
|
+
color={colors.button}
|
|
155
|
+
strokeWidth={2}
|
|
156
|
+
/>
|
|
157
|
+
</TouchableOpacity>
|
|
158
|
+
</View>
|
|
159
|
+
|
|
160
|
+
<Text style={[styles.label, { color: colors.textPrimary }]}>
|
|
161
|
+
Basic Detail
|
|
162
|
+
</Text>
|
|
163
|
+
|
|
164
|
+
<View style={styles.formContainer}>
|
|
165
|
+
<Controller
|
|
166
|
+
control={control}
|
|
167
|
+
name="fullName"
|
|
168
|
+
rules={{
|
|
169
|
+
required: 'Name is required',
|
|
170
|
+
minLength: { value: 3, message: 'At least 3 characters' },
|
|
171
|
+
}}
|
|
172
|
+
render={({ field: { onChange, value, onBlur } }) => (
|
|
173
|
+
<View style={{ width: '100%' }}>
|
|
174
|
+
<Input.One
|
|
175
|
+
label="Full Name"
|
|
176
|
+
value={value}
|
|
177
|
+
onChangeText={(text) => {
|
|
178
|
+
onChange(text);
|
|
179
|
+
trigger('fullName');
|
|
180
|
+
}}
|
|
181
|
+
onBlur={onBlur}
|
|
182
|
+
placeholder={'Enter your full name'}
|
|
183
|
+
placeholderTextColor={colors.textDisabled}
|
|
184
|
+
containerStyle={{ marginTop: verticalScale(20) }}
|
|
185
|
+
theme={appliedTheme}
|
|
186
|
+
returnKeyType="done"
|
|
187
|
+
onSubmitEditing={handleSubmit(handleFormSubmit)}
|
|
188
|
+
/>
|
|
189
|
+
{errors.fullName && (
|
|
190
|
+
<Text style={[styles.errorText, { color: colors.error }]}>
|
|
191
|
+
{errors.fullName.message}
|
|
192
|
+
</Text>
|
|
193
|
+
)}
|
|
194
|
+
</View>
|
|
195
|
+
)}
|
|
196
|
+
/>
|
|
197
|
+
|
|
198
|
+
<Button.Primary
|
|
199
|
+
title={'Update Profile'}
|
|
200
|
+
onPress={handleSubmit(handleFormSubmit)}
|
|
201
|
+
theme={appliedTheme}
|
|
202
|
+
titleStyle={{ fontSize: RFValue(14) }}
|
|
203
|
+
loading={loading}
|
|
204
|
+
containerStyle={{ marginTop: verticalScale(5) }}
|
|
205
|
+
/>
|
|
206
|
+
</View>
|
|
207
|
+
</View>
|
|
208
|
+
</View>
|
|
209
|
+
</TouchableWithoutFeedback>
|
|
210
|
+
</KeyboardAvoidingView>
|
|
211
|
+
);
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export default ProfileUpdate;
|
|
215
|
+
|
|
216
|
+
namespace ProfileUpdate {
|
|
217
|
+
export type Props = ProfileUpdateProps;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const styles = StyleSheet.create({
|
|
221
|
+
container: { flex: 1 },
|
|
222
|
+
content: {
|
|
223
|
+
flex: 1,
|
|
224
|
+
alignItems: 'center',
|
|
225
|
+
padding: moderateScale(16),
|
|
226
|
+
},
|
|
227
|
+
avatarBox: {
|
|
228
|
+
marginVertical: verticalScale(20),
|
|
229
|
+
alignItems: 'center',
|
|
230
|
+
justifyContent: 'center',
|
|
231
|
+
},
|
|
232
|
+
cameraBtn: {
|
|
233
|
+
position: 'absolute',
|
|
234
|
+
bottom: scale(3),
|
|
235
|
+
right: scale(3),
|
|
236
|
+
padding: scale(2),
|
|
237
|
+
width: scale(23),
|
|
238
|
+
height: scale(23),
|
|
239
|
+
borderRadius: scale(13.5),
|
|
240
|
+
alignItems: 'center',
|
|
241
|
+
justifyContent: 'center',
|
|
242
|
+
borderWidth: 1,
|
|
243
|
+
elevation: 3,
|
|
244
|
+
shadowOffset: { width: 0, height: 1 },
|
|
245
|
+
shadowOpacity: 0.2,
|
|
246
|
+
shadowRadius: 1.5,
|
|
247
|
+
},
|
|
248
|
+
label: {
|
|
249
|
+
fontSize: RFValue(12),
|
|
250
|
+
fontWeight: '500',
|
|
251
|
+
alignSelf: 'flex-start',
|
|
252
|
+
margin: scale(5),
|
|
253
|
+
marginTop: verticalScale(10),
|
|
254
|
+
},
|
|
255
|
+
formContainer: {
|
|
256
|
+
width: '100%',
|
|
257
|
+
alignItems: 'center',
|
|
258
|
+
},
|
|
259
|
+
errorText: {
|
|
260
|
+
fontSize: RFValue(11),
|
|
261
|
+
marginTop: verticalScale(5),
|
|
262
|
+
marginLeft: scale(5),
|
|
263
|
+
alignSelf: 'flex-start',
|
|
264
|
+
},
|
|
265
|
+
});
|
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
StyleSheet,
|
|
9
|
+
View,
|
|
10
|
+
TouchableOpacity,
|
|
11
|
+
type StyleProp,
|
|
12
|
+
type ViewStyle,
|
|
13
|
+
type ListRenderItem,
|
|
14
|
+
} from 'react-native';
|
|
8
15
|
import { FlatGrid } from 'react-native-super-grid';
|
|
9
16
|
import { scale } from 'react-native-size-matters';
|
|
10
17
|
import { Search } from 'lucide-react-native';
|
|
@@ -88,13 +95,13 @@ export const WatchHistory: React.FC<WatchHistoryProps> = ({
|
|
|
88
95
|
onPressItem,
|
|
89
96
|
|
|
90
97
|
onEndReached,
|
|
91
|
-
onEndReachedThreshold
|
|
98
|
+
onEndReachedThreshold,
|
|
92
99
|
}) => {
|
|
93
100
|
const { theme: appliedTheme } = useTheme(theme);
|
|
94
101
|
|
|
95
102
|
const listData = isLoading
|
|
96
103
|
? Array.from({ length: skeletonCount }, (_, i) => ({
|
|
97
|
-
_id: `skeleton-${i}
|
|
104
|
+
_id: `skeleton-${i}`,
|
|
98
105
|
}))
|
|
99
106
|
: data;
|
|
100
107
|
|
|
@@ -103,8 +110,16 @@ export const WatchHistory: React.FC<WatchHistoryProps> = ({
|
|
|
103
110
|
if (!isLoading && renderItem) return renderItem(item, index);
|
|
104
111
|
|
|
105
112
|
return (
|
|
106
|
-
<TouchableOpacity
|
|
107
|
-
|
|
113
|
+
<TouchableOpacity
|
|
114
|
+
key={item._id || index}
|
|
115
|
+
onPress={() => onPressItem?.(item)}
|
|
116
|
+
activeOpacity={0.8}
|
|
117
|
+
>
|
|
118
|
+
<CardPoster
|
|
119
|
+
theme={appliedTheme}
|
|
120
|
+
isLoading={isLoading}
|
|
121
|
+
posterUri={item?.content?.poster}
|
|
122
|
+
/>
|
|
108
123
|
</TouchableOpacity>
|
|
109
124
|
);
|
|
110
125
|
};
|
|
@@ -120,10 +135,17 @@ export const WatchHistory: React.FC<WatchHistoryProps> = ({
|
|
|
120
135
|
titleAlign="left"
|
|
121
136
|
theme={appliedTheme}
|
|
122
137
|
titleStyle={{
|
|
123
|
-
color: appliedTheme.colors.onBackground
|
|
138
|
+
color: appliedTheme.colors.onBackground,
|
|
124
139
|
}}
|
|
125
140
|
onRightPress={onSearchPress}
|
|
126
|
-
rightIcon={
|
|
141
|
+
rightIcon={
|
|
142
|
+
showSearchIcon ? (
|
|
143
|
+
<Search
|
|
144
|
+
size={scale(23)}
|
|
145
|
+
color={appliedTheme.colors.onBackground}
|
|
146
|
+
/>
|
|
147
|
+
) : undefined
|
|
148
|
+
}
|
|
127
149
|
/>
|
|
128
150
|
)}
|
|
129
151
|
|
|
@@ -134,7 +156,10 @@ export const WatchHistory: React.FC<WatchHistoryProps> = ({
|
|
|
134
156
|
data={listData}
|
|
135
157
|
keyExtractor={(item, index) => item._id || `item-${index}`}
|
|
136
158
|
style={listStyle}
|
|
137
|
-
contentContainerStyle={[
|
|
159
|
+
contentContainerStyle={[
|
|
160
|
+
contentContainerStyle,
|
|
161
|
+
{ paddingBottom: scale(50) },
|
|
162
|
+
]}
|
|
138
163
|
renderItem={renderGridItem}
|
|
139
164
|
onEndReached={onEndReached}
|
|
140
165
|
onEndReachedThreshold={onEndReachedThreshold ?? 0.5}
|
|
@@ -152,18 +177,18 @@ export const WatchHistory: React.FC<WatchHistoryProps> = ({
|
|
|
152
177
|
|
|
153
178
|
const styles = StyleSheet.create({
|
|
154
179
|
container: {
|
|
155
|
-
flex: 1
|
|
180
|
+
flex: 1,
|
|
156
181
|
},
|
|
157
182
|
|
|
158
183
|
noData: {
|
|
159
184
|
flex: 1,
|
|
160
185
|
alignItems: 'center',
|
|
161
|
-
justifyContent: 'center'
|
|
186
|
+
justifyContent: 'center',
|
|
162
187
|
},
|
|
163
188
|
noDataText: {
|
|
164
189
|
fontSize: RFValue(12),
|
|
165
|
-
opacity: 0.5
|
|
166
|
-
}
|
|
190
|
+
opacity: 0.5,
|
|
191
|
+
},
|
|
167
192
|
});
|
|
168
193
|
|
|
169
194
|
export namespace WatchHistory {
|