@dfx.swiss/react 1.3.0-beta.9 → 1.3.0-beta.91

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 (148) hide show
  1. package/README.md +0 -1
  2. package/dist/contexts/auth.context.d.ts.map +1 -1
  3. package/dist/contexts/auth.context.js +11 -1
  4. package/dist/contexts/auth.context.js.map +1 -1
  5. package/dist/contexts/payment-routes.context.d.ts +18 -0
  6. package/dist/contexts/payment-routes.context.d.ts.map +1 -0
  7. package/dist/contexts/payment-routes.context.js +249 -0
  8. package/dist/contexts/payment-routes.context.js.map +1 -0
  9. package/dist/contexts/session.context.d.ts +5 -0
  10. package/dist/contexts/session.context.d.ts.map +1 -1
  11. package/dist/contexts/session.context.js +35 -8
  12. package/dist/contexts/session.context.js.map +1 -1
  13. package/dist/contexts/support.context.d.ts +19 -0
  14. package/dist/contexts/support.context.d.ts.map +1 -0
  15. package/dist/contexts/support.context.js +353 -0
  16. package/dist/contexts/support.context.js.map +1 -0
  17. package/dist/contexts/user.context.d.ts +15 -1
  18. package/dist/contexts/user.context.d.ts.map +1 -1
  19. package/dist/contexts/user.context.js +171 -23
  20. package/dist/contexts/user.context.js.map +1 -1
  21. package/dist/definitions/asset.d.ts +1 -0
  22. package/dist/definitions/asset.d.ts.map +1 -1
  23. package/dist/definitions/bank-account.d.ts +0 -5
  24. package/dist/definitions/bank-account.d.ts.map +1 -1
  25. package/dist/definitions/bank-account.js +0 -1
  26. package/dist/definitions/bank-account.js.map +1 -1
  27. package/dist/definitions/bank.d.ts +10 -0
  28. package/dist/definitions/bank.d.ts.map +1 -0
  29. package/dist/definitions/bank.js +4 -0
  30. package/dist/definitions/bank.js.map +1 -0
  31. package/dist/definitions/buy.d.ts +8 -0
  32. package/dist/definitions/buy.d.ts.map +1 -1
  33. package/dist/definitions/buy.js +4 -1
  34. package/dist/definitions/buy.js.map +1 -1
  35. package/dist/definitions/fees.d.ts +1 -0
  36. package/dist/definitions/fees.d.ts.map +1 -1
  37. package/dist/definitions/jwt.d.ts +13 -0
  38. package/dist/definitions/jwt.d.ts.map +1 -1
  39. package/dist/definitions/jwt.js +11 -1
  40. package/dist/definitions/jwt.js.map +1 -1
  41. package/dist/definitions/kyc.d.ts +75 -5
  42. package/dist/definitions/kyc.d.ts.map +1 -1
  43. package/dist/definitions/kyc.js +53 -2
  44. package/dist/definitions/kyc.js.map +1 -1
  45. package/dist/definitions/lnurl.d.ts +19 -0
  46. package/dist/definitions/lnurl.d.ts.map +1 -0
  47. package/dist/definitions/lnurl.js +2 -0
  48. package/dist/definitions/lnurl.js.map +1 -0
  49. package/dist/definitions/price-step.d.ts +8 -0
  50. package/dist/definitions/price-step.d.ts.map +1 -0
  51. package/dist/definitions/price-step.js +2 -0
  52. package/dist/definitions/price-step.js.map +1 -0
  53. package/dist/definitions/route.d.ts +133 -0
  54. package/dist/definitions/route.d.ts.map +1 -0
  55. package/dist/definitions/route.js +25 -0
  56. package/dist/definitions/route.js.map +1 -0
  57. package/dist/definitions/sell.d.ts +9 -0
  58. package/dist/definitions/sell.d.ts.map +1 -1
  59. package/dist/definitions/sell.js.map +1 -1
  60. package/dist/definitions/session.d.ts +5 -1
  61. package/dist/definitions/session.d.ts.map +1 -1
  62. package/dist/definitions/settings.d.ts +10 -0
  63. package/dist/definitions/settings.d.ts.map +1 -0
  64. package/dist/definitions/settings.js +2 -0
  65. package/dist/definitions/settings.js.map +1 -0
  66. package/dist/definitions/support.d.ts +91 -4
  67. package/dist/definitions/support.d.ts.map +1 -1
  68. package/dist/definitions/support.js +33 -2
  69. package/dist/definitions/support.js.map +1 -1
  70. package/dist/definitions/swap.d.ts +5 -0
  71. package/dist/definitions/swap.d.ts.map +1 -1
  72. package/dist/definitions/swap.js.map +1 -1
  73. package/dist/definitions/transaction.d.ts +60 -4
  74. package/dist/definitions/transaction.d.ts.map +1 -1
  75. package/dist/definitions/transaction.js +22 -1
  76. package/dist/definitions/transaction.js.map +1 -1
  77. package/dist/definitions/user.d.ts +69 -15
  78. package/dist/definitions/user.d.ts.map +1 -1
  79. package/dist/definitions/user.js +12 -1
  80. package/dist/definitions/user.js.map +1 -1
  81. package/dist/hooks/api.hook.d.ts +3 -1
  82. package/dist/hooks/api.hook.d.ts.map +1 -1
  83. package/dist/hooks/api.hook.js +18 -9
  84. package/dist/hooks/api.hook.js.map +1 -1
  85. package/dist/hooks/asset.hook.d.ts +1 -0
  86. package/dist/hooks/asset.hook.d.ts.map +1 -1
  87. package/dist/hooks/asset.hook.js +9 -3
  88. package/dist/hooks/asset.hook.js.map +1 -1
  89. package/dist/hooks/auth.hook.d.ts +1 -1
  90. package/dist/hooks/auth.hook.d.ts.map +1 -1
  91. package/dist/hooks/auth.hook.js +2 -2
  92. package/dist/hooks/auth.hook.js.map +1 -1
  93. package/dist/hooks/bank-account.hook.d.ts +1 -3
  94. package/dist/hooks/bank-account.hook.d.ts.map +1 -1
  95. package/dist/hooks/bank-account.hook.js +1 -15
  96. package/dist/hooks/bank-account.hook.js.map +1 -1
  97. package/dist/hooks/bank.hook.d.ts +6 -0
  98. package/dist/hooks/bank.hook.d.ts.map +1 -0
  99. package/dist/hooks/bank.hook.js +54 -0
  100. package/dist/hooks/bank.hook.js.map +1 -0
  101. package/dist/hooks/buy.hook.d.ts +2 -1
  102. package/dist/hooks/buy.hook.d.ts.map +1 -1
  103. package/dist/hooks/buy.hook.js +12 -1
  104. package/dist/hooks/buy.hook.js.map +1 -1
  105. package/dist/hooks/kyc.hook.d.ts +9 -2
  106. package/dist/hooks/kyc.hook.d.ts.map +1 -1
  107. package/dist/hooks/kyc.hook.js +52 -2
  108. package/dist/hooks/kyc.hook.js.map +1 -1
  109. package/dist/hooks/lnurl.hook.d.ts +6 -0
  110. package/dist/hooks/lnurl.hook.d.ts.map +1 -0
  111. package/dist/hooks/lnurl.hook.js +56 -0
  112. package/dist/hooks/lnurl.hook.js.map +1 -0
  113. package/dist/hooks/payment-routes.hook.d.ts +12 -0
  114. package/dist/hooks/payment-routes.hook.d.ts.map +1 -0
  115. package/dist/hooks/payment-routes.hook.js +128 -0
  116. package/dist/hooks/payment-routes.hook.js.map +1 -0
  117. package/dist/hooks/settings.hook.d.ts +6 -0
  118. package/dist/hooks/settings.hook.d.ts.map +1 -0
  119. package/dist/hooks/settings.hook.js +51 -0
  120. package/dist/hooks/settings.hook.js.map +1 -0
  121. package/dist/hooks/support.hook.d.ts +7 -3
  122. package/dist/hooks/support.hook.d.ts.map +1 -1
  123. package/dist/hooks/support.hook.js +50 -5
  124. package/dist/hooks/support.hook.js.map +1 -1
  125. package/dist/hooks/swap.hook.d.ts.map +1 -1
  126. package/dist/hooks/swap.hook.js +42 -3
  127. package/dist/hooks/swap.hook.js.map +1 -1
  128. package/dist/hooks/transaction.hook.d.ts +6 -1
  129. package/dist/hooks/transaction.hook.d.ts.map +1 -1
  130. package/dist/hooks/transaction.hook.js +63 -8
  131. package/dist/hooks/transaction.hook.js.map +1 -1
  132. package/dist/hooks/user.hook.d.ts +12 -1
  133. package/dist/hooks/user.hook.d.ts.map +1 -1
  134. package/dist/hooks/user.hook.js +107 -5
  135. package/dist/hooks/user.hook.js.map +1 -1
  136. package/dist/index.d.ts +20 -7
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +14 -5
  139. package/dist/index.js.map +1 -1
  140. package/dist/utils.d.ts +4 -0
  141. package/dist/utils.d.ts.map +1 -1
  142. package/dist/utils.js +14 -0
  143. package/dist/utils.js.map +1 -1
  144. package/dist/validations.d.ts +20 -20
  145. package/dist/validations.d.ts.map +1 -1
  146. package/dist/validations.js +6 -4
  147. package/dist/validations.js.map +1 -1
  148. package/package.json +4 -3
