react-native-salespanda 0.4.4 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/SalespandaApp.js +16 -8
- package/lib/module/SalespandaApp.js.map +1 -1
- package/lib/module/assets/images/index.js +1 -22
- package/lib/module/assets/images/index.js.map +1 -1
- package/lib/module/components/Loader.js +45 -0
- package/lib/module/components/Loader.js.map +1 -0
- package/lib/module/config/SalespandaConfig.js +17 -0
- package/lib/module/config/SalespandaConfig.js.map +1 -1
- package/lib/module/index.js +1 -32
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigation/BottomTabNavigator.js +1 -3
- package/lib/module/navigation/BottomTabNavigator.js.map +1 -1
- package/lib/module/screens/Tabs/HomeScreen.js +184 -104
- package/lib/module/screens/Tabs/HomeScreen.js.map +1 -1
- package/lib/module/services/api.js +132 -0
- package/lib/module/services/api.js.map +1 -0
- package/lib/module/services/authService.js +59 -0
- package/lib/module/services/authService.js.map +1 -0
- package/lib/module/store/index.js +13 -0
- package/lib/module/store/index.js.map +1 -0
- package/lib/typescript/src/SalespandaApp.d.ts.map +1 -1
- package/lib/typescript/src/components/Loader.d.ts +11 -0
- package/lib/typescript/src/components/Loader.d.ts.map +1 -0
- package/lib/typescript/src/config/SalespandaConfig.d.ts +14 -0
- package/lib/typescript/src/config/SalespandaConfig.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -12
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/Tabs/HomeScreen.d.ts.map +1 -1
- package/lib/typescript/src/services/api.d.ts +638 -0
- package/lib/typescript/src/services/api.d.ts.map +1 -0
- package/lib/typescript/src/services/authService.d.ts +13 -0
- package/lib/typescript/src/services/authService.d.ts.map +1 -0
- package/lib/typescript/src/store/index.d.ts +36 -0
- package/lib/typescript/src/store/index.d.ts.map +1 -0
- package/package.json +8 -2
- package/react-native.config.js +8 -5
- package/src/SalespandaApp.tsx +18 -10
- package/src/components/Loader.tsx +48 -0
- package/src/config/SalespandaConfig.ts +37 -0
- package/src/index.tsx +8 -30
- package/src/navigation/BottomTabNavigator.tsx +1 -3
- package/src/screens/Tabs/HomeScreen.tsx +229 -73
- package/src/services/api.ts +173 -0
- package/src/services/authService.ts +75 -0
- package/src/store/index.ts +16 -0
|
@@ -2,33 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, Text, StyleSheet, TouchableOpacity, ScrollView, Image, FlatList, Dimensions } from 'react-native';
|
|
5
|
-
import { scale, verticalScale, moderateScale } from 'react-native-size-matters';
|
|
6
|
-
import { Colors } from "../../constants/Colors.js";
|
|
5
|
+
import { scale, verticalScale, moderateScale, moderateVerticalScale } from 'react-native-size-matters';
|
|
7
6
|
import { SafeAreaView } from 'react-native-safe-area-context';
|
|
7
|
+
import Loader from "../../components/Loader.js";
|
|
8
8
|
import TabsHeader from "../../components/TabsHeader.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Colors } from "../../constants/Colors.js";
|
|
10
|
+
import { useAuthenticateMutation, useLazyGetHomeQuery, useSpssoLoginMutation, loadPersistedTokens, persistTokens, setRuntimeTokens, clearPersistedTokens } from "../../services/api.js";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
12
|
const MenuItem = ({
|
|
11
|
-
|
|
12
|
-
icon,
|
|
13
|
+
imageUrl,
|
|
13
14
|
onPress
|
|
14
15
|
}) => {
|
|
15
|
-
return /*#__PURE__*/
|
|
16
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
16
17
|
style: styles.menuItem,
|
|
17
18
|
onPress: onPress,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
})]
|
|
19
|
+
activeOpacity: 0.8,
|
|
20
|
+
children: imageUrl ? /*#__PURE__*/_jsx(Image, {
|
|
21
|
+
source: {
|
|
22
|
+
uri: imageUrl
|
|
23
|
+
},
|
|
24
|
+
style: styles.menuItemImage
|
|
25
|
+
}) : /*#__PURE__*/_jsx(Loader, {
|
|
26
|
+
message: ""
|
|
27
|
+
})
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
30
|
const HomeScreen = () => {
|
|
31
|
-
const
|
|
31
|
+
const [loading, setLoading] = React.useState(false);
|
|
32
|
+
const [error, setError] = React.useState(null);
|
|
33
|
+
const [homeData, setHomeData] = React.useState(null);
|
|
34
|
+
const [authenticate] = useAuthenticateMutation();
|
|
35
|
+
const [spssoLogin] = useSpssoLoginMutation();
|
|
36
|
+
const [triggerHome, {
|
|
37
|
+
isFetching: isHomeFetching
|
|
38
|
+
}] = useLazyGetHomeQuery();
|
|
39
|
+
const bannerItems = React.useMemo(() => homeData?.home_banner && homeData.home_banner.length > 0 ? homeData.home_banner.map(item => ({
|
|
40
|
+
image: item.image,
|
|
41
|
+
title: item.title ?? undefined,
|
|
42
|
+
link: item.link ?? null
|
|
43
|
+
})) : [], [homeData?.home_banner]);
|
|
44
|
+
const menuItems = React.useMemo(() => homeData?.menu ?? [], [homeData?.menu]);
|
|
32
45
|
const screenWidth = Dimensions.get('window').width;
|
|
33
46
|
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
34
47
|
const flatListRef = React.useRef(null);
|
|
@@ -37,10 +50,75 @@ const HomeScreen = () => {
|
|
|
37
50
|
const index = Math.round(offsetX / screenWidth);
|
|
38
51
|
setActiveIndex(index);
|
|
39
52
|
};
|
|
53
|
+
const loadHomeData = React.useCallback(async isRetry => {
|
|
54
|
+
try {
|
|
55
|
+
setLoading(true);
|
|
56
|
+
setError(null);
|
|
57
|
+
const storedTokens = await loadPersistedTokens();
|
|
58
|
+
let accessToken = storedTokens.accessToken;
|
|
59
|
+
let token = storedTokens.token;
|
|
60
|
+
if (!accessToken) {
|
|
61
|
+
const authResp = await authenticate({}).unwrap();
|
|
62
|
+
accessToken = authResp.access_token;
|
|
63
|
+
setRuntimeTokens({
|
|
64
|
+
accessToken
|
|
65
|
+
});
|
|
66
|
+
await persistTokens({
|
|
67
|
+
accessToken
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (!token && accessToken) {
|
|
71
|
+
const ssoResp = await spssoLogin({
|
|
72
|
+
access_token: accessToken
|
|
73
|
+
}).unwrap();
|
|
74
|
+
token = ssoResp.token;
|
|
75
|
+
setRuntimeTokens({
|
|
76
|
+
token
|
|
77
|
+
});
|
|
78
|
+
await persistTokens({
|
|
79
|
+
token
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
if (!token) {
|
|
83
|
+
throw new Error('Missing auth token, please try again.');
|
|
84
|
+
}
|
|
85
|
+
const tokenHeader = token ?? undefined;
|
|
86
|
+
const homeResp = await triggerHome({
|
|
87
|
+
tokenOverride: tokenHeader
|
|
88
|
+
}).unwrap();
|
|
89
|
+
const isSuccess = homeResp.statusCode === '200' && homeResp.status?.toLowerCase() === 'success';
|
|
90
|
+
if (!isSuccess) {
|
|
91
|
+
const code = homeResp.statusCode;
|
|
92
|
+
if (!isRetry && code && (code === '1008' || code === '401' || code === '403')) {
|
|
93
|
+
await clearPersistedTokens();
|
|
94
|
+
setRuntimeTokens({
|
|
95
|
+
token: null,
|
|
96
|
+
accessToken: null
|
|
97
|
+
});
|
|
98
|
+
await loadHomeData(true);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
throw new Error(homeResp?.message || 'Failed to load home data');
|
|
102
|
+
}
|
|
103
|
+
setHomeData(homeResp.response);
|
|
104
|
+
setLoading(false);
|
|
105
|
+
} catch (e) {
|
|
106
|
+
const statusCode = e?.status || e?.data?.statusCode;
|
|
107
|
+
if (statusCode === 401 || statusCode === 403) {
|
|
108
|
+
setError(null);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
setError(e?.data?.message || e?.message || 'Failed to load home data. Please try again.');
|
|
112
|
+
setLoading(false);
|
|
113
|
+
}
|
|
114
|
+
}, [authenticate, spssoLogin, triggerHome]);
|
|
115
|
+
React.useEffect(() => {
|
|
116
|
+
loadHomeData();
|
|
117
|
+
}, [loadHomeData]);
|
|
40
118
|
React.useEffect(() => {
|
|
41
119
|
const id = setInterval(() => {
|
|
42
120
|
setActiveIndex(prev => {
|
|
43
|
-
const next = (prev + 1) %
|
|
121
|
+
const next = bannerItems.length > 0 ? (prev + 1) % bannerItems.length : 0;
|
|
44
122
|
if (flatListRef.current) {
|
|
45
123
|
try {
|
|
46
124
|
flatListRef.current.scrollToIndex({
|
|
@@ -54,8 +132,10 @@ const HomeScreen = () => {
|
|
|
54
132
|
return next;
|
|
55
133
|
});
|
|
56
134
|
}, 2500);
|
|
57
|
-
return () =>
|
|
58
|
-
|
|
135
|
+
return () => {
|
|
136
|
+
clearInterval(id);
|
|
137
|
+
};
|
|
138
|
+
}, [bannerItems.length]);
|
|
59
139
|
return /*#__PURE__*/_jsx(SafeAreaView, {
|
|
60
140
|
style: styles.safeArea,
|
|
61
141
|
edges: ['top', 'bottom'],
|
|
@@ -63,23 +143,30 @@ const HomeScreen = () => {
|
|
|
63
143
|
style: styles.container,
|
|
64
144
|
children: [/*#__PURE__*/_jsx(TabsHeader, {
|
|
65
145
|
title: "Home"
|
|
66
|
-
}), /*#__PURE__*/_jsxs(
|
|
67
|
-
style: styles.
|
|
68
|
-
children: [/*#__PURE__*/
|
|
146
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
147
|
+
style: styles.contentWrapper,
|
|
148
|
+
children: [loading || isHomeFetching || !homeData ? /*#__PURE__*/_jsx(Loader, {
|
|
149
|
+
overlay: true,
|
|
150
|
+
message: "Loading home data..."
|
|
151
|
+
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
69
152
|
style: styles.carouselContainer,
|
|
70
153
|
children: [/*#__PURE__*/_jsx(FlatList, {
|
|
71
154
|
ref: flatListRef,
|
|
72
|
-
data:
|
|
73
|
-
keyExtractor: (
|
|
155
|
+
data: bannerItems,
|
|
156
|
+
keyExtractor: (item, idx) => `${item.title || 'banner'}-${idx}`,
|
|
74
157
|
renderItem: ({
|
|
75
158
|
item
|
|
76
|
-
}) => /*#__PURE__*/_jsx(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
159
|
+
}) => /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
160
|
+
activeOpacity: 0.9,
|
|
161
|
+
onPress: () => {},
|
|
162
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
163
|
+
source: {
|
|
164
|
+
uri: item.image
|
|
165
|
+
},
|
|
166
|
+
style: [styles.carouselImage, {
|
|
167
|
+
width: screenWidth
|
|
168
|
+
}]
|
|
169
|
+
})
|
|
83
170
|
}),
|
|
84
171
|
horizontal: true,
|
|
85
172
|
pagingEnabled: true,
|
|
@@ -92,58 +179,31 @@ const HomeScreen = () => {
|
|
|
92
179
|
})
|
|
93
180
|
}), /*#__PURE__*/_jsx(View, {
|
|
94
181
|
style: styles.carouselIndicatorsOverlay,
|
|
95
|
-
children:
|
|
182
|
+
children: bannerItems.map((_, idx) => /*#__PURE__*/_jsx(View, {
|
|
96
183
|
style: [styles.indicator, idx === activeIndex ? styles.activeIndicator : null]
|
|
97
184
|
}, idx))
|
|
98
185
|
})]
|
|
99
|
-
}), /*#__PURE__*/_jsxs(
|
|
100
|
-
style: styles.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}), /*#__PURE__*/_jsx(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
})
|
|
120
|
-
title: "Quiz,Calculator & Referrals",
|
|
121
|
-
icon: "\u2753"
|
|
122
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
123
|
-
title: "My Profile",
|
|
124
|
-
icon: "\uFFFD"
|
|
125
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
126
|
-
title: "Microsite Setup",
|
|
127
|
-
icon: "\u2699\uFE0F"
|
|
128
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
129
|
-
title: "My Activity",
|
|
130
|
-
icon: "\uD83D\uDCCA"
|
|
131
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
132
|
-
title: "Internal Communication",
|
|
133
|
-
icon: "\uD83D\uDCAC"
|
|
134
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
135
|
-
title: "Help Videos",
|
|
136
|
-
icon: "\uD83C\uDFA5"
|
|
137
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
138
|
-
title: "Import Gmail",
|
|
139
|
-
icon: "\uFFFD"
|
|
140
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
141
|
-
title: "Proposal",
|
|
142
|
-
icon: "\uD83D\uDCCB"
|
|
143
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
144
|
-
title: "Courses",
|
|
145
|
-
icon: "\uD83C\uDF93"
|
|
146
|
-
})]
|
|
186
|
+
}), /*#__PURE__*/_jsxs(ScrollView, {
|
|
187
|
+
style: styles.scrollView,
|
|
188
|
+
contentContainerStyle: styles.scrollContent,
|
|
189
|
+
children: [error ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
190
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
191
|
+
style: styles.errorText,
|
|
192
|
+
children: error
|
|
193
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
194
|
+
onPress: () => loadHomeData(),
|
|
195
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
196
|
+
style: styles.retryText,
|
|
197
|
+
children: "Tap to retry"
|
|
198
|
+
})
|
|
199
|
+
})]
|
|
200
|
+
}) : null, menuItems.length > 0 ? /*#__PURE__*/_jsx(View, {
|
|
201
|
+
style: styles.menuGrid,
|
|
202
|
+
children: menuItems.map(item => /*#__PURE__*/_jsx(MenuItem, {
|
|
203
|
+
title: item.title,
|
|
204
|
+
imageUrl: item.image
|
|
205
|
+
}, item.title))
|
|
206
|
+
}) : null]
|
|
147
207
|
})]
|
|
148
208
|
})]
|
|
149
209
|
})
|
|
@@ -163,21 +223,24 @@ const styles = StyleSheet.create({
|
|
|
163
223
|
flex: 1,
|
|
164
224
|
backgroundColor: Colors.white
|
|
165
225
|
},
|
|
226
|
+
scrollContent: {
|
|
227
|
+
paddingBottom: verticalScale(24)
|
|
228
|
+
},
|
|
166
229
|
carouselContainer: {
|
|
167
230
|
width: '100%',
|
|
168
231
|
backgroundColor: Colors.white,
|
|
169
|
-
// subtle backplate for image load
|
|
170
232
|
position: 'relative'
|
|
171
233
|
},
|
|
172
234
|
carouselImage: {
|
|
173
|
-
height: verticalScale(
|
|
174
|
-
resizeMode: '
|
|
235
|
+
height: verticalScale(155),
|
|
236
|
+
resizeMode: 'contain',
|
|
237
|
+
backgroundColor: Colors.white
|
|
175
238
|
},
|
|
176
239
|
carouselIndicatorsOverlay: {
|
|
177
240
|
position: 'absolute',
|
|
178
241
|
left: 0,
|
|
179
242
|
right: 0,
|
|
180
|
-
bottom: verticalScale(
|
|
243
|
+
bottom: verticalScale(20),
|
|
181
244
|
flexDirection: 'row',
|
|
182
245
|
justifyContent: 'center',
|
|
183
246
|
alignItems: 'center'
|
|
@@ -196,33 +259,23 @@ const styles = StyleSheet.create({
|
|
|
196
259
|
menuGrid: {
|
|
197
260
|
flexDirection: 'row',
|
|
198
261
|
flexWrap: 'wrap',
|
|
199
|
-
|
|
200
|
-
|
|
262
|
+
paddingTop: scale(8),
|
|
263
|
+
paddingBottom: verticalScale(16),
|
|
264
|
+
justifyContent: 'flex-start',
|
|
265
|
+
alignSelf: 'center',
|
|
266
|
+
width: '100%'
|
|
201
267
|
},
|
|
202
268
|
menuItem: {
|
|
203
|
-
width: '
|
|
269
|
+
width: '29.5%',
|
|
204
270
|
aspectRatio: 1,
|
|
205
|
-
backgroundColor: Colors.lightblue,
|
|
206
271
|
borderRadius: moderateScale(16),
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
justifyContent: 'center',
|
|
211
|
-
shadowColor: Colors.black,
|
|
212
|
-
shadowOffset: {
|
|
213
|
-
width: 0,
|
|
214
|
-
height: 0
|
|
215
|
-
},
|
|
216
|
-
shadowOpacity: 0.1,
|
|
217
|
-
shadowRadius: 0.5,
|
|
218
|
-
borderWidth: 1,
|
|
219
|
-
borderColor: Colors.border
|
|
272
|
+
marginBottom: moderateVerticalScale(8),
|
|
273
|
+
marginHorizontal: scale(6),
|
|
274
|
+
overflow: 'hidden'
|
|
220
275
|
},
|
|
221
276
|
iconContainer: {
|
|
222
277
|
width: scale(50),
|
|
223
278
|
height: scale(50),
|
|
224
|
-
borderRadius: moderateScale(25),
|
|
225
|
-
backgroundColor: Colors.divider,
|
|
226
279
|
justifyContent: 'center',
|
|
227
280
|
alignItems: 'center',
|
|
228
281
|
marginBottom: verticalScale(8)
|
|
@@ -230,11 +283,38 @@ const styles = StyleSheet.create({
|
|
|
230
283
|
iconText: {
|
|
231
284
|
fontSize: moderateScale(24)
|
|
232
285
|
},
|
|
286
|
+
menuItemImage: {
|
|
287
|
+
width: '100%',
|
|
288
|
+
height: '100%',
|
|
289
|
+
resizeMode: 'cover'
|
|
290
|
+
},
|
|
233
291
|
menuItemText: {
|
|
234
292
|
fontSize: moderateScale(11),
|
|
235
293
|
textAlign: 'center',
|
|
236
294
|
color: Colors.black,
|
|
237
295
|
fontWeight: '500'
|
|
296
|
+
},
|
|
297
|
+
statusText: {
|
|
298
|
+
fontSize: moderateScale(12),
|
|
299
|
+
color: Colors.black,
|
|
300
|
+
paddingHorizontal: scale(12),
|
|
301
|
+
paddingTop: verticalScale(8)
|
|
302
|
+
},
|
|
303
|
+
errorText: {
|
|
304
|
+
fontSize: moderateScale(12),
|
|
305
|
+
color: 'red',
|
|
306
|
+
paddingHorizontal: scale(12),
|
|
307
|
+
paddingTop: verticalScale(4)
|
|
308
|
+
},
|
|
309
|
+
retryText: {
|
|
310
|
+
fontSize: moderateScale(12),
|
|
311
|
+
color: Colors.primary,
|
|
312
|
+
paddingHorizontal: scale(12),
|
|
313
|
+
paddingTop: verticalScale(6)
|
|
314
|
+
},
|
|
315
|
+
contentWrapper: {
|
|
316
|
+
flex: 1,
|
|
317
|
+
position: 'relative'
|
|
238
318
|
}
|
|
239
319
|
});
|
|
240
320
|
//# sourceMappingURL=HomeScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","StyleSheet","TouchableOpacity","ScrollView","Image","FlatList","Dimensions","scale","verticalScale","moderateScale","Colors","SafeAreaView","TabsHeader","jsx","_jsx","jsxs","_jsxs","MenuItem","title","icon","onPress","style","styles","menuItem","children","iconContainer","iconText","menuItemText","HomeScreen","images","screenWidth","get","width","activeIndex","setActiveIndex","useState","flatListRef","useRef","handleMomentumScrollEnd","e","offsetX","nativeEvent","contentOffset","x","index","Math","round","useEffect","id","setInterval","prev","next","length","current","scrollToIndex","animated","clearInterval","safeArea","edges","container","scrollView","carouselContainer","ref","data","keyExtractor","_","idx","renderItem","item","source","uri","carouselImage","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onMomentumScrollEnd","getItemLayout","offset","carouselIndicatorsOverlay","map","indicator","activeIndicator","menuGrid","create","flex","backgroundColor","white","position","height","resizeMode","left","right","bottom","flexDirection","justifyContent","alignItems","borderRadius","divider","marginHorizontal","flexWrap","padding","aspectRatio","lightblue","marginBottom","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","borderWidth","borderColor","border","fontSize","textAlign","color","fontWeight"],"sourceRoot":"../../../../src","sources":["screens/Tabs/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","TouchableOpacity","ScrollView","Image","FlatList","Dimensions","scale","verticalScale","moderateScale","moderateVerticalScale","SafeAreaView","Loader","TabsHeader","Colors","useAuthenticateMutation","useLazyGetHomeQuery","useSpssoLoginMutation","loadPersistedTokens","persistTokens","setRuntimeTokens","clearPersistedTokens","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MenuItem","imageUrl","onPress","style","styles","menuItem","activeOpacity","children","source","uri","menuItemImage","message","HomeScreen","loading","setLoading","useState","error","setError","homeData","setHomeData","authenticate","spssoLogin","triggerHome","isFetching","isHomeFetching","bannerItems","useMemo","home_banner","length","map","item","image","title","undefined","link","menuItems","menu","screenWidth","get","width","activeIndex","setActiveIndex","flatListRef","useRef","handleMomentumScrollEnd","e","offsetX","nativeEvent","contentOffset","x","index","Math","round","loadHomeData","useCallback","isRetry","storedTokens","accessToken","token","authResp","unwrap","access_token","ssoResp","Error","tokenHeader","homeResp","tokenOverride","isSuccess","statusCode","status","toLowerCase","code","response","data","useEffect","id","setInterval","prev","next","current","scrollToIndex","animated","clearInterval","safeArea","edges","container","contentWrapper","overlay","carouselContainer","ref","keyExtractor","idx","renderItem","carouselImage","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onMomentumScrollEnd","getItemLayout","_","offset","carouselIndicatorsOverlay","indicator","activeIndicator","scrollView","contentContainerStyle","scrollContent","errorText","retryText","menuGrid","create","flex","backgroundColor","white","paddingBottom","position","height","resizeMode","left","right","bottom","flexDirection","justifyContent","alignItems","borderRadius","divider","marginHorizontal","flexWrap","paddingTop","alignSelf","aspectRatio","marginBottom","overflow","iconContainer","iconText","fontSize","menuItemText","textAlign","color","black","fontWeight","statusText","paddingHorizontal","primary"],"sourceRoot":"../../../../src","sources":["screens/Tabs/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
|
+
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
|
|
5
|
+
const BASE_URL = 'https://app.sptestmfp.com/';
|
|
6
|
+
const DEFAULT_CLIENT_ID = 'vPUz1fFucjlNAV8rujFg7AfGbS3Ay/4=';
|
|
7
|
+
const DEFAULT_AGENT_ID = '3pYw3fp0iTwOge6wjf4i+Fm7QBbx';
|
|
8
|
+
const TOKENS_KEY = '@salespanda/sdk/tokens';
|
|
9
|
+
let runtimeTokens = {
|
|
10
|
+
token: null,
|
|
11
|
+
accessToken: null
|
|
12
|
+
};
|
|
13
|
+
export const setRuntimeTokens = tokens => {
|
|
14
|
+
runtimeTokens = {
|
|
15
|
+
...runtimeTokens,
|
|
16
|
+
...tokens
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export const getRuntimeTokens = () => runtimeTokens;
|
|
20
|
+
export const loadPersistedTokens = async () => {
|
|
21
|
+
try {
|
|
22
|
+
const stored = await AsyncStorage.getItem(TOKENS_KEY);
|
|
23
|
+
if (stored) {
|
|
24
|
+
const parsed = JSON.parse(stored);
|
|
25
|
+
runtimeTokens = {
|
|
26
|
+
token: parsed.token || null,
|
|
27
|
+
accessToken: parsed.accessToken || null
|
|
28
|
+
};
|
|
29
|
+
return runtimeTokens;
|
|
30
|
+
}
|
|
31
|
+
} catch {
|
|
32
|
+
// ignore storage failures
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
token: null,
|
|
36
|
+
accessToken: null
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export const persistTokens = async tokens => {
|
|
40
|
+
const next = {
|
|
41
|
+
...runtimeTokens,
|
|
42
|
+
...tokens
|
|
43
|
+
};
|
|
44
|
+
runtimeTokens = next;
|
|
45
|
+
try {
|
|
46
|
+
await AsyncStorage.setItem(TOKENS_KEY, JSON.stringify(next));
|
|
47
|
+
} catch {
|
|
48
|
+
// ignore storage failures
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const clearPersistedTokens = async () => {
|
|
52
|
+
runtimeTokens = {
|
|
53
|
+
token: null,
|
|
54
|
+
accessToken: null
|
|
55
|
+
};
|
|
56
|
+
try {
|
|
57
|
+
await AsyncStorage.removeItem(TOKENS_KEY);
|
|
58
|
+
} catch {
|
|
59
|
+
// ignore storage failures
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const baseQuery = fetchBaseQuery({
|
|
63
|
+
baseUrl: BASE_URL,
|
|
64
|
+
prepareHeaders: headers => {
|
|
65
|
+
if (runtimeTokens.token) {
|
|
66
|
+
headers.set('Token', runtimeTokens.token);
|
|
67
|
+
}
|
|
68
|
+
return headers;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
export const salespandaApi = createApi({
|
|
72
|
+
reducerPath: 'salespandaApi',
|
|
73
|
+
baseQuery,
|
|
74
|
+
endpoints: builder => ({
|
|
75
|
+
authenticate: builder.mutation({
|
|
76
|
+
query: ({
|
|
77
|
+
agent_id = DEFAULT_AGENT_ID,
|
|
78
|
+
clientId
|
|
79
|
+
}) => ({
|
|
80
|
+
url: 'framework/api/authenticate',
|
|
81
|
+
method: 'POST',
|
|
82
|
+
headers: {
|
|
83
|
+
'Content-Type': 'application/json',
|
|
84
|
+
'Client-Id': clientId || DEFAULT_CLIENT_ID
|
|
85
|
+
},
|
|
86
|
+
body: {
|
|
87
|
+
agent_id
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}),
|
|
91
|
+
spssoLogin: builder.mutation({
|
|
92
|
+
query: ({
|
|
93
|
+
access_token,
|
|
94
|
+
app_version = '1.0'
|
|
95
|
+
}) => ({
|
|
96
|
+
url: 'framework/api/spssologin',
|
|
97
|
+
method: 'POST',
|
|
98
|
+
headers: {
|
|
99
|
+
'Content-Type': 'application/json'
|
|
100
|
+
},
|
|
101
|
+
body: {
|
|
102
|
+
app_version,
|
|
103
|
+
access_token
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
}),
|
|
107
|
+
getHome: builder.query({
|
|
108
|
+
query: ({
|
|
109
|
+
app_version = '5.0.1',
|
|
110
|
+
tokenOverride
|
|
111
|
+
} = {}) => ({
|
|
112
|
+
url: 'manager/apis/V2/app-home-screen.php',
|
|
113
|
+
method: 'POST',
|
|
114
|
+
headers: tokenOverride ? {
|
|
115
|
+
'Token': tokenOverride,
|
|
116
|
+
'Content-Type': 'application/json'
|
|
117
|
+
} : {
|
|
118
|
+
'Content-Type': 'application/json'
|
|
119
|
+
},
|
|
120
|
+
body: {
|
|
121
|
+
app_version
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
export const {
|
|
128
|
+
useAuthenticateMutation,
|
|
129
|
+
useSpssoLoginMutation,
|
|
130
|
+
useLazyGetHomeQuery
|
|
131
|
+
} = salespandaApi;
|
|
132
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AsyncStorage","createApi","fetchBaseQuery","BASE_URL","DEFAULT_CLIENT_ID","DEFAULT_AGENT_ID","TOKENS_KEY","runtimeTokens","token","accessToken","setRuntimeTokens","tokens","getRuntimeTokens","loadPersistedTokens","stored","getItem","parsed","JSON","parse","persistTokens","next","setItem","stringify","clearPersistedTokens","removeItem","baseQuery","baseUrl","prepareHeaders","headers","set","salespandaApi","reducerPath","endpoints","builder","authenticate","mutation","query","agent_id","clientId","url","method","body","spssoLogin","access_token","app_version","getHome","tokenOverride","useAuthenticateMutation","useSpssoLoginMutation","useLazyGetHomeQuery"],"sourceRoot":"../../../src","sources":["services/api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
|
+
import { clearPersistedTokens, getRuntimeTokens, setRuntimeTokens } from "./api.js";
|
|
5
|
+
const USER_KEY = '@salespanda/sdk/user';
|
|
6
|
+
let runtimeUser = null;
|
|
7
|
+
export const login = async (user, token, accessToken) => {
|
|
8
|
+
if (token) {
|
|
9
|
+
setRuntimeTokens({
|
|
10
|
+
token
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
if (accessToken) {
|
|
14
|
+
setRuntimeTokens({
|
|
15
|
+
accessToken
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
if (user) {
|
|
19
|
+
runtimeUser = user;
|
|
20
|
+
try {
|
|
21
|
+
await AsyncStorage.setItem(USER_KEY, JSON.stringify(user));
|
|
22
|
+
} catch {
|
|
23
|
+
// ignore storage failures
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
export const logout = async () => {
|
|
28
|
+
runtimeUser = null;
|
|
29
|
+
await clearPersistedTokens();
|
|
30
|
+
try {
|
|
31
|
+
await AsyncStorage.removeItem(USER_KEY);
|
|
32
|
+
} catch {
|
|
33
|
+
// ignore storage failures
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export const isAuthenticated = () => {
|
|
37
|
+
const tokens = getRuntimeTokens();
|
|
38
|
+
return Boolean(tokens.token || tokens.accessToken);
|
|
39
|
+
};
|
|
40
|
+
export const getCurrentUser = async () => {
|
|
41
|
+
if (runtimeUser) {
|
|
42
|
+
return runtimeUser;
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const stored = await AsyncStorage.getItem(USER_KEY);
|
|
46
|
+
if (stored) {
|
|
47
|
+
runtimeUser = JSON.parse(stored);
|
|
48
|
+
return runtimeUser;
|
|
49
|
+
}
|
|
50
|
+
} catch {
|
|
51
|
+
// ignore storage failures
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
55
|
+
export const getCurrentToken = () => {
|
|
56
|
+
const tokens = getRuntimeTokens();
|
|
57
|
+
return tokens.token || tokens.accessToken;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=authService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AsyncStorage","clearPersistedTokens","getRuntimeTokens","setRuntimeTokens","USER_KEY","runtimeUser","login","user","token","accessToken","setItem","JSON","stringify","logout","removeItem","isAuthenticated","tokens","Boolean","getCurrentUser","stored","getItem","parse","getCurrentToken"],"sourceRoot":"../../../src","sources":["services/authService.ts"],"mappings":";;AAAA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,gBAAgB,QACX,UAAO;AAEd,MAAMC,QAAQ,GAAG,sBAAsB;AAUvC,IAAIC,WAA4B,GAAG,IAAI;AAEvC,OAAO,MAAMC,KAAK,GAAG,MAAAA,CACnBC,IAAe,EACfC,KAAc,EACdC,WAAoB,KACjB;EACH,IAAID,KAAK,EAAE;IACTL,gBAAgB,CAAC;MAAEK;IAAM,CAAC,CAAC;EAC7B;EACA,IAAIC,WAAW,EAAE;IACfN,gBAAgB,CAAC;MAAEM;IAAY,CAAC,CAAC;EACnC;EACA,IAAIF,IAAI,EAAE;IACRF,WAAW,GAAGE,IAAI;IAClB,IAAI;MACF,MAAMP,YAAY,CAACU,OAAO,CAACN,QAAQ,EAAEO,IAAI,CAACC,SAAS,CAACL,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF,CAAC;AAED,OAAO,MAAMM,MAAM,GAAG,MAAAA,CAAA,KAAY;EAChCR,WAAW,GAAG,IAAI;EAClB,MAAMJ,oBAAoB,CAAC,CAAC;EAC5B,IAAI;IACF,MAAMD,YAAY,CAACc,UAAU,CAACV,QAAQ,CAAC;EACzC,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ,CAAC;AAED,OAAO,MAAMW,eAAe,GAAGA,CAAA,KAAe;EAC5C,MAAMC,MAAM,GAAGd,gBAAgB,CAAC,CAAC;EACjC,OAAOe,OAAO,CAACD,MAAM,CAACR,KAAK,IAAIQ,MAAM,CAACP,WAAW,CAAC;AACpD,CAAC;AAED,OAAO,MAAMS,cAAc,GAAG,MAAAA,CAAA,KAAsC;EAClE,IAAIb,WAAW,EAAE;IACf,OAAOA,WAAW;EACpB;EACA,IAAI;IACF,MAAMc,MAAM,GAAG,MAAMnB,YAAY,CAACoB,OAAO,CAAChB,QAAQ,CAAC;IACnD,IAAIe,MAAM,EAAE;MACVd,WAAW,GAAGM,IAAI,CAACU,KAAK,CAACF,MAAM,CAAa;MAC5C,OAAOd,WAAW;IACpB;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMiB,eAAe,GAAGA,CAAA,KAAqB;EAClD,MAAMN,MAAM,GAAGd,gBAAgB,CAAC,CAAC;EACjC,OAAOc,MAAM,CAACR,KAAK,IAAIQ,MAAM,CAACP,WAAW;AAC3C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { configureStore } from '@reduxjs/toolkit';
|
|
4
|
+
import { setupListeners } from '@reduxjs/toolkit/query';
|
|
5
|
+
import { salespandaApi } from "../services/api.js";
|
|
6
|
+
export const store = configureStore({
|
|
7
|
+
reducer: {
|
|
8
|
+
[salespandaApi.reducerPath]: salespandaApi.reducer
|
|
9
|
+
},
|
|
10
|
+
middleware: getDefaultMiddleware => getDefaultMiddleware().concat(salespandaApi.middleware)
|
|
11
|
+
});
|
|
12
|
+
setupListeners(store.dispatch);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["configureStore","setupListeners","salespandaApi","store","reducer","reducerPath","middleware","getDefaultMiddleware","concat","dispatch"],"sourceRoot":"../../../src","sources":["store/index.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,aAAa,QAAQ,oBAAiB;AAE/C,OAAO,MAAMC,KAAK,GAAGH,cAAc,CAAC;EAClCI,OAAO,EAAE;IACP,CAACF,aAAa,CAACG,WAAW,GAAGH,aAAa,CAACE;EAC7C,CAAC;EACDE,UAAU,EAAGC,oBAAoB,IAC/BA,oBAAoB,CAAC,CAAC,CAACC,MAAM,CAACN,aAAa,CAACI,UAAU;AAC1D,CAAC,CAAC;AAEFL,cAAc,CAACE,KAAK,CAACM,QAAQ,CAAC","ignoreList":[]}
|