@dfx.swiss/react 1.3.0-beta.145 → 1.3.0-beta.146

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.
@@ -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,CAgDhF"}
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,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"}
@@ -55,52 +55,75 @@ export function useBankAccountContext() {
55
55
  }
56
56
  export function BankAccountContextProvider(props) {
57
57
  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;
58
+ var _b = useBankAccount(), getAccounts = _b.getAccounts, createAccount = _b.createAccount, updateAccount = _b.updateAccount;
59
+ var _c = useState(), bankAccounts = _c[0], setBankAccounts = _c[1];
60
+ var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
61
+ var _e = useState(), error = _e[0], setError = _e[1];
61
62
  useEffect(function () {
62
63
  if (isLoggedIn) {
63
- getAccounts().then(setBankAccounts).catch(console.error); // TODO: (Krysh) add real error handling
64
- }
65
- else {
66
- setBankAccounts(undefined);
64
+ setIsLoading(true);
65
+ getAccounts()
66
+ .then(function (accounts) { return setBankAccounts(accounts.filter(function (a) { return a.active; })); })
67
+ .catch(function (e) {
68
+ setError(e.message);
69
+ setBankAccounts(undefined);
70
+ })
71
+ .finally(function () { return setIsLoading(false); });
67
72
  }
68
73
  }, [isLoggedIn, session]);
69
74
  function addNewAccount(newAccount) {
70
75
  return __awaiter(this, void 0, void 0, function () {
71
76
  return __generator(this, function (_a) {
72
- setIsAccountLoading(true);
77
+ setIsLoading(true);
73
78
  return [2 /*return*/, createAccount(newAccount)
74
79
  .then(function (b) {
75
- setBankAccounts((bankAccounts !== null && bankAccounts !== void 0 ? bankAccounts : []).concat(b));
80
+ setBankAccounts(function (accounts) {
81
+ var exists = accounts === null || accounts === void 0 ? void 0 : accounts.some(function (a) { return a.active && a.id === b.id; });
82
+ return exists ? accounts : (accounts !== null && accounts !== void 0 ? accounts : []).concat(b);
83
+ });
76
84
  return b;
77
85
  })
78
- .finally(function () { return setIsAccountLoading(false); })];
86
+ .finally(function () { return setIsLoading(false); })];
79
87
  });
80
88
  });
81
89
  }
82
90
  function updateExistingAccount(id, changedAccount) {
83
91
  return __awaiter(this, void 0, void 0, function () {
84
92
  return __generator(this, function (_a) {
85
- return [2 /*return*/, updateAccount(id, changedAccount).then(function (b) {
86
- setBankAccounts(replace(b, bankAccounts));
93
+ setIsLoading(true);
94
+ return [2 /*return*/, updateAccount(id, changedAccount)
95
+ .then(function (b) {
96
+ setBankAccounts(function (accounts) { return updateLocal(b, accounts); });
87
97
  return b;
88
- })];
98
+ })
99
+ .finally(function () { return setIsLoading(false); })];
89
100
  });
90
101
  });
91
102
  }
92
- function replace(account, accounts) {
103
+ function updateLocal(account, accounts) {
93
104
  var index = accounts === null || accounts === void 0 ? void 0 : accounts.findIndex(function (b) { return b.id === account.id; });
94
- if (index && accounts)
95
- accounts[index] = account;
105
+ if (!accounts || index === undefined || index === -1)
106
+ return undefined;
107
+ if (account.active === false) {
108
+ return accounts === null || accounts === void 0 ? void 0 : accounts.filter(function (b) { return b.id !== account.id; });
109
+ }
110
+ if (account.default) {
111
+ accounts === null || accounts === void 0 ? void 0 : accounts.forEach(function (a) {
112
+ if (a.id !== account.id) {
113
+ a.default = false;
114
+ }
115
+ });
116
+ }
117
+ accounts[index] = account;
96
118
  return accounts;
97
119
  }
98
120
  var context = useMemo(function () { return ({
99
121
  bankAccounts: bankAccounts,
100
- isAccountLoading: isAccountLoading,
122
+ isLoading: isLoading,
123
+ error: error,
101
124
  createAccount: addNewAccount,
102
125
  updateAccount: updateExistingAccount,
103
- }); }, [bankAccounts, isAccountLoading, addNewAccount, updateExistingAccount]);
126
+ }); }, [bankAccounts, isLoading, error, addNewAccount, updateExistingAccount]);
104
127
  return _jsx(BankAccountContext.Provider, __assign({ value: context }, { children: props.children }));
105
128
  }
106
129
  //# 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":"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"}
1
+ {"version":3,"file":"bank-account.context.js","sourceRoot":"","sources":["../../src/contexts/bank-account.context.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@dfx.swiss/react",
4
- "version": "1.3.0-beta.145",
4
+ "version": "1.3.0-beta.146",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -23,5 +23,5 @@
23
23
  "react": "^18.2.0",
24
24
  "typescript": "^4.9.3"
25
25
  },
26
- "gitHead": "b0faa7f5634535d91d04b9b8b4ab483eda490d33"
26
+ "gitHead": "537530a355e62df6b7a2ed301ecfb35184a15eb4"
27
27
  }