@@ -0,0 +1,353 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { jsx as _jsx } from "react/jsx-runtime";
58
+ import { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';
59
+ import { Utils } from '../utils';
60
+ import { SupportMessageStatus, } from '../definitions/support';
61
+ import { useSupportChat } from '../hooks/support.hook';
62
+ var SupportChatContext = createContext(undefined);
63
+ export var useSupportChatContext = function () { return useContext(SupportChatContext); };
64
+ export function SupportChatContextProvider(props) {
65
+ var _a = useSupportChat(), getIssues = _a.getIssues, getIssue = _a.getIssue, createIssue = _a.createIssue, createMessage = _a.createMessage, fetchFileData = _a.fetchFileData;
66
+ var currUnsettledMessageId = useRef(0);
67
+ var _b = useState([]), tickets = _b[0], setTickets = _b[1];
68
+ var _c = useState(), supportIssue = _c[0], setSupportIssue = _c[1];
69
+ var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
70
+ var _e = useState(false), isSyncing = _e[0], setIsSyncing = _e[1];
71
+ var _f = useState(), isError = _f[0], setIsError = _f[1];
72
+ var _g = useState(false), sync = _g[0], setSync = _g[1];
73
+ useEffect(function () {
74
+ var interval = setTimeout(function () { return sync && syncSupportIssue(); }, 5000);
75
+ return function () { return clearInterval(interval); };
76
+ }, [supportIssue, sync]);
77
+ function loadTickets() {
78
+ return __awaiter(this, void 0, void 0, function () {
79
+ return __generator(this, function (_a) {
80
+ setIsLoading(true);
81
+ setIsError(undefined);
82
+ return [2 /*return*/, getIssues()
83
+ .then(function (tickets) { return setTickets(tickets); })
84
+ .finally(function () { return setIsLoading(false); })];
85
+ });
86
+ });
87
+ }
88
+ function loadSupportIssue(uid) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ return __generator(this, function (_a) {
91
+ if (!uid || uid === (supportIssue === null || supportIssue === void 0 ? void 0 : supportIssue.uid))
92
+ return [2 /*return*/];
93
+ setSupportIssue(undefined);
94
+ setIsLoading(true);
95
+ setIsError(undefined);
96
+ return [2 /*return*/, getIssue(uid)
97
+ .then(function (response) { return setSupportIssue(__assign({}, response)); })
98
+ .finally(function () { return setIsLoading(false); })];
99
+ });
100
+ });
101
+ }
102
+ function syncSupportIssue() {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ var fromMessageId;
105
+ return __generator(this, function (_a) {
106
+ if (!supportIssue || isLoading || isSyncing)
107
+ return [2 /*return*/];
108
+ setIsSyncing(true);
109
+ setIsError(undefined);
110
+ fromMessageId = supportIssue.messages[supportIssue.messages.length - 1].id;
111
+ return [2 /*return*/, getIssue(supportIssue.uid, fromMessageId)
112
+ .then(function (response) { return updateSupportIssue(response); })
113
+ .catch(function () { return setIsError('Error while syncing messages'); })
114
+ .finally(function () { return setIsSyncing(false); })];
115
+ });
116
+ });
117
+ }
118
+ function createSupportIssue(request, file) {
119
+ return __awaiter(this, void 0, void 0, function () {
120
+ var dataFile, _a, messageId, issue, error_1;
121
+ return __generator(this, function (_b) {
122
+ switch (_b.label) {
123
+ case 0:
124
+ _a = file;
125
+ if (!_a) return [3 /*break*/, 2];
126
+ return [4 /*yield*/, mapFileToDataFile(file)];
127
+ case 1:
128
+ _a = (_b.sent());
129
+ _b.label = 2;
130
+ case 2:
131
+ dataFile = _a;
132
+ messageId = getNextUnsettledMessageId();
133
+ setSupportIssue(function (supportIssue) {
134
+ if (!supportIssue)
135
+ return supportIssue;
136
+ supportIssue.messages.push({
137
+ id: messageId,
138
+ created: new Date(),
139
+ message: request.message,
140
+ fileName: file === null || file === void 0 ? void 0 : file.name,
141
+ file: dataFile,
142
+ status: SupportMessageStatus.SENT,
143
+ });
144
+ return __assign({}, supportIssue);
145
+ });
146
+ _b.label = 3;
147
+ case 3:
148
+ _b.trys.push([3, 5, , 6]);
149
+ return [4 /*yield*/, createIssue(request)];
150
+ case 4:
151
+ issue = _b.sent();
152
+ settleMessage(messageId, issue.messages[issue.messages.length - 1]);
153
+ updateSupportIssue(issue);
154
+ return [2 /*return*/, issue.uid];
155
+ case 5:
156
+ error_1 = _b.sent();
157
+ settleMessage(messageId);
158
+ throw error_1;
159
+ case 6: return [2 /*return*/];
160
+ }
161
+ });
162
+ });
163
+ }
164
+ function submitMessage(message, files, replyToMessage) {
165
+ return __awaiter(this, void 0, void 0, function () {
166
+ var hasText, hasFiles, modFiles;
167
+ var _this = this;
168
+ return __generator(this, function (_a) {
169
+ if (!supportIssue)
170
+ return [2 /*return*/];
171
+ hasText = message && message.trim() !== '';
172
+ hasFiles = files && files.length > 0;
173
+ if (!hasText && !hasFiles)
174
+ return [2 /*return*/];
175
+ modFiles = (files === null || files === void 0 ? void 0 : files.length) !== 1 && hasText ? __spreadArray(__spreadArray([], (files !== null && files !== void 0 ? files : []), true), [undefined], false) : files !== null && files !== void 0 ? files : [];
176
+ modFiles.forEach(function (file, index) { return __awaiter(_this, void 0, void 0, function () {
177
+ var dataFile, _a, messageId, newMessage;
178
+ return __generator(this, function (_b) {
179
+ switch (_b.label) {
180
+ case 0:
181
+ _a = file;
182
+ if (!_a) return [3 /*break*/, 2];
183
+ return [4 /*yield*/, mapFileToDataFile(file)];
184
+ case 1:
185
+ _a = (_b.sent());
186
+ _b.label = 2;
187
+ case 2:
188
+ dataFile = _a;
189
+ messageId = getNextUnsettledMessageId();
190
+ newMessage = {
191
+ id: messageId,
192
+ message: index === modFiles.length - 1 && hasText ? message : undefined,
193
+ file: dataFile,
194
+ fileName: file === null || file === void 0 ? void 0 : file.name,
195
+ created: new Date(),
196
+ status: SupportMessageStatus.SENT,
197
+ replyTo: index === 0 ? replyToMessage === null || replyToMessage === void 0 ? void 0 : replyToMessage.id : undefined,
198
+ };
199
+ setSupportIssue(function (supportIssue) {
200
+ if (!supportIssue)
201
+ return supportIssue;
202
+ supportIssue.messages.push(newMessage);
203
+ return __assign({}, supportIssue);
204
+ });
205
+ createMessage(supportIssue.uid, {
206
+ message: newMessage.message,
207
+ file: dataFile === null || dataFile === void 0 ? void 0 : dataFile.file,
208
+ fileName: newMessage.fileName,
209
+ })
210
+ .then(function (response) { return settleMessage(messageId, response); })
211
+ .catch(function () { return settleMessage(messageId); });
212
+ return [2 /*return*/];
213
+ }
214
+ });
215
+ }); });
216
+ return [2 /*return*/];
217
+ });
218
+ });
219
+ }
220
+ function loadFileData(messageId) {
221
+ return __awaiter(this, void 0, void 0, function () {
222
+ var message;
223
+ return __generator(this, function (_a) {
224
+ message = supportIssue === null || supportIssue === void 0 ? void 0 : supportIssue.messages.find(function (m) { return m.id === messageId; });
225
+ if (!supportIssue || !(message === null || message === void 0 ? void 0 : message.fileName))
226
+ throw new Error('Failed to load file data');
227
+ return [2 /*return*/, fetchFileData(supportIssue.uid, message.id).then(function (blobContent) {
228
+ var byteArray = new Uint8Array(blobContent.data.data);
229
+ var blob = new Blob([byteArray], { type: blobContent.contentType });
230
+ var newFile = {
231
+ file: blobContent.data.data,
232
+ type: blobContent.contentType,
233
+ size: blob.size,
234
+ url: URL.createObjectURL(blob),
235
+ };
236
+ setSupportIssue(function (supportIssue) {
237
+ if (!supportIssue)
238
+ return supportIssue;
239
+ if (message)
240
+ message.file = newFile;
241
+ return __assign({}, supportIssue);
242
+ });
243
+ })];
244
+ });
245
+ });
246
+ }
247
+ function handleEmojiClick(messageId, emoji, user) {
248
+ var _a;
249
+ if (user === void 0) { user = 'Customer'; }
250
+ if (!supportIssue)
251
+ return;
252
+ var messageIndex = supportIssue.messages.findIndex(function (m) { return m.id === messageId; });
253
+ if (messageIndex === -1)
254
+ return;
255
+ var message = supportIssue.messages[messageIndex];
256
+ if (!message.reactions)
257
+ message.reactions = [];
258
+ var reactionIndex = (_a = message.reactions) === null || _a === void 0 ? void 0 : _a.findIndex(function (r) { return r.emoji === emoji; });
259
+ if (reactionIndex === -1) {
260
+ message.reactions.push({ emoji: emoji, users: [user] });
261
+ }
262
+ else {
263
+ var userIndex = message.reactions[reactionIndex].users.indexOf(user);
264
+ if (userIndex === -1) {
265
+ message.reactions[reactionIndex].users.push(user);
266
+ }
267
+ else {
268
+ message.reactions[reactionIndex].users.splice(userIndex, 1);
269
+ if (message.reactions[reactionIndex].users.length === 0) {
270
+ message.reactions.splice(reactionIndex, 1);
271
+ }
272
+ }
273
+ }
274
+ setSupportIssue(function (supportIssue) {
275
+ if (!supportIssue)
276
+ return supportIssue;
277
+ supportIssue.messages[messageIndex] = message;
278
+ return __assign({}, supportIssue);
279
+ });
280
+ // TODO (later): Update message on server side. Feature not yet available.
281
+ }
282
+ var context = useMemo(function () { return ({
283
+ tickets: tickets,
284
+ supportIssue: supportIssue,
285
+ isLoading: isLoading,
286
+ isError: isError,
287
+ loadTickets: loadTickets,
288
+ loadSupportIssue: loadSupportIssue,
289
+ createSupportIssue: createSupportIssue,
290
+ submitMessage: submitMessage,
291
+ handleEmojiClick: handleEmojiClick,
292
+ loadFileData: loadFileData,
293
+ setSync: setSync,
294
+ }); }, [
295
+ tickets,
296
+ supportIssue,
297
+ isLoading,
298
+ isError,
299
+ loadTickets,
300
+ loadSupportIssue,
301
+ createSupportIssue,
302
+ submitMessage,
303
+ handleEmojiClick,
304
+ loadFileData,
305
+ setSync,
306
+ ]);
307
+ // --- HELPER FUNCTIONS --- //
308
+ function updateSupportIssue(newState) {
309
+ setSupportIssue(function (supportIssue) {
310
+ if (!supportIssue)
311
+ return newState;
312
+ supportIssue.messages = __spreadArray(__spreadArray([], supportIssue.messages, true), newState.messages.filter(function (m) { return !supportIssue.messages.some(function (sm) { return sm.id === m.id; }); }), true);
313
+ return __assign({}, supportIssue);
314
+ });
315
+ }
316
+ function settleMessage(messageId, newMessage) {
317
+ var idx = supportIssue === null || supportIssue === void 0 ? void 0 : supportIssue.messages.findIndex(function (m) { return m.id === messageId; });
318
+ if (!supportIssue || !idx || idx === -1)
319
+ return;
320
+ var settledMessage = supportIssue.messages[idx];
321
+ setSupportIssue(function (supportIssue) {
322
+ if (!supportIssue)
323
+ return supportIssue;
324
+ supportIssue.messages[idx] = __assign(__assign(__assign({}, settledMessage), newMessage), { status: newMessage ? SupportMessageStatus.RECEIVED : SupportMessageStatus.FAILED });
325
+ return __assign({}, supportIssue);
326
+ });
327
+ }
328
+ function mapFileToDataFile(file) {
329
+ return __awaiter(this, void 0, void 0, function () {
330
+ var base64File;
331
+ return __generator(this, function (_a) {
332
+ switch (_a.label) {
333
+ case 0: return [4 /*yield*/, Utils.toBase64(file)];
334
+ case 1:
335
+ base64File = _a.sent();
336
+ if (!base64File)
337
+ return [2 /*return*/];
338
+ return [2 /*return*/, {
339
+ file: base64File,
340
+ type: file.type,
341
+ size: file.size,
342
+ url: URL.createObjectURL(file),
343
+ }];
344
+ }
345
+ });
346
+ });
347
+ }
348
+ function getNextUnsettledMessageId() {
349
+ return --currUnsettledMessageId.current;
350
+ }
351
+ return _jsx(SupportChatContext.Provider, __assign({ value: context }, { children: props.children }));
352
+ }
353
+ //# sourceMappingURL=support.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.context.js","sourceRoot":"","sources":["../../src/contexts/support.context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAqB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3G,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAIL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgBvD,IAAM,kBAAkB,GAAG,aAAa,CAAuB,SAAgB,CAAC,CAAC;AAEjF,MAAM,CAAC,IAAM,qBAAqB,GAAG,cAAM,OAAA,UAAU,CAAC,kBAAkB,CAAC,EAA9B,CAA8B,CAAC;AAE1E,MAAM,UAAU,0BAA0B,CAAC,KAAwB;IAC3D,IAAA,KAAqE,cAAc,EAAE,EAAnF,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,aAAa,mBAAA,EAAE,aAAa,mBAAqB,CAAC;IAE5F,IAAM,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAA,KAAwB,QAAQ,CAAiB,EAAE,CAAC,EAAnD,OAAO,QAAA,EAAE,UAAU,QAAgC,CAAC;IACrD,IAAA,KAAkC,QAAQ,EAAgB,EAAzD,YAAY,QAAA,EAAE,eAAe,QAA4B,CAAC;IAC3D,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAA4B,QAAQ,CAAC,KAAK,CAAC,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAC;IAC5C,IAAA,KAAwB,QAAQ,EAAU,EAAzC,OAAO,QAAA,EAAE,UAAU,QAAsB,CAAC;IAC3C,IAAA,KAAkB,QAAQ,CAAC,KAAK,CAAC,EAAhC,IAAI,QAAA,EAAE,OAAO,QAAmB,CAAC;IAExC,SAAS,CAAC;QACR,IAAM,QAAQ,GAAG,UAAU,CAAC,cAAM,OAAA,IAAI,IAAI,gBAAgB,EAAE,EAA1B,CAA0B,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,cAAM,OAAA,aAAa,CAAC,QAAQ,CAAC,EAAvB,CAAuB,CAAC;IACvC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzB,SAAe,WAAW;;;gBACxB,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEtB,sBAAO,SAAS,EAAE;yBACf,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,CAAC,EAAnB,CAAmB,CAAC;yBACtC,OAAO,CAAC,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC,EAAC;;;KACvC;IAED,SAAe,gBAAgB,CAAC,GAAW;;;gBACzC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAK,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,CAAA;oBAAE,sBAAO;gBAE9C,eAAe,CAAC,SAAS,CAAC,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEtB,sBAAO,QAAQ,CAAC,GAAG,CAAC;yBACjB,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,eAAe,cAAM,QAAQ,EAAG,EAAhC,CAAgC,CAAC;yBACpD,OAAO,CAAC,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC,EAAC;;;KACvC;IAED,SAAe,gBAAgB;;;;gBAC7B,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,SAAS;oBAAE,sBAAO;gBAEpD,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,UAAU,CAAC,SAAS,CAAC,CAAC;gBAChB,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,sBAAO,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;yBAC7C,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,kBAAkB,CAAC,QAAQ,CAAC,EAA5B,CAA4B,CAAC;yBAChD,KAAK,CAAC,cAAM,OAAA,UAAU,CAAC,8BAA8B,CAAC,EAA1C,CAA0C,CAAC;yBACvD,OAAO,CAAC,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,EAAnB,CAAmB,CAAC,EAAC;;;KACvC;IAED,SAAe,kBAAkB,CAAC,OAA2B,EAAE,IAAW;;;;;;wBACvD,KAAA,IAAI,CAAA;iCAAJ,wBAAI;wBAAK,qBAAM,iBAAiB,CAAC,IAAI,CAAC,EAAA;;wBAA9B,KAAA,CAAC,SAA6B,CAAC,CAAA;;;wBAAlD,QAAQ,KAA0C;wBAClD,SAAS,GAAG,yBAAyB,EAAE,CAAC;wBAE9C,eAAe,CAAC,UAAC,YAAY;4BAC3B,IAAI,CAAC,YAAY;gCAAE,OAAO,YAAY,CAAC;4BACvC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACzB,EAAE,EAAE,SAAS;gCACb,OAAO,EAAE,IAAI,IAAI,EAAE;gCACnB,OAAO,EAAE,OAAO,CAAC,OAAO;gCACxB,QAAQ,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;gCACpB,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,oBAAoB,CAAC,IAAI;6BAClC,CAAC,CAAC;4BAEH,oBAAY,YAAY,EAAG;wBAC7B,CAAC,CAAC,CAAC;;;;wBAGa,qBAAM,WAAW,CAAC,OAAO,CAAC,EAAA;;wBAAlC,KAAK,GAAG,SAA0B;wBACxC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpE,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC1B,sBAAO,KAAK,CAAC,GAAG,EAAC;;;wBAEjB,aAAa,CAAC,SAAS,CAAC,CAAC;wBACzB,MAAM,OAAK,CAAC;;;;;KAEf;IAED,SAAe,aAAa,CAAC,OAAgB,EAAE,KAAc,EAAE,cAA+B;;;;;gBAC5F,IAAI,CAAC,YAAY;oBAAE,sBAAO;gBAEpB,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC3C,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE3C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAE5B,QAAQ,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAK,CAAC,IAAI,OAAO,CAAC,CAAC,iCAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,UAAE,SAAS,UAAE,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;gBAC9F,QAAQ,CAAC,OAAO,CAAC,UAAO,IAAsB,EAAE,KAAK;;;;;gCAClC,KAAA,IAAI,CAAA;yCAAJ,wBAAI;gCAAK,qBAAM,iBAAiB,CAAC,IAAI,CAAC,EAAA;;gCAA9B,KAAA,CAAC,SAA6B,CAAC,CAAA;;;gCAAlD,QAAQ,KAA0C;gCAClD,SAAS,GAAG,yBAAyB,EAAE,CAAC;gCAExC,UAAU,GAAmB;oCACjC,EAAE,EAAE,SAAS;oCACb,OAAO,EAAE,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oCACvE,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;oCACpB,OAAO,EAAE,IAAI,IAAI,EAAE;oCACnB,MAAM,EAAE,oBAAoB,CAAC,IAAI;oCACjC,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAC,CAAC,CAAC,SAAS;iCACtD,CAAC;gCAEF,eAAe,CAAC,UAAC,YAAY;oCAC3B,IAAI,CAAC,YAAY;wCAAE,OAAO,YAAY,CAAC;oCACvC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oCACvC,oBAAY,YAAY,EAAG;gCAC7B,CAAC,CAAC,CAAC;gCAEH,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE;oCAC9B,OAAO,EAAE,UAAU,CAAC,OAAO;oCAC3B,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;oCACpB,QAAQ,EAAE,UAAU,CAAC,QAAQ;iCAC9B,CAAC;qCACC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAlC,CAAkC,CAAC;qCACtD,KAAK,CAAC,cAAM,OAAA,aAAa,CAAC,SAAS,CAAC,EAAxB,CAAwB,CAAC,CAAC;;;;qBAC1C,CAAC,CAAC;;;;KACJ;IAED,SAAe,YAAY,CAAC,SAAiB;;;;gBACrC,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;gBACvE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAErF,sBAAO,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW;wBAClE,IAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxD,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;wBAEtE,IAAM,OAAO,GAAG;4BACd,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI;4BAC3B,IAAI,EAAE,WAAW,CAAC,WAAW;4BAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;yBAC/B,CAAC;wBAEF,eAAe,CAAC,UAAC,YAAY;4BAC3B,IAAI,CAAC,YAAY;gCAAE,OAAO,YAAY,CAAC;4BACvC,IAAI,OAAO;gCAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;4BACpC,oBAAY,YAAY,EAAG;wBAC7B,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,EAAC;;;KACJ;IAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,KAAa,EAAE,IAAiB;;QAAjB,qBAAA,EAAA,iBAAiB;QAC3E,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,IAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;QAChF,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO;QAEhC,IAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/C,IAAM,aAAa,GAAG,MAAA,OAAO,CAAC,SAAS,0CAAE,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC;QAC7E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;YACxB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,OAAA,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClD;aAAM;YACL,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBACpB,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnD;iBAAM;gBACL,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;oBACvD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;iBAC5C;aACF;SACF;QAED,eAAe,CAAC,UAAC,YAAY;YAC3B,IAAI,CAAC,YAAY;gBAAE,OAAO,YAAY,CAAC;YACvC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;YAC9C,oBAAY,YAAY,EAAG;QAC7B,CAAC,CAAC,CAAC;QAEH,0EAA0E;IAC5E,CAAC;IAED,IAAM,OAAO,GAAG,OAAO,CACrB,cAAM,OAAA,CAAC;QACL,OAAO,SAAA;QACP,YAAY,cAAA;QACZ,SAAS,WAAA;QACT,OAAO,SAAA;QACP,WAAW,aAAA;QACX,gBAAgB,kBAAA;QAChB,kBAAkB,oBAAA;QAClB,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,YAAY,cAAA;QACZ,OAAO,SAAA;KACR,CAAC,EAZI,CAYJ,EACF;QACE,OAAO;QACP,YAAY;QACZ,SAAS;QACT,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,kBAAkB;QAClB,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,OAAO;KACR,CACF,CAAC;IAEF,8BAA8B;IAE9B,SAAS,kBAAkB,CAAC,QAAsB;QAChD,eAAe,CAAC,UAAC,YAAY;YAC3B,IAAI,CAAC,YAAY;gBAAE,OAAO,QAAQ,CAAC;YACnC,YAAY,CAAC,QAAQ,mCAChB,YAAY,CAAC,QAAQ,SACrB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAd,CAAc,CAAC,EAAnD,CAAmD,CAAC,OACxF,CAAC;YACF,oBAAY,YAAY,EAAG;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa,CAAC,SAAiB,EAAE,UAA2B;QACnE,IAAM,GAAG,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO;QAEhD,IAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAElD,eAAe,CAAC,UAAC,YAAY;YAC3B,IAAI,CAAC,YAAY;gBAAE,OAAO,YAAY,CAAC;YACvC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,kCACrB,cAAc,GACd,UAAU,KACb,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,GACjF,CAAC;YACF,oBAAY,YAAY,EAAG;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAe,iBAAiB,CAAC,IAAU;;;;;4BACtB,qBAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAA;;wBAAvC,UAAU,GAAG,SAA0B;wBAC7C,IAAI,CAAC,UAAU;4BAAE,sBAAO;wBAExB,sBAAO;gCACL,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;6BAC/B,EAAC;;;;KACH;IAED,SAAS,yBAAyB;QAChC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,OAAO,KAAC,kBAAkB,CAAC,QAAQ,aAAC,KAAK,EAAE,OAAO,gBAAG,KAAK,CAAC,QAAQ,IAA+B,CAAC;AACrG,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { Country } from '../definitions/country';
3
- import { User } from '../definitions/user';
3
+ import { ApiKey, User } from '../definitions/user';
4
4
  import { Language } from '../definitions/language';
