@dfx.swiss/react 1.3.0-beta.23 → 1.3.0-beta.230

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 (186) hide show
  1. package/dist/contexts/asset.context.js +2 -2
  2. package/dist/contexts/asset.context.js.map +1 -1
  3. package/dist/contexts/auth.context.d.ts +2 -2
  4. package/dist/contexts/auth.context.d.ts.map +1 -1
  5. package/dist/contexts/auth.context.js +23 -19
  6. package/dist/contexts/auth.context.js.map +1 -1
  7. package/dist/contexts/bank-account.context.d.ts +2 -1
  8. package/dist/contexts/bank-account.context.d.ts.map +1 -1
  9. package/dist/contexts/bank-account.context.js +58 -35
  10. package/dist/contexts/bank-account.context.js.map +1 -1
  11. package/dist/contexts/payment-routes.context.d.ts +22 -0
  12. package/dist/contexts/payment-routes.context.d.ts.map +1 -0
  13. package/dist/contexts/payment-routes.context.js +299 -0
  14. package/dist/contexts/payment-routes.context.js.map +1 -0
  15. package/dist/contexts/session.context.d.ts +6 -2
  16. package/dist/contexts/session.context.d.ts.map +1 -1
  17. package/dist/contexts/session.context.js +21 -15
  18. package/dist/contexts/session.context.js.map +1 -1
  19. package/dist/contexts/support.context.d.ts +19 -0
  20. package/dist/contexts/support.context.d.ts.map +1 -0
  21. package/dist/contexts/support.context.js +353 -0
  22. package/dist/contexts/support.context.js.map +1 -0
  23. package/dist/contexts/user.context.d.ts +22 -7
  24. package/dist/contexts/user.context.d.ts.map +1 -1
  25. package/dist/contexts/user.context.js +202 -62
  26. package/dist/contexts/user.context.js.map +1 -1
  27. package/dist/definitions/asset.d.ts +1 -0
  28. package/dist/definitions/asset.d.ts.map +1 -1
  29. package/dist/definitions/auth.d.ts +15 -0
  30. package/dist/definitions/auth.d.ts.map +1 -1
  31. package/dist/definitions/auth.js +16 -0
  32. package/dist/definitions/auth.js.map +1 -1
  33. package/dist/definitions/bank-account.d.ts +2 -5
  34. package/dist/definitions/bank-account.d.ts.map +1 -1
  35. package/dist/definitions/bank-account.js +0 -1
  36. package/dist/definitions/bank-account.js.map +1 -1
  37. package/dist/definitions/bank.d.ts +10 -0
  38. package/dist/definitions/bank.d.ts.map +1 -0
  39. package/dist/definitions/bank.js +4 -0
  40. package/dist/definitions/bank.js.map +1 -0
  41. package/dist/definitions/blockchain.d.ts +11 -3
  42. package/dist/definitions/blockchain.d.ts.map +1 -1
  43. package/dist/definitions/blockchain.js +10 -2
  44. package/dist/definitions/blockchain.js.map +1 -1
  45. package/dist/definitions/buy.d.ts +12 -2
  46. package/dist/definitions/buy.d.ts.map +1 -1
  47. package/dist/definitions/buy.js +5 -1
  48. package/dist/definitions/buy.js.map +1 -1
  49. package/dist/definitions/country.d.ts +7 -0
  50. package/dist/definitions/country.d.ts.map +1 -1
  51. package/dist/definitions/country.js +1 -1
  52. package/dist/definitions/country.js.map +1 -1
  53. package/dist/definitions/error.d.ts +8 -0
  54. package/dist/definitions/error.d.ts.map +1 -1
  55. package/dist/definitions/error.js +27 -1
  56. package/dist/definitions/error.js.map +1 -1
  57. package/dist/definitions/fees.d.ts +2 -0
  58. package/dist/definitions/fees.d.ts.map +1 -1
  59. package/dist/definitions/file.d.ts +5 -0
  60. package/dist/definitions/file.d.ts.map +1 -0
  61. package/dist/definitions/file.js +2 -0
  62. package/dist/definitions/file.js.map +1 -0
  63. package/dist/definitions/jwt.d.ts +2 -1
  64. package/dist/definitions/jwt.d.ts.map +1 -1
  65. package/dist/definitions/jwt.js +1 -0
  66. package/dist/definitions/jwt.js.map +1 -1
  67. package/dist/definitions/kyc.d.ts +231 -10
  68. package/dist/definitions/kyc.d.ts.map +1 -1
  69. package/dist/definitions/kyc.js +169 -3
  70. package/dist/definitions/kyc.js.map +1 -1
  71. package/dist/definitions/price-step.d.ts +8 -0
  72. package/dist/definitions/price-step.d.ts.map +1 -0
  73. package/dist/definitions/price-step.js +2 -0
  74. package/dist/definitions/price-step.js.map +1 -0
  75. package/dist/definitions/route.d.ts +200 -0
  76. package/dist/definitions/route.d.ts.map +1 -0
  77. package/dist/definitions/route.js +73 -0
  78. package/dist/definitions/route.js.map +1 -0
  79. package/dist/definitions/sell.d.ts +37 -0
  80. package/dist/definitions/sell.d.ts.map +1 -1
  81. package/dist/definitions/sell.js +4 -1
  82. package/dist/definitions/sell.js.map +1 -1
  83. package/dist/definitions/settings.d.ts +10 -0
  84. package/dist/definitions/settings.d.ts.map +1 -0
  85. package/dist/definitions/settings.js +2 -0
  86. package/dist/definitions/settings.js.map +1 -0
  87. package/dist/definitions/support.d.ts +91 -5
  88. package/dist/definitions/support.d.ts.map +1 -1
  89. package/dist/definitions/support.js +33 -4
  90. package/dist/definitions/support.js.map +1 -1
  91. package/dist/definitions/swap.d.ts +13 -0
  92. package/dist/definitions/swap.d.ts.map +1 -1
  93. package/dist/definitions/swap.js +4 -1
  94. package/dist/definitions/swap.js.map +1 -1
  95. package/dist/definitions/transaction.d.ts +113 -6
  96. package/dist/definitions/transaction.d.ts.map +1 -1
  97. package/dist/definitions/transaction.js +44 -2
  98. package/dist/definitions/transaction.js.map +1 -1
  99. package/dist/definitions/user.d.ts +49 -2
  100. package/dist/definitions/user.d.ts.map +1 -1
  101. package/dist/definitions/user.js +14 -1
  102. package/dist/definitions/user.js.map +1 -1
  103. package/dist/hooks/api-session.hook.d.ts +3 -2
  104. package/dist/hooks/api-session.hook.d.ts.map +1 -1
  105. package/dist/hooks/api-session.hook.js +30 -38
  106. package/dist/hooks/api-session.hook.js.map +1 -1
  107. package/dist/hooks/api.hook.d.ts +7 -0
  108. package/dist/hooks/api.hook.d.ts.map +1 -1
  109. package/dist/hooks/api.hook.js +60 -24
  110. package/dist/hooks/api.hook.js.map +1 -1
  111. package/dist/hooks/asset.hook.d.ts.map +1 -1
  112. package/dist/hooks/asset.hook.js +19 -18
  113. package/dist/hooks/asset.hook.js.map +1 -1
  114. package/dist/hooks/auth.hook.d.ts +5 -5
  115. package/dist/hooks/auth.hook.d.ts.map +1 -1
  116. package/dist/hooks/auth.hook.js +63 -60
  117. package/dist/hooks/auth.hook.js.map +1 -1
  118. package/dist/hooks/bank-account.hook.d.ts +3 -3
  119. package/dist/hooks/bank-account.hook.d.ts.map +1 -1
  120. package/dist/hooks/bank-account.hook.js +17 -36
  121. package/dist/hooks/bank-account.hook.js.map +1 -1
  122. package/dist/hooks/bank.hook.d.ts +6 -0
  123. package/dist/hooks/bank.hook.d.ts.map +1 -0
  124. package/dist/hooks/bank.hook.js +54 -0
  125. package/dist/hooks/bank.hook.js.map +1 -0
  126. package/dist/hooks/buy.hook.d.ts +3 -1
  127. package/dist/hooks/buy.hook.d.ts.map +1 -1
  128. package/dist/hooks/buy.hook.js +22 -8
  129. package/dist/hooks/buy.hook.js.map +1 -1
  130. package/dist/hooks/country.hook.js +7 -8
  131. package/dist/hooks/country.hook.js.map +1 -1
  132. package/dist/hooks/fiat.hook.d.ts.map +1 -1
  133. package/dist/hooks/fiat.hook.js +18 -16
  134. package/dist/hooks/fiat.hook.js.map +1 -1
  135. package/dist/hooks/kyc.hook.d.ts +20 -7
  136. package/dist/hooks/kyc.hook.d.ts.map +1 -1
  137. package/dist/hooks/kyc.hook.js +199 -114
  138. package/dist/hooks/kyc.hook.js.map +1 -1
  139. package/dist/hooks/language.hook.d.ts.map +1 -1
  140. package/dist/hooks/language.hook.js +12 -12
  141. package/dist/hooks/language.hook.js.map +1 -1
  142. package/dist/hooks/payment-routes.hook.d.ts +20 -0
  143. package/dist/hooks/payment-routes.hook.d.ts.map +1 -0
  144. package/dist/hooks/payment-routes.hook.js +196 -0
  145. package/dist/hooks/payment-routes.hook.js.map +1 -0
  146. package/dist/hooks/sell.hook.d.ts +4 -2
  147. package/dist/hooks/sell.hook.d.ts.map +1 -1
  148. package/dist/hooks/sell.hook.js +15 -6
  149. package/dist/hooks/sell.hook.js.map +1 -1
  150. package/dist/hooks/settings.hook.d.ts +6 -0
  151. package/dist/hooks/settings.hook.d.ts.map +1 -0
  152. package/dist/hooks/settings.hook.js +50 -0
  153. package/dist/hooks/settings.hook.js.map +1 -0
  154. package/dist/hooks/store.hook.d.ts +1 -1
  155. package/dist/hooks/store.hook.d.ts.map +1 -1
  156. package/dist/hooks/store.hook.js +4 -15
  157. package/dist/hooks/store.hook.js.map +1 -1
  158. package/dist/hooks/support.hook.d.ts +7 -5
  159. package/dist/hooks/support.hook.d.ts.map +1 -1
  160. package/dist/hooks/support.hook.js +44 -22
  161. package/dist/hooks/support.hook.js.map +1 -1
  162. package/dist/hooks/swap.hook.d.ts +4 -2
  163. package/dist/hooks/swap.hook.d.ts.map +1 -1
  164. package/dist/hooks/swap.hook.js +54 -7
  165. package/dist/hooks/swap.hook.js.map +1 -1
  166. package/dist/hooks/transaction.hook.d.ts +9 -1
  167. package/dist/hooks/transaction.hook.d.ts.map +1 -1
  168. package/dist/hooks/transaction.hook.js +130 -65
  169. package/dist/hooks/transaction.hook.js.map +1 -1
  170. package/dist/hooks/user.hook.d.ts +15 -3
  171. package/dist/hooks/user.hook.d.ts.map +1 -1
  172. package/dist/hooks/user.hook.js +122 -7
  173. package/dist/hooks/user.hook.js.map +1 -1
  174. package/dist/index.d.ts +27 -15
  175. package/dist/index.d.ts.map +1 -1
  176. package/dist/index.js +17 -7
  177. package/dist/index.js.map +1 -1
  178. package/dist/utils.d.ts +4 -0
  179. package/dist/utils.d.ts.map +1 -1
  180. package/dist/utils.js +14 -0
  181. package/dist/utils.js.map +1 -1
  182. package/dist/validations.d.ts +20 -20
  183. package/dist/validations.d.ts.map +1 -1
  184. package/dist/validations.js +5 -3
  185. package/dist/validations.js.map +1 -1
  186. package/package.json +6 -2
