@propel-nsl/propel-react-native-sdk 1.0.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.
Files changed (221) hide show
  1. package/assets/fonts/Lexend-Black.ttf +0 -0
  2. package/assets/fonts/Lexend-Bold.ttf +0 -0
  3. package/assets/fonts/Lexend-ExtraBold.ttf +0 -0
  4. package/assets/fonts/Lexend-ExtraLight.ttf +0 -0
  5. package/assets/fonts/Lexend-Light.ttf +0 -0
  6. package/assets/fonts/Lexend-Medium.ttf +0 -0
  7. package/assets/fonts/Lexend-Regular.ttf +0 -0
  8. package/assets/fonts/Lexend-SemiBold.ttf +0 -0
  9. package/assets/fonts/Lexend-Thin.ttf +0 -0
  10. package/assets/images/HomeGoods.png +0 -0
  11. package/assets/images/accessories.png +0 -0
  12. package/assets/images/amazon.png +0 -0
  13. package/assets/images/apnaClubLogo.png +0 -0
  14. package/assets/images/apparel.png +0 -0
  15. package/assets/images/backgroundblue.png +0 -0
  16. package/assets/images/bannerCard.png +0 -0
  17. package/assets/images/bottomWave.png +0 -0
  18. package/assets/images/coin_1_1.png +0 -0
  19. package/assets/images/flipkart.png +0 -0
  20. package/assets/images/frame_1171278967.png +0 -0
  21. package/assets/images/gift.png +0 -0
  22. package/assets/images/herobanner.png +0 -0
  23. package/assets/images/hinduPencilsLogo.png +0 -0
  24. package/assets/images/icons/addwhiteicon.png +0 -0
  25. package/assets/images/icons/arrow-back.png +0 -0
  26. package/assets/images/icons/arrowgreen.png +0 -0
  27. package/assets/images/icons/arrowred.png +0 -0
  28. package/assets/images/icons/arrowright.png +0 -0
  29. package/assets/images/icons/arrowup.png +0 -0
  30. package/assets/images/icons/blackarrowdown.png +0 -0
  31. package/assets/images/icons/blackarrowup.png +0 -0
  32. package/assets/images/icons/blackcross.png +0 -0
  33. package/assets/images/icons/call.png +0 -0
  34. package/assets/images/icons/camera.png +0 -0
  35. package/assets/images/icons/cart.png +0 -0
  36. package/assets/images/icons/chat.png +0 -0
  37. package/assets/images/icons/circleblack.png +0 -0
  38. package/assets/images/icons/copy.png +0 -0
  39. package/assets/images/icons/cross.png +0 -0
  40. package/assets/images/icons/delete.png +0 -0
  41. package/assets/images/icons/delivery.png +0 -0
  42. package/assets/images/icons/eVoucher.png +0 -0
  43. package/assets/images/icons/editIcon.png +0 -0
  44. package/assets/images/icons/email.png +0 -0
  45. package/assets/images/icons/eye.png +0 -0
  46. package/assets/images/icons/faq.png +0 -0
  47. package/assets/images/icons/filtericon.png +0 -0
  48. package/assets/images/icons/greyDownArrow.png +0 -0
  49. package/assets/images/icons/help.png +0 -0
  50. package/assets/images/icons/home.png +0 -0
  51. package/assets/images/icons/homeinactive.png +0 -0
  52. package/assets/images/icons/i_blackicon.png +0 -0
  53. package/assets/images/icons/i_icon.png +0 -0
  54. package/assets/images/icons/location.png +0 -0
  55. package/assets/images/icons/logout.png +0 -0
  56. package/assets/images/icons/minus.png +0 -0
  57. package/assets/images/icons/myOrders.png +0 -0
  58. package/assets/images/icons/orders.png +0 -0
  59. package/assets/images/icons/pencillogo.png +0 -0
  60. package/assets/images/icons/pending.png +0 -0
  61. package/assets/images/icons/plus.png +0 -0
  62. package/assets/images/icons/redCross.png +0 -0
  63. package/assets/images/icons/redCrossicon.png +0 -0
  64. package/assets/images/icons/redWarningicon.png +0 -0
  65. package/assets/images/icons/redeem.png +0 -0
  66. package/assets/images/icons/redeemactive.png +0 -0
  67. package/assets/images/icons/redemptionHistory.png +0 -0
  68. package/assets/images/icons/redhelpicon.png +0 -0
  69. package/assets/images/icons/search.png +0 -0
  70. package/assets/images/icons/stopwatch.png +0 -0
  71. package/assets/images/icons/successTick.gif +0 -0
  72. package/assets/images/icons/tick.png +0 -0
  73. package/assets/images/icons/tnc.png +0 -0
  74. package/assets/images/icons/user.png +0 -0
  75. package/assets/images/icons/userredicon.png +0 -0
  76. package/assets/images/icons/wavecorner.png +0 -0
  77. package/assets/images/logo.png +0 -0
  78. package/assets/images/myntra_copy.png +0 -0
  79. package/assets/images/nike.png +0 -0
  80. package/assets/images/oq3p0u0_1.png +0 -0
  81. package/assets/images/profileicon.png +0 -0
  82. package/assets/images/topWave.png +0 -0
  83. package/assets/images/zagglePropelLogo.png +0 -0
  84. package/index.ts +23 -0
  85. package/lib/index.ts +25 -0
  86. package/package.json +70 -0
  87. package/src/PropelSDKScreen.tsx +98 -0
  88. package/src/SDKApp.tsx +540 -0
  89. package/src/bridge/SDKBridge.ts +104 -0
  90. package/src/bridge/index.ts +3 -0
  91. package/src/components/SDKBackHandler.tsx +187 -0
  92. package/src/components/SDKProfile.tsx +87 -0
  93. package/src/components/SDKProfileWrapper.tsx +51 -0
  94. package/src/constants.ts +10 -0
  95. package/src/contexts/SDKContext.tsx +72 -0
  96. package/src/hooks/useSDKBackNavigation.ts +61 -0
  97. package/src/navigation/SDKMainTabNavigator.tsx +315 -0
  98. package/src/navigation/SDKNavigator.tsx +41 -0
  99. package/src/redux/store.ts +32 -0
  100. package/src/screens/Dashboard/index.tsx +531 -0
  101. package/src/screens/Dashboard/styles.ts +512 -0
  102. package/src/screens/DeliveryAddress/index.tsx +221 -0
  103. package/src/screens/DeliveryAddress/styles.ts +122 -0
  104. package/src/screens/E-Vouchers/index.tsx +157 -0
  105. package/src/screens/E-Vouchers/styles.ts +106 -0
  106. package/src/screens/Faq/Faq.constants.ts +164 -0
  107. package/src/screens/Faq/index.tsx +114 -0
  108. package/src/screens/Faq/styles.ts +131 -0
  109. package/src/screens/Help/index.tsx +128 -0
  110. package/src/screens/Help/styles.ts +121 -0
  111. package/src/screens/Login/index.tsx +215 -0
  112. package/src/screens/Login/styles.ts +134 -0
  113. package/src/screens/MyCart/MyCart.constants.ts +13 -0
  114. package/src/screens/MyCart/index.tsx +318 -0
  115. package/src/screens/MyCart/styles.ts +249 -0
  116. package/src/screens/MyOrders/index.tsx +87 -0
  117. package/src/screens/MyOrders/styles.ts +281 -0
  118. package/src/screens/MyProfile/index.tsx +72 -0
  119. package/src/screens/MyProfile/styles.ts +47 -0
  120. package/src/screens/NewDeliveryAddress/index.tsx +360 -0
  121. package/src/screens/NewDeliveryAddress/styles.ts +68 -0
  122. package/src/screens/Onboarding/index.tsx +57 -0
  123. package/src/screens/Onboarding/styles.ts +60 -0
  124. package/src/screens/OrdersDetails/index.tsx +333 -0
  125. package/src/screens/OrdersDetails/styles.ts +262 -0
  126. package/src/screens/OtpVerification/index.tsx +283 -0
  127. package/src/screens/OtpVerification/styles.ts +197 -0
  128. package/src/screens/PaymentMethod/index.tsx +389 -0
  129. package/src/screens/PaymentMethod/styles.ts +246 -0
  130. package/src/screens/PointsLog/index.tsx +286 -0
  131. package/src/screens/PointsLog/styles.ts +156 -0
  132. package/src/screens/ProductDetails/index.tsx +682 -0
  133. package/src/screens/ProductDetails/styles.ts +372 -0
  134. package/src/screens/Profile/index.tsx +368 -0
  135. package/src/screens/Profile/styles.ts +158 -0
  136. package/src/screens/RedemptionHistory/RedemptionHistory.constants.ts +4 -0
  137. package/src/screens/RedemptionHistory/index.tsx +304 -0
  138. package/src/screens/RedemptionHistory/styles.ts +84 -0
  139. package/src/screens/Reedem/index.tsx +345 -0
  140. package/src/screens/Reedem/styles.ts +269 -0
  141. package/src/screens/TnC/TnC.constants.ts +169 -0
  142. package/src/screens/TnC/index.tsx +83 -0
  143. package/src/screens/TnC/styles.ts +88 -0
  144. package/src/screens/TransactionSuccessful/index.tsx +77 -0
  145. package/src/screens/TransactionSuccessful/styles.ts +77 -0
  146. package/src/screens/Verification/index.tsx +58 -0
  147. package/src/screens/Verification/styles.ts +74 -0
  148. package/src/screens/index.ts +23 -0
  149. package/src/types/index.ts +46 -0
  150. package/src-app/components/AmountBreakDownModal/index.tsx +86 -0
  151. package/src-app/components/AmountBreakDownModal/styles.ts +110 -0
  152. package/src-app/components/BottomNavIcons.tsx +125 -0
  153. package/src-app/components/Button.tsx +120 -0
  154. package/src-app/components/Card.tsx +47 -0
  155. package/src-app/components/ConfirmPopup/ConfirmPopup.constants.ts +25 -0
  156. package/src-app/components/ConfirmPopup/index.tsx +48 -0
  157. package/src-app/components/ConfirmPopup/styles.ts +167 -0
  158. package/src-app/components/CustomButton/index.tsx +67 -0
  159. package/src-app/components/CustomButton/styles.ts +44 -0
  160. package/src-app/components/CustomCard/index.tsx +221 -0
  161. package/src-app/components/CustomCard/styles.ts +184 -0
  162. package/src-app/components/CustomError/index.tsx +54 -0
  163. package/src-app/components/CustomError/styles.ts +41 -0
  164. package/src-app/components/CustomImage/index.tsx +37 -0
  165. package/src-app/components/CustomImage/styles.ts +5 -0
  166. package/src-app/components/CustomLoader/index.tsx +45 -0
  167. package/src-app/components/CustomLoader/styles.ts +35 -0
  168. package/src-app/components/CustomMessagePopUp/index.tsx +51 -0
  169. package/src-app/components/CustomMessagePopUp/styles.ts +74 -0
  170. package/src-app/components/CustomProductCard/index.tsx +13 -0
  171. package/src-app/components/CustomProductCard/styles.ts +5 -0
  172. package/src-app/components/FilterModal.tsx +372 -0
  173. package/src-app/components/Footer/index.tsx +23 -0
  174. package/src-app/components/Footer/styles.ts +37 -0
  175. package/src-app/components/Icon.tsx +80 -0
  176. package/src-app/components/Logout/index.tsx +82 -0
  177. package/src-app/components/Logout/styles.ts +116 -0
  178. package/src-app/components/MobileHeader.tsx +141 -0
  179. package/src-app/components/NoDataFound/index.tsx +18 -0
  180. package/src-app/components/NoDataFound/styles.ts +26 -0
  181. package/src-app/components/OTPModal.tsx +747 -0
  182. package/src-app/components/ProfileField.tsx +47 -0
  183. package/src-app/components/QuantityModal/index.tsx +113 -0
  184. package/src-app/components/QuantityModal/styles.ts +84 -0
  185. package/src-app/components/TabBarIcons.tsx +110 -0
  186. package/src-app/components/TextInput.tsx +79 -0
  187. package/src-app/components/ToastConfig.tsx +60 -0
  188. package/src-app/components/index.ts +18 -0
  189. package/src-app/config/env.ts +22 -0
  190. package/src-app/constants/Fonts.ts +12 -0
  191. package/src-app/constants/Formatter.ts +39 -0
  192. package/src-app/constants/HtmlSanitization.ts +46 -0
  193. package/src-app/constants/Images.ts +81 -0
  194. package/src-app/constants/Labels.ts +8 -0
  195. package/src-app/constants/Messages.ts +108 -0
  196. package/src-app/constants/Routes.ts +17 -0
  197. package/src-app/constants/Scaling.ts +5 -0
  198. package/src-app/constants/Text.ts +8 -0
  199. package/src-app/constants/offSets.ts +18 -0
  200. package/src-app/hooks/useAppDispatch.ts +4 -0
  201. package/src-app/hooks/useAppSelector.ts +4 -0
  202. package/src-app/hooks/useBackHandler.ts +47 -0
  203. package/src-app/hooks/useScreenBackHandler.ts +91 -0
  204. package/src-app/navigation/AppNavigator.tsx +34 -0
  205. package/src-app/navigation/MainTabNavigator.tsx +294 -0
  206. package/src-app/redux/authSaga.ts +605 -0
  207. package/src-app/redux/authSlice.ts +754 -0
  208. package/src-app/redux/rootSaga.ts +6 -0
  209. package/src-app/redux/store.ts +25 -0
  210. package/src-app/services/api.ts +14 -0
  211. package/src-app/services/endpoints.ts +33 -0
  212. package/src-app/services/index.ts +574 -0
  213. package/src-app/services/sdkCredentials.ts +44 -0
  214. package/src-app/styles/colors.ts +85 -0
  215. package/src-app/styles/shared.ts +112 -0
  216. package/src-app/types/authTypes.ts +155 -0
  217. package/src-app/types/navigation.ts +99 -0
  218. package/src-app/utils/Validation.ts +48 -0
  219. package/src-app/utils/filterPins.ts +29 -0
  220. package/src-app/utils/navigationUtils.ts +43 -0
  221. package/src-app/utils/useHardwareBack.ts +21 -0