5
+ import { Fiat } from '../definitions/fiat';
6
+ import { TransactionFilterKey } from '../definitions/transaction';
5
7
  interface UserInterface {
6
8
  user?: User;
7
9
  refLink?: string;
@@ -9,10 +11,22 @@ interface UserInterface {
9
11
  isUserLoading: boolean;
10
12
  isUserUpdating: boolean;
11
13
  changeMail: (mail: string) => Promise<void>;
14
+ verifyMail: (token: string) => Promise<void>;
15
+ changePhone: (phone: string) => Promise<void>;
12
16
  changeLanguage: (language: Language) => Promise<void>;
17
+ changeCurrency: (currency: Fiat) => Promise<void>;
18
+ renameAddress: (address: string, label: string) => Promise<void>;
19
+ changeAddress: (address: string) => Promise<void>;
20
+ deleteAddress: (address: string) => Promise<void>;
21
+ deleteAccount: () => Promise<void>;
13
22
  addDiscountCode: (code: string) => Promise<void>;
14
23
  register: (userLink: () => void) => void;
15
24
  reloadUser: () => Promise<void>;
25
+ filterCT?: TransactionFilterKey[];
26
+ keyCT?: string;
27
+ generateKeyCT: (types?: TransactionFilterKey[]) => Promise<ApiKey | undefined>;
28
+ deleteKeyCT: () => Promise<void>;
29
+ updateFilterCT: (types?: TransactionFilterKey[]) => Promise<void>;
16
30
  }
17
31
  export declare function useUserContext(): UserInterface;
18
32
  export declare function UserContextProvider(props: PropsWithChildren): JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"user.context.d.ts","sourceRoot":"","sources":["../../src/contexts/user.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAI3C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsEzE"}
1
+ {"version":3,"file":"user.context.d.ts","sourceRoot":"","sources":["../../src/contexts/user.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAc,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC/E,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAoLzE"}
@@ -55,15 +55,16 @@ export function useUserContext() {
55
55
  return useContext(UserContext);
56
56
  }
57
57
  export function UserContextProvider(props) {
58
- var _a;
59
- var _b = useApiSession(), isLoggedIn = _b.isLoggedIn, session = _b.session;
60
- var _c = useUser(), getUser = _c.getUser, changeUser = _c.changeUser, addDiscountCode = _c.addDiscountCode;
58
+ var _a, _b;
59
+ var _c = useApiSession(), isLoggedIn = _c.isLoggedIn, session = _c.session, updateSession = _c.updateSession, deleteSession = _c.deleteSession;
60
+ var _d = useUser(), getUser = _d.getUser, changeUser = _d.changeUser, verifyMailApi = _d.verifyMail, addDiscountCode = _d.addDiscountCode, renameUserAddress = _d.renameUserAddress, changeUserAddress = _d.changeUserAddress, deleteUserAddress = _d.deleteUserAddress, deleteUserAccount = _d.deleteUserAccount, generateCTApiKey = _d.generateCTApiKey, deleteCTApiKey = _d.deleteCTApiKey, updateCTApiFilter = _d.updateCTApiFilter;
61
61
  var getCountries = useCountry().getCountries;
62
- var _d = useState(), user = _d[0], setUser = _d[1];
63
- var _e = useState([]), countries = _e[0], setCountries = _e[1];
64
- var _f = useState(false), isUserLoading = _f[0], setIsUserLoading = _f[1];
65
- var _g = useState(false), isUserUpdating = _g[0], setIsUserUpdating = _g[1];
66
- var refLink = (user === null || user === void 0 ? void 0 : user.ref) && "".concat((_a = process.env.REACT_APP_REF_URL) !== null && _a !== void 0 ? _a : 'https://dfx.swiss/app?code=').concat(user.ref);
62
+ var _e = useState(), user = _e[0], setUser = _e[1];
63
+ var _f = useState([]), countries = _f[0], setCountries = _f[1];
64
+ var _g = useState(false), isUserLoading = _g[0], setIsUserLoading = _g[1];
65
+ var _h = useState(false), isUserUpdating = _h[0], setIsUserUpdating = _h[1];
66
+ var refCode = (_a = user === null || user === void 0 ? void 0 : user.activeAddress) === null || _a === void 0 ? void 0 : _a.refCode;
67
+ var refLink = refCode && "".concat((_b = process.env.REACT_APP_REF_URL) !== null && _b !== void 0 ? _b : 'https://dfx.swiss/app?code=').concat(refCode);
67
68
  var userLinkAction;
68
69
  useEffect(function () {
69
70
  if (isLoggedIn) {
@@ -81,7 +82,6 @@ export function UserContextProvider(props) {
81
82
  setIsUserLoading(true);
82
83
  getUser()
83
84
  .then(setUser)
84
- .catch(console.error) // TODO: (Krysh) add real error handling
85
85
  .finally(function () { return setIsUserLoading(false); });
86
86
  return [2 /*return*/];
87
87
  });
@@ -91,11 +91,10 @@ export function UserContextProvider(props) {
91
91
  return __awaiter(this, void 0, void 0, function () {
92
92
  return __generator(this, function (_a) {
93
93
  if (!user)
94
- return [2 /*return*/]; // TODO: (Krysh) add real error handling
94
+ return [2 /*return*/];
95
95
  setIsUserUpdating(true);
96
96
  return [2 /*return*/, changeUser(update, linkAction)
97
97
  .then(setUser)
98
- .catch(console.error) // TODO: (Krysh) add real error handling
99
98
  .finally(function () { return setIsUserUpdating(false); })];
100
99
  });
101
100
  });
@@ -107,6 +106,25 @@ export function UserContextProvider(props) {
107
106
  });
108
107
  });
109
108
  }
109
+ function verifyMail(token) {
110
+ return __awaiter(this, void 0, void 0, function () {
111
+ return __generator(this, function (_a) {
112
+ if (!user)
113
+ return [2 /*return*/];
114
+ setIsUserUpdating(true);
115
+ return [2 /*return*/, verifyMailApi(token)
116
+ .then(setUser)
117
+ .finally(function () { return setIsUserUpdating(false); })];
118
+ });
119
+ });
120
+ }
121
+ function changePhone(phone) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ return __generator(this, function (_a) {
124
+ return [2 /*return*/, updateUser({ phone: phone })];
125
+ });
126
+ });
127
+ }
110
128
  function changeLanguage(language) {
111
129
  return __awaiter(this, void 0, void 0, function () {
112
130
  return __generator(this, function (_a) {
@@ -114,21 +132,151 @@ export function UserContextProvider(props) {
114
132
  });
115
133
  });
116
134
  }
135
+ function changeCurrency(currency) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ return __generator(this, function (_a) {
138
+ return [2 /*return*/, updateUser({ currency: currency })];
139
+ });
140
+ });
141
+ }
142
+ function renameAddress(address, label) {
143
+ return __awaiter(this, void 0, void 0, function () {
144
+ return __generator(this, function (_a) {
145
+ if (!user)
146
+ return [2 /*return*/];
147
+ setIsUserUpdating(true);
148
+ return [2 /*return*/, renameUserAddress(address, label)
149
+ .then(setUser)
150
+ .finally(function () { return setIsUserUpdating(false); })];
151
+ });
152
+ });
153
+ }
154
+ function changeAddress(address) {
155
+ return __awaiter(this, void 0, void 0, function () {
156
+ return __generator(this, function (_a) {
157
+ if (!user)
158
+ return [2 /*return*/];
159
+ return [2 /*return*/, changeUserAddress(address).then(function (_a) {
160
+ var accessToken = _a.accessToken;
161
+ return updateSession(accessToken);
162
+ })];
163
+ });
164
+ });
165
+ }
166
+ function deleteAddress(address) {
167
+ var _a, _b;
168
+ return __awaiter(this, void 0, void 0, function () {
169
+ var requiresFallback, fallbackAddress;
170
+ return __generator(this, function (_c) {
171
+ if (!user)
172
+ return [2 /*return*/];
173
+ requiresFallback = address === ((_a = user.activeAddress) === null || _a === void 0 ? void 0 : _a.address);
174
+ fallbackAddress = requiresFallback && user.addresses.length > 1
175
+ ? (_b = user.addresses.find(function (a) { return a.address !== address; })) === null || _b === void 0 ? void 0 : _b.address
176
+ : undefined;
177
+ return [2 /*return*/, deleteUserAddress(address).then(function () {
178
+ if (requiresFallback) {
179
+ fallbackAddress ? changeAddress(fallbackAddress) : deleteSession();
180
+ }
181
+ else {
182
+ reloadUser();
183
+ }
184
+ })];
185
+ });
186
+ });
187
+ }
188
+ function deleteAccount() {
189
+ return __awaiter(this, void 0, void 0, function () {
190
+ return __generator(this, function (_a) {
191
+ if (!user)
192
+ return [2 /*return*/];
193
+ return [2 /*return*/, deleteUserAccount().then(deleteSession)];
194
+ });
195
+ });
196
+ }
117
197
  function register(userLink) {
118
198
  userLinkAction = userLink;
119
199
  }
