addio-ecomm-sdk 1.3.76 → 1.3.77
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/.vscode/settings.json +34 -34
- package/README.md +79 -79
- package/dist/index.d.ts +203 -203
- package/dist/index.js +1237 -1818
- package/dist/index.js.map +1 -1
- package/dist/lib/constants/components/CreditCardInput.d.ts +11 -11
- package/dist/lib/constants/components/CreditCardInput.js +65 -79
- package/dist/lib/constants/components/CreditCardInput.js.map +1 -1
- package/dist/lib/constants/components/Snackbar.d.ts +11 -11
- package/dist/lib/constants/components/Snackbar.js +29 -39
- package/dist/lib/constants/components/Snackbar.js.map +1 -1
- package/dist/lib/constants/contexts/CartContext/CartContextProvider.d.ts +7 -7
- package/dist/lib/constants/contexts/CartContext/CartContextProvider.js +640 -980
- package/dist/lib/constants/contexts/CartContext/CartContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/CartContext/index.d.ts +79 -79
- package/dist/lib/constants/contexts/CartContext/index.js +47 -127
- package/dist/lib/constants/contexts/CartContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/DataContext/DataContextProvider.d.ts +15 -15
- package/dist/lib/constants/contexts/DataContext/DataContextProvider.js +173 -304
- package/dist/lib/constants/contexts/DataContext/DataContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/DataContext/index.d.ts +47 -47
- package/dist/lib/constants/contexts/DataContext/index.js +27 -67
- package/dist/lib/constants/contexts/DataContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/LogContext/LogContextProvider.d.ts +6 -6
- package/dist/lib/constants/contexts/LogContext/LogContextProvider.js +40 -103
- package/dist/lib/constants/contexts/LogContext/LogContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/LogContext/index.d.ts +7 -7
- package/dist/lib/constants/contexts/LogContext/index.js +7 -45
- package/dist/lib/constants/contexts/LogContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/ModalContext/ModalContextProvider.d.ts +7 -7
- package/dist/lib/constants/contexts/ModalContext/ModalContextProvider.js +61 -76
- package/dist/lib/constants/contexts/ModalContext/ModalContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/ModalContext/index.d.ts +14 -14
- package/dist/lib/constants/contexts/ModalContext/index.js +16 -18
- package/dist/lib/constants/contexts/ModalContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/SDKContext/SDKProvider.d.ts +8 -8
- package/dist/lib/constants/contexts/SDKContext/SDKProvider.js +23 -79
- package/dist/lib/constants/contexts/SDKContext/SDKProvider.js.map +1 -1
- package/dist/lib/constants/contexts/SDKContext/index.d.ts +4 -4
- package/dist/lib/constants/contexts/SDKContext/index.js +4 -4
- package/dist/lib/constants/contexts/SDKContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContext.d.ts +4 -4
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContext.js +6 -6
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContext.js.map +1 -1
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContextProvider.d.ts +12 -12
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContextProvider.js +38 -52
- package/dist/lib/constants/contexts/SnackbarContext/SnackbarContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/SnackbarContext/interfaces/ISnackbarContext.d.ts +19 -17
- package/dist/lib/constants/contexts/SnackbarContext/interfaces/ISnackbarContext.js +21 -21
- package/dist/lib/constants/contexts/SnackbarContext/interfaces/ISnackbarContext.js.map +1 -1
- package/dist/lib/constants/contexts/StockNotifContext/StockNotifContextProvider.d.ts +7 -7
- package/dist/lib/constants/contexts/StockNotifContext/StockNotifContextProvider.js +112 -179
- package/dist/lib/constants/contexts/StockNotifContext/StockNotifContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/StockNotifContext/index.d.ts +10 -10
- package/dist/lib/constants/contexts/StockNotifContext/index.js +10 -10
- package/dist/lib/constants/contexts/StockNotifContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/UserContext/UserContextProvider.d.ts +5 -5
- package/dist/lib/constants/contexts/UserContext/UserContextProvider.js +313 -470
- package/dist/lib/constants/contexts/UserContext/UserContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/UserContext/index.d.ts +54 -54
- package/dist/lib/constants/contexts/UserContext/index.js +28 -82
- package/dist/lib/constants/contexts/UserContext/index.js.map +1 -1
- package/dist/lib/constants/contexts/WishlistContext/WishlistContextProvider.d.ts +6 -6
- package/dist/lib/constants/contexts/WishlistContext/WishlistContextProvider.js +231 -327
- package/dist/lib/constants/contexts/WishlistContext/WishlistContextProvider.js.map +1 -1
- package/dist/lib/constants/contexts/WishlistContext/index.d.ts +12 -12
- package/dist/lib/constants/contexts/WishlistContext/index.js +12 -12
- package/dist/lib/constants/contexts/WishlistContext/index.js.map +1 -1
- package/dist/lib/constants/hooks/useCart.d.ts +2 -2
- package/dist/lib/constants/hooks/useCart.js +11 -11
- package/dist/lib/constants/hooks/useCart.js.map +1 -1
- package/dist/lib/constants/hooks/useData.d.ts +2 -2
- package/dist/lib/constants/hooks/useData.js +11 -11
- package/dist/lib/constants/hooks/useData.js.map +1 -1
- package/dist/lib/constants/hooks/useLogs.d.ts +2 -2
- package/dist/lib/constants/hooks/useLogs.js +11 -11
- package/dist/lib/constants/hooks/useLogs.js.map +1 -1
- package/dist/lib/constants/hooks/useModal.d.ts +2 -2
- package/dist/lib/constants/hooks/useModal.js +11 -11
- package/dist/lib/constants/hooks/useModal.js.map +1 -1
- package/dist/lib/constants/hooks/useSDK.d.ts +2 -2
- package/dist/lib/constants/hooks/useSDK.js +11 -11
- package/dist/lib/constants/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/hooks/useSnackbar.d.ts +2 -2
- package/dist/lib/constants/hooks/useSnackbar.js +11 -11
- package/dist/lib/constants/hooks/useSnackbar.js.map +1 -1
- package/dist/lib/constants/hooks/useStockNotif.d.ts +2 -2
- package/dist/lib/constants/hooks/useStockNotif.js +11 -11
- package/dist/lib/constants/hooks/useStockNotif.js.map +1 -1
- package/dist/lib/constants/hooks/useUser.d.ts +2 -2
- package/dist/lib/constants/hooks/useUser.js +11 -11
- package/dist/lib/constants/hooks/useUser.js.map +1 -1
- package/dist/lib/constants/hooks/useWishlist.d.ts +2 -2
- package/dist/lib/constants/hooks/useWishlist.js +11 -11
- package/dist/lib/constants/hooks/useWishlist.js.map +1 -1
- package/dist/lib/models/image/index.d.ts +6 -6
- package/dist/lib/models/image/index.js +10 -15
- package/dist/lib/models/image/index.js.map +1 -1
- package/dist/lib/models/stockNotification/index.d.ts +13 -13
- package/dist/lib/models/stockNotification/index.js +70 -130
- package/dist/lib/models/stockNotification/index.js.map +1 -1
- package/dist/lib/models/wishlist/index.d.ts +14 -14
- package/dist/lib/models/wishlist/index.js +86 -155
- package/dist/lib/models/wishlist/index.js.map +1 -1
- package/dist/utils/StripeErrors.d.ts +24 -24
- package/dist/utils/StripeErrors.js +55 -55
- package/dist/utils/algolia.d.ts +3 -3
- package/dist/utils/algolia.js +35 -81
- package/dist/utils/algolia.js.map +1 -1
- package/dist/utils/analytics.d.ts +71 -71
- package/dist/utils/analytics.js +246 -257
- package/dist/utils/analytics.js.map +1 -1
- package/dist/utils/cart.d.ts +3 -3
- package/dist/utils/cart.js +65 -66
- package/dist/utils/cart.js.map +1 -1
- package/dist/utils/contentful.d.ts +10 -10
- package/dist/utils/contentful.js +63 -136
- package/dist/utils/contentful.js.map +1 -1
- package/dist/utils/functions.d.ts +21 -21
- package/dist/utils/functions.js +183 -200
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/getSDK.d.ts +4 -4
- package/dist/utils/getSDK.js +19 -77
- package/dist/utils/getSDK.js.map +1 -1
- package/dist/utils/initStoreData.d.ts +3 -3
- package/dist/utils/initStoreData.js +17 -62
- package/dist/utils/initStoreData.js.map +1 -1
- package/dist/utils/interfaces/IClientCMSData.d.ts +132 -132
- package/dist/utils/interfaces/IClientCMSData.js +2 -2
- package/dist/utils/interfaces/IEndpointResult.d.ts +10 -10
- package/dist/utils/interfaces/IEndpointResult.js +2 -2
- package/dist/utils/interfaces/IFacebookUserProfile.d.ts +10 -10
- package/dist/utils/interfaces/IFacebookUserProfile.js +2 -2
- package/dist/utils/interfaces/IFilter.d.ts +23 -23
- package/dist/utils/interfaces/IFilter.js +2 -2
- package/dist/utils/interfaces/IGoogleUserProfile.d.ts +7 -7
- package/dist/utils/interfaces/IGoogleUserProfile.js +2 -2
- package/dist/utils/interfaces/ISDKConfig.d.ts +7 -7
- package/dist/utils/interfaces/ISDKConfig.js +2 -2
- package/dist/utils/interfaces/ISpaceData.d.ts +18 -18
- package/dist/utils/interfaces/ISpaceData.js +2 -2
- package/dist/utils/larivieremeunier.d.ts +3 -3
- package/dist/utils/larivieremeunier.js +156 -156
- package/dist/utils/larivieremeunier.js.map +1 -1
- package/dist/utils/technosupply.d.ts +3 -3
- package/dist/utils/technosupply.js +155 -155
- package/dist/utils/technosupply.js.map +1 -1
- package/package.json +61 -61
- package/publish.sh +132 -132
|
@@ -1,328 +1,232 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
case 1:
|
|
233
|
-
request = _a.sent();
|
|
234
|
-
if (!!!request)
|
|
235
|
-
return [2];
|
|
236
|
-
return [4, request.json()];
|
|
237
|
-
case 2:
|
|
238
|
-
responseData = _a.sent();
|
|
239
|
-
if (responseData.status != 200) {
|
|
240
|
-
throw new Error('Impossible de fetch la wishlist: ' + responseData.error);
|
|
241
|
-
}
|
|
242
|
-
if (responseData.token) {
|
|
243
|
-
sdk.setUserToken(responseData.token);
|
|
244
|
-
}
|
|
245
|
-
dbWishlist = responseData.data;
|
|
246
|
-
return [2, dbWishlist];
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
}); };
|
|
250
|
-
var saveToDatabase = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
251
|
-
var request, responseData_1, err_1, request, responseData, err_2;
|
|
252
|
-
return __generator(this, function (_a) {
|
|
253
|
-
switch (_a.label) {
|
|
254
|
-
case 0:
|
|
255
|
-
if (!!!state.wishlist || !!!api || !!!sdk)
|
|
256
|
-
return [2];
|
|
257
|
-
if (!!!state.wishlist.id && (!!!state.wishlist.items || !!!state.wishlist.items.length))
|
|
258
|
-
return [2];
|
|
259
|
-
if (!!!!state.wishlist.id) return [3, 6];
|
|
260
|
-
_a.label = 1;
|
|
261
|
-
case 1:
|
|
262
|
-
_a.trys.push([1, 4, , 5]);
|
|
263
|
-
return [4, fetch("".concat(api.api, "/wishlists/add"), {
|
|
264
|
-
method: 'POST',
|
|
265
|
-
headers: {
|
|
266
|
-
Authorization: "Bearer ".concat(api.token),
|
|
267
|
-
'Content-Type': 'application/json',
|
|
268
|
-
'x-gng-ecomm-token': api.userToken
|
|
269
|
-
},
|
|
270
|
-
body: JSON.stringify(state.wishlist)
|
|
271
|
-
})];
|
|
272
|
-
case 2:
|
|
273
|
-
request = _a.sent();
|
|
274
|
-
if (!!!request)
|
|
275
|
-
return [2];
|
|
276
|
-
return [4, request.json()];
|
|
277
|
-
case 3:
|
|
278
|
-
responseData_1 = _a.sent();
|
|
279
|
-
if (responseData_1.status != 200) {
|
|
280
|
-
throw new Error('Impossible de créer la nouvelle wishlist: ' + responseData_1.error);
|
|
281
|
-
}
|
|
282
|
-
setState(function (prevState) { return (__assign(__assign({}, prevState), { wishlist: __assign(__assign({}, prevState.wishlist), { id: responseData_1.data.id }) })); });
|
|
283
|
-
if (responseData_1.token) {
|
|
284
|
-
sdk.setUserToken(responseData_1.token);
|
|
285
|
-
}
|
|
286
|
-
return [3, 5];
|
|
287
|
-
case 4:
|
|
288
|
-
err_1 = _a.sent();
|
|
289
|
-
console.log(err_1);
|
|
290
|
-
return [3, 5];
|
|
291
|
-
case 5: return [2];
|
|
292
|
-
case 6:
|
|
293
|
-
_a.trys.push([6, 9, , 10]);
|
|
294
|
-
return [4, fetch("".concat(api.api, "/wishlists/").concat(state.wishlist.id, "/save"), {
|
|
295
|
-
method: 'POST',
|
|
296
|
-
headers: {
|
|
297
|
-
Authorization: "Bearer ".concat(api.token),
|
|
298
|
-
'Content-Type': 'application/json',
|
|
299
|
-
'x-gng-ecomm-token': api.userToken
|
|
300
|
-
},
|
|
301
|
-
body: JSON.stringify(state.wishlist)
|
|
302
|
-
})];
|
|
303
|
-
case 7:
|
|
304
|
-
request = _a.sent();
|
|
305
|
-
if (!!!request)
|
|
306
|
-
return [2];
|
|
307
|
-
return [4, request.json()];
|
|
308
|
-
case 8:
|
|
309
|
-
responseData = _a.sent();
|
|
310
|
-
if (responseData.status != 200) {
|
|
311
|
-
throw new Error('Impossible de fetch la wishlist: ' + responseData.error);
|
|
312
|
-
}
|
|
313
|
-
if (responseData.token) {
|
|
314
|
-
sdk.setUserToken(responseData.token);
|
|
315
|
-
}
|
|
316
|
-
return [3, 10];
|
|
317
|
-
case 9:
|
|
318
|
-
err_2 = _a.sent();
|
|
319
|
-
console.log(err_2);
|
|
320
|
-
return [3, 10];
|
|
321
|
-
case 10: return [2];
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}); };
|
|
325
|
-
return ((0, jsx_runtime_1.jsx)(_1.default.Provider, __assign({ value: __assign(__assign({}, state), { isFetching: isFetching, addItem: addItem, removeItem: removeItem, clear: clear }) }, { children: (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: children }) })));
|
|
326
|
-
}
|
|
327
|
-
exports.default = WishlistContextProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
30
|
+
const lodash_1 = require("lodash");
|
|
31
|
+
const react_1 = require("react");
|
|
32
|
+
const _1 = __importStar(require("."));
|
|
33
|
+
const useSDK_1 = __importDefault(require("../../hooks/useSDK"));
|
|
34
|
+
const useSnackbar_1 = __importDefault(require("../../hooks/useSnackbar"));
|
|
35
|
+
const useUser_1 = __importDefault(require("../../hooks/useUser"));
|
|
36
|
+
const ISnackbarContext_1 = require("../SnackbarContext/interfaces/ISnackbarContext");
|
|
37
|
+
function WishlistContextProvider({ children }) {
|
|
38
|
+
const { setSnackbar } = (0, useSnackbar_1.default)();
|
|
39
|
+
const sdk = (0, useSDK_1.default)();
|
|
40
|
+
const api = !!sdk ? sdk.getAPIInfos() : null;
|
|
41
|
+
const { isUserLoggedIn, userData } = (0, useUser_1.default)();
|
|
42
|
+
const [isFetching, setIsFetching] = (0, react_1.useState)(false);
|
|
43
|
+
const [isFetched, setIsFetched] = (0, react_1.useState)(false);
|
|
44
|
+
const [state, setState] = (0, react_1.useState)(Object.assign({}, _1.defaultWishlist));
|
|
45
|
+
const getData = (0, react_1.useCallback)(async () => {
|
|
46
|
+
if (!!!sdk || !!isFetching)
|
|
47
|
+
return;
|
|
48
|
+
if (!!!userData) {
|
|
49
|
+
if (!!state.wishlist && !!state.wishlist.items && !!state.wishlist.items.length) {
|
|
50
|
+
setState(_1.defaultWishlist);
|
|
51
|
+
setIsFetching(false);
|
|
52
|
+
setIsFetched(false);
|
|
53
|
+
}
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!!isFetched)
|
|
57
|
+
return;
|
|
58
|
+
setIsFetching(true);
|
|
59
|
+
const storageWishlist = JSON.parse(localStorage.getItem('wishlist') || '{}');
|
|
60
|
+
let currentWishlist = state.wishlist;
|
|
61
|
+
if (!!Object.entries(storageWishlist).length) {
|
|
62
|
+
currentWishlist = Object.assign(Object.assign({}, state.wishlist), { items: storageWishlist.items });
|
|
63
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { wishlist: currentWishlist })));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
localStorage.setItem('wishlist', JSON.stringify(state.wishlist));
|
|
67
|
+
}
|
|
68
|
+
currentWishlist = Object.assign(Object.assign({}, currentWishlist), { customer_id: !!userData ? String(userData.id) : '', user_email: !!userData && !!userData.basic_info.customer_email ? userData.basic_info.customer_email : '' });
|
|
69
|
+
let _wishlist = undefined;
|
|
70
|
+
try {
|
|
71
|
+
_wishlist = await getFromDatabase(currentWishlist);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
console.log('e: ', e);
|
|
75
|
+
}
|
|
76
|
+
if (!!_wishlist) {
|
|
77
|
+
currentWishlist = Object.assign(Object.assign({}, currentWishlist), { id: _wishlist.id, items: (0, lodash_1.uniq)([..._wishlist.items, ...currentWishlist.items]) });
|
|
78
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { wishlist: currentWishlist })));
|
|
79
|
+
}
|
|
80
|
+
setIsFetching(false);
|
|
81
|
+
setIsFetched(true);
|
|
82
|
+
}, [state, userData]);
|
|
83
|
+
(0, react_1.useEffect)(() => {
|
|
84
|
+
getData();
|
|
85
|
+
}, [getData]);
|
|
86
|
+
const save = (0, react_1.useCallback)(() => {
|
|
87
|
+
const storageWishlist = localStorage.getItem('wishlist');
|
|
88
|
+
if (JSON.stringify(storageWishlist) !== JSON.stringify(state.wishlist)) {
|
|
89
|
+
localStorage.setItem('wishlist', JSON.stringify(state.wishlist));
|
|
90
|
+
if (!!!isUserLoggedIn)
|
|
91
|
+
return;
|
|
92
|
+
saveToDatabase();
|
|
93
|
+
}
|
|
94
|
+
}, [state.wishlist.items]);
|
|
95
|
+
(0, react_1.useEffect)(() => {
|
|
96
|
+
save();
|
|
97
|
+
}, [save]);
|
|
98
|
+
const addItem = (product_slug, product_name) => {
|
|
99
|
+
let alreadyInWishlist = false;
|
|
100
|
+
setState((prevState) => {
|
|
101
|
+
alreadyInWishlist = prevState.wishlist.items.map((item) => item).includes(product_slug);
|
|
102
|
+
let newItems = prevState.wishlist.items;
|
|
103
|
+
if (!!!alreadyInWishlist) {
|
|
104
|
+
newItems = [...prevState.wishlist.items, product_slug];
|
|
105
|
+
}
|
|
106
|
+
return Object.assign(Object.assign({}, prevState), { wishlist: Object.assign(Object.assign({}, prevState.wishlist), { items: newItems }) });
|
|
107
|
+
});
|
|
108
|
+
if (alreadyInWishlist) {
|
|
109
|
+
setSnackbar({
|
|
110
|
+
title: 'Cet item est déjà dans votre liste de souhait',
|
|
111
|
+
type: ISnackbarContext_1.SnackbarTypeEnum.ERROR,
|
|
112
|
+
isShown: true
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
setSnackbar({
|
|
117
|
+
title: `${product_name} à bien été ajouté à votre liste de souhait`,
|
|
118
|
+
isShown: true,
|
|
119
|
+
type: ISnackbarContext_1.SnackbarTypeEnum.SUCCESS
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const removeItem = (product_slug, product_name) => {
|
|
124
|
+
setState((prevState) => {
|
|
125
|
+
const newItems = prevState.wishlist.items.filter((item) => item !== product_slug);
|
|
126
|
+
setSnackbar({
|
|
127
|
+
title: `${product_name} à bien été retiré de votre liste de souhait`,
|
|
128
|
+
isShown: true,
|
|
129
|
+
type: ISnackbarContext_1.SnackbarTypeEnum.SUCCESS
|
|
130
|
+
});
|
|
131
|
+
return Object.assign(Object.assign({}, prevState), { wishlist: Object.assign(Object.assign({}, prevState.wishlist), { items: newItems }) });
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
const clear = () => {
|
|
135
|
+
setState((prevState) => {
|
|
136
|
+
setSnackbar({
|
|
137
|
+
title: `Votre liste de souhaits à bien été vidée.`,
|
|
138
|
+
isShown: true,
|
|
139
|
+
type: ISnackbarContext_1.SnackbarTypeEnum.SUCCESS
|
|
140
|
+
});
|
|
141
|
+
return Object.assign(Object.assign({}, prevState), { wishlist: Object.assign(Object.assign({}, prevState.wishlist), { items: [] }) });
|
|
142
|
+
});
|
|
143
|
+
saveToDatabase();
|
|
144
|
+
};
|
|
145
|
+
const getFromDatabase = async (wishlist) => {
|
|
146
|
+
if (!!!api || !!!sdk)
|
|
147
|
+
return;
|
|
148
|
+
let request;
|
|
149
|
+
request = await fetch(`${api.api}/wishlist`, {
|
|
150
|
+
method: 'POST',
|
|
151
|
+
headers: {
|
|
152
|
+
Authorization: `Bearer ${api.token}`,
|
|
153
|
+
'Content-Type': 'application/json',
|
|
154
|
+
'x-gng-ecomm-token': api.userToken
|
|
155
|
+
},
|
|
156
|
+
body: JSON.stringify(wishlist)
|
|
157
|
+
});
|
|
158
|
+
if (!!!request)
|
|
159
|
+
return;
|
|
160
|
+
const responseData = await request.json();
|
|
161
|
+
if (responseData.status != 200) {
|
|
162
|
+
throw new Error('Impossible de fetch la wishlist: ' + responseData.error);
|
|
163
|
+
}
|
|
164
|
+
if (responseData.token) {
|
|
165
|
+
sdk.setUserToken(responseData.token);
|
|
166
|
+
}
|
|
167
|
+
const dbWishlist = responseData.data;
|
|
168
|
+
return dbWishlist;
|
|
169
|
+
};
|
|
170
|
+
const saveToDatabase = async () => {
|
|
171
|
+
if (!!!state.wishlist || !!!api || !!!sdk)
|
|
172
|
+
return;
|
|
173
|
+
if (!!!state.wishlist.id && (!!!state.wishlist.items || !!!state.wishlist.items.length))
|
|
174
|
+
return;
|
|
175
|
+
if (!!!state.wishlist.id) {
|
|
176
|
+
try {
|
|
177
|
+
const request = await fetch(`${api.api}/wishlists/add`, {
|
|
178
|
+
method: 'POST',
|
|
179
|
+
headers: {
|
|
180
|
+
Authorization: `Bearer ${api.token}`,
|
|
181
|
+
'Content-Type': 'application/json',
|
|
182
|
+
'x-gng-ecomm-token': api.userToken
|
|
183
|
+
},
|
|
184
|
+
body: JSON.stringify(state.wishlist)
|
|
185
|
+
});
|
|
186
|
+
if (!!!request)
|
|
187
|
+
return;
|
|
188
|
+
const responseData = await request.json();
|
|
189
|
+
if (responseData.status != 200) {
|
|
190
|
+
throw new Error('Impossible de créer la nouvelle wishlist: ' + responseData.error);
|
|
191
|
+
}
|
|
192
|
+
setState((prevState) => (Object.assign(Object.assign({}, prevState), { wishlist: Object.assign(Object.assign({}, prevState.wishlist), { id: responseData.data.id }) })));
|
|
193
|
+
if (responseData.token) {
|
|
194
|
+
sdk.setUserToken(responseData.token);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
console.log(err);
|
|
199
|
+
}
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
try {
|
|
203
|
+
const request = await fetch(`${api.api}/wishlists/${state.wishlist.id}/save`, {
|
|
204
|
+
method: 'POST',
|
|
205
|
+
headers: {
|
|
206
|
+
Authorization: `Bearer ${api.token}`,
|
|
207
|
+
'Content-Type': 'application/json',
|
|
208
|
+
'x-gng-ecomm-token': api.userToken
|
|
209
|
+
},
|
|
210
|
+
body: JSON.stringify(state.wishlist)
|
|
211
|
+
});
|
|
212
|
+
if (!!!request)
|
|
213
|
+
return;
|
|
214
|
+
const responseData = await request.json();
|
|
215
|
+
if (responseData.status != 200) {
|
|
216
|
+
throw new Error('Impossible de fetch la wishlist: ' + responseData.error);
|
|
217
|
+
}
|
|
218
|
+
if (responseData.token) {
|
|
219
|
+
sdk.setUserToken(responseData.token);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (err) {
|
|
223
|
+
console.log(err);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
return ((0, jsx_runtime_1.jsx)(_1.default.Provider, Object.assign({ value: Object.assign(Object.assign({}, state), { isFetching,
|
|
227
|
+
addItem,
|
|
228
|
+
removeItem,
|
|
229
|
+
clear }) }, { children: (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: children }) })));
|
|
230
|
+
}
|
|
231
|
+
exports.default = WishlistContextProvider;
|
|
328
232
|
//# sourceMappingURL=WishlistContextProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WishlistContextProvider.js","sourceRoot":"","sources":["../../../../../src/lib/constants/contexts/WishlistContext/WishlistContextProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WishlistContextProvider.js","sourceRoot":"","sources":["../../../../../src/lib/constants/contexts/WishlistContext/WishlistContextProvider.tsx"],"names":[],"mappings":"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"}
|