@@ -20,7 +20,7 @@ export function useAssetContext() {
20
20
  return useContext(AssetContext);
21
21
  }
22
22
  export function AssetContextProvider(props) {
23
- var session = useApiSession().session;
23
+ var isLoggedIn = useApiSession().isLoggedIn;
24
24
  var getApiAssets = useAsset().getAssets;
25
25
  var _a = useState([]), assets = _a[0], setAssets = _a[1];
26
26
  var _b = useState(false), assetsLoading = _b[0], setAssetsLoading = _b[1];
@@ -31,7 +31,7 @@ export function AssetContextProvider(props) {
31
31
  getApiAssets(chains, (_a = props.includePrivateAssets) !== null && _a !== void 0 ? _a : false)
32
32
  .then(updateAssets)
33
33
  .finally(function () { return setAssetsLoading(false); });
34
- }, [session]);
34
+ }, [isLoggedIn]);
35
35
  function updateAssets(assets) {
36
36
  setAssets(assets
37
37
  .filter(function (a) { return a.buyable || a.sellable || a.comingSoon; })
@@ -1 +1 @@
1
- {"version":3,"file":"asset.context.js","sourceRoot":"","sources":["../../src/contexts/asset.context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset.context.js","sourceRoot":"","sources":["../../src/contexts/asset.context.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { Session } from '../definitions/session';
3
3
  interface AuthInterface {
4
- authenticationToken?: string;
5
4
  session?: Session;
6
- setAuthenticationToken: (authenticationToken?: string) => void;
5
+ getAuthToken: () => string | undefined;
6
+ setAuthToken: (authenticationToken?: string) => void;
7
7
  isInitialized: boolean;
8
8
  isLoggedIn: boolean;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.context.d.ts","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AAEnG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,UAAU,aAAa;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAyEzE"}
1
+ {"version":3,"file":"auth.context.d.ts","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAiE,MAAM,OAAO,CAAC;AAExH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,wBAAgB,cAAc,IAAI,aAAa,CAE9C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA+EzE"}
@@ -11,18 +11,18 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import jwtDecode from 'jwt-decode';
14
- import { createContext, useContext, useEffect, useMemo, useState } from 'react';
14
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
15
15
  import { useStore } from '../hooks/store.hook';
16
16
  var AuthContext = createContext(undefined);
17
17
  export function useAuthContext() {
18
18
  return useContext(AuthContext);
19
19
  }
20
20
  export function AuthContextProvider(props) {
21
+ var authTokenStore = useStore().authTokenStore;
21
22
  var _a = useState(false), isInitialized = _a[0], setIsInitialized = _a[1];
22
- var _b = useState(), token = _b[0], setToken = _b[1];
23
- var _c = useState(), jwt = _c[0], setJwt = _c[1];
24
- var authenticationToken = useStore().authenticationToken;
25
- var isLoggedIn = token != null && !isExpired();
23
+ var _b = useState(), jwt = _b[0], setJwt = _b[1];
24
+ var tokenRef = useRef();
25
+ var isLoggedIn = tokenRef.current != null && !isExpired();
26
26
  var session = useMemo(function () {
27
27
  return jwt
28
28
  ? {
@@ -35,30 +35,25 @@ export function AuthContextProvider(props) {
35
35
  : undefined;
36
36
  }, [jwt]);
37
37
  useEffect(function () {
38
- if (!token) {
39
- setAuthenticationToken(authenticationToken.get());
38
+ if (!tokenRef.current) {
39
+ setAuthToken(authTokenStore.get());
40
40
  }
41
41
  setIsInitialized(true);
42
42
  }, []);
43
43
  function isExpired() {
44
- if (!token)
44
+ if (!tokenRef.current)
45
45
  return true;
46
- var decoded = jwt !== null && jwt !== void 0 ? jwt : decodeJwt(token);
46
+ var decoded = jwt !== null && jwt !== void 0 ? jwt : decodeJwt(tokenRef.current);
47
47
  if (decoded) {
48
48
  return decoded.exp != null && Date.now() > new Date(decoded.exp * 1000).getTime();
49
49
  }
50
50
  else {
51
- authenticationToken.remove();
52
- setToken(undefined);
51
+ authTokenStore.remove();
52
+ tokenRef.current = undefined;
53
53
  setJwt(undefined);
54
54
  return true;
55
55
  }
56
56
  }
57
- function setAuthenticationToken(newToken) {
58
- newToken ? authenticationToken.set(newToken) : authenticationToken.remove();
59
- setToken(newToken);
60
- setJwt(decodeJwt(newToken));
61
- }
62
57
  function decodeJwt(token) {
63
58
  if (!token)
64
59
  return undefined;
@@ -69,13 +64,22 @@ export function AuthContextProvider(props) {
69
64
  return undefined;
70
65
  }
71
66
  }
67
+ var setAuthToken = useCallback(function (newToken) {
68
+ newToken ? authTokenStore.set(newToken) : authTokenStore.remove();
69
+ tokenRef.current = newToken;
70
+ setJwt(decodeJwt(newToken));
71
+ }, [authTokenStore]);
72
+ var getAuthToken = useCallback(function () {
73
+ var _a;
74
+ return (_a = tokenRef.current) !== null && _a !== void 0 ? _a : authTokenStore.get();
75
+ }, [authTokenStore]);
72
76
  var context = useMemo(function () { return ({
73
- authenticationToken: token,
74
77
  session: session,
75
- setAuthenticationToken: setAuthenticationToken,
78
+ getAuthToken: getAuthToken,
79
+ setAuthToken: setAuthToken,
76
80
  isInitialized: isInitialized,
77
81
  isLoggedIn: isLoggedIn,
78
- }); }, [token, session, jwt, setAuthenticationToken, authenticationToken, isInitialized, isLoggedIn]);
82
+ }); }, [session, getAuthToken, setAuthToken, isInitialized, isLoggedIn]);
79
83
  return _jsx(AuthContext.Provider, __assign({ value: context }, { children: props.children }));
80
84
  }
81
85
  //# sourceMappingURL=auth.context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.context.js","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.context.js","sourceRoot":"","sources":["../../src/contexts/auth.context.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { CreateBankAccount, UpdateBankAccount } from '../hooks/bank-account.hook
3
3
  import { BankAccount } from '../definitions/bank-account';
4
4
  interface BankAccountInterface {
5
5
  bankAccounts?: BankAccount[];
6
- isAccountLoading: boolean;
6
+ isLoading: boolean;
7
+ error?: string;
7
8
  createAccount: (newAccount: CreateBankAccount) => Promise<BankAccount>;
8
9
  updateAccount: (id: number, changedAccount: UpdateBankAccount) => Promise<BankAccount>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bank-account.context.d.ts","sourceRoot":"","sources":["../../src/contexts/bank-account.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CACxF;AAID,wBAAgB,qBAAqB,IAAI,oBAAoB,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA8ChF"}
1
+ {"version":3,"file":"bank-account.context.d.ts","sourceRoot":"","sources":["../../src/contexts/bank-account.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAAyD,MAAM,OAAO,CAAC;AAChH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CACxF;AAID,wBAAgB,qBAAqB,IAAI,oBAAoB,CAE5D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CA4EhF"}
@@ -46,7 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  import { jsx as _jsx } from "react/jsx-runtime";
49
- import { createContext, useContext, useEffect, useMemo, useState } from 'react';
49
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
50
50
  import { useBankAccount } from '../hooks/bank-account.hook';
51
51
  import { useApiSession } from '../hooks/api-session.hook';
52
52
  var BankAccountContext = createContext(undefined);
@@ -54,50 +54,73 @@ export function useBankAccountContext() {
54
54
  return useContext(BankAccountContext);
55
55
  }
56
56
  export function BankAccountContextProvider(props) {
57
+ var _this = this;
57
58
  var _a = useApiSession(), isLoggedIn = _a.isLoggedIn, session = _a.session;
58
- var _b = useState(), bankAccounts = _b[0], setBankAccounts = _b[1];
59
- var _c = useState(false), isAccountLoading = _c[0], setIsAccountLoading = _c[1];
60
- var _d = useBankAccount(), getAccounts = _d.getAccounts, createAccount = _d.createAccount, updateAccount = _d.updateAccount;
59
+ var _b = useBankAccount(), getAccounts = _b.getAccounts, createAccount = _b.createAccount, updateAccount = _b.updateAccount;
60
+ var _c = useState(), bankAccounts = _c[0], setBankAccounts = _c[1];
61
+ var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
62
+ var _e = useState(), error = _e[0], setError = _e[1];
63
+ var updateLocal = useCallback(function (account, accounts) {
64
+ var index = accounts === null || accounts === void 0 ? void 0 : accounts.findIndex(function (b) { return b.id === account.id; });
65
+ if (!accounts || index === undefined || index === -1)
66
+ return undefined;
67
+ if (account.active === false) {
68
+ return accounts === null || accounts === void 0 ? void 0 : accounts.filter(function (b) { return b.id !== account.id; });
69
+ }
70
+ if (account.default) {
71
+ accounts === null || accounts === void 0 ? void 0 : accounts.forEach(function (a) {
72
+ if (a.id !== account.id) {
73
+ a.default = false;
74
+ }
75
+ });
76
+ }
77
+ accounts[index] = account;
78
+ return accounts;
79
+ }, []);
61
80
  useEffect(function () {
62
81
  if (isLoggedIn) {
63
- getAccounts().then(setBankAccounts).catch(console.error); // TODO: (Krysh) add real error handling
82
+ setIsLoading(true);
83
+ getAccounts()
84
+ .then(function (accounts) { return setBankAccounts(accounts.filter(function (a) { return a.active; })); })
85
+ .catch(function (e) {
86
+ setError(e.message);
87
+ setBankAccounts(undefined);
88
+ })
89
+ .finally(function () { return setIsLoading(false); });
64
90
  }
65
- }, [isLoggedIn, session]);
66
- function addNewAccount(newAccount) {
67
- return __awaiter(this, void 0, void 0, function () {
68
- return __generator(this, function (_a) {
69
- setIsAccountLoading(true);
70
- return [2 /*return*/, createAccount(newAccount)
71
- .then(function (b) {
72
- setBankAccounts((bankAccounts !== null && bankAccounts !== void 0 ? bankAccounts : []).concat(b));
73
- return b;
74
- })
75
- .finally(function () { return setIsAccountLoading(false); })];
76
- });
91
+ }, [isLoggedIn, getAccounts]);
92
+ var addNewAccount = useCallback(function (newAccount) { return __awaiter(_this, void 0, void 0, function () {
93
+ return __generator(this, function (_a) {
94
+ setIsLoading(true);
95
+ return [2 /*return*/, createAccount(newAccount)
96
+ .then(function (b) {
97
+ setBankAccounts(function (accounts) {
98
+ var exists = accounts === null || accounts === void 0 ? void 0 : accounts.some(function (a) { return a.active && a.id === b.id; });
99
+ return exists ? accounts : (accounts !== null && accounts !== void 0 ? accounts : []).concat(b);
100
+ });
101
+ return b;
102
+ })
103
+ .finally(function () { return setIsLoading(false); })];
77
104
  });
78
- }
79
- function updateExistingAccount(id, changedAccount) {
80
- return __awaiter(this, void 0, void 0, function () {
81
- return __generator(this, function (_a) {
82
- return [2 /*return*/, updateAccount(id, changedAccount).then(function (b) {
83
- setBankAccounts(replace(b, bankAccounts));
84
- return b;
85
- })];
86
- });
105
+ }); }, [createAccount]);
106
+ var updateExistingAccount = useCallback(function (id, changedAccount) { return __awaiter(_this, void 0, void 0, function () {
107
+ return __generator(this, function (_a) {
108
+ setIsLoading(true);
109
+ return [2 /*return*/, updateAccount(id, changedAccount)
110
+ .then(function (b) {
111
+ setBankAccounts(function (accounts) { return updateLocal(b, accounts); });
112
+ return b;
113
+ })
114
+ .finally(function () { return setIsLoading(false); })];
87
115
  });
88
- }
89
- function replace(account, accounts) {
90
- var index = accounts === null || accounts === void 0 ? void 0 : accounts.findIndex(function (b) { return b.id === account.id; });
91
- if (index && accounts)
92
- accounts[index] = account;
93
- return accounts;
94
- }
116
+ }); }, [updateAccount, updateLocal]);
95
117
  var context = useMemo(function () { return ({
96
118
  bankAccounts: bankAccounts,
97
- isAccountLoading: isAccountLoading,
119
+ isLoading: isLoading,
120
+ error: error,
98
121
  createAccount: addNewAccount,
99
122
  updateAccount: updateExistingAccount,
100
- }); }, [bankAccounts, isAccountLoading, addNewAccount, updateExistingAccount]);
123
+ }); }, [bankAccounts, isLoading, error, addNewAccount, updateExistingAccount]);
101
124
  return _jsx(BankAccountContext.Provider, __assign({ value: context }, { children: props.children }));
102
125
  }
103
126
  //# sourceMappingURL=bank-account.context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bank-account.context.js","sourceRoot":"","sources":["../../src/contexts/bank-account.context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EAAwC,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS1D,IAAM,kBAAkB,GAAG,aAAa,CAAuB,SAAgB,CAAC,CAAC;AAEjF,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAwB;IAC3D,IAAA,KAA0B,aAAa,EAAE,EAAvC,UAAU,gBAAA,EAAE,OAAO,aAAoB,CAAC;IAC1C,IAAA,KAAkC,QAAQ,EAAiB,EAA1D,YAAY,QAAA,EAAE,eAAe,QAA6B,CAAC;IAC5D,IAAA,KAA0C,QAAQ,CAAC,KAAK,CAAC,EAAxD,gBAAgB,QAAA,EAAE,mBAAmB,QAAmB,CAAC;IAC1D,IAAA,KAAgD,cAAc,EAAE,EAA9D,WAAW,iBAAA,EAAE,aAAa,mBAAA,EAAE,aAAa,mBAAqB,CAAC;IAEvE,SAAS,CAAC;QACR,IAAI,UAAU,EAAE;YACd,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC;SACnG;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1B,SAAe,aAAa,CAAC,UAA6B;;;gBACxD,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1B,sBAAO,aAAa,CAAC,UAAU,CAAC;yBAC7B,IAAI,CAAC,UAAC,CAAC;wBACN,eAAe,CAAC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC;yBACD,OAAO,CAAC,cAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,EAA1B,CAA0B,CAAC,EAAC;;;KAC9C;IAED,SAAe,qBAAqB,CAAC,EAAU,EAAE,cAAiC;;;gBAChF,sBAAO,aAAa,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC;wBAC9C,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC1C,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,EAAC;;;KACJ;IAED,SAAS,OAAO,CAAC,OAAoB,EAAE,QAAwB;QAC7D,IAAM,KAAK,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAnB,CAAmB,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAM,OAAO,GAAyB,OAAO,CAC3C,cAAM,OAAA,CAAC;QACL,YAAY,cAAA;QACZ,gBAAgB,kBAAA;QAChB,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,qBAAqB;KACrC,CAAC,EALI,CAKJ,EACF,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,qBAAqB,CAAC,CACvE,CAAC;IAEF,OAAO,KAAC,kBAAkB,CAAC,QAAQ,aAAC,KAAK,EAAE,OAAO,gBAAG,KAAK,CAAC,QAAQ,IAA+B,CAAC;AACrG,CAAC"}
1
+ {"version":3,"file":"bank-account.context.js","sourceRoot":"","sources":["../../src/contexts/bank-account.context.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { AssignPaymentLink, CreatePaymentLink, CreatePaymentLinkPayment, PaymentLink, PaymentLinkConfig, PaymentRoutes, PaymentRouteType, UpdatePaymentLink, UpdatePaymentLinkConfig } from '../definitions/route';
3
+ interface PaymentRoutesInterface {
4
+ paymentRoutes?: PaymentRoutes;
5
+ paymentRoutesLoading: boolean;
6
+ paymentLinks?: PaymentLink[];
7
+ paymentLinksLoading: boolean;
8
+ userPaymentLinksConfig?: PaymentLinkConfig;
9
+ userPaymentLinksConfigLoading: boolean;
10
+ createPaymentLink: (request: CreatePaymentLink) => Promise<PaymentLink | undefined>;
11
+ updatePaymentLink: (request: UpdatePaymentLink, linkId?: string, externalLinkId?: string, externalPaymentId?: string) => Promise<void>;
12
+ assignPaymentLink: (request: AssignPaymentLink, linkId?: string, externalLinkId?: string) => Promise<void>;
13
+ updateUserPaymentLinksConfig: (config: UpdatePaymentLinkConfig) => Promise<void>;
14
+ createPaymentLinkPayment: (request: CreatePaymentLinkPayment, linkId?: string, externalLinkId?: string) => Promise<void>;
15
+ cancelPaymentLinkPayment: (linkId?: string, externalLinkId?: string, externalPaymentId?: string) => Promise<void>;
16
+ deletePaymentRoute: (id: number, type: PaymentRouteType) => Promise<void>;
17
+ error?: string;
18
+ }
19
+ export declare function usePaymentRoutesContext(): PaymentRoutesInterface;
20
+ export declare function PaymentRoutesContextProvider(props: PropsWithChildren): JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=payment-routes.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-routes.context.d.ts","sourceRoot":"","sources":["../../src/contexts/payment-routes.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,iBAAiB,EAA4C,MAAM,OAAO,CAAC;AACnG,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EAEjB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAK9B,UAAU,sBAAsB;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;IAC3C,6BAA6B,EAAE,OAAO,CAAC;IACvC,iBAAiB,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACpF,iBAAiB,EAAE,CACjB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM,KACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,4BAA4B,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,wBAAwB,EAAE,CACxB,OAAO,EAAE,wBAAwB,EACjC,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wBAAwB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClH,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,uBAAuB,IAAI,sBAAsB,CAEhE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAuOlF"}
@@ -0,0 +1,299 @@
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
+ import { jsx as _jsx } from "react/jsx-runtime";
49
+ import { createContext, useContext, useEffect, useMemo, useState } from 'react';
50
+ import { usePaymentRoutes } from '../hooks/payment-routes.hook';
51
+ import { useUserContext } from './user.context';
52
+ var PaymentRoutesContext = createContext(undefined);
53
+ export function usePaymentRoutesContext() {
54
+ return useContext(PaymentRoutesContext);
55
+ }
56
+ export function PaymentRoutesContextProvider(props) {
57
+ var user = useUserContext().user;
58
+ var _a = usePaymentRoutes(), getPaymentRoutes = _a.getPaymentRoutes, getPaymentLinks = _a.getPaymentLinks, createPaymentLinkApi = _a.createPaymentLink, updatePaymentLinkApi = _a.updatePaymentLink, assignPaymentLinkApi = _a.assignPaymentLink, createPaymentLinkPaymentApi = _a.createPaymentLinkPayment, cancelPaymentLinkPaymentApi = _a.cancelPaymentLinkPayment, deletePaymentRouteApi = _a.deletePaymentRoute, getUserPaymentLinksConfigApi = _a.getUserPaymentLinksConfig, updateUserPaymentLinksConfigApi = _a.updateUserPaymentLinksConfig;
59
+ var _b = useState(), error = _b[0], setError = _b[1];
60
+ var _c = useState(), paymentRoutes = _c[0], setPaymentRoutes = _c[1];
61
+ var _d = useState(), paymentLinks = _d[0], setPaymentLinks = _d[1];
62
+ var _e = useState(true), paymentRoutesLoading = _e[0], setPaymentRoutesLoading = _e[1];
63
+ var _f = useState(true), paymentLinksLoading = _f[0], setPaymentLinksLoading = _f[1];
64
+ var _g = useState(), userPaymentLinksConfig = _g[0], setUserPaymentLinksConfig = _g[1];
65
+ var _h = useState(false), userPaymentLinksConfigLoading = _h[0], setUserPaymentLinksConfigLoading = _h[1];
66
+ useEffect(function () {
67
+ if (!user) {
68
+ setPaymentRoutes(undefined);
69
+ setPaymentLinks(undefined);
70
+ setUserPaymentLinksConfig(undefined);
71
+ return;
72
+ }
73
+ loadPaymentRoutes();
74
+ loadPaymentLinks();
75
+ loadUserPaymentLinksConfig();
76
+ }, [user]);
77
+ function createPaymentLink(request) {
78
+ return __awaiter(this, void 0, void 0, function () {
79
+ var paymentLink;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ if (!user)
84
+ return [2 /*return*/];
85
+ setPaymentLinksLoading(true);
86
+ _a.label = 1;
87
+ case 1:
88
+ _a.trys.push([1, , 3, 4]);
89
+ return [4 /*yield*/, createPaymentLinkApi(request)];
90
+ case 2:
91
+ paymentLink = _a.sent();
92
+ updatePaymentLinks(paymentLink);
93
+ return [2 /*return*/, paymentLink];
94
+ case 3:
95
+ setPaymentLinksLoading(false);
96
+ return [7 /*endfinally*/];
97
+ case 4: return [2 /*return*/];
98
+ }
99
+ });
100
+ });
101
+ }
102
+ function updatePaymentLink(request, linkId, externalLinkId, externalPaymentId) {
103
+ return __awaiter(this, void 0, void 0, function () {
104
+ return __generator(this, function (_a) {
105
+ if (!user)
106
+ return [2 /*return*/];
107
+ setPaymentLinksLoading(true);
108
+ return [2 /*return*/, updatePaymentLinkApi(request, linkId, externalLinkId, externalPaymentId)
109
+ .then(updatePaymentLinks)
110
+ .finally(function () { return setPaymentLinksLoading(false); })];
111
+ });
112
+ });
113
+ }
114
+ function assignPaymentLink(request, linkId, externalLinkId) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ return __generator(this, function (_a) {
117
+ setPaymentLinksLoading(true);
118
+ return [2 /*return*/, assignPaymentLinkApi(request, linkId, externalLinkId)
119
+ .then(updatePaymentLinks)
120
+ .finally(function () { return setPaymentLinksLoading(false); })];
121
+ });
122
+ });
123
+ }
124
+ function createPaymentLinkPayment(request, linkId, externalLinkId) {
125
+ return __awaiter(this, void 0, void 0, function () {
126
+ return __generator(this, function (_a) {
127
+ if (!user)
128
+ return [2 /*return*/];
129
+ setPaymentLinksLoading(true);
130
+ return [2 /*return*/, createPaymentLinkPaymentApi(request, linkId, externalLinkId)
131
+ .then(updatePaymentLinks)
132
+ .finally(function () { return setPaymentLinksLoading(false); })];
133
+ });
134
+ });
135
+ }
136
+ function cancelPaymentLinkPayment(linkId, externalLinkId, externalPaymentId) {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ return __generator(this, function (_a) {
139
+ if (!user)
140
+ return [2 /*return*/];
141
+ setPaymentLinksLoading(true);
142
+ return [2 /*return*/, cancelPaymentLinkPaymentApi(linkId, externalLinkId, externalPaymentId)
143
+ .then(updatePaymentLinks)
144
+ .finally(function () { return setPaymentLinksLoading(false); })];
145
+ });
146
+ });
147
+ }
148
+ function deletePaymentRoute(id, type) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ return __generator(this, function (_a) {
151
+ if (!user)
152
+ return [2 /*return*/];
153
+ setPaymentRoutesLoading(true);
154
+ return [2 /*return*/, deletePaymentRouteApi(id, type)
155
+ .then(function () {
156
+ setPaymentRoutes(function (routes) {
157
+ if (!routes)
158
+ return;
159
+ if (type === 'buy')
160
+ routes.buy = routes.buy.filter(function (route) { return route.id !== id; });
161
+ else if (type === 'sell')
162
+ routes.sell = routes.sell.filter(function (route) { return route.id !== id; });
163
+ else if (type === 'swap')
164
+ routes.swap = routes.swap.filter(function (route) { return route.id !== id; });
165
+ return routes;
166
+ });
167
+ })
168
+ .then(loadPaymentLinks)
169
+ .finally(function () { return setPaymentRoutesLoading(false); })];
170
+ });
171
+ });
172
+ }
173
+ function loadPaymentRoutes() {
174
+ return __awaiter(this, void 0, void 0, function () {
175
+ return __generator(this, function (_a) {
176
+ if (!user)
177
+ return [2 /*return*/];
178
+ setPaymentRoutesLoading(true);
179
+ return [2 /*return*/, getPaymentRoutes()
180
+ .then(function (routes) {
181
+ routes.buy = routes.buy.filter(function (route) { return route.active; }).sort(sortRoutes);
182
+ routes.sell = routes.sell.filter(function (route) { return route.active; }).sort(sortRoutes);
183
+ routes.swap = routes.swap.filter(function (route) { return route.active; }).sort(sortRoutes);
184
+ setPaymentRoutes(routes);
185
+ })
186
+ .catch(function (error) { var _a; return setError((_a = error.message) !== null && _a !== void 0 ? _a : 'Unknown error'); })
187
+ .finally(function () { return setPaymentRoutesLoading(false); })];
188
+ });
189
+ });
190
+ }
191
+ function loadPaymentLinks() {
192
+ return __awaiter(this, void 0, void 0, function () {
193
+ return __generator(this, function (_a) {
194
+ if (!(user === null || user === void 0 ? void 0 : user.paymentLink.active)) {
195
+ setPaymentLinksLoading(false);
196
+ return [2 /*return*/];
197
+ }
198
+ setPaymentLinksLoading(true);
199
+ return [2 /*return*/, getPaymentLinks()
200
+ .then(function (links) { return setPaymentLinks(links); })
201
+ .catch(function (error) {
202
+ var _a;
203
+ if (error.message === 'permission denied') {
204
+ setPaymentLinks([]);
205
+ }
206
+ else {
207
+ setError((_a = error.message) !== null && _a !== void 0 ? _a : 'Unknown error');
208
+ }
209
+ })
210
+ .finally(function () { return setPaymentLinksLoading(false); })];
211
+ });
212
+ });
213
+ }
214
+ function loadUserPaymentLinksConfig() {
215
+ return __awaiter(this, void 0, void 0, function () {
216
+ return __generator(this, function (_a) {
217
+ if (!user)
218
+ return [2 /*return*/];
219
+ setUserPaymentLinksConfigLoading(true);
220
+ return [2 /*return*/, getUserPaymentLinksConfigApi()
221
+ .then(setUserPaymentLinksConfig)
222
+ .catch(function (error) { var _a; return setError((_a = error.message) !== null && _a !== void 0 ? _a : 'Unknown error'); })
223
+ .finally(function () { return setUserPaymentLinksConfigLoading(false); })];
224
+ });
225
+ });
226
+ }
227
+ function updatePaymentLinks(paymentLink) {
228
+ setPaymentLinks(function (links) {
229
+ if (!links)
230
+ return [paymentLink];
231
+ var index = links.findIndex(function (l) { return l.id === paymentLink.id; });
232
+ if (index !== -1) {
233
+ links[index] = paymentLink;
234
+ }
235
+ else {
236
+ links.push(paymentLink);
237
+ }
238
+ return links;
239
+ });
240
+ }
241
+ function updateUserPaymentLinksConfig(config) {
242
+ return __awaiter(this, void 0, void 0, function () {
243
+ return __generator(this, function (_a) {
244
+ if (!user)
245
+ return [2 /*return*/];
246
+ setUserPaymentLinksConfigLoading(true);
247
+ return [2 /*return*/, updateUserPaymentLinksConfigApi(config)
248
+ .then(function () { return setUserPaymentLinksConfig(function (prevConfig) { return (__assign(__assign({}, prevConfig), config)); }); })
249
+ .then(loadPaymentLinks)
250
+ .finally(function () { return setUserPaymentLinksConfigLoading(false); })];
251
+ });
252
+ });
253
+ }
254
+ function sortRoutes(a, b) {
255
+ if ('asset' in a && 'asset' in b) {
256
+ return a.asset.blockchain.localeCompare(b.asset.blockchain);
257
+ }
258
+ else if ('currency' in a && 'currency' in b) {
259
+ return a.currency.name.localeCompare(b.currency.name);
260
+ }
261
+ else {
262
+ return 0;
263
+ }
264
+ }
265
+ var context = useMemo(function () { return ({
266
+ paymentRoutes: paymentRoutes,
267
+ paymentRoutesLoading: paymentRoutesLoading,
268
+ paymentLinksLoading: paymentLinksLoading,
269
+ paymentLinks: paymentLinks,
270
+ userPaymentLinksConfig: userPaymentLinksConfig,
271
+ userPaymentLinksConfigLoading: userPaymentLinksConfigLoading,
272
+ createPaymentLink: createPaymentLink,
273
+ updatePaymentLink: updatePaymentLink,
274
+ assignPaymentLink: assignPaymentLink,
275
+ updateUserPaymentLinksConfig: updateUserPaymentLinksConfig,
276
+ createPaymentLinkPayment: createPaymentLinkPayment,
277
+ cancelPaymentLinkPayment: cancelPaymentLinkPayment,
278
+ deletePaymentRoute: deletePaymentRoute,
279
+ error: error,
280
+ }); }, [
281
+ user,
282
+ paymentRoutes,
283
+ paymentRoutesLoading,
284
+ paymentLinks,
285
+ paymentLinksLoading,
286
+ userPaymentLinksConfig,
287
+ userPaymentLinksConfigLoading,
288
+ error,
289
+ createPaymentLink,
290
+ updatePaymentLink,
291
+ assignPaymentLink,
292
+ updateUserPaymentLinksConfig,
293
+ createPaymentLinkPayment,
294
+ cancelPaymentLinkPayment,
295
+ deletePaymentRoute,
296
+ ]);
297
+ return _jsx(PaymentRoutesContext.Provider, __assign({ value: context }, { children: props.children }));
298
+ }
299
+ //# sourceMappingURL=payment-routes.context.js.map