120
- var context = useMemo(function () { return ({
121
- user: user,
122
- refLink: refLink,
123
- countries: countries,
124
- isUserLoading: isUserLoading,
125
- isUserUpdating: isUserUpdating,
126
- changeMail: changeMail,
127
- changeLanguage: changeLanguage,
128
- addDiscountCode: addDiscountCode,
129
- register: register,
130
- reloadUser: reloadUser,
131
- }); }, [user, refLink, countries, isUserLoading, isUserUpdating, changeMail, register, reloadUser]);
200
+ function generateKeyCT(types) {
201
+ return __awaiter(this, void 0, void 0, function () {
202
+ var key;
203
+ return __generator(this, function (_a) {
204
+ switch (_a.label) {
205
+ case 0:
206
+ if (!user)
207
+ return [2 /*return*/];
208
+ setIsUserUpdating(true);
209
+ _a.label = 1;
210
+ case 1:
211
+ _a.trys.push([1, , 4, 5]);
212
+ return [4 /*yield*/, generateCTApiKey(types)];
213
+ case 2:
214
+ key = _a.sent();
215
+ return [4 /*yield*/, getUser().then(setUser)];
216
+ case 3:
217
+ _a.sent();
218
+ return [2 /*return*/, key];
219
+ case 4:
220
+ setIsUserUpdating(false);
221
+ return [7 /*endfinally*/];
222
+ case 5: return [2 /*return*/];
223
+ }
224
+ });
225
+ });
226
+ }
227
+ function deleteKeyCT() {
228
+ return __awaiter(this, void 0, void 0, function () {
229
+ return __generator(this, function (_a) {
230
+ if (!user)
231
+ return [2 /*return*/];
232
+ setIsUserUpdating(true);
233
+ deleteCTApiKey()
234
+ .then(function () { return getUser().then(setUser); })
235
+ .finally(function () { return setIsUserUpdating(false); });
236
+ return [2 /*return*/];
237
+ });
238
+ });
239
+ }
240
+ function updateFilterCT(types) {
241
+ return __awaiter(this, void 0, void 0, function () {
242
+ return __generator(this, function (_a) {
243
+ if (!user)
244
+ return [2 /*return*/];
245
+ setIsUserUpdating(true);
246
+ updateCTApiFilter(types)
247
+ .then(function () { return getUser().then(setUser); })
248
+ .finally(function () { return setIsUserUpdating(false); });
249
+ return [2 /*return*/];
250
+ });
251
+ });
252
+ }
253
+ var context = useMemo(function () {
254
+ var _a, _b;
255
+ return ({
256
+ user: user,
257
+ refLink: refLink,
258
+ countries: countries,
259
+ isUserLoading: isUserLoading,
260
+ isUserUpdating: isUserUpdating,
261
+ changeMail: changeMail,
262
+ verifyMail: verifyMail,
263
+ changePhone: changePhone,
264
+ changeLanguage: changeLanguage,
265
+ changeCurrency: changeCurrency,
266
+ renameAddress: renameAddress,
267
+ changeAddress: changeAddress,
268
+ deleteAddress: deleteAddress,
269
+ deleteAccount: deleteAccount,
270
+ addDiscountCode: addDiscountCode,
271
+ register: register,
272
+ reloadUser: reloadUser,
273
+ filterCT: (_a = user === null || user === void 0 ? void 0 : user.activeAddress) === null || _a === void 0 ? void 0 : _a.apiFilterCT,
274
+ keyCT: (_b = user === null || user === void 0 ? void 0 : user.activeAddress) === null || _b === void 0 ? void 0 : _b.apiKeyCT,
275
+ generateKeyCT: generateKeyCT,
276
+ deleteKeyCT: deleteKeyCT,
277
+ updateFilterCT: updateFilterCT,
278
+ });
279
+ }, [user, refLink, countries, isUserLoading, isUserUpdating, changeMail, changePhone, register, reloadUser]);
132
280
  return _jsx(UserContext.Provider, __assign({ value: context }, { children: props.children }));
133
281
  }
134
282
  //# sourceMappingURL=user.context.js.map