@zezosoft/zezo-ott-react-native-ui-kit 1.0.8 → 1.1.0
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/README.md +1 -1
- package/lib/module/components/Account/Account.js +1 -1
- package/lib/module/components/Account/Account.js.map +1 -1
- package/lib/module/components/Auth/AuthProvider/AuthProvider.js +48 -19
- package/lib/module/components/Auth/AuthProvider/AuthProvider.js.map +1 -1
- package/lib/module/components/Auth/Login/LoginWithEmail.js +4 -2
- package/lib/module/components/Auth/Login/LoginWithEmail.js.map +1 -1
- package/lib/module/components/Auth/OTP/OTP.js +15 -1
- package/lib/module/components/Auth/OTP/OTP.js.map +1 -1
- package/lib/module/components/Auth/SignUp/SignUp.js +4 -2
- package/lib/module/components/Auth/SignUp/SignUp.js.map +1 -1
- package/lib/module/components/BlurView/BlurView.js +171 -0
- package/lib/module/components/BlurView/BlurView.js.map +1 -0
- package/lib/module/components/BlurView/index.js +9 -0
- package/lib/module/components/BlurView/index.js.map +1 -0
- package/lib/module/components/Content/Card/NowWatching/NowWatching.js.map +1 -1
- package/lib/module/components/Content/Card/Sliders/Styles/One.js.map +1 -1
- package/lib/module/components/Content/Card/Sliders/Styles/Two.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Five.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Four.js +2 -3
- package/lib/module/components/Content/Card/Styles/Four.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/One.js +1 -2
- package/lib/module/components/Content/Card/Styles/One.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/RotateInOut.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Six.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Three.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/TopTen.js.map +1 -1
- package/lib/module/components/Content/Card/Styles/Two.js +1 -2
- package/lib/module/components/Content/Card/Styles/Two.js.map +1 -1
- package/lib/module/components/Content/Card/components/CardPoster.js.map +1 -1
- package/lib/module/components/Content/Content.js +4 -2
- package/lib/module/components/Content/Content.js.map +1 -1
- package/lib/module/components/Content/Sections.js.map +1 -1
- package/lib/module/components/ContentView/ContentView.js +4 -2
- package/lib/module/components/ContentView/ContentView.js.map +1 -1
- package/lib/module/components/ContentView/MoreContentList.js.map +1 -1
- package/lib/module/components/ContentView/components/CastCard.js +2 -1
- 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.map +1 -1
- package/lib/module/components/ContentView/components/MiniInfo.js +64 -19
- package/lib/module/components/ContentView/components/MiniInfo.js.map +1 -1
- package/lib/module/components/ContentView/components/Title.js.map +1 -1
- package/lib/module/components/Search/One.js.map +1 -1
- package/lib/module/components/Settings/AppSettings.js +1 -1
- package/lib/module/components/Settings/AppSettings.js.map +1 -1
- package/lib/module/components/Subscription/SubOne.js +340 -14
- package/lib/module/components/Subscription/SubOne.js.map +1 -1
- package/lib/module/components/TabBar/One.js +71 -108
- package/lib/module/components/TabBar/One.js.map +1 -1
- package/lib/module/components/TabBar/Three.js +63 -78
- package/lib/module/components/TabBar/Three.js.map +1 -1
- package/lib/module/components/TabBar/Two.js +110 -106
- package/lib/module/components/TabBar/Two.js.map +1 -1
- package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js +324 -0
- package/lib/module/components/User/PurchaseHistory/PurchaseHistory.js.map +1 -0
- package/lib/module/components/User/WatchHistory/WatchHistory.js.map +1 -1
- package/lib/module/components/User/WatchLater/WatchLater.js.map +1 -1
- package/lib/module/components/User/index.js +2 -1
- package/lib/module/components/User/index.js.map +1 -1
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks/useNavigationMode.js +34 -0
- package/lib/module/hooks/useNavigationMode.js.map +1 -0
- package/lib/module/utils/Spacing.js +26 -0
- package/lib/module/utils/Spacing.js.map +1 -0
- package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts +1 -0
- package/lib/typescript/src/components/Auth/AuthProvider/AuthProvider.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/Login/LoginWithEmail.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/OTP/OTP.d.ts +2 -0
- package/lib/typescript/src/components/Auth/OTP/OTP.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/SignUp/SignUp.d.ts.map +1 -1
- package/lib/typescript/src/components/Auth/index.d.ts +2 -0
- package/lib/typescript/src/components/Auth/index.d.ts.map +1 -1
- package/lib/typescript/src/components/BlurView/BlurView.d.ts +48 -0
- package/lib/typescript/src/components/BlurView/BlurView.d.ts.map +1 -0
- package/lib/typescript/src/components/BlurView/index.d.ts +7 -0
- package/lib/typescript/src/components/BlurView/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Content/Card/NowWatching/NowWatching.d.ts +2 -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 +2 -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 +2 -1
- package/lib/typescript/src/components/Content/Card/Sliders/Styles/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/Sliders/index.d.ts +2 -2
- package/lib/typescript/src/components/Content/Card/Styles/Five.d.ts +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +1 -1
- package/lib/typescript/src/components/Content/Card/components/CardPoster.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts +1 -1
- package/lib/typescript/src/components/Content/Card/components/RentOrBuyIcon.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Card/index.d.ts +24 -24
- package/lib/typescript/src/components/Content/Content.d.ts +2 -1
- package/lib/typescript/src/components/Content/Content.d.ts.map +1 -1
- package/lib/typescript/src/components/Content/Sections.d.ts +2 -1
- package/lib/typescript/src/components/Content/Sections.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/ContentView.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/ContentView.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/MoreContentList.d.ts +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 -1
- package/lib/typescript/src/components/ContentView/components/AboutSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/CastCard.d.ts +1 -1
- package/lib/typescript/src/components/ContentView/components/CastCard.d.ts.map +1 -1
- package/lib/typescript/src/components/ContentView/components/EpisodeCard.d.ts +1 -1
- 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/MiniInfo.d.ts +18 -2
- package/lib/typescript/src/components/ContentView/components/MiniInfo.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/Search/One.d.ts +2 -1
- package/lib/typescript/src/components/Search/One.d.ts.map +1 -1
- package/lib/typescript/src/components/Subscription/SubOne.d.ts +6 -0
- package/lib/typescript/src/components/Subscription/SubOne.d.ts.map +1 -1
- 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 +3 -2
- package/lib/typescript/src/components/TabBar/Three.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/Two.d.ts +13 -4
- package/lib/typescript/src/components/TabBar/Two.d.ts.map +1 -1
- package/lib/typescript/src/components/TabBar/index.d.ts +1 -1
- package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts +50 -0
- package/lib/typescript/src/components/User/PurchaseHistory/PurchaseHistory.d.ts.map +1 -0
- package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts +1 -1
- package/lib/typescript/src/components/User/WatchHistory/WatchHistory.d.ts.map +1 -1
- package/lib/typescript/src/components/User/WatchLater/WatchLater.d.ts +1 -1
- package/lib/typescript/src/components/User/WatchLater/WatchLater.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/index.d.ts +1 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useNavigationMode.d.ts +14 -0
- package/lib/typescript/src/hooks/useNavigationMode.d.ts.map +1 -0
- package/lib/typescript/src/types/content/content-view.types.d.ts +3 -1
- package/lib/typescript/src/types/content/content-view.types.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +1 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/sections/index.d.ts +1 -1
- package/lib/typescript/src/types/sections/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/Spacing.d.ts +16 -0
- package/lib/typescript/src/utils/Spacing.d.ts.map +1 -0
- package/package.json +10 -5
- package/src/components/Account/Account.tsx +1 -1
- package/src/components/Auth/AuthProvider/AuthProvider.tsx +82 -37
- package/src/components/Auth/Login/LoginWithEmail.tsx +9 -2
- package/src/components/Auth/OTP/OTP.tsx +37 -1
- package/src/components/Auth/SignUp/SignUp.tsx +9 -2
- package/src/components/BlurView/BlurView.tsx +199 -0
- package/src/components/BlurView/index.ts +7 -0
- package/src/components/Content/Card/NowWatching/NowWatching.tsx +2 -5
- package/src/components/Content/Card/Sliders/Styles/One.tsx +2 -1
- package/src/components/Content/Card/Sliders/Styles/Two.tsx +2 -1
- package/src/components/Content/Card/Styles/Five.tsx +1 -1
- package/src/components/Content/Card/Styles/Four.tsx +4 -2
- package/src/components/Content/Card/Styles/One.tsx +1 -1
- package/src/components/Content/Card/Styles/RotateInOut.tsx +1 -1
- package/src/components/Content/Card/Styles/Six.tsx +1 -1
- package/src/components/Content/Card/Styles/Three.tsx +1 -1
- package/src/components/Content/Card/Styles/TopTen.tsx +1 -1
- package/src/components/Content/Card/Styles/Two.tsx +1 -1
- package/src/components/Content/Card/components/CardPoster.tsx +1 -1
- package/src/components/Content/Card/components/RentOrBuyIcon.tsx +1 -1
- package/src/components/Content/Content.tsx +7 -5
- package/src/components/Content/Sections.tsx +2 -1
- package/src/components/ContentView/ContentView.tsx +8 -1
- package/src/components/ContentView/MoreContentList.tsx +1 -1
- package/src/components/ContentView/components/AboutSection.tsx +1 -1
- package/src/components/ContentView/components/CastCard.tsx +2 -1
- package/src/components/ContentView/components/EpisodeCard.tsx +5 -1
- package/src/components/ContentView/components/GenreTags.tsx +1 -1
- package/src/components/ContentView/components/MiniInfo.tsx +100 -23
- package/src/components/ContentView/components/Title.tsx +1 -1
- package/src/components/Search/One.tsx +2 -6
- package/src/components/Settings/AppSettings.tsx +1 -1
- package/src/components/Subscription/SubOne.tsx +422 -12
- package/src/components/TabBar/One.tsx +79 -141
- package/src/components/TabBar/Three.tsx +84 -99
- package/src/components/TabBar/Two.tsx +139 -110
- package/src/components/User/PurchaseHistory/PurchaseHistory.tsx +439 -0
- package/src/components/User/WatchHistory/WatchHistory.tsx +1 -1
- package/src/components/User/WatchLater/WatchLater.tsx +1 -1
- package/src/components/User/index.ts +8 -1
- package/src/components/index.ts +1 -0
- package/src/hooks/useNavigationMode.ts +35 -0
- package/src/types/content/content-view.types.ts +6 -1
- package/src/types/index.ts +1 -1
- package/src/types/sections/index.ts +1 -1
- package/src/utils/Spacing.ts +27 -0
- package/lib/module/types/content/index.js +0 -2
- package/lib/module/types/content/index.js.map +0 -1
- package/lib/typescript/src/types/content/index.d.ts +0 -174
- package/lib/typescript/src/types/content/index.d.ts.map +0 -1
- package/src/types/content/index.ts +0 -194
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Naresh Dhamu
|
|
3
|
+
* @lastModified Mon 10 Nov 2025 at 03:35 PM
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
7
|
+
import type { ThemeOverride } from '../../../theme/themes';
|
|
8
|
+
import type { IContentData } from '@zezosoft/zezo-ott-api-client';
|
|
9
|
+
export interface IPurchaseHistoryItem {
|
|
10
|
+
_id: string;
|
|
11
|
+
content_id: IContentData;
|
|
12
|
+
user_id: string;
|
|
13
|
+
status: 'valid' | 'expired' | string;
|
|
14
|
+
valid_upto: string;
|
|
15
|
+
price: number;
|
|
16
|
+
tvod_type: 'BUY' | 'RENT';
|
|
17
|
+
content_owner: string;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
__v: number;
|
|
21
|
+
}
|
|
22
|
+
export interface PurchaseHistoryProps {
|
|
23
|
+
data: IPurchaseHistoryItem[];
|
|
24
|
+
isLoading?: boolean;
|
|
25
|
+
title?: string;
|
|
26
|
+
headerComponent?: React.ReactNode;
|
|
27
|
+
onBackPress?: () => void;
|
|
28
|
+
onSearchPress?: () => void;
|
|
29
|
+
showSearchIcon?: boolean;
|
|
30
|
+
itemDimension?: number;
|
|
31
|
+
spacing?: number;
|
|
32
|
+
listStyle?: StyleProp<ViewStyle>;
|
|
33
|
+
contentContainerStyle?: StyleProp<ViewStyle>;
|
|
34
|
+
theme?: ThemeOverride;
|
|
35
|
+
renderItem?: (item: IPurchaseHistoryItem, index: number) => React.ReactElement | null;
|
|
36
|
+
skeletonCount?: number;
|
|
37
|
+
skeletonComponent?: React.ReactElement;
|
|
38
|
+
noDataComponent?: React.ReactNode;
|
|
39
|
+
noDataText?: string;
|
|
40
|
+
onPressItem?: (item: IPurchaseHistoryItem) => void;
|
|
41
|
+
onEndReached?: () => void;
|
|
42
|
+
onEndReachedThreshold?: number;
|
|
43
|
+
}
|
|
44
|
+
export declare const PurchaseHistory: React.FC<PurchaseHistoryProps>;
|
|
45
|
+
export declare namespace PurchaseHistory {
|
|
46
|
+
type Props = PurchaseHistoryProps;
|
|
47
|
+
type Data = Props['data'];
|
|
48
|
+
type Item = Props['data'][number];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=PurchaseHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseHistory.d.ts","sourceRoot":"","sources":["../../../../../../src/components/User/PurchaseHistory/PurchaseHistory.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAWtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAG7C,KAAK,CAAC,EAAE,aAAa,CAAC;IAGtB,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,KACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAGvC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAEnD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAiR1D,CAAC;AAgFF,yBAAiB,eAAe,CAAC;IAC/B,KAAY,KAAK,GAAG,oBAAoB,CAAC;IACzC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CAC1C"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
7
|
-
import type { IContentData } from '../../../types';
|
|
8
7
|
import type { ThemeOverride } from '../../../theme/themes';
|
|
8
|
+
import type { IContentData } from '@zezosoft/zezo-ott-api-client';
|
|
9
9
|
export interface IHistoryItem {
|
|
10
10
|
_id: string;
|
|
11
11
|
content: IContentData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchHistory.d.ts","sourceRoot":"","sources":["../../../../../../src/components/User/WatchHistory/WatchHistory.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAUtB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"WatchHistory.d.ts","sourceRoot":"","sources":["../../../../../../src/components/User/WatchHistory/WatchHistory.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAUtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAG7C,KAAK,CAAC,EAAE,aAAa,CAAC;IAGtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAGvC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAE3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC;AAkBF,yBAAiB,YAAY,CAAC;IAC5B,KAAY,KAAK,GAAG,iBAAiB,CAAC;IACtC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CAC1C"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
**/
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import { type TextStyle, type StyleProp, type ViewStyle } from 'react-native';
|
|
7
|
-
import type { IContentData } from '../../../types';
|
|
8
7
|
import type { ThemeOverride } from '../../../theme/themes';
|
|
8
|
+
import type { IContentData } from '@zezosoft/zezo-ott-api-client';
|
|
9
9
|
type IWatchLaterItem = {
|
|
10
10
|
_id: string;
|
|
11
11
|
user_id?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchLater.d.ts","sourceRoot":"","sources":["../../../../../../src/components/User/WatchLater/WatchLater.tsx"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"WatchLater.d.ts","sourceRoot":"","sources":["../../../../../../src/components/User/WatchLater/WatchLater.tsx"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,EAAU,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,KACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACvC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAgEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuKhD,CAAC;AA0DF,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,eAAe,CAAC;IACpC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,KAAY,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;CAC1C"}
|
|
@@ -6,5 +6,6 @@ import { WatchHistory } from './WatchHistory/WatchHistory';
|
|
|
6
6
|
import { WatchLater } from './WatchLater/WatchLater';
|
|
7
7
|
import { DeviceSessions } from './DeviceSessions/DeviceSessions';
|
|
8
8
|
import { ProfileUpdate } from './ProfileUpdate/ProfileUpdate';
|
|
9
|
-
|
|
9
|
+
import { PurchaseHistory } from './PurchaseHistory/PurchaseHistory';
|
|
10
|
+
export { WatchHistory, WatchLater, DeviceSessions, ProfileUpdate, PurchaseHistory, };
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/User/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/User/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,GAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Naresh Dhamu
|
|
3
|
+
* @lastModified Thu 06 Nov 2025 at 11:52 AM
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Hook to detect Android navigation mode
|
|
7
|
+
* @returns {Object} Navigation mode info
|
|
8
|
+
* @returns {boolean} isThreeButtonNav - true if using three-button navigation
|
|
9
|
+
* @returns {boolean} isGestureNav - true if using gesture navigation
|
|
10
|
+
*/
|
|
11
|
+
export declare const useNavigationMode: () => {
|
|
12
|
+
isGestureNav: boolean;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useNavigationMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNavigationMode.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useNavigationMode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;CAoB7B,CAAC"}
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
6
6
|
import type { ImageStyle as FastImageStyle } from 'react-native-fast-image';
|
|
7
7
|
import type { ThemeOverride } from '../../theme/themes';
|
|
8
|
-
import type { IContentData } from '../../types';
|
|
9
8
|
import type { IGetSectionData, ISectionItem } from '../../types/sections';
|
|
10
9
|
import type { MoreFetchData } from '../../types/hook/usePaginatedSetion';
|
|
11
10
|
import type { IHistoryItem } from '../../components/User/WatchHistory/WatchHistory';
|
|
12
11
|
import type React from 'react';
|
|
12
|
+
import type { MiniInfo } from '../../components/ContentView/components/MiniInfo';
|
|
13
|
+
import type { IContentData } from '@zezosoft/zezo-ott-api-client';
|
|
13
14
|
export type ViewStyleProp = StyleProp<ViewStyle>;
|
|
14
15
|
export type TextStyleProp = StyleProp<TextStyle>;
|
|
15
16
|
export type FastImageStyleProp = StyleProp<FastImageStyle>;
|
|
@@ -134,6 +135,7 @@ export type ComponentProps = {
|
|
|
134
135
|
};
|
|
135
136
|
theme?: ThemeOverride;
|
|
136
137
|
isLoading?: boolean;
|
|
138
|
+
pricingAndExpiryInfo?: Omit<React.ComponentProps<typeof MiniInfo>, 'content' | 'theme'>;
|
|
137
139
|
seasonsIsLoading?: boolean;
|
|
138
140
|
recommendedContent?: ISectionItem | null;
|
|
139
141
|
events?: ContentViewEvents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-view.types.d.ts","sourceRoot":"","sources":["../../../../../src/types/content/content-view.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"content-view.types.d.ts","sourceRoot":"","sources":["../../../../../src/types/content/content-view.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,QAAQ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @author Naresh Dhamu
|
|
3
3
|
* @lastModified Fri 04 Jul 2025 at 10:58 AM
|
|
4
4
|
*/
|
|
5
|
-
import type { IContentData } from '
|
|
5
|
+
import type { IContentData } from '@zezosoft/zezo-ott-api-client';
|
|
6
6
|
export type ISectionType = 'normal' | 'card_style_2' | 'card_style_3' | 'card_style_4' | 'card_style_5' | 'card_style_6' | 'card_rotate_in_out' | 'slider' | 'slider_style_2' | 'card_series_featured_style_1' | 'continue_watching' | 'new_releases' | 'top_10' | 'category';
|
|
7
7
|
/**
|
|
8
8
|
* Generic pagination metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/sections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/sections/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,QAAQ,GACR,gBAAgB,GAChB,8BAA8B,GAC9B,mBAAmB,GACnB,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,IAAI,EAAE,YAAY,EAAE,CAAC;QACrB,IAAI,EAAE;YACJ,UAAU,EAAE,kBAAkB,CAAC;SAChC,CAAC;KACH,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,IAAI,EAAE;QACJ,UAAU,EAAE,kBAAkB,CAAC;KAChC,CAAC;IACF,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC;AAC3C,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author Naresh Dhamu
|
|
3
|
+
* @lastModified Mon 16 Jun 2025 at 03:05 PM
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get responsive bottom spacing that accounts for platform differences
|
|
7
|
+
* Automatically adds extra spacing for Android navigation bar
|
|
8
|
+
* @param baseSpacing - Base spacing value (default: 35)
|
|
9
|
+
* @returns Platform-specific responsive bottom spacing
|
|
10
|
+
* @example
|
|
11
|
+
* // Usage in any component
|
|
12
|
+
* bottom: getResponsiveBottomSpacing(35) // iOS: 35, Android: 45
|
|
13
|
+
*/
|
|
14
|
+
export declare const getResponsiveBottomSpacing: (baseSpacing?: number) => number;
|
|
15
|
+
export declare const getAuthBottomSpacing: (baseSpacing?: number) => number;
|
|
16
|
+
//# sourceMappingURL=Spacing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spacing.d.ts","sourceRoot":"","sources":["../../../../src/utils/Spacing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAa,MAAW,KACvB,MAIF,CAAC;AAGF,eAAO,MAAM,oBAAoB,iBARlB,MAAM,KAClB,MAO2D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zezosoft/zezo-ott-react-native-ui-kit",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "A professional React Native UI component library built for OTT applications.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "lib/typescript/src/index.d.ts",
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
"@types/lodash.debounce": "^4.0.9",
|
|
79
79
|
"@types/react": "^19.0.12",
|
|
80
80
|
"@types/react-native-snap-carousel": "^3.8.12",
|
|
81
|
+
"@zezosoft/zezo-ott-api-client": "^0.1.12",
|
|
81
82
|
"commitlint": "^19.6.1",
|
|
82
83
|
"del-cli": "^5.1.0",
|
|
83
84
|
"eslint": "^9.22.0",
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
"eslint-plugin-prettier": "^5.2.3",
|
|
86
87
|
"jest": "^29.7.0",
|
|
87
88
|
"lottie-react-native": "^7.3.4",
|
|
89
|
+
"moment": "^2.30.1",
|
|
88
90
|
"prettier": "^3.0.3",
|
|
89
91
|
"react": "19.0.0",
|
|
90
92
|
"react-native": "0.79.6",
|
|
@@ -97,6 +99,7 @@
|
|
|
97
99
|
"react-native-markdown-display": "^7.0.2",
|
|
98
100
|
"react-native-mmkv": "^3.3.0",
|
|
99
101
|
"react-native-modal": "^14.0.0-rc.1",
|
|
102
|
+
"react-native-navigation-mode": "^1.2.3",
|
|
100
103
|
"react-native-reanimated": "^4.1.0",
|
|
101
104
|
"react-native-safe-area-context": "^5.6.1",
|
|
102
105
|
"react-native-super-grid": "^6.0.2",
|
|
@@ -110,9 +113,10 @@
|
|
|
110
113
|
"peerDependencies": {
|
|
111
114
|
"@react-native-community/blur": "^4.4.0",
|
|
112
115
|
"@react-native-masked-view/masked-view": "^0.3.0",
|
|
113
|
-
"@react-navigation/bottom-tabs": "
|
|
114
|
-
"@react-navigation/native": "
|
|
115
|
-
"lottie-react-native": "
|
|
116
|
+
"@react-navigation/bottom-tabs": "*",
|
|
117
|
+
"@react-navigation/native": "*",
|
|
118
|
+
"lottie-react-native": "*",
|
|
119
|
+
"moment": "*",
|
|
116
120
|
"react": "*",
|
|
117
121
|
"react-native": "*",
|
|
118
122
|
"react-native-device-info": "^14.0.0",
|
|
@@ -121,6 +125,7 @@
|
|
|
121
125
|
"react-native-gesture-handler": "^2.0.0",
|
|
122
126
|
"react-native-linear-gradient": "^2.8.0",
|
|
123
127
|
"react-native-mmkv": "*",
|
|
128
|
+
"react-native-navigation-mode": "*",
|
|
124
129
|
"react-native-nitro-modules": "^0.29.0",
|
|
125
130
|
"react-native-reanimated": "*",
|
|
126
131
|
"react-native-safe-area-context": "*",
|
|
@@ -129,7 +134,7 @@
|
|
|
129
134
|
"react-native-svg": "*",
|
|
130
135
|
"react-native-video": "*",
|
|
131
136
|
"react-native-vision-camera": "*",
|
|
132
|
-
"react-native-worklets": "
|
|
137
|
+
"react-native-worklets": "*"
|
|
133
138
|
},
|
|
134
139
|
"dependencies": {
|
|
135
140
|
"color": "^5.0.0",
|
|
@@ -133,7 +133,7 @@ export const Account: React.FC<AccountProps> = ({
|
|
|
133
133
|
<ScrollView
|
|
134
134
|
contentContainerStyle={[
|
|
135
135
|
styles.content,
|
|
136
|
-
{ paddingBottom: insets.bottom
|
|
136
|
+
{ paddingBottom: verticalScale(100) + insets.bottom },
|
|
137
137
|
]}
|
|
138
138
|
showsVerticalScrollIndicator={false}
|
|
139
139
|
keyboardShouldPersistTaps="handled"
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
* @author Naresh Dhamu
|
|
3
3
|
* @lastModified Tue 22 Oct 2025
|
|
4
4
|
*/
|
|
5
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import {
|
|
7
7
|
View,
|
|
8
8
|
StyleSheet,
|
|
9
9
|
SafeAreaView,
|
|
10
10
|
TouchableOpacity,
|
|
11
11
|
Animated,
|
|
12
|
-
Platform,
|
|
13
12
|
} from 'react-native';
|
|
14
13
|
import { moderateScale, scale, verticalScale } from 'react-native-size-matters';
|
|
15
14
|
import { useInternalTheme } from '../../../theme/hook/useInternalTheme';
|
|
@@ -19,6 +18,7 @@ import { Text } from '../../Text';
|
|
|
19
18
|
import { BackgroundLayout } from '../../BackgroundLayout/BackgroundLayout';
|
|
20
19
|
import { Phone, Mail } from 'lucide-react-native';
|
|
21
20
|
import { Button } from '../../Button';
|
|
21
|
+
import { default as SkeletonPlaceholder } from 'react-native-skeleton-placeholder';
|
|
22
22
|
|
|
23
23
|
export interface AuthProviderProps {
|
|
24
24
|
logoUri: string;
|
|
@@ -35,6 +35,7 @@ export interface AuthProviderProps {
|
|
|
35
35
|
};
|
|
36
36
|
variant?: 'one' | 'two';
|
|
37
37
|
theme?: ThemeOverride;
|
|
38
|
+
isLoading?: boolean;
|
|
38
39
|
authProvider?: {
|
|
39
40
|
phone?: {
|
|
40
41
|
enabled?: boolean;
|
|
@@ -55,6 +56,7 @@ const AuthProvider: React.FC<AuthProviderProps> = ({
|
|
|
55
56
|
text,
|
|
56
57
|
variant = 'one',
|
|
57
58
|
theme: overrideTheme,
|
|
59
|
+
isLoading = false,
|
|
58
60
|
authProvider = {
|
|
59
61
|
phone: { enabled: true },
|
|
60
62
|
email: { enabled: true },
|
|
@@ -105,46 +107,70 @@ const AuthProvider: React.FC<AuthProviderProps> = ({
|
|
|
105
107
|
label: string;
|
|
106
108
|
icon: React.ReactNode;
|
|
107
109
|
enabled: boolean;
|
|
108
|
-
}[] =
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
110
|
+
}[] = useMemo(
|
|
111
|
+
() => [
|
|
112
|
+
{
|
|
113
|
+
key: 'phone',
|
|
114
|
+
label: text?.loginWithPhone || 'Phone',
|
|
115
|
+
icon: <Phone size={moderateScale(16)} />,
|
|
116
|
+
enabled: phoneEnabled,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: 'email',
|
|
120
|
+
label: text?.loginWithEmail || 'Email',
|
|
121
|
+
icon: <Mail size={moderateScale(16)} />,
|
|
122
|
+
enabled: emailEnabled,
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
[text?.loginWithPhone, text?.loginWithEmail, phoneEnabled, emailEnabled]
|
|
126
|
+
);
|
|
122
127
|
|
|
123
128
|
const renderButtons = () => (
|
|
124
129
|
<View style={styles.buttonContainer}>
|
|
125
130
|
{authMethods
|
|
126
131
|
.filter((item) => item.enabled)
|
|
127
132
|
.map((item) => (
|
|
128
|
-
<
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
133
|
+
<React.Fragment key={item.key}>
|
|
134
|
+
{isLoading ? (
|
|
135
|
+
<SkeletonPlaceholder
|
|
136
|
+
backgroundColor={colors.skeletonBaseColor}
|
|
137
|
+
highlightColor={colors.skeletonHighlightColor}
|
|
138
|
+
borderRadius={moderateScale(8)}
|
|
139
|
+
>
|
|
140
|
+
<View
|
|
141
|
+
style={{
|
|
142
|
+
width: '100%',
|
|
143
|
+
height: verticalScale(48),
|
|
144
|
+
borderRadius: moderateScale(8),
|
|
145
|
+
}}
|
|
146
|
+
/>
|
|
147
|
+
</SkeletonPlaceholder>
|
|
148
|
+
) : (
|
|
149
|
+
<Button.Secondary
|
|
150
|
+
containerStyle={{
|
|
151
|
+
backgroundColor:
|
|
152
|
+
activeTab === item.key ? colors.button : 'transparent',
|
|
153
|
+
borderWidth: 1.2,
|
|
154
|
+
borderColor: colors.button,
|
|
155
|
+
}}
|
|
156
|
+
titleStyle={{
|
|
157
|
+
color:
|
|
158
|
+
activeTab === item.key
|
|
159
|
+
? colors.buttonText
|
|
160
|
+
: colors.textPrimary,
|
|
161
|
+
}}
|
|
162
|
+
title={`Continue with ${item.label}`}
|
|
163
|
+
onPress={() => handlePress(item.key)}
|
|
164
|
+
leftIcon={React.cloneElement(item.icon as any, {
|
|
165
|
+
color:
|
|
166
|
+
activeTab === item.key
|
|
167
|
+
? colors.buttonText
|
|
168
|
+
: colors.textPrimary,
|
|
169
|
+
size: moderateScale(18),
|
|
170
|
+
})}
|
|
171
|
+
/>
|
|
172
|
+
)}
|
|
173
|
+
</React.Fragment>
|
|
148
174
|
))}
|
|
149
175
|
</View>
|
|
150
176
|
);
|
|
@@ -152,6 +178,25 @@ const AuthProvider: React.FC<AuthProviderProps> = ({
|
|
|
152
178
|
// Toggle render without absolute
|
|
153
179
|
const renderToggle = () => {
|
|
154
180
|
const enabledMethods = authMethods.filter((m) => m.enabled);
|
|
181
|
+
|
|
182
|
+
if (isLoading) {
|
|
183
|
+
return (
|
|
184
|
+
<SkeletonPlaceholder
|
|
185
|
+
backgroundColor={colors.skeletonBaseColor}
|
|
186
|
+
highlightColor={colors.skeletonHighlightColor}
|
|
187
|
+
borderRadius={50}
|
|
188
|
+
>
|
|
189
|
+
<View
|
|
190
|
+
style={{
|
|
191
|
+
width: '100%',
|
|
192
|
+
height: verticalScale(48),
|
|
193
|
+
borderRadius: 50,
|
|
194
|
+
}}
|
|
195
|
+
/>
|
|
196
|
+
</SkeletonPlaceholder>
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
155
200
|
return (
|
|
156
201
|
<View
|
|
157
202
|
style={[
|
|
@@ -257,7 +302,7 @@ const styles = StyleSheet.create({
|
|
|
257
302
|
bottomSection: {
|
|
258
303
|
width: '100%',
|
|
259
304
|
alignItems: 'center',
|
|
260
|
-
paddingBottom: verticalScale(
|
|
305
|
+
paddingBottom: verticalScale(30),
|
|
261
306
|
},
|
|
262
307
|
title: {
|
|
263
308
|
fontSize: moderateScale(18),
|
|
@@ -24,6 +24,7 @@ import BackBtn from '../../Button/BackBtn';
|
|
|
24
24
|
import { Text } from '../../Text';
|
|
25
25
|
import type { ThemeOverride } from '../../../theme/themes';
|
|
26
26
|
import { RFValue } from 'react-native-responsive-fontsize';
|
|
27
|
+
import { getResponsiveBottomSpacing } from '../../../utils/Spacing';
|
|
27
28
|
|
|
28
29
|
type FormValues = {
|
|
29
30
|
email: string;
|
|
@@ -313,7 +314,14 @@ const LoginWithEmail: React.FC<LoginWithEmailProps> = ({
|
|
|
313
314
|
</View>
|
|
314
315
|
|
|
315
316
|
{!isKeyboardOpen && shouldRender(onSignup || renderSignupPrompt) && (
|
|
316
|
-
<View
|
|
317
|
+
<View
|
|
318
|
+
style={[
|
|
319
|
+
styles.signupContainer,
|
|
320
|
+
{
|
|
321
|
+
bottom: getResponsiveBottomSpacing(35),
|
|
322
|
+
},
|
|
323
|
+
]}
|
|
324
|
+
>
|
|
317
325
|
{renderSignupPrompt ? (
|
|
318
326
|
renderSignupPrompt({
|
|
319
327
|
onPress: () => handleKeyboardDismiss(onSignup),
|
|
@@ -388,7 +396,6 @@ const styles = StyleSheet.create({
|
|
|
388
396
|
},
|
|
389
397
|
signupContainer: {
|
|
390
398
|
position: 'absolute',
|
|
391
|
-
bottom: verticalScale(30),
|
|
392
399
|
left: 0,
|
|
393
400
|
right: 0,
|
|
394
401
|
alignItems: 'center',
|
|
@@ -47,6 +47,8 @@ type OTPProps = {
|
|
|
47
47
|
otpDigitCount?: number;
|
|
48
48
|
keyboardType?: KeyboardTypeOptions;
|
|
49
49
|
phoneNumber?: string;
|
|
50
|
+
enableAutoFill?: boolean;
|
|
51
|
+
autoSubmitOnFill?: boolean;
|
|
50
52
|
text?: {
|
|
51
53
|
otpLabel?: string;
|
|
52
54
|
otpPlaceholder?: string;
|
|
@@ -110,6 +112,8 @@ const OTP: React.FC<OTPProps> = ({
|
|
|
110
112
|
otpDigitCount = 4,
|
|
111
113
|
keyboardType = 'number-pad',
|
|
112
114
|
phoneNumber,
|
|
115
|
+
enableAutoFill = true,
|
|
116
|
+
autoSubmitOnFill = true,
|
|
113
117
|
text = DEFAULT_TEXT,
|
|
114
118
|
onResendOtp,
|
|
115
119
|
renderResendButton,
|
|
@@ -239,6 +243,31 @@ const OTP: React.FC<OTPProps> = ({
|
|
|
239
243
|
}
|
|
240
244
|
}, [onSubmit, otp, otpDigitCount]);
|
|
241
245
|
|
|
246
|
+
// Auto-submit when OTP is auto-filled and complete
|
|
247
|
+
useEffect(() => {
|
|
248
|
+
if (
|
|
249
|
+
autoSubmitOnFill &&
|
|
250
|
+
otp.length === otpDigitCount &&
|
|
251
|
+
!isSubmitting &&
|
|
252
|
+
!loading &&
|
|
253
|
+
onSubmit
|
|
254
|
+
) {
|
|
255
|
+
const timer = setTimeout(() => {
|
|
256
|
+
handleSubmit();
|
|
257
|
+
}, 300); // Small delay to ensure OTP is fully set
|
|
258
|
+
return () => clearTimeout(timer);
|
|
259
|
+
}
|
|
260
|
+
return;
|
|
261
|
+
}, [
|
|
262
|
+
otp,
|
|
263
|
+
otpDigitCount,
|
|
264
|
+
autoSubmitOnFill,
|
|
265
|
+
isSubmitting,
|
|
266
|
+
loading,
|
|
267
|
+
onSubmit,
|
|
268
|
+
handleSubmit,
|
|
269
|
+
]);
|
|
270
|
+
|
|
242
271
|
const handleResendOtp = useCallback(() => {
|
|
243
272
|
if (onResendOtp) {
|
|
244
273
|
onResendOtp();
|
|
@@ -325,7 +354,14 @@ const OTP: React.FC<OTPProps> = ({
|
|
|
325
354
|
cellCount={otpDigitCount}
|
|
326
355
|
rootStyle={styles.codeFieldRoot}
|
|
327
356
|
keyboardType={keyboardType}
|
|
328
|
-
textContentType=
|
|
357
|
+
textContentType={enableAutoFill ? 'oneTimeCode' : 'none'}
|
|
358
|
+
autoComplete={
|
|
359
|
+
enableAutoFill
|
|
360
|
+
? Platform.OS === 'android'
|
|
361
|
+
? 'sms-otp'
|
|
362
|
+
: 'off'
|
|
363
|
+
: 'off'
|
|
364
|
+
}
|
|
329
365
|
renderCell={({ index, symbol, isFocused }) => (
|
|
330
366
|
<Text
|
|
331
367
|
key={index}
|
|
@@ -25,6 +25,7 @@ import BackBtn from '../../Button/BackBtn';
|
|
|
25
25
|
import { Text } from '../../Text';
|
|
26
26
|
import type { ThemeOverride } from '../../../theme/themes';
|
|
27
27
|
import { RFValue } from 'react-native-responsive-fontsize';
|
|
28
|
+
import { getResponsiveBottomSpacing } from '../../../utils/Spacing';
|
|
28
29
|
|
|
29
30
|
type FormValues = {
|
|
30
31
|
username: string;
|
|
@@ -349,7 +350,14 @@ const Signup: React.FC<SignupProps> = ({
|
|
|
349
350
|
(renderLoginPrompt ? (
|
|
350
351
|
renderLoginPrompt()
|
|
351
352
|
) : (
|
|
352
|
-
<View
|
|
353
|
+
<View
|
|
354
|
+
style={[
|
|
355
|
+
styles.loginContainerWrapper,
|
|
356
|
+
{
|
|
357
|
+
bottom: getResponsiveBottomSpacing(35),
|
|
358
|
+
},
|
|
359
|
+
]}
|
|
360
|
+
>
|
|
353
361
|
<View style={styles.loginContainer}>
|
|
354
362
|
<View style={styles.loginRow}>
|
|
355
363
|
<Text
|
|
@@ -415,7 +423,6 @@ const styles = StyleSheet.create({
|
|
|
415
423
|
},
|
|
416
424
|
loginContainerWrapper: {
|
|
417
425
|
position: 'absolute',
|
|
418
|
-
bottom: verticalScale(30),
|
|
419
426
|
left: 0,
|
|
420
427
|
right: 0,
|
|
421
428
|
alignItems: 'center',
|