@@ -0,0 +1,754 @@
1
+ import { createSlice, PayloadAction } from '@reduxjs/toolkit';
2
+
3
+ interface AuthState {
4
+ generateOtpData: any,
5
+ otpLoading: boolean;
6
+ otpError: string | null;
7
+ otpData: any;
8
+ otpSuccessMessage: string | null;
9
+ verifyOtpLoading: boolean;
10
+ verifyOtpError: string | null;
11
+ verifyOtpData: any;
12
+ otpToken: string | null;
13
+ verifyOtpSuccessMessage: string | null;
14
+ flag: boolean;
15
+ mobileNumber: string | null;
16
+ myOrdersLoading: boolean;
17
+ myOrdersError: string | null;
18
+ myOrdersData: any;
19
+ myProductsListLoading: boolean;
20
+ myProductsListError: string | null;
21
+ myProductsListData: any;
22
+ myProfileLoading: boolean;
23
+ myProfileError: string | null;
24
+ myProfileData: any;
25
+ uploadProfileImageLoading: boolean;
26
+ uploadProfileImageError: string | null;
27
+ uploadProfileImageData: any;
28
+ productDetailsByIdLoading: boolean;
29
+ productDetailsByIdError: string | null;
30
+ productDetailsByIdData: any;
31
+ myOrdersGenerateOtpLoading: boolean;
32
+ myOrdersGenerateOtpError: string | null;
33
+ myOrdersGenerateOtpData: any;
34
+ myOrdersValidateOtpLoading: boolean;
35
+ myOrdersValidateOtpError: string | null;
36
+ myOrdersValidateOtpData: any;
37
+ redemptionHistoryLoading: boolean;
38
+ redemptionHistoryError: string | null;
39
+ redemptionHistoryData: any;
40
+ productTypesLoading: boolean;
41
+ productTypesError: string | null;
42
+ productTypesData: any;
43
+ productCategoriesByTypeLoading: boolean;
44
+ productCategoriesByTypeError: string | null;
45
+ productCategoriesByTypeData: any;
46
+ viewMyCartLoading: boolean;
47
+ viewMyCartError: string | null;
48
+ viewMyCartData: any;
49
+ dashboardInfoLoading: boolean;
50
+ dashboardInfoError: string | null;
51
+ dashboardInfoData: any;
52
+ getAddressListLoading: boolean;
53
+ getAddressListError: string | null;
54
+ getAddressListData: any;
55
+ createAddressLoading: boolean;
56
+ createAddressError: string | null;
57
+ createAddressData: any;
58
+ updateAddressLoading: boolean;
59
+ updateAddressError: string | null;
60
+ updateAddressData: any;
61
+ deleteAddressLoading: boolean;
62
+ deleteAddressError: string | null;
63
+ deleteAddressData: any;
64
+ updateCartLoading: boolean;
65
+ updateCartError: string | null;
66
+ updateCartData: any;
67
+ deleteCartLoading: boolean;
68
+ deleteCartError: string | null;
69
+ deleteCartData: any;
70
+ addToCartLoading: boolean;
71
+ addToCartError: string | null;
72
+ addToCartData: any;
73
+ addToExistingCartLoading: boolean;
74
+ addToExistingCartError: string | null;
75
+ addToExistingCartData: any;
76
+ pointsLogLoading: boolean;
77
+ pointsLogError: string | null;
78
+ pointsLogData: any;
79
+ cartId: string;
80
+ myOrdersValidateOtpSuccessMessage: number | null;
81
+ viewMyCartSuccessMessage: string | null;
82
+ generateEVouchersLoading: boolean;
83
+ generateEVouchersError: string | null;
84
+ generateEVouchersData: any;
85
+ validateEVouchersLoading: boolean;
86
+ validateEVouchersError: string | null;
87
+ validateEVouchersData: any;
88
+ validateEVouchersSuccessMessage: string | null;
89
+ checkoutLoading: boolean;
90
+ checkoutError: string | null;
91
+ checkoutData: any;
92
+ checkoutSuccessMessage: string | null;
93
+ deliverHereLoading: boolean;
94
+ deliverHereError: string | null;
95
+ deliverHereData: any;
96
+ deliverHereStatus: string | null;
97
+ sdkAuthLoading: boolean;
98
+ sdkAuthError: string | null;
99
+ sdkAuthData: any;
100
+ }
101
+
102
+ const initialState: AuthState = {
103
+ generateOtpData: null,
104
+ otpLoading: false,
105
+ otpError: null,
106
+ otpData: null,
107
+ otpSuccessMessage: null,
108
+ verifyOtpLoading: false,
109
+ verifyOtpError: null,
110
+ verifyOtpData: null,
111
+ otpToken: null,
112
+ verifyOtpSuccessMessage: null,
113
+ flag: false,
114
+ mobileNumber: null,
115
+ myOrdersLoading: false,
116
+ myOrdersError: null,
117
+ myOrdersData: null,
118
+ myProductsListLoading: false,
119
+ myProductsListError: null,
120
+ myProductsListData: null,
121
+ myProfileLoading: false,
122
+ myProfileError: null,
123
+ myProfileData: null,
124
+ uploadProfileImageLoading: false,
125
+ uploadProfileImageError: null,
126
+ uploadProfileImageData: null,
127
+ productDetailsByIdLoading: false,
128
+ productDetailsByIdError: null,
129
+ productDetailsByIdData: null,
130
+ myOrdersGenerateOtpLoading: false,
131
+ myOrdersGenerateOtpError: null,
132
+ myOrdersGenerateOtpData: null,
133
+ myOrdersValidateOtpLoading: false,
134
+ myOrdersValidateOtpError: null,
135
+ myOrdersValidateOtpData: null,
136
+ redemptionHistoryLoading: false,
137
+ redemptionHistoryError: null,
138
+ redemptionHistoryData: null,
139
+ productTypesLoading: false,
140
+ productTypesError: null,
141
+ productTypesData: null,
142
+ productCategoriesByTypeLoading: false,
143
+ productCategoriesByTypeError: null,
144
+ productCategoriesByTypeData: null,
145
+ viewMyCartLoading: false,
146
+ viewMyCartError: null,
147
+ viewMyCartData: null,
148
+ dashboardInfoLoading: false,
149
+ dashboardInfoError: null,
150
+ dashboardInfoData: null,
151
+ getAddressListLoading: false,
152
+ getAddressListError: null,
153
+ getAddressListData: null,
154
+ createAddressLoading: false,
155
+ createAddressError: null,
156
+ createAddressData: null,
157
+ updateAddressLoading: false,
158
+ updateAddressError: null,
159
+ updateAddressData: null,
160
+ deleteAddressLoading: false,
161
+ deleteAddressError: null,
162
+ deleteAddressData: null,
163
+ updateCartLoading: false,
164
+ updateCartError: null,
165
+ updateCartData: null,
166
+ deleteCartLoading: false,
167
+ deleteCartError: null,
168
+ deleteCartData: null,
169
+ addToCartLoading: false,
170
+ addToCartError: null,
171
+ addToCartData: null,
172
+ addToExistingCartLoading: false,
173
+ addToExistingCartError: null,
174
+ addToExistingCartData: null,
175
+ pointsLogLoading: false,
176
+ pointsLogError: null,
177
+ pointsLogData: null,
178
+ cartId: '',
179
+ myOrdersValidateOtpSuccessMessage: null,
180
+ viewMyCartSuccessMessage: null,
181
+ generateEVouchersLoading: false,
182
+ generateEVouchersError: null,
183
+ generateEVouchersData: null,
184
+ validateEVouchersLoading: false,
185
+ validateEVouchersError: null,
186
+ validateEVouchersData: null,
187
+ validateEVouchersSuccessMessage: null,
188
+ checkoutLoading: false,
189
+ checkoutError: null,
190
+ checkoutData: null,
191
+ checkoutSuccessMessage: null,
192
+ deliverHereLoading: false,
193
+ deliverHereError: null,
194
+ deliverHereData: null,
195
+ deliverHereStatus: null,
196
+ sdkAuthLoading: false,
197
+ sdkAuthError: null,
198
+ sdkAuthData: null,
199
+ };
200
+
201
+ type UpdateAuthDataPayload<K extends keyof AuthState = keyof AuthState> = {
202
+ key: K;
203
+ value: AuthState[K];
204
+ };
205
+
206
+ const authSlice = createSlice({
207
+ name: 'auth',
208
+ initialState,
209
+ reducers: {
210
+ generateOtpRequest(state, _action: PayloadAction<any>) {
211
+ state.otpLoading = true;
212
+ state.otpError = null;
213
+ state.otpData = null;
214
+ // state.mobileNumber = _action.payload?.phone;
215
+ },
216
+ generateOtpSuccess(state, action: PayloadAction<any>) {
217
+ state.otpLoading = false;
218
+ state.otpData = action.payload;
219
+ state.otpSuccessMessage = action.payload.message;
220
+ state.otpToken = action.payload?.data?.[0]?.token || null;
221
+ state.generateOtpData = action.payload;
222
+ },
223
+ generateOtpFailure(
224
+ state,
225
+ action: PayloadAction<string | { otpError: string }>,
226
+ ) {
227
+ console.log('🔴 reducer - generateOtpFailure received:', action.payload);
228
+ state.otpLoading = false;
229
+ state.otpError =
230
+ typeof action.payload === 'string'
231
+ ? action.payload
232
+ : action.payload?.otpError ?? 'Something went wrong.';
233
+ },
234
+
235
+ verifyMobileOtpRequest(state, _action: PayloadAction<any>) {
236
+ state.verifyOtpLoading = true;
237
+ state.otpError = null;
238
+ state.verifyOtpData = null;
239
+ },
240
+ verifyMobileOtpSuccess(state, action: PayloadAction<any>) {
241
+ state.verifyOtpLoading = false;
242
+ state.verifyOtpData = action.payload;
243
+ state.verifyOtpError = null;
244
+ state.verifyOtpSuccessMessage = action.payload.message;
245
+ state.otpToken = action.payload?.data?.[0]?.token || null;
246
+ state.mobileNumber = action.payload?.session?.phone;
247
+ },
248
+ verifyMobileOtpFailure(state, action: PayloadAction<any>) {
249
+ state.verifyOtpLoading = false;
250
+ state.verifyOtpError = action.payload;
251
+ },
252
+ resetAuthState: <K extends keyof AuthState>(
253
+ state: AuthState,
254
+ action: PayloadAction<K>,
255
+ ) => {
256
+ const key = action.payload;
257
+ state[key] = initialState[key];
258
+ },
259
+ updateAuthData: <K extends keyof AuthState>(
260
+ state: AuthState,
261
+ action: PayloadAction<UpdateAuthDataPayload<K>>,
262
+ ) => {
263
+ const { key, value } = action.payload;
264
+ state[key] = value;
265
+ },
266
+ myOrdersRequest(state, _action: PayloadAction<any>) {
267
+ state.myOrdersLoading = true;
268
+ state.myOrdersError = null;
269
+ state.myOrdersData = null;
270
+ },
271
+ myOrdersSuccess(state, action: PayloadAction<any>) {
272
+ state.myOrdersLoading = false;
273
+ state.myOrdersData = action.payload.orders;
274
+ state.myOrdersError = null;
275
+ },
276
+ myOrdersFailure(state, action: PayloadAction<any>) {
277
+ state.myOrdersLoading = false;
278
+ state.myOrdersError = action.payload;
279
+ },
280
+ myProductsListRequest(state, _action: PayloadAction<any>) {
281
+ state.myProductsListLoading = true;
282
+ state.myProductsListError = null;
283
+ state.myProductsListData = null;
284
+ },
285
+ myProductsListSuccess(state, action: PayloadAction<any>) {
286
+ state.myProductsListLoading = false;
287
+ state.myProductsListData = action.payload.response;
288
+ state.myProductsListError = null;
289
+ },
290
+ myProductsListFailure(state, action: PayloadAction<any>) {
291
+ state.myProductsListLoading = false;
292
+ state.myProductsListError = action.payload;
293
+ },
294
+ myProfileRequest(state, _action: PayloadAction<any>) {
295
+ state.myProfileLoading = true;
296
+ state.myProfileError = null;
297
+ state.myProfileData = null;
298
+ },
299
+ myProfileSuccess(state, action: PayloadAction<any>) {
300
+ state.myProfileLoading = false;
301
+ state.myProfileData = action.payload;
302
+ state.myProfileError = null;
303
+ },
304
+ myProfileFailure(state, action: PayloadAction<any>) {
305
+ state.myProfileLoading = false;
306
+ state.myProfileError = action.payload;
307
+ },
308
+ uploadProfileImageRequest(state, _action: PayloadAction<any>) {
309
+ state.uploadProfileImageLoading = true;
310
+ state.uploadProfileImageError = null;
311
+ state.uploadProfileImageData = null;
312
+ },
313
+ uploadProfileImageSuccess(state, action: PayloadAction<any>) {
314
+ state.uploadProfileImageLoading = false;
315
+ state.uploadProfileImageData = action.payload;
316
+ state.uploadProfileImageError = null;
317
+ },
318
+ uploadProfileImageFailure(state, action: PayloadAction<any>) {
319
+ state.uploadProfileImageLoading = false;
320
+ state.uploadProfileImageError = action.payload;
321
+ },
322
+ productDetailsByIdRequest(state, _action: PayloadAction<any>) {
323
+ state.productDetailsByIdLoading = true;
324
+ state.productDetailsByIdError = null;
325
+ state.productDetailsByIdData = null;
326
+ },
327
+ productDetailsByIdSuccess(state, action: PayloadAction<any>) {
328
+ state.productDetailsByIdLoading = false;
329
+ state.productDetailsByIdData = action.payload.product;
330
+ state.productDetailsByIdError = null;
331
+ },
332
+ productDetailsByIdFailure(state, action: PayloadAction<any>) {
333
+ state.productDetailsByIdLoading = false;
334
+ state.productDetailsByIdError = action.payload;
335
+ },
336
+ myOrdersGenerateOtpRequest(state, _action: PayloadAction<any>) {
337
+ state.myOrdersGenerateOtpLoading = true;
338
+ state.myOrdersGenerateOtpError = null;
339
+ state.myOrdersGenerateOtpData = null;
340
+ state.myOrdersValidateOtpData = null;
341
+ state.myOrdersValidateOtpError = null;
342
+ },
343
+ myOrdersGenerateOtpSuccess(state, action: PayloadAction<any>) {
344
+ state.myOrdersGenerateOtpLoading = false;
345
+ state.myOrdersGenerateOtpData = action.payload;
346
+ state.myOrdersGenerateOtpError = null;
347
+ },
348
+ myOrdersGenerateOtpFailure(state, action: PayloadAction<any>) {
349
+ state.myOrdersGenerateOtpLoading = false;
350
+ state.myOrdersGenerateOtpError = action.payload;
351
+ },
352
+ myOrdersValidateOtpRequest(state, _action: PayloadAction<any>) {
353
+ console.log("🔄 Reducer: myOrdersValidateOtpRequest called");
354
+ state.myOrdersValidateOtpLoading = true;
355
+ state.myOrdersValidateOtpError = null;
356
+ state.myOrdersValidateOtpData = null;
357
+ state.myOrdersValidateOtpSuccessMessage = null;
358
+ },
359
+ myOrdersValidateOtpSuccess(state, action: PayloadAction<any>) {
360
+ state.myOrdersValidateOtpLoading = false;
361
+ state.myOrdersValidateOtpData = action.payload.data.orders;
362
+ state.myOrdersValidateOtpError = null;
363
+ state.myOrdersValidateOtpSuccessMessage = action.payload.status;
364
+ },
365
+ myOrdersValidateOtpFailure(state, action: PayloadAction<any>) {
366
+ state.myOrdersValidateOtpLoading = false;
367
+ state.myOrdersValidateOtpError = action.payload;
368
+ state.myOrdersValidateOtpSuccessMessage = null;
369
+ },
370
+ redemptionHistoryRequest(state, _action: PayloadAction<any>) {
371
+ state.redemptionHistoryLoading = true;
372
+ state.redemptionHistoryError = null;
373
+ state.redemptionHistoryData = null;
374
+ },
375
+ redemptionHistorySuccess(state, action: PayloadAction<any>) {
376
+ state.redemptionHistoryLoading = false;
377
+ state.redemptionHistoryData = action.payload.redemption_history;
378
+ state.redemptionHistoryError = null;
379
+ },
380
+ redemptionHistoryFailure(state, action: PayloadAction<any>) {
381
+ state.redemptionHistoryLoading = false;
382
+ state.redemptionHistoryError = action.payload;
383
+ },
384
+ productTypesRequest(state, _action: PayloadAction<any>) {
385
+ state.productTypesLoading = true;
386
+ state.productTypesError = null;
387
+ state.productTypesData = null;
388
+ },
389
+ productTypesSuccess(state, action: PayloadAction<any>) {
390
+ state.productTypesLoading = false;
391
+ state.productTypesData = action.payload.response;
392
+ state.productTypesError = null;
393
+ },
394
+ productTypesFailure(state, action: PayloadAction<any>) {
395
+ state.productTypesLoading = false;
396
+ state.productTypesError = action.payload;
397
+ },
398
+ productCategoriesByTypeRequest(state, _action: PayloadAction<any>) {
399
+ state.productCategoriesByTypeLoading = true;
400
+ state.productCategoriesByTypeError = null;
401
+ state.productCategoriesByTypeData = null;
402
+ },
403
+ productCategoriesByTypeSuccess(state, action: PayloadAction<any>) {
404
+ state.productCategoriesByTypeLoading = false;
405
+ state.productCategoriesByTypeData = action.payload.response;
406
+ state.productCategoriesByTypeError = null;
407
+ },
408
+ productCategoriesByTypeFailure(state, action: PayloadAction<any>) {
409
+ state.productCategoriesByTypeLoading = false;
410
+ state.productCategoriesByTypeError = action.payload;
411
+ },
412
+ viewMyCartRequest(state, _action: PayloadAction<any>) {
413
+ state.viewMyCartLoading = true;
414
+ state.viewMyCartError = null;
415
+ state.viewMyCartData = null;
416
+ state.viewMyCartSuccessMessage = null;
417
+ },
418
+ viewMyCartSuccess(state, action: PayloadAction<any>) {
419
+ state.viewMyCartLoading = false;
420
+ state.viewMyCartData = action.payload.data.order;
421
+ state.viewMyCartError = null;
422
+ state.viewMyCartSuccessMessage = action.payload.successMessage || null;
423
+ },
424
+ viewMyCartFailure(state, action: PayloadAction<any>) {
425
+ state.viewMyCartLoading = false;
426
+ state.viewMyCartError = action.payload;
427
+ state.viewMyCartSuccessMessage = null;
428
+ },
429
+ dashboardInfoRequest(state, _action: PayloadAction<any>) {
430
+ state.dashboardInfoLoading = true;
431
+ state.dashboardInfoError = null;
432
+ state.dashboardInfoData = null;
433
+ },
434
+ dashboardInfoSuccess(state, action: PayloadAction<any>) {
435
+ state.dashboardInfoLoading = false;
436
+ state.dashboardInfoData = action.payload;
437
+ state.dashboardInfoError = null;
438
+
439
+ const cartId =
440
+ action.payload?.cart?.id || action.payload?.cart?.cart_id || '';
441
+
442
+ state.cartId = cartId;
443
+ },
444
+ dashboardInfoFailure(state, action: PayloadAction<any>) {
445
+ state.dashboardInfoLoading = false;
446
+ state.dashboardInfoError = action.payload;
447
+ },
448
+ getAddressListRequest(state, _action: PayloadAction<any>) {
449
+ state.getAddressListLoading = true;
450
+ state.getAddressListError = null;
451
+ state.getAddressListData = null;
452
+ },
453
+ getAddressListSuccess(state, action: PayloadAction<any>) {
454
+ state.getAddressListLoading = false;
455
+ state.getAddressListData = action.payload.billing_addresses;
456
+ state.getAddressListError = null;
457
+ },
458
+ getAddressListFailure(state, action: PayloadAction<any>) {
459
+ state.getAddressListLoading = false;
460
+ state.getAddressListError = action.payload;
461
+ },
462
+ createAddressRequest(state, _action: PayloadAction<any>) {
463
+ state.createAddressLoading = true;
464
+ state.createAddressError = null;
465
+ state.createAddressData = null;
466
+ },
467
+ createAddressSuccess(state, action: PayloadAction<any>) {
468
+ state.createAddressLoading = false;
469
+ state.createAddressData = action.payload;
470
+ state.createAddressError = null;
471
+ },
472
+ createAddressFailure(state, action: PayloadAction<any>) {
473
+ state.createAddressLoading = false;
474
+ state.createAddressError = action.payload;
475
+ },
476
+ updateAddressRequest(state, _action: PayloadAction<any>) {
477
+ state.updateAddressLoading = true;
478
+ state.updateAddressError = null;
479
+ state.updateAddressData = null;
480
+ },
481
+ updateAddressSuccess(state, action: PayloadAction<any>) {
482
+ state.updateAddressLoading = false;
483
+ state.updateAddressData = action.payload;
484
+ state.updateAddressError = null;
485
+ },
486
+ updateAddressFailure(state, action: PayloadAction<any>) {
487
+ state.updateAddressLoading = false;
488
+ state.updateAddressError = action.payload;
489
+ },
490
+ deleteAddressRequest(state, _action: PayloadAction<any>) {
491
+ state.deleteAddressLoading = true;
492
+ state.deleteAddressError = null;
493
+ state.deleteAddressData = null;
494
+ },
495
+ deleteAddressSuccess(state, action: PayloadAction<any>) {
496
+ state.deleteAddressLoading = false;
497
+ state.deleteAddressData = action.payload;
498
+ state.deleteAddressError = null;
499
+ },
500
+ deleteAddressFailure(state, action: PayloadAction<any>) {
501
+ state.deleteAddressLoading = false;
502
+ state.deleteAddressError = action.payload;
503
+ },
504
+ updateCartRequest(state, _action: PayloadAction<any>) {
505
+ state.updateCartLoading = true;
506
+ state.updateCartError = null;
507
+ state.updateCartData = null;
508
+ },
509
+ updateCartSuccess(state, action: PayloadAction<any>) {
510
+ state.updateCartLoading = false;
511
+ state.updateCartData = action.payload;
512
+ state.updateCartError = null;
513
+ },
514
+ updateCartFailure(state, action: PayloadAction<any>) {
515
+ state.updateCartLoading = false;
516
+ state.updateCartError = action.payload;
517
+ },
518
+ deleteCartRequest(state, _action: PayloadAction<any>) {
519
+ state.deleteCartLoading = true;
520
+ state.deleteCartError = null;
521
+ state.deleteCartData = null;
522
+ },
523
+ deleteCartSuccess(state, action: PayloadAction<any>) {
524
+ state.deleteCartLoading = false;
525
+ state.deleteCartData = action.payload;
526
+ state.deleteCartError = null;
527
+ },
528
+ deleteCartFailure(state, action: PayloadAction<any>) {
529
+ state.deleteCartLoading = false;
530
+ state.deleteCartError = action.payload;
531
+ },
532
+ addToCartRequest(state, _action: PayloadAction<any>) {
533
+ state.addToCartLoading = true;
534
+ state.addToCartError = null;
535
+ state.addToCartData = null;
536
+ },
537
+ addToCartSuccess(state, action: PayloadAction<any>) {
538
+ state.addToCartLoading = false;
539
+ state.addToCartData = action.payload;
540
+ state.addToCartError = null;
541
+ },
542
+ addToCartFailure(state, action: PayloadAction<any>) {
543
+ state.addToCartLoading = false;
544
+ state.addToCartError = action.payload.errors || action.payload.message;
545
+ },
546
+ addToExistingCartRequest(state, _action: PayloadAction<any>) {
547
+ state.addToExistingCartLoading = true;
548
+ state.addToExistingCartError = null;
549
+ state.addToExistingCartData = null;
550
+ },
551
+ addToExistingCartSuccess(state, action: PayloadAction<any>) {
552
+ state.addToExistingCartLoading = false;
553
+ state.addToExistingCartData = action.payload;
554
+ state.addToExistingCartError = null;
555
+ },
556
+ addToExistingCartFailure(state, action: PayloadAction<any>) {
557
+ state.addToExistingCartLoading = false;
558
+ state.addToExistingCartError = action.payload;
559
+ },
560
+ pointsLogRequest(state, _action: PayloadAction<any>) {
561
+ state.pointsLogLoading = true;
562
+ state.pointsLogError = null;
563
+ state.pointsLogData = null;
564
+ },
565
+ pointsLogSuccess(state, action: PayloadAction<any>) {
566
+ state.pointsLogLoading = false;
567
+ state.pointsLogData = action.payload.response;
568
+ state.pointsLogError = null;
569
+ },
570
+ pointsLogFailure(state, action: PayloadAction<any>) {
571
+ state.pointsLogLoading = false;
572
+ state.pointsLogError = action.payload;
573
+ },
574
+ generateEVouchersRequest(state, _action: PayloadAction<any>) {
575
+ state.generateEVouchersLoading = true;
576
+ state.generateEVouchersError = null;
577
+ state.generateEVouchersData = null;
578
+ },
579
+ generateEVouchersSuccess(state, action: PayloadAction<any>) {
580
+ state.generateEVouchersLoading = false;
581
+ state.generateEVouchersData = action.payload;
582
+ state.generateEVouchersError = null;
583
+ },
584
+ generateEVouchersFailure(state, action: PayloadAction<any>) {
585
+ state.generateEVouchersLoading = false;
586
+ state.generateEVouchersError = action.payload;
587
+ },
588
+ validateEVouchersRequest(state, _action: PayloadAction<any>) {
589
+ state.validateEVouchersLoading = true;
590
+ state.validateEVouchersError = null;
591
+ state.validateEVouchersData = null;
592
+ state.validateEVouchersSuccessMessage = null;
593
+ },
594
+ validateEVouchersSuccess(state, action: PayloadAction<any>) {
595
+ state.validateEVouchersLoading = false;
596
+ state.validateEVouchersData = action.payload.evouchers;
597
+ state.validateEVouchersError = null;
598
+ state.validateEVouchersSuccessMessage = action.payload.message;
599
+ },
600
+ validateEVouchersFailure(state, action: PayloadAction<any>) {
601
+ state.validateEVouchersLoading = false;
602
+ state.validateEVouchersError = action.payload;
603
+ state.validateEVouchersSuccessMessage = null;
604
+ },
605
+ checkoutRequest(state, _action: PayloadAction<any>) {
606
+ state.checkoutLoading = true;
607
+ state.checkoutError = null;
608
+ state.checkoutData = null;
609
+ },
610
+ checkoutSuccess(state, action: PayloadAction<any>) {
611
+ state.checkoutLoading = false;
612
+ state.checkoutData = action.payload;
613
+ state.checkoutError = null;
614
+ // Clear cart data after successful checkout
615
+ state.viewMyCartData = null;
616
+ state.cartId = '';
617
+ state.checkoutSuccessMessage = action.payload.message;
618
+ // Reset OTP validation data to prevent stale data from triggering checkout on next order
619
+ state.myOrdersValidateOtpData = null;
620
+ state.myOrdersValidateOtpSuccessMessage = null;
621
+ },
622
+ checkoutFailure(state, action: PayloadAction<any>) {
623
+ state.checkoutLoading = false;
624
+ state.checkoutError = action.payload;
625
+ },
626
+ deliverHereRequest(state, _action: PayloadAction<any>) {
627
+ state.deliverHereLoading = true;
628
+ state.deliverHereError = null;
629
+ state.deliverHereData = null;
630
+ state.deliverHereStatus = null;
631
+ },
632
+ deliverHereSuccess(state, action: PayloadAction<any>) {
633
+ state.deliverHereLoading = false;
634
+ state.deliverHereData = action.payload;
635
+ state.deliverHereError = null;
636
+ state.deliverHereStatus = action.payload.status;
637
+ },
638
+ deliverHereFailure(state, action: PayloadAction<any>) {
639
+ state.deliverHereLoading = false;
640
+ state.deliverHereError = action.payload;
641
+ state.deliverHereStatus = null;
642
+ },
643
+ sdkAuthRequest(state, _action: PayloadAction<any>) {
644
+ state.sdkAuthLoading = true;
645
+ state.sdkAuthError = null;
646
+ state.sdkAuthData = null;
647
+ },
648
+ sdkAuthSuccess(state, action: PayloadAction<any>) {
649
+ state.sdkAuthLoading = false;
650
+ state.sdkAuthData = action.payload;
651
+ state.sdkAuthError = null;
652
+ },
653
+ sdkAuthFailure(state, action: PayloadAction<any>) {
654
+ state.sdkAuthLoading = false;
655
+ state.sdkAuthError = action.payload;
656
+ },
657
+ // Clear all auth state when SDK exits - prevents stale data on next launch
658
+ clearAllAuthState(state) {
659
+ return initialState;
660
+ },
661
+ },
662
+ });
663
+
664
+ export const {
665
+ generateOtpRequest,
666
+ generateOtpSuccess,
667
+ generateOtpFailure,
668
+ verifyMobileOtpRequest,
669
+ verifyMobileOtpSuccess,
670
+ verifyMobileOtpFailure,
671
+ resetAuthState,
672
+ updateAuthData,
673
+ myOrdersRequest,
674
+ myOrdersSuccess,
675
+ myOrdersFailure,
676
+ myProductsListRequest,
677
+ myProductsListSuccess,
678
+ myProductsListFailure,
679
+ myProfileRequest,
680
+ myProfileSuccess,
681
+ myProfileFailure,
682
+ uploadProfileImageRequest,
683
+ uploadProfileImageSuccess,
684
+ uploadProfileImageFailure,
685
+ productDetailsByIdRequest,
686
+ productDetailsByIdSuccess,
687
+ productDetailsByIdFailure,
688
+ myOrdersGenerateOtpRequest,
689
+ myOrdersGenerateOtpSuccess,
690
+ myOrdersGenerateOtpFailure,
691
+ myOrdersValidateOtpRequest,
692
+ myOrdersValidateOtpSuccess,
693
+ myOrdersValidateOtpFailure,
694
+ redemptionHistoryRequest,
695
+ redemptionHistorySuccess,
696
+ redemptionHistoryFailure,
697
+ productTypesRequest,
698
+ productTypesSuccess,
699
+ productTypesFailure,
700
+ productCategoriesByTypeRequest,
701
+ productCategoriesByTypeSuccess,
702
+ productCategoriesByTypeFailure,
703
+ viewMyCartRequest,
704
+ viewMyCartSuccess,
705
+ viewMyCartFailure,
706
+ dashboardInfoRequest,
707
+ dashboardInfoSuccess,
708
+ dashboardInfoFailure,
709
+ getAddressListRequest,
710
+ getAddressListSuccess,
711
+ getAddressListFailure,
712
+ createAddressRequest,
713
+ createAddressSuccess,
714
+ createAddressFailure,
715
+ updateAddressRequest,
716
+ updateAddressSuccess,
717
+ updateAddressFailure,
718
+ deleteAddressRequest,
719
+ deleteAddressSuccess,
720
+ deleteAddressFailure,
721
+ updateCartRequest,
722
+ updateCartSuccess,
723
+ updateCartFailure,
724
+ deleteCartRequest,
725
+ deleteCartSuccess,
726
+ deleteCartFailure,
727
+ addToCartRequest,
728
+ addToCartSuccess,
729
+ addToCartFailure,
730
+ addToExistingCartRequest,
731
+ addToExistingCartSuccess,
732
+ addToExistingCartFailure,
733
+ pointsLogRequest,
734
+ pointsLogSuccess,
735
+ pointsLogFailure,
736
+ generateEVouchersRequest,
737
+ generateEVouchersSuccess,
738
+ generateEVouchersFailure,
739
+ validateEVouchersRequest,
740
+ validateEVouchersSuccess,
741
+ validateEVouchersFailure,
742
+ checkoutRequest,
743
+ checkoutSuccess,
744
+ checkoutFailure,
745
+ deliverHereRequest,
746
+ deliverHereSuccess,
747
+ deliverHereFailure,
748
+ sdkAuthRequest,
749
+ sdkAuthSuccess,
750
+ sdkAuthFailure,
751
+ clearAllAuthState,
752
+ } = authSlice.actions;
753
+
754
+ export default authSlice.reducer;