@mx-cartographer/experiences 9.1.3 → 9.1.4-alpha.al1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -6
- package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs → AccountDetailsDrawer-Da1-Y86z.mjs} +10 -10
- package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs.map → AccountDetailsDrawer-Da1-Y86z.mjs.map} +1 -1
- package/dist/{AccountDetailsHeader-BliEZhz7.mjs → AccountDetailsHeader-CE0HYbRA.mjs} +4 -4
- package/dist/{AccountDetailsHeader-BliEZhz7.mjs.map → AccountDetailsHeader-CE0HYbRA.mjs.map} +1 -1
- package/dist/{Analytics-CkYXKvco.mjs → Analytics-BJDUP2qI.mjs} +2 -2
- package/dist/{Analytics-CkYXKvco.mjs.map → Analytics-BJDUP2qI.mjs.map} +1 -1
- package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs → CategorySelectorDrawer-BM5mKt7P.mjs} +2 -2
- package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-BM5mKt7P.mjs.map} +1 -1
- package/dist/{Connect-BH0Pt6zc.mjs → Connect-JoOkCXSZ.mjs} +2 -2
- package/dist/{Connect-BH0Pt6zc.mjs.map → Connect-JoOkCXSZ.mjs.map} +1 -1
- package/dist/{ConnectCard-D7uxoH5Y.mjs → ConnectCard-DnZHCv3m.mjs} +2 -2
- package/dist/{ConnectCard-D7uxoH5Y.mjs.map → ConnectCard-DnZHCv3m.mjs.map} +1 -1
- package/dist/{ConnectDrawer-CW4LA3H3.mjs → ConnectDrawer-Btol_U7o.mjs} +3 -3
- package/dist/{ConnectDrawer-CW4LA3H3.mjs.map → ConnectDrawer-Btol_U7o.mjs.map} +1 -1
- package/dist/{ConnectionsDrawer-CZU9ku-k.mjs → ConnectionsDrawer-DGv6aJ6x.mjs} +3 -3
- package/dist/{ConnectionsDrawer-CZU9ku-k.mjs.map → ConnectionsDrawer-DGv6aJ6x.mjs.map} +1 -1
- package/dist/{CurrencyInput-DaGEQaLW.mjs → CurrencyInput-CxAsTGg2.mjs} +2 -2
- package/dist/{CurrencyInput-DaGEQaLW.mjs.map → CurrencyInput-CxAsTGg2.mjs.map} +1 -1
- package/dist/{EmbeddedCard-DCOQnTz-.mjs → EmbeddedCard-Dwj1CkBK.mjs} +3 -3
- package/dist/{EmbeddedCard-DCOQnTz-.mjs.map → EmbeddedCard-Dwj1CkBK.mjs.map} +1 -1
- package/dist/{Error-Dtw6yxkf.mjs → Error-BMVsnvtd.mjs} +2 -2
- package/dist/{Error-Dtw6yxkf.mjs.map → Error-BMVsnvtd.mjs.map} +1 -1
- package/dist/ErrorBoundary-C7BlHx04.mjs +27 -0
- package/dist/ErrorBoundary-C7BlHx04.mjs.map +1 -0
- package/dist/{ExportCsvAction-C-IisDcv.mjs → ExportCsvAction-B23U4xj8.mjs} +3 -3
- package/dist/{ExportCsvAction-C-IisDcv.mjs.map → ExportCsvAction-B23U4xj8.mjs.map} +1 -1
- package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs → GlobalAccountFilter-1NlROwU8.mjs} +2 -2
- package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs.map → GlobalAccountFilter-1NlROwU8.mjs.map} +1 -1
- package/dist/GlobalCopyApi-Tz10hezK.mjs +130 -0
- package/dist/GlobalCopyApi-Tz10hezK.mjs.map +1 -0
- package/dist/{Help-zVZdcmlk.mjs → Help-BC5OU0yX.mjs} +145 -145
- package/dist/Help-BC5OU0yX.mjs.map +1 -0
- package/dist/{LineChart-CUfiH86G.mjs → LineChart-YCIQN3ho.mjs} +2 -2
- package/dist/{LineChart-CUfiH86G.mjs.map → LineChart-YCIQN3ho.mjs.map} +1 -1
- package/dist/{ListItemAction-BqUCLj_w.mjs → ListItemAction-D-XYTjj4.mjs} +2 -2
- package/dist/{ListItemAction-BqUCLj_w.mjs.map → ListItemAction-D-XYTjj4.mjs.map} +1 -1
- package/dist/{ListItemWrapper-DRse79Iu.mjs → ListItemWrapper-XiustNlS.mjs} +2 -2
- package/dist/{ListItemWrapper-DRse79Iu.mjs.map → ListItemWrapper-XiustNlS.mjs.map} +1 -1
- package/dist/{ManageIncome-B_8i71mE.mjs → ManageIncome-CWr2Eij2.mjs} +32 -32
- package/dist/{ManageIncome-B_8i71mE.mjs.map → ManageIncome-CWr2Eij2.mjs.map} +1 -1
- package/dist/{MicroWidgetContainer-B2NnKBgW.mjs → MicroWidgetContainer-u1hE4nVI.mjs} +2 -2
- package/dist/{MicroWidgetContainer-B2NnKBgW.mjs.map → MicroWidgetContainer-u1hE4nVI.mjs.map} +1 -1
- package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs → MiniWidgetContainer-DFUhI7Ok.mjs} +2 -2
- package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs.map → MiniWidgetContainer-DFUhI7Ok.mjs.map} +1 -1
- package/dist/{NotificationSettings-CW7okUrk.mjs → NotificationSettings-1OxkZpn7.mjs} +33 -33
- package/dist/{NotificationSettings-CW7okUrk.mjs.map → NotificationSettings-1OxkZpn7.mjs.map} +1 -1
- package/dist/{OriginalBalanceAction-YrvxBYAl.mjs → OriginalBalanceAction-BmuKAlKl.mjs} +4 -4
- package/dist/{OriginalBalanceAction-YrvxBYAl.mjs.map → OriginalBalanceAction-BmuKAlKl.mjs.map} +1 -1
- package/dist/{RecurringSettings-hs0YUp83.mjs → RecurringSettings-CMspUOGC.mjs} +3 -3
- package/dist/{RecurringSettings-hs0YUp83.mjs.map → RecurringSettings-CMspUOGC.mjs.map} +1 -1
- package/dist/{SpendingLegend-CxvNOg3c.mjs → SpendingLegend-CqLSaAYE.mjs} +2 -2
- package/dist/{SpendingLegend-CxvNOg3c.mjs.map → SpendingLegend-CqLSaAYE.mjs.map} +1 -1
- package/dist/{TransactionDetails-DT-MQqOB.mjs → TransactionDetails-DsWYPMCj.mjs} +5 -5
- package/dist/{TransactionDetails-DT-MQqOB.mjs.map → TransactionDetails-DsWYPMCj.mjs.map} +1 -1
- package/dist/{UserStore-E5WvBXaY.mjs → UserStore-CL_kIDzt.mjs} +367 -317
- package/dist/UserStore-CL_kIDzt.mjs.map +1 -0
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs → ViewMoreMicroCard-CJckyYda.mjs} +4 -4
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs.map → ViewMoreMicroCard-CJckyYda.mjs.map} +1 -1
- package/dist/{WidgetContainer-CjdCY4sj.mjs → WidgetContainer-C4PFkL6g.mjs} +3 -3
- package/dist/{WidgetContainer-CjdCY4sj.mjs.map → WidgetContainer-C4PFkL6g.mjs.map} +1 -1
- package/dist/accounts/index.es.js +11 -11
- package/dist/analytics/index.es.js +2 -2
- package/dist/budgets/index.es.js +10 -10
- package/dist/cashflow/index.es.js +70 -70
- package/dist/categories/index.es.js +1 -1
- package/dist/common/components/ErrorBoundary.d.ts +2 -0
- package/dist/common/components/ErrorTestButtons.d.ts +3 -0
- package/dist/common/components/index.d.ts +1 -0
- package/dist/common/context/GlobalDataProvider.d.ts +2 -1
- package/dist/common/context/hooks.d.ts +3 -0
- package/dist/common/context/index.d.ts +1 -1
- package/dist/common/index.es.js +252 -224
- package/dist/common/index.es.js.map +1 -1
- package/dist/core/api/AccountApi.d.ts +2 -2
- package/dist/core/api/AnalyticsApi.d.ts +2 -2
- package/dist/core/api/AppDataApi.d.ts +2 -2
- package/dist/core/api/BeatApi.d.ts +2 -2
- package/dist/core/api/BudgetsApi.d.ts +2 -2
- package/dist/core/api/CategoryApi.d.ts +2 -2
- package/dist/core/api/FinstrongApi.d.ts +2 -2
- package/dist/core/api/GlobalCopyApi.d.ts +2 -2
- package/dist/core/api/GoalApi.d.ts +2 -2
- package/dist/core/api/HelpApi.d.ts +2 -2
- package/dist/core/api/HoldingApi.d.ts +2 -2
- package/dist/core/api/MerchantApi.d.ts +2 -2
- package/dist/core/api/NotificationApi.d.ts +2 -2
- package/dist/core/api/RepeatingTransactionsApi.d.ts +2 -2
- package/dist/core/api/ScheduledPaymentsApi.d.ts +2 -2
- package/dist/core/api/SettingsApi.d.ts +2 -2
- package/dist/core/api/TransactionApi.d.ts +2 -2
- package/dist/core/api/UserApi.d.ts +2 -2
- package/dist/core/index.es.js +95 -95
- package/dist/core/index.es.js.map +1 -1
- package/dist/core/stores/GlobalStore.d.ts +4 -2
- package/dist/core/types/Handlers.d.ts +1 -0
- package/dist/core/types/index.d.ts +1 -1
- package/dist/core/utils/Fetch.d.ts +3 -2
- package/dist/dashboard/index.es.js +4 -4
- package/dist/debts/index.es.js +8 -8
- package/dist/finstrong/index.es.js +12 -12
- package/dist/goals/index.es.js +9 -9
- package/dist/help/index.es.js +4 -4
- package/dist/hooks-Chcgk3F2.mjs +83 -0
- package/dist/hooks-Chcgk3F2.mjs.map +1 -0
- package/dist/insights/index.es.js +4 -4
- package/dist/investments/index.es.js +4 -4
- package/dist/merchants/index.es.js +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/networth/index.es.js +6 -6
- package/dist/notifications/index.es.js +8 -8
- package/dist/recurringtransactions/index.es.js +38 -38
- package/dist/settings/index.es.js +27 -27
- package/dist/spending/index.es.js +7 -7
- package/dist/transactions/index.es.js +11 -11
- package/dist/trends/index.es.js +12 -12
- package/dist/{useAccountDisplayName-BsiXA0qf.mjs → useAccountDisplayName-BC5i7pMh.mjs} +2 -2
- package/dist/{useAccountDisplayName-BsiXA0qf.mjs.map → useAccountDisplayName-BC5i7pMh.mjs.map} +1 -1
- package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs → useInsightsEnabled-BpBk6YYj.mjs} +2 -2
- package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs.map → useInsightsEnabled-BpBk6YYj.mjs.map} +1 -1
- package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs → useWidgetLoadTimer-D0bW29qj.mjs} +2 -2
- package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs.map → useWidgetLoadTimer-D0bW29qj.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/ErrorBoundary-CsdOcnJ9.mjs +0 -24
- package/dist/ErrorBoundary-CsdOcnJ9.mjs.map +0 -1
- package/dist/GlobalCopyApi-wcnDUzMV.mjs +0 -129
- package/dist/GlobalCopyApi-wcnDUzMV.mjs.map +0 -1
- package/dist/Help-zVZdcmlk.mjs.map +0 -1
- package/dist/UserStore-E5WvBXaY.mjs.map +0 -1
- package/dist/hooks-97sNJ_lf.mjs +0 -78
- package/dist/hooks-97sNJ_lf.mjs.map +0 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { makeAutoObservable as
|
|
2
|
-
import { d as At, g as
|
|
3
|
-
import { i as
|
|
4
|
-
import { c as
|
|
5
|
-
import { F as g, B as
|
|
1
|
+
import { makeAutoObservable as h, runInAction as c, reaction as ut, autorun as mt, observable as Tt } from "mobx";
|
|
2
|
+
import { d as At, g as bt } from "./AccountUtils-Cbh8r9cP.mjs";
|
|
3
|
+
import { i as wt, f as Et, b as It, c as W } from "./BudgetUtil-Bg2AQJpQ.mjs";
|
|
4
|
+
import { c as d, d as O } from "./Account-DR7Plrqy.mjs";
|
|
5
|
+
import { F as g, B as v, G as V } from "./GlobalCopyApi-Tz10hezK.mjs";
|
|
6
6
|
import { A as i } from "./ApiEndpoints-DXwIYNUV.mjs";
|
|
7
|
-
import
|
|
7
|
+
import Ct from "posthog-js";
|
|
8
8
|
import { endOfMonth as T } from "date-fns/endOfMonth";
|
|
9
|
-
import { startOfMonth as
|
|
9
|
+
import { startOfMonth as C } from "date-fns/startOfMonth";
|
|
10
10
|
import { startOfToday as y } from "date-fns/startOfToday";
|
|
11
|
-
import { C as
|
|
11
|
+
import { C as b, b as Rt } from "./Category-DEKZGLYe.mjs";
|
|
12
12
|
import { addDays as Dt } from "date-fns/addDays";
|
|
13
|
-
import { differenceInDays as
|
|
13
|
+
import { differenceInDays as xt } from "date-fns/differenceInDays";
|
|
14
14
|
import { isBefore as H } from "date-fns/isBefore";
|
|
15
|
-
import { getUnixTime as
|
|
15
|
+
import { getUnixTime as S } from "date-fns/getUnixTime";
|
|
16
16
|
import { subMonths as G } from "date-fns/subMonths";
|
|
17
|
-
import { c as
|
|
17
|
+
import { c as Lt, d as vt, C as Gt, h as $t, i as Nt, s as Bt, j as Mt, T as Ot, D as Pt } from "./TransactionUtils-BphBJBbU.mjs";
|
|
18
18
|
import { l as Ft, D as Ut } from "./DebtUtils-i4pI2Uoe.mjs";
|
|
19
19
|
import { format as kt } from "date-fns/format";
|
|
20
20
|
import { fromUnixTime as Ht } from "date-fns/fromUnixTime";
|
|
21
21
|
import { f as U, D as k } from "./DateFormats-HudZ3Bjs.mjs";
|
|
22
|
-
import { T as
|
|
22
|
+
import { T as m, c as z } from "./GoalsUtil-C9EnLWvC.mjs";
|
|
23
23
|
import { A as Wt, m as Vt, a as zt, b as Kt } from "./InvestmentUtil-BItV7uEs.mjs";
|
|
24
24
|
import { f as Qt, b as qt, a as K, c as Yt, d as jt, e as Xt, s as Jt } from "./NetWorthUtils-Dj7CgAg2.mjs";
|
|
25
25
|
import { f as Zt } from "./NotificationUtils-BRGFTePr.mjs";
|
|
@@ -27,20 +27,20 @@ import { isAfter as P } from "date-fns/isAfter";
|
|
|
27
27
|
import { isSameDay as Q } from "date-fns/isSameDay";
|
|
28
28
|
import { isWithinInterval as gt } from "date-fns/isWithinInterval";
|
|
29
29
|
import { subDays as pt } from "date-fns/subDays";
|
|
30
|
-
import { f as F, h as te, b as
|
|
31
|
-
import { I as u, A as _, B as
|
|
30
|
+
import { f as F, h as te, b as x, a as f } from "./RecurringTransactionsUtil-CHWmqvW5.mjs";
|
|
31
|
+
import { I as u, A as _, B as $ } from "./Notification-DTNYSd8P.mjs";
|
|
32
32
|
import { endOfToday as q } from "date-fns/endOfToday";
|
|
33
33
|
import { formatISO as ee } from "date-fns/formatISO";
|
|
34
34
|
import { addSeconds as se } from "date-fns/addSeconds";
|
|
35
35
|
import { differenceInCalendarMonths as ae } from "date-fns/differenceInCalendarMonths";
|
|
36
36
|
import { f as ne, b as ie } from "./TrendsUtil-D9z3kIj_.mjs";
|
|
37
37
|
import { addMonths as re } from "date-fns/addMonths";
|
|
38
|
-
import { getMonth as
|
|
38
|
+
import { getMonth as L } from "date-fns/getMonth";
|
|
39
39
|
import { a as oe } from "./Help-CkQTjORd.mjs";
|
|
40
|
-
class
|
|
40
|
+
class N {
|
|
41
41
|
fetchInstance;
|
|
42
|
-
constructor(t, e, s) {
|
|
43
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
42
|
+
constructor(t, e, s, a) {
|
|
43
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
44
44
|
}
|
|
45
45
|
createAccount = async (t) => this.fetchInstance.post(i.ACCOUNTS, t).then((e) => e.account).catch((e) => e);
|
|
46
46
|
deleteAccount = async (t) => this.fetchInstance.delete(`${i.ACCOUNTS}/${t}`).catch((e) => e);
|
|
@@ -54,8 +54,8 @@ class B {
|
|
|
54
54
|
}
|
|
55
55
|
class Y {
|
|
56
56
|
fetchInstance;
|
|
57
|
-
constructor(t, e, s) {
|
|
58
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
57
|
+
constructor(t, e, s, a) {
|
|
58
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
59
59
|
}
|
|
60
60
|
getAppData = async () => this.fetchInstance.get(i.APP_DATA).then((t) => t);
|
|
61
61
|
}
|
|
@@ -78,8 +78,8 @@ class j {
|
|
|
78
78
|
}
|
|
79
79
|
class X {
|
|
80
80
|
fetchInstance;
|
|
81
|
-
constructor(t, e, s) {
|
|
82
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
81
|
+
constructor(t, e, s, a) {
|
|
82
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
83
83
|
}
|
|
84
84
|
addBudget = async (t, e, s = null) => this.fetchInstance.post(i.BUDGETS, {
|
|
85
85
|
amount: e,
|
|
@@ -113,8 +113,8 @@ class X {
|
|
|
113
113
|
}
|
|
114
114
|
class J {
|
|
115
115
|
fetchInstance;
|
|
116
|
-
constructor(t, e, s) {
|
|
117
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
116
|
+
constructor(t, e, s, a) {
|
|
117
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
118
118
|
}
|
|
119
119
|
addCategory = async (t) => this.fetchInstance.post(i.CATEGORIES, t).then((e) => e.category);
|
|
120
120
|
getCategories = async () => this.fetchInstance.get(i.CATEGORIES).then((t) => t.categories);
|
|
@@ -138,8 +138,8 @@ class J {
|
|
|
138
138
|
}
|
|
139
139
|
class Z {
|
|
140
140
|
fetchInstance;
|
|
141
|
-
constructor(t, e, s) {
|
|
142
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
141
|
+
constructor(t, e, s, a) {
|
|
142
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
143
143
|
}
|
|
144
144
|
calculateHealthScore = async () => this.fetchInstance.post(`${i.HEALTH_SCORES}/calculate`).then((t) => t.health_score);
|
|
145
145
|
getAverageHealthScores = async () => this.fetchInstance.get(`${i.HEALTH_SCORES}/monthly_averages`).then((t) => t);
|
|
@@ -153,8 +153,8 @@ class Z {
|
|
|
153
153
|
}
|
|
154
154
|
class tt {
|
|
155
155
|
fetchInstance;
|
|
156
|
-
constructor(t, e, s) {
|
|
157
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
156
|
+
constructor(t, e, s, a) {
|
|
157
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
158
158
|
}
|
|
159
159
|
addGoal = async (t) => this.fetchInstance.post(i.GOALS, t).then((e) => e.goal);
|
|
160
160
|
addRetirementGoal = async (t) => this.fetchInstance.post(i.RETIREMENT_GOALS, t).then((e) => e.retirement_goal);
|
|
@@ -174,23 +174,23 @@ class tt {
|
|
|
174
174
|
}
|
|
175
175
|
class et {
|
|
176
176
|
fetchInstance;
|
|
177
|
-
constructor(t, e, s) {
|
|
178
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
177
|
+
constructor(t, e, s, a) {
|
|
178
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
179
179
|
}
|
|
180
180
|
createSupportTicket = async (t) => this.fetchInstance.post(i.SUPPORT_TICKETS, t).then((e) => e);
|
|
181
181
|
}
|
|
182
182
|
class st {
|
|
183
183
|
fetchInstance;
|
|
184
|
-
constructor(t, e, s) {
|
|
185
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
184
|
+
constructor(t, e, s, a) {
|
|
185
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
186
186
|
}
|
|
187
187
|
getHoldings = async () => this.fetchInstance.get(i.HOLDINGS).then((t) => t.holdings);
|
|
188
188
|
updateHoldings = async (t) => this.fetchInstance.put(`${i.HOLDINGS}/${t.guid}`, t).then((e) => e.holding);
|
|
189
189
|
}
|
|
190
190
|
class at {
|
|
191
191
|
fetchInstance;
|
|
192
|
-
constructor(t, e, s) {
|
|
193
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
192
|
+
constructor(t, e, s, a) {
|
|
193
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
194
194
|
}
|
|
195
195
|
getMerchants = async (t = [], e = [], s = 1, a = 25) => {
|
|
196
196
|
let o = i.MERCHANTS;
|
|
@@ -200,8 +200,8 @@ class at {
|
|
|
200
200
|
}
|
|
201
201
|
class nt {
|
|
202
202
|
fetchInstance;
|
|
203
|
-
constructor(t, e, s) {
|
|
204
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
203
|
+
constructor(t, e, s, a) {
|
|
204
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
205
205
|
}
|
|
206
206
|
getNotifications = () => this.fetchInstance.get(i.NOTIFICATIONS).then(
|
|
207
207
|
(t) => t.notifications.map((e) => e.notification)
|
|
@@ -216,8 +216,8 @@ class nt {
|
|
|
216
216
|
}
|
|
217
217
|
class it {
|
|
218
218
|
fetchInstance;
|
|
219
|
-
constructor(t, e, s) {
|
|
220
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
219
|
+
constructor(t, e, s, a) {
|
|
220
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
221
221
|
}
|
|
222
222
|
addRepeatingTransaction = async (t) => this.fetchInstance.post(i.REPEATING_TRANSACTIONS, t).then((e) => e.repeating_transaction);
|
|
223
223
|
getRepeatingTransactions = async () => this.fetchInstance.get(i.REPEATING_TRANSACTIONS).then((t) => t.repeating_transactions);
|
|
@@ -229,8 +229,8 @@ class it {
|
|
|
229
229
|
}
|
|
230
230
|
class rt {
|
|
231
231
|
fetchInstance;
|
|
232
|
-
constructor(t, e, s) {
|
|
233
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
232
|
+
constructor(t, e, s, a) {
|
|
233
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
234
234
|
}
|
|
235
235
|
deleteDevice = async (t) => this.fetchInstance.delete(`${i.DEVICES}/${t}`).then((e) => e);
|
|
236
236
|
generateDeviceToken = async () => this.fetchInstance.get(`${i.USER}/mobile_token`).then((t) => t.mobile_token);
|
|
@@ -245,10 +245,10 @@ class rt {
|
|
|
245
245
|
updateUserCommunicationProfile = async (t) => this.fetchInstance.put(i.USER_COMMUNICATION_PROFILE, t).then((e) => e.user_communication_profile);
|
|
246
246
|
getInsightsNotificationProfiles = async () => this.fetchInstance.get(`${i.NOTIFICATION_PROFILES}/${i.INSIGHTS_NOTIFICATION_PROFILES}`).then((t) => t);
|
|
247
247
|
}
|
|
248
|
-
class
|
|
248
|
+
class B {
|
|
249
249
|
fetchInstance;
|
|
250
|
-
constructor(t, e, s) {
|
|
251
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
250
|
+
constructor(t, e, s, a) {
|
|
251
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
252
252
|
}
|
|
253
253
|
addTag = async (t) => this.fetchInstance.post(i.TAGS, t).then((e) => e.tag).catch((e) => e);
|
|
254
254
|
addTagging = async (t) => this.fetchInstance.post(i.TAGGINGS, t).then((e) => e.tagging).catch((e) => e);
|
|
@@ -311,7 +311,7 @@ class x {
|
|
|
311
311
|
let o = `${i.TRANSACTIONS}/by_top_level_category_guid/${t}/by_date/${e}/${s}`;
|
|
312
312
|
if (a.length > 0) {
|
|
313
313
|
const r = a.reduce(
|
|
314
|
-
(l, p,
|
|
314
|
+
(l, p, w) => `${l}account_guids[]=${p}${w !== a.length - 1 ? "&" : ""}`,
|
|
315
315
|
""
|
|
316
316
|
);
|
|
317
317
|
o += `?${r}`;
|
|
@@ -329,8 +329,8 @@ class x {
|
|
|
329
329
|
}
|
|
330
330
|
class ot {
|
|
331
331
|
fetchInstance;
|
|
332
|
-
constructor(t, e, s) {
|
|
333
|
-
this.fetchInstance = new g(t, e, void 0, s);
|
|
332
|
+
constructor(t, e, s, a) {
|
|
333
|
+
this.fetchInstance = new g(t, e, void 0, s, a);
|
|
334
334
|
}
|
|
335
335
|
getUserFeatures = async () => this.fetchInstance.get(i.USER_FEATURES).then((t) => t.user_features).catch((t) => t);
|
|
336
336
|
updateUser = async (t) => this.fetchInstance.put(i.USER, t).then((e) => e.user);
|
|
@@ -345,7 +345,7 @@ class ct {
|
|
|
345
345
|
}
|
|
346
346
|
class ce {
|
|
347
347
|
globalStore;
|
|
348
|
-
api = new
|
|
348
|
+
api = new N("/", "");
|
|
349
349
|
accounts = [];
|
|
350
350
|
accountsLoaded = !1;
|
|
351
351
|
accountsLoading = !1;
|
|
@@ -357,7 +357,12 @@ class ce {
|
|
|
357
357
|
membersLoading = !1;
|
|
358
358
|
uiStore;
|
|
359
359
|
constructor(t) {
|
|
360
|
-
this.globalStore = t, this.uiStore = new le(), this.api = new
|
|
360
|
+
this.globalStore = t, this.uiStore = new le(), this.api = new N(
|
|
361
|
+
t.endpoint,
|
|
362
|
+
t.sessionToken,
|
|
363
|
+
t.onError,
|
|
364
|
+
t.onCaptureException
|
|
365
|
+
), h(this);
|
|
361
366
|
}
|
|
362
367
|
loadAccountData = async () => {
|
|
363
368
|
await Promise.all([this.loadAccounts(), this.loadMembers(), this.loadInstitutions()]);
|
|
@@ -366,7 +371,7 @@ class ce {
|
|
|
366
371
|
return this.accountsLoaded && this.membersLoaded && this.institutionsLoaded;
|
|
367
372
|
}
|
|
368
373
|
get detailedAccounts() {
|
|
369
|
-
const t = this.globalStore.userStore.userFeatures, e =
|
|
374
|
+
const t = this.globalStore.userStore.userFeatures, e = wt(t, "MD_EXCLUDE_EXTERNAL_ACCOUNTS"), s = this.globalStore.appConfig.config.display_only_external_accounts_in_accounts && this.globalStore.appConfig.options.subtype === "accounts";
|
|
370
375
|
return At(
|
|
371
376
|
this.accounts,
|
|
372
377
|
this.institutions,
|
|
@@ -384,43 +389,43 @@ class ce {
|
|
|
384
389
|
}
|
|
385
390
|
get cashAccounts() {
|
|
386
391
|
return this.detailedAccounts.filter(
|
|
387
|
-
(t) => t.account_type ===
|
|
392
|
+
(t) => t.account_type === d.CASH || t.account_type === d.CHECKING || t.account_type === d.PREPAID || t.account_type === d.SAVINGS || t.account_type === d.CHECKING_LINE_OF_CREDIT
|
|
388
393
|
);
|
|
389
394
|
}
|
|
390
395
|
get cashBalance() {
|
|
391
396
|
return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
|
|
392
397
|
}
|
|
393
398
|
get checkingAccounts() {
|
|
394
|
-
return this.detailedAccounts.filter((t) => t.account_type ===
|
|
399
|
+
return this.detailedAccounts.filter((t) => t.account_type === d.CHECKING);
|
|
395
400
|
}
|
|
396
401
|
get debtAccounts() {
|
|
397
402
|
return this.detailedAccounts.filter(
|
|
398
|
-
(t) => t.account_type ===
|
|
403
|
+
(t) => t.account_type === d.CREDIT_CARD || t.account_type === d.LOAN || t.account_type === d.MORTGAGE || t.account_type === d.LINE_OF_CREDIT || t.account_type === d.CHECKING_LINE_OF_CREDIT
|
|
399
404
|
);
|
|
400
405
|
}
|
|
401
406
|
get finstrongAccounts() {
|
|
402
407
|
const t = /* @__PURE__ */ new Set([
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
408
|
+
d.CHECKING,
|
|
409
|
+
d.SAVINGS,
|
|
410
|
+
d.CREDIT_CARD,
|
|
411
|
+
d.INVESTMENT
|
|
407
412
|
]);
|
|
408
413
|
return this.detailedAccounts.filter((e) => t.has(e.account_type));
|
|
409
414
|
}
|
|
410
415
|
get investmentAccounts() {
|
|
411
416
|
return this.detailedAccounts.filter(
|
|
412
|
-
(t) => t.account_type ===
|
|
417
|
+
(t) => t.account_type === d.INVESTMENT
|
|
413
418
|
);
|
|
414
419
|
}
|
|
415
420
|
get manualAccounts() {
|
|
416
421
|
return this.detailedAccounts.filter((t) => t.is_manual);
|
|
417
422
|
}
|
|
418
423
|
get savingsAccounts() {
|
|
419
|
-
return this.detailedAccounts.filter((t) => t.account_type ===
|
|
424
|
+
return this.detailedAccounts.filter((t) => t.account_type === d.SAVINGS);
|
|
420
425
|
}
|
|
421
426
|
get retirementAccounts() {
|
|
422
427
|
return this.detailedAccounts.filter(
|
|
423
|
-
(t) => t.account_type ===
|
|
428
|
+
(t) => t.account_type === d.INVESTMENT || t.account_type === d.SAVINGS || t.account_type === d.CHECKING || t.account_type === d.CASH || t.account_type === d.PROPERTY || t.account_type === d.INSURANCE && (t.account_subtype === O.WHOLE_LIFE || t.account_subtype === O.UNIVERSAL_LIFE || t.account_subtype === O.VARIABLE_UNIVERSAL_LIFE)
|
|
424
429
|
);
|
|
425
430
|
}
|
|
426
431
|
get visibleAccounts() {
|
|
@@ -460,7 +465,7 @@ class ce {
|
|
|
460
465
|
}
|
|
461
466
|
get savingsAndCheckingAccounts() {
|
|
462
467
|
return this.accounts.filter(
|
|
463
|
-
(e) => e.account_type ===
|
|
468
|
+
(e) => e.account_type === d.SAVINGS || e.account_type === d.CHECKING
|
|
464
469
|
);
|
|
465
470
|
}
|
|
466
471
|
setAccounts = (t) => {
|
|
@@ -479,7 +484,7 @@ class ce {
|
|
|
479
484
|
this.accounts = [...this.accounts, e];
|
|
480
485
|
});
|
|
481
486
|
} catch (e) {
|
|
482
|
-
console.error(`Error occurred while adding an account: ${e}`);
|
|
487
|
+
console.error(`Error occurred while adding an account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
483
488
|
}
|
|
484
489
|
};
|
|
485
490
|
loadAccounts = async () => {
|
|
@@ -489,7 +494,7 @@ class ce {
|
|
|
489
494
|
const t = await this.api.getAccounts();
|
|
490
495
|
this.setAccounts(t);
|
|
491
496
|
} catch (t) {
|
|
492
|
-
console.error(`Error occurred while loading accounts: ${t}`);
|
|
497
|
+
console.error(`Error occurred while loading accounts: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
493
498
|
}
|
|
494
499
|
}
|
|
495
500
|
};
|
|
@@ -500,7 +505,7 @@ class ce {
|
|
|
500
505
|
const t = await this.api.getInstitutions();
|
|
501
506
|
this.setInstitutions(t);
|
|
502
507
|
} catch (t) {
|
|
503
|
-
console.error(`Error occurred while loading institutions: ${t}`);
|
|
508
|
+
console.error(`Error occurred while loading institutions: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
504
509
|
}
|
|
505
510
|
}
|
|
506
511
|
};
|
|
@@ -511,7 +516,7 @@ class ce {
|
|
|
511
516
|
const t = await this.api.getMembers();
|
|
512
517
|
this.setMembers(t);
|
|
513
518
|
} catch (t) {
|
|
514
|
-
console.error(`Error occurred while loading members: ${t}`);
|
|
519
|
+
console.error(`Error occurred while loading members: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
515
520
|
}
|
|
516
521
|
}
|
|
517
522
|
};
|
|
@@ -525,7 +530,7 @@ class ce {
|
|
|
525
530
|
this.accounts.splice(o, 1, s);
|
|
526
531
|
});
|
|
527
532
|
} catch (e) {
|
|
528
|
-
console.error(`Error occurred while merging accounts: ${e}`);
|
|
533
|
+
console.error(`Error occurred while merging accounts: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
529
534
|
}
|
|
530
535
|
};
|
|
531
536
|
/**
|
|
@@ -538,7 +543,7 @@ class ce {
|
|
|
538
543
|
try {
|
|
539
544
|
await this.api.refreshAllMembers();
|
|
540
545
|
} catch (t) {
|
|
541
|
-
console.error(`Error occurredwhile refreshing members: ${t}`);
|
|
546
|
+
console.error(`Error occurredwhile refreshing members: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
542
547
|
}
|
|
543
548
|
};
|
|
544
549
|
removeAccount = async (t) => {
|
|
@@ -547,7 +552,7 @@ class ce {
|
|
|
547
552
|
const e = this.accounts.findIndex((s) => s.guid === t);
|
|
548
553
|
this.accounts.splice(e, 1);
|
|
549
554
|
} catch (e) {
|
|
550
|
-
console.error(`Error occurred while removing an account: ${e}`);
|
|
555
|
+
console.error(`Error occurred while removing an account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
551
556
|
}
|
|
552
557
|
};
|
|
553
558
|
updateAccount = async (t) => {
|
|
@@ -557,7 +562,7 @@ class ce {
|
|
|
557
562
|
);
|
|
558
563
|
this.accounts.splice(s, 1, e);
|
|
559
564
|
} catch (e) {
|
|
560
|
-
console.error(`Error occurred while updating account: ${e}`);
|
|
565
|
+
console.error(`Error occurred while updating account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
561
566
|
}
|
|
562
567
|
};
|
|
563
568
|
updateAccountBalance = (t, e) => {
|
|
@@ -584,12 +589,12 @@ let le = class {
|
|
|
584
589
|
selectedAccount = {};
|
|
585
590
|
selectedMember = {};
|
|
586
591
|
constructor() {
|
|
587
|
-
|
|
592
|
+
h(this);
|
|
588
593
|
}
|
|
589
594
|
setSelectedAccount = (t) => this.selectedAccount = t;
|
|
590
595
|
setSelectedMember = (t) => this.selectedMember = t;
|
|
591
596
|
};
|
|
592
|
-
class
|
|
597
|
+
class he {
|
|
593
598
|
globalStore;
|
|
594
599
|
api = new Y("/", "");
|
|
595
600
|
bannerApi = new j("/");
|
|
@@ -597,7 +602,12 @@ class de {
|
|
|
597
602
|
isAppDataLoaded = !1;
|
|
598
603
|
banner = {};
|
|
599
604
|
constructor(t) {
|
|
600
|
-
this.globalStore = t, this.api = new Y(
|
|
605
|
+
this.globalStore = t, this.api = new Y(
|
|
606
|
+
t.endpoint,
|
|
607
|
+
t.sessionToken,
|
|
608
|
+
t.onError,
|
|
609
|
+
t.onCaptureException
|
|
610
|
+
), h(this);
|
|
601
611
|
}
|
|
602
612
|
get appConfig() {
|
|
603
613
|
return this.globalStore.appConfig;
|
|
@@ -625,7 +635,7 @@ class de {
|
|
|
625
635
|
const t = await this.api.getAppData();
|
|
626
636
|
this.setAppData(t);
|
|
627
637
|
} catch (t) {
|
|
628
|
-
console.error(`Error loading app data: ${t}`);
|
|
638
|
+
console.error(`Error loading app data: ${t}`), this.globalStore.captureException(t, { store: "AppDataStore" });
|
|
629
639
|
}
|
|
630
640
|
};
|
|
631
641
|
loadBanner = async () => {
|
|
@@ -635,14 +645,14 @@ class de {
|
|
|
635
645
|
this.banner = e;
|
|
636
646
|
});
|
|
637
647
|
} catch (t) {
|
|
638
|
-
console.error(`Error loading banner: ${t}`);
|
|
648
|
+
console.error(`Error loading banner: ${t}`), this.globalStore.captureException(t, { store: "AppDataStore" });
|
|
639
649
|
}
|
|
640
650
|
};
|
|
641
651
|
setUser = (t) => this.appData.user = t;
|
|
642
652
|
setUserCommunicationProfile = (t) => this.appData.user_communication_profile = t;
|
|
643
653
|
setUserProfile = (t) => this.appData.user_profile = t;
|
|
644
654
|
}
|
|
645
|
-
class
|
|
655
|
+
class de {
|
|
646
656
|
globalStore;
|
|
647
657
|
survey = null;
|
|
648
658
|
currentQuestionIndex = 0;
|
|
@@ -650,7 +660,7 @@ class he {
|
|
|
650
660
|
response = null;
|
|
651
661
|
responses = {};
|
|
652
662
|
constructor(t) {
|
|
653
|
-
this.globalStore = t,
|
|
663
|
+
this.globalStore = t, h(this);
|
|
654
664
|
}
|
|
655
665
|
get isLastQuestion() {
|
|
656
666
|
return this.currentQuestionIndex === this.surveyQuestions.length - 1;
|
|
@@ -672,7 +682,7 @@ class he {
|
|
|
672
682
|
return this.survey ? this.survey.questions : [];
|
|
673
683
|
}
|
|
674
684
|
loadSurvey = (t = !1) => {
|
|
675
|
-
|
|
685
|
+
Ct.getActiveMatchingSurveys((e) => {
|
|
676
686
|
c(() => {
|
|
677
687
|
if (e.length > 0) {
|
|
678
688
|
const s = e.find((a) => a.id === this.surveyId);
|
|
@@ -740,11 +750,16 @@ const ge = (n) => ({
|
|
|
740
750
|
});
|
|
741
751
|
class pe {
|
|
742
752
|
globalStore;
|
|
743
|
-
api = new
|
|
753
|
+
api = new v("/", "");
|
|
744
754
|
beats = [];
|
|
745
755
|
isLoading = !1;
|
|
746
756
|
constructor(t) {
|
|
747
|
-
this.globalStore = t, this.api = new
|
|
757
|
+
this.globalStore = t, this.api = new v(
|
|
758
|
+
t.endpoint,
|
|
759
|
+
t.sessionToken,
|
|
760
|
+
t.onError,
|
|
761
|
+
t.onCaptureException
|
|
762
|
+
), h(this);
|
|
748
763
|
}
|
|
749
764
|
loadBeats = async () => {
|
|
750
765
|
this.isLoading = !0;
|
|
@@ -771,7 +786,7 @@ class _e {
|
|
|
771
786
|
api = new X("/", "");
|
|
772
787
|
globalStore;
|
|
773
788
|
alert = "";
|
|
774
|
-
dateRange = { start:
|
|
789
|
+
dateRange = { start: C(y()), end: T(y()) };
|
|
775
790
|
budgets = [];
|
|
776
791
|
selectedBudget;
|
|
777
792
|
selectedSubBudget;
|
|
@@ -779,7 +794,12 @@ class _e {
|
|
|
779
794
|
theme = {};
|
|
780
795
|
merchantBudgets = [];
|
|
781
796
|
constructor(t) {
|
|
782
|
-
this.globalStore = t, this.api = new X(
|
|
797
|
+
this.globalStore = t, this.api = new X(
|
|
798
|
+
t.endpoint,
|
|
799
|
+
t.sessionToken,
|
|
800
|
+
t.onError,
|
|
801
|
+
t.onCaptureException
|
|
802
|
+
), h(this);
|
|
783
803
|
}
|
|
784
804
|
loadBudgetData = async () => {
|
|
785
805
|
this.globalStore.recurringTransactionsStore.isDataLoaded || await this.globalStore.recurringTransactionsStore.loadRepeatingTransactionData(), await this.loadBudgets(), ut(
|
|
@@ -787,9 +807,9 @@ class _e {
|
|
|
787
807
|
(t) => {
|
|
788
808
|
if (t) {
|
|
789
809
|
const e = this.selectedBudget;
|
|
790
|
-
e && (this.selectedBudget =
|
|
810
|
+
e && (this.selectedBudget = Et(t, e.guid));
|
|
791
811
|
const s = this.selectedSubBudget;
|
|
792
|
-
s && s.parent_guid && (this.selectedSubBudget =
|
|
812
|
+
s && s.parent_guid && (this.selectedSubBudget = It(
|
|
793
813
|
t,
|
|
794
814
|
s.guid,
|
|
795
815
|
s.parent_guid
|
|
@@ -801,7 +821,7 @@ class _e {
|
|
|
801
821
|
get detailedBudgets() {
|
|
802
822
|
return W(
|
|
803
823
|
this.budgets.filter(
|
|
804
|
-
(t) => t.category_guid !==
|
|
824
|
+
(t) => t.category_guid !== b.INCOME && t.category_guid !== b.TRANSFER && t.category_guid !== b.INVESTMENTS
|
|
805
825
|
),
|
|
806
826
|
this.globalStore.categoryStore.detailedCategories,
|
|
807
827
|
this.globalStore.copyStore.copy.budgets,
|
|
@@ -816,7 +836,7 @@ class _e {
|
|
|
816
836
|
this.globalStore.copyStore.copy.budgets,
|
|
817
837
|
this.theme
|
|
818
838
|
).reduce(
|
|
819
|
-
(s, a) => a.category_guid !==
|
|
839
|
+
(s, a) => a.category_guid !== b.INCOME ? s : !s || a.percentage > s.percentage ? a : s,
|
|
820
840
|
void 0
|
|
821
841
|
)?.amount;
|
|
822
842
|
}
|
|
@@ -835,7 +855,7 @@ class _e {
|
|
|
835
855
|
this.budgets.push(a);
|
|
836
856
|
});
|
|
837
857
|
} catch (a) {
|
|
838
|
-
console.error(`Error adding budget: ${a}`);
|
|
858
|
+
console.error(`Error adding budget: ${a}`), this.globalStore.captureException(a, { store: "BudgetsStore" });
|
|
839
859
|
}
|
|
840
860
|
};
|
|
841
861
|
deleteBudget = async (t) => {
|
|
@@ -845,7 +865,7 @@ class _e {
|
|
|
845
865
|
e >= 0 && this.budgets.splice(e, 1);
|
|
846
866
|
});
|
|
847
867
|
} catch (e) {
|
|
848
|
-
console.error(`Error deleting budget: ${e}`);
|
|
868
|
+
console.error(`Error deleting budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" });
|
|
849
869
|
}
|
|
850
870
|
};
|
|
851
871
|
loadBudgets = async () => {
|
|
@@ -853,7 +873,7 @@ class _e {
|
|
|
853
873
|
const t = await this.api.getBudgets();
|
|
854
874
|
this.setBudgets(t);
|
|
855
875
|
} catch (t) {
|
|
856
|
-
throw console.error(`Error occurred while loading budgets: ${t}`), t;
|
|
876
|
+
throw console.error(`Error occurred while loading budgets: ${t}`), this.globalStore.captureException(t, { store: "BudgetsStore" }), t;
|
|
857
877
|
}
|
|
858
878
|
};
|
|
859
879
|
setAlert = (t) => this.alert = t;
|
|
@@ -884,7 +904,7 @@ class _e {
|
|
|
884
904
|
await this.api.deleteBudget(s.guid);
|
|
885
905
|
return await this.loadBudgets(), { data: this.budgets, isSuccess: !0 };
|
|
886
906
|
} catch (e) {
|
|
887
|
-
return console.error("error recalculating budgets", e), { data: [], isSuccess: !1 };
|
|
907
|
+
return console.error("error recalculating budgets", e), this.globalStore.captureException(e, { store: "BudgetsStore" }), { data: [], isSuccess: !1 };
|
|
888
908
|
}
|
|
889
909
|
};
|
|
890
910
|
updateBudget = async (t) => {
|
|
@@ -895,7 +915,7 @@ class _e {
|
|
|
895
915
|
s >= 0 && (this.budgets[s] = e);
|
|
896
916
|
});
|
|
897
917
|
} catch (e) {
|
|
898
|
-
console.error(`Error updating budget: ${e}`);
|
|
918
|
+
console.error(`Error updating budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" });
|
|
899
919
|
}
|
|
900
920
|
};
|
|
901
921
|
getMerchantBudgetByMerchantGuid = (t) => this.merchantBudgets.find(
|
|
@@ -911,7 +931,7 @@ class _e {
|
|
|
911
931
|
this.merchantBudgets.push(s);
|
|
912
932
|
}), { isSuccess: !0 };
|
|
913
933
|
} catch (s) {
|
|
914
|
-
return console.error(`Error adding merchant budget: ${s}`), { isSuccess: !1 };
|
|
934
|
+
return console.error(`Error adding merchant budget: ${s}`), this.globalStore.captureException(s, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
915
935
|
}
|
|
916
936
|
};
|
|
917
937
|
updateMerchantBudget = async (t) => {
|
|
@@ -922,7 +942,7 @@ class _e {
|
|
|
922
942
|
o >= 0 && (this.merchantBudgets[o] = a);
|
|
923
943
|
}), { isSuccess: !0 };
|
|
924
944
|
} catch (e) {
|
|
925
|
-
return console.error(`Error updating merchant budget: ${e}`), { isSuccess: !1 };
|
|
945
|
+
return console.error(`Error updating merchant budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
926
946
|
}
|
|
927
947
|
};
|
|
928
948
|
deleteMerchantBudget = async (t) => {
|
|
@@ -931,7 +951,7 @@ class _e {
|
|
|
931
951
|
this.merchantBudgets = this.merchantBudgets.filter((e) => e.guid !== t);
|
|
932
952
|
}), { isSuccess: !0 };
|
|
933
953
|
} catch (e) {
|
|
934
|
-
return console.error(`Error deleting merchant budget: ${e}`), { isSuccess: !1 };
|
|
954
|
+
return console.error(`Error deleting merchant budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
935
955
|
}
|
|
936
956
|
};
|
|
937
957
|
}
|
|
@@ -939,7 +959,7 @@ class fe {
|
|
|
939
959
|
globalStore;
|
|
940
960
|
uiStore;
|
|
941
961
|
constructor(t) {
|
|
942
|
-
this.globalStore = t, this.uiStore = new ye(t),
|
|
962
|
+
this.globalStore = t, this.uiStore = new ye(t), h(this);
|
|
943
963
|
}
|
|
944
964
|
completeOnboarding = async () => {
|
|
945
965
|
const t = {
|
|
@@ -958,7 +978,7 @@ let ye = class {
|
|
|
958
978
|
dateRange = { start: y(), end: Dt(y(), 30) };
|
|
959
979
|
isDirty = !1;
|
|
960
980
|
constructor(t) {
|
|
961
|
-
this.globalStore = t,
|
|
981
|
+
this.globalStore = t, h(this);
|
|
962
982
|
}
|
|
963
983
|
// Recurrence data scoped to Cash Flow's own dateRange, sourced from the
|
|
964
984
|
// range-parameterized helpers on RecurringTransactionsStore. Computeds (not
|
|
@@ -989,13 +1009,13 @@ let ye = class {
|
|
|
989
1009
|
get selectedCashBalance() {
|
|
990
1010
|
const t = this.globalStore.appConfig.config.display_available_balance_in_accounts;
|
|
991
1011
|
return this.selectedCashAccounts.reduce(
|
|
992
|
-
(e, s) => e +
|
|
1012
|
+
(e, s) => e + bt(s, t),
|
|
993
1013
|
0
|
|
994
1014
|
);
|
|
995
1015
|
}
|
|
996
1016
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
997
1017
|
get daysUntilNextIncome() {
|
|
998
|
-
return this.nextIncome ? Math.abs(
|
|
1018
|
+
return this.nextIncome ? Math.abs(xt(y(), this.nextIncome.expectedDate)) : 0;
|
|
999
1019
|
}
|
|
1000
1020
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
1001
1021
|
// if there is no income activity
|
|
@@ -1005,7 +1025,7 @@ let ye = class {
|
|
|
1005
1025
|
);
|
|
1006
1026
|
}
|
|
1007
1027
|
};
|
|
1008
|
-
class
|
|
1028
|
+
class Se {
|
|
1009
1029
|
globalStore;
|
|
1010
1030
|
uiStore;
|
|
1011
1031
|
api = new J("/", "");
|
|
@@ -1019,10 +1039,15 @@ class me {
|
|
|
1019
1039
|
monthlyTotalsLoaded = !1;
|
|
1020
1040
|
monthlyTotalsLoading = !1;
|
|
1021
1041
|
constructor(t) {
|
|
1022
|
-
this.globalStore = t, this.uiStore = new
|
|
1042
|
+
this.globalStore = t, this.uiStore = new me(), this.api = new J(
|
|
1043
|
+
t.endpoint,
|
|
1044
|
+
t.sessionToken,
|
|
1045
|
+
t.onError,
|
|
1046
|
+
t.onCaptureException
|
|
1047
|
+
), h(this);
|
|
1023
1048
|
}
|
|
1024
1049
|
get detailedCategories() {
|
|
1025
|
-
return this.globalStore.isInitialized ?
|
|
1050
|
+
return this.globalStore.isInitialized ? Lt(
|
|
1026
1051
|
this.categories,
|
|
1027
1052
|
this.globalStore.copyStore.copy.categories,
|
|
1028
1053
|
this.dateRangeCategoryTotals,
|
|
@@ -1030,7 +1055,7 @@ class me {
|
|
|
1030
1055
|
) : [];
|
|
1031
1056
|
}
|
|
1032
1057
|
get detailedCategoriesWithTransactions() {
|
|
1033
|
-
return
|
|
1058
|
+
return vt(
|
|
1034
1059
|
this.detailedCategories,
|
|
1035
1060
|
this.globalStore.transactionStore.sortedTransactions
|
|
1036
1061
|
);
|
|
@@ -1040,7 +1065,7 @@ class me {
|
|
|
1040
1065
|
}
|
|
1041
1066
|
get spendCategories() {
|
|
1042
1067
|
return this.detailedCategories.filter(
|
|
1043
|
-
(t) => !t.is_income && !t.isTransfer && t.guid !==
|
|
1068
|
+
(t) => !t.is_income && !t.isTransfer && t.guid !== b.INVESTMENTS
|
|
1044
1069
|
);
|
|
1045
1070
|
}
|
|
1046
1071
|
get transferCategories() {
|
|
@@ -1056,14 +1081,14 @@ class me {
|
|
|
1056
1081
|
this.dateRangeCategoryTotals = t, this.dateRangeTotalsLoading = !1, this.dateRangeTotalsLoaded = !0;
|
|
1057
1082
|
};
|
|
1058
1083
|
get trendsCategories() {
|
|
1059
|
-
return this.detailedCategories.filter((t) => t.totalAmount !== 0).filter((t) => t.guid !==
|
|
1084
|
+
return this.detailedCategories.filter((t) => t.totalAmount !== 0).filter((t) => t.guid !== b.INVESTMENTS && t.guid !== b.TRANSFER);
|
|
1060
1085
|
}
|
|
1061
1086
|
addCategory = async (t, e) => {
|
|
1062
1087
|
const s = { name: t, parent_guid: e };
|
|
1063
1088
|
try {
|
|
1064
1089
|
await this.api.addCategory(s), await this.loadCategories();
|
|
1065
1090
|
} catch (a) {
|
|
1066
|
-
console.error(`Error occurred while adding category: ${a}`);
|
|
1091
|
+
console.error(`Error occurred while adding category: ${a}`), this.globalStore.captureException(a, { store: "CategoryStore" });
|
|
1067
1092
|
}
|
|
1068
1093
|
};
|
|
1069
1094
|
loadCategories = async () => {
|
|
@@ -1073,7 +1098,7 @@ class me {
|
|
|
1073
1098
|
const t = await this.api.getCategories();
|
|
1074
1099
|
this.setCategories(t);
|
|
1075
1100
|
} catch (t) {
|
|
1076
|
-
console.error(`Error occurred while getting categories: ${t}`);
|
|
1101
|
+
console.error(`Error occurred while getting categories: ${t}`), this.globalStore.captureException(t, { store: "CategoryStore" });
|
|
1077
1102
|
}
|
|
1078
1103
|
}
|
|
1079
1104
|
};
|
|
@@ -1082,25 +1107,25 @@ class me {
|
|
|
1082
1107
|
this.dateRangeTotalsLoading = !0;
|
|
1083
1108
|
try {
|
|
1084
1109
|
const a = await this.api.getDateRangeCategoryTotals(
|
|
1085
|
-
|
|
1086
|
-
|
|
1110
|
+
S(e),
|
|
1111
|
+
S(s),
|
|
1087
1112
|
t
|
|
1088
1113
|
);
|
|
1089
1114
|
this.setDateRangeCategoryTotals(a);
|
|
1090
1115
|
} catch (a) {
|
|
1091
|
-
console.error(`Error occurred while getting date range category totals: ${a}`);
|
|
1116
|
+
console.error(`Error occurred while getting date range category totals: ${a}`), this.globalStore.captureException(a, { store: "CategoryStore" });
|
|
1092
1117
|
}
|
|
1093
1118
|
}
|
|
1094
1119
|
};
|
|
1095
1120
|
loadMonthlyCategoryTotals = async (t = this.globalStore.globalUiStore.selectedAccounts, e, s) => {
|
|
1096
1121
|
if (this.monthlyTotalsLoading) return;
|
|
1097
1122
|
this.monthlyTotalsLoading = !0;
|
|
1098
|
-
const a =
|
|
1123
|
+
const a = S(C(e ?? G(/* @__PURE__ */ new Date(), 11))), o = S(T(s ?? /* @__PURE__ */ new Date()));
|
|
1099
1124
|
try {
|
|
1100
1125
|
const r = await this.api.getMonthlyCategoryTotals(a, o, t);
|
|
1101
1126
|
this.setMonthlyCategoryTotals(r);
|
|
1102
1127
|
} catch (r) {
|
|
1103
|
-
console.error(`Error occurred while getting monthly category totals: ${r}`);
|
|
1128
|
+
console.error(`Error occurred while getting monthly category totals: ${r}`), this.globalStore.captureException(r, { store: "CategoryStore" });
|
|
1104
1129
|
}
|
|
1105
1130
|
};
|
|
1106
1131
|
reloadCategoryTotals = async (t, e, s) => {
|
|
@@ -1111,27 +1136,27 @@ class me {
|
|
|
1111
1136
|
this.loadDateRangeCategoryTotals(t, a, o)
|
|
1112
1137
|
]);
|
|
1113
1138
|
} catch (r) {
|
|
1114
|
-
console.error(`Error occurred while getting category totals: ${r}`);
|
|
1139
|
+
console.error(`Error occurred while getting category totals: ${r}`), this.globalStore.captureException(r, { store: "CategoryStore" });
|
|
1115
1140
|
}
|
|
1116
1141
|
};
|
|
1117
1142
|
removeCategory = async (t) => {
|
|
1118
1143
|
try {
|
|
1119
1144
|
await this.api.removeCategory(t), await this.loadCategories();
|
|
1120
1145
|
} catch (e) {
|
|
1121
|
-
console.error(`Error occurred while removing category: ${e}`);
|
|
1146
|
+
console.error(`Error occurred while removing category: ${e}`), this.globalStore.captureException(e, { store: "CategoryStore" });
|
|
1122
1147
|
}
|
|
1123
1148
|
};
|
|
1124
1149
|
updateCategory = async (t) => {
|
|
1125
1150
|
try {
|
|
1126
1151
|
await this.api.updateCategory(t), await this.loadCategories();
|
|
1127
1152
|
} catch (e) {
|
|
1128
|
-
console.error(`Error occurred while updating category: ${e}`);
|
|
1153
|
+
console.error(`Error occurred while updating category: ${e}`), this.globalStore.captureException(e, { store: "CategoryStore" });
|
|
1129
1154
|
}
|
|
1130
1155
|
};
|
|
1131
1156
|
// TODO: Remove this after refactoring Trends components to use detailedCategories
|
|
1132
1157
|
getCategoryName = (t) => this.categories.find((s) => s.guid === t)?.name ?? Rt[t];
|
|
1133
1158
|
}
|
|
1134
|
-
let
|
|
1159
|
+
let me = class {
|
|
1135
1160
|
expandedGuid = null;
|
|
1136
1161
|
selectedGuid = null;
|
|
1137
1162
|
searchValue = "";
|
|
@@ -1142,7 +1167,7 @@ let Se = class {
|
|
|
1142
1167
|
savedOnSelect;
|
|
1143
1168
|
// todo
|
|
1144
1169
|
constructor() {
|
|
1145
|
-
|
|
1170
|
+
h(this);
|
|
1146
1171
|
}
|
|
1147
1172
|
setExpandedGuid = (t) => this.expandedGuid = t;
|
|
1148
1173
|
setSelectedGuid = (t) => this.selectedGuid = t;
|
|
@@ -1158,7 +1183,7 @@ class Te {
|
|
|
1158
1183
|
globalStore;
|
|
1159
1184
|
widgetApi = new ct("/", "");
|
|
1160
1185
|
constructor(t) {
|
|
1161
|
-
this.globalStore = t, this.widgetApi = new ct(t.endpoint, t.sessionToken),
|
|
1186
|
+
this.globalStore = t, this.widgetApi = new ct(t.endpoint, t.sessionToken), h(this);
|
|
1162
1187
|
}
|
|
1163
1188
|
loadWidget = async ({ widget: t = "connect_widget", mode: e = "light", ...s }) => await this.widgetApi.requestWidgetUrl({
|
|
1164
1189
|
widget_url: { widget_type: t, color_scheme: e, ...s }
|
|
@@ -1168,7 +1193,7 @@ class Ae {
|
|
|
1168
1193
|
globalStore;
|
|
1169
1194
|
uiStore;
|
|
1170
1195
|
constructor(t) {
|
|
1171
|
-
this.globalStore = t, this.uiStore = new
|
|
1196
|
+
this.globalStore = t, this.uiStore = new be(), h(this);
|
|
1172
1197
|
}
|
|
1173
1198
|
get debts() {
|
|
1174
1199
|
const { visibleDebtAccounts: t } = this.globalStore.accountStore, { selectedAccountGuids: e } = this.globalStore.globalUiStore, { debtGoals: s } = this.globalStore.goalStore, a = e.length ? t.filter((o) => e.includes(o.guid)) : t;
|
|
@@ -1178,12 +1203,12 @@ class Ae {
|
|
|
1178
1203
|
return this.debts.map((e) => Number(e.monthly_payment)).filter((e) => !isNaN(e)).reduce((e, s) => e + s, 0);
|
|
1179
1204
|
}
|
|
1180
1205
|
}
|
|
1181
|
-
let
|
|
1206
|
+
let be = class {
|
|
1182
1207
|
isLoading = !1;
|
|
1183
1208
|
selectedDebtChartData = {};
|
|
1184
1209
|
selectedDebtPriority = Ut.LOWEST_BALANCE;
|
|
1185
1210
|
constructor() {
|
|
1186
|
-
|
|
1211
|
+
h(this);
|
|
1187
1212
|
}
|
|
1188
1213
|
get showError() {
|
|
1189
1214
|
const { interest_rate: t, monthly_payment: e } = this.selectedDebtChartData;
|
|
@@ -1196,16 +1221,16 @@ let we = class {
|
|
|
1196
1221
|
setSelectedDebtChartData = (t) => this.selectedDebtChartData = t;
|
|
1197
1222
|
setSelectedDebtPriority = (t) => this.selectedDebtPriority = t;
|
|
1198
1223
|
};
|
|
1199
|
-
const
|
|
1224
|
+
const we = (n) => n.sort((t, e) => t.monthly_health_score_average.year !== e.monthly_health_score_average.year ? t.monthly_health_score_average.year - e.monthly_health_score_average.year : t.monthly_health_score_average.month - e.monthly_health_score_average.month).map((t) => ({
|
|
1200
1225
|
x: U(
|
|
1201
1226
|
new Date(0, t.monthly_health_score_average.month - 1, 1),
|
|
1202
1227
|
k.MONTH_SHORT
|
|
1203
1228
|
),
|
|
1204
1229
|
y: Math.round(t.monthly_health_score_average.average_health_score)
|
|
1205
|
-
})),
|
|
1230
|
+
})), Ee = (n) => n.map(({ transaction: e }) => ({
|
|
1206
1231
|
...e
|
|
1207
1232
|
})).sort((e, s) => s.date - e.date);
|
|
1208
|
-
class
|
|
1233
|
+
class Ie {
|
|
1209
1234
|
api = new Z("/", "");
|
|
1210
1235
|
augmentedChartData = [];
|
|
1211
1236
|
averageHealthScores = [];
|
|
@@ -1222,7 +1247,12 @@ class Ce {
|
|
|
1222
1247
|
isSpendingInitialized = !1;
|
|
1223
1248
|
isIncomeInitialized = !1;
|
|
1224
1249
|
constructor(t) {
|
|
1225
|
-
this.globalStore = t, this.api = new Z(
|
|
1250
|
+
this.globalStore = t, this.api = new Z(
|
|
1251
|
+
t.endpoint,
|
|
1252
|
+
t.sessionToken,
|
|
1253
|
+
t.onError,
|
|
1254
|
+
t.onCaptureException
|
|
1255
|
+
), h(this);
|
|
1226
1256
|
}
|
|
1227
1257
|
setSpendingInitialized = (t) => {
|
|
1228
1258
|
this.isSpendingInitialized = t;
|
|
@@ -1240,7 +1270,7 @@ class Ce {
|
|
|
1240
1270
|
this.healthScore = e, this.healthScoreChange = s;
|
|
1241
1271
|
});
|
|
1242
1272
|
} catch (e) {
|
|
1243
|
-
console.error("Error calculating health score:", e);
|
|
1273
|
+
console.error("Error calculating health score:", e), this.globalStore.captureException(e, { store: "FinstrongStore" });
|
|
1244
1274
|
}
|
|
1245
1275
|
};
|
|
1246
1276
|
loadAverageHealthScores = async () => {
|
|
@@ -1250,7 +1280,7 @@ class Ce {
|
|
|
1250
1280
|
this.averageHealthScores = t;
|
|
1251
1281
|
});
|
|
1252
1282
|
} catch (t) {
|
|
1253
|
-
console.error("Error loading average health scores:", t);
|
|
1283
|
+
console.error("Error loading average health scores:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1254
1284
|
}
|
|
1255
1285
|
};
|
|
1256
1286
|
loadMonthlySummaries = async () => {
|
|
@@ -1260,7 +1290,7 @@ class Ce {
|
|
|
1260
1290
|
this.monthlySummaries = t;
|
|
1261
1291
|
});
|
|
1262
1292
|
} catch (t) {
|
|
1263
|
-
console.error("Error loading monthly summaries:", t);
|
|
1293
|
+
console.error("Error loading monthly summaries:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1264
1294
|
}
|
|
1265
1295
|
};
|
|
1266
1296
|
loadDebtSpend = async () => {
|
|
@@ -1270,7 +1300,7 @@ class Ce {
|
|
|
1270
1300
|
this.debtSpendTransactions = t;
|
|
1271
1301
|
});
|
|
1272
1302
|
} catch (t) {
|
|
1273
|
-
console.error("Error loading debt spend:", t);
|
|
1303
|
+
console.error("Error loading debt spend:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1274
1304
|
}
|
|
1275
1305
|
};
|
|
1276
1306
|
loadIncome = async () => {
|
|
@@ -1281,11 +1311,11 @@ class Ce {
|
|
|
1281
1311
|
this.incomeTransactions = t, this.setIncomeInitialized(!0);
|
|
1282
1312
|
});
|
|
1283
1313
|
} catch (t) {
|
|
1284
|
-
console.error("Error loading income:", t);
|
|
1314
|
+
console.error("Error loading income:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1285
1315
|
}
|
|
1286
1316
|
};
|
|
1287
1317
|
loadHealthScoreChangeReports = async () => {
|
|
1288
|
-
const t =
|
|
1318
|
+
const t = S(G(/* @__PURE__ */ new Date(), 2)), e = S(/* @__PURE__ */ new Date());
|
|
1289
1319
|
try {
|
|
1290
1320
|
const s = await this.api.getHealthScoreChangeReports(
|
|
1291
1321
|
t,
|
|
@@ -1295,7 +1325,7 @@ class Ce {
|
|
|
1295
1325
|
this.healthScoreChangeReports = s;
|
|
1296
1326
|
});
|
|
1297
1327
|
} catch (s) {
|
|
1298
|
-
console.error("Error loading health score change reports:", s);
|
|
1328
|
+
console.error("Error loading health score change reports:", s), this.globalStore.captureException(s, { store: "FinstrongStore" });
|
|
1299
1329
|
}
|
|
1300
1330
|
};
|
|
1301
1331
|
loadPeerScore = async () => {
|
|
@@ -1306,27 +1336,27 @@ class Ce {
|
|
|
1306
1336
|
this.peerScore = e;
|
|
1307
1337
|
});
|
|
1308
1338
|
} catch (e) {
|
|
1309
|
-
console.error("Error loading peer score:", e);
|
|
1339
|
+
console.error("Error loading peer score:", e), this.globalStore.captureException(e, { store: "FinstrongStore" });
|
|
1310
1340
|
}
|
|
1311
1341
|
};
|
|
1312
1342
|
loadAugmentedChartData = async () => {
|
|
1313
1343
|
try {
|
|
1314
1344
|
const t = await this.api.getAverageHealthScores();
|
|
1315
1345
|
c(() => {
|
|
1316
|
-
this.augmentedChartData =
|
|
1346
|
+
this.augmentedChartData = we(t);
|
|
1317
1347
|
});
|
|
1318
1348
|
} catch (t) {
|
|
1319
|
-
console.error(`Error occurred while getting augmented chart data: ${t}`);
|
|
1349
|
+
console.error(`Error occurred while getting augmented chart data: ${t}`), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1320
1350
|
}
|
|
1321
1351
|
};
|
|
1322
1352
|
getSpendingFeeTransactions = async () => {
|
|
1323
1353
|
try {
|
|
1324
|
-
const t = await this.api.getSpendingFeeTransactions(), e =
|
|
1354
|
+
const t = await this.api.getSpendingFeeTransactions(), e = Ee(t);
|
|
1325
1355
|
c(() => {
|
|
1326
1356
|
this.spendingFeeTransactions = e;
|
|
1327
1357
|
});
|
|
1328
1358
|
} catch (t) {
|
|
1329
|
-
console.error(`Error occurred while getting spending fee transactions: ${t}`);
|
|
1359
|
+
console.error(`Error occurred while getting spending fee transactions: ${t}`), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1330
1360
|
}
|
|
1331
1361
|
};
|
|
1332
1362
|
loadSpendTransactions = async () => {
|
|
@@ -1337,7 +1367,7 @@ class Ce {
|
|
|
1337
1367
|
this.spendTransactions = [...t], this.setSpendingInitialized(!0);
|
|
1338
1368
|
});
|
|
1339
1369
|
} catch (t) {
|
|
1340
|
-
console.error("Error loading spend transactions:", t);
|
|
1370
|
+
console.error("Error loading spend transactions:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1341
1371
|
}
|
|
1342
1372
|
};
|
|
1343
1373
|
get spendAndDebtTransactions() {
|
|
@@ -1458,11 +1488,12 @@ const lt = {
|
|
|
1458
1488
|
postHogPublicKey: "phc_1fVYJICC69TpW4wagp9o2XqQ8E7X98cAmcR5psSpfkE",
|
|
1459
1489
|
userFeatures: []
|
|
1460
1490
|
};
|
|
1461
|
-
class
|
|
1491
|
+
class $s {
|
|
1462
1492
|
// Global properties
|
|
1463
1493
|
appConfig = lt;
|
|
1464
1494
|
endpoint = "/";
|
|
1465
1495
|
sessionToken = "";
|
|
1496
|
+
onCaptureException;
|
|
1466
1497
|
onError;
|
|
1467
1498
|
onStoreUpdate;
|
|
1468
1499
|
// Data Stores
|
|
@@ -1490,17 +1521,20 @@ class Ns {
|
|
|
1490
1521
|
userStore;
|
|
1491
1522
|
// UI Stores
|
|
1492
1523
|
globalUiStore;
|
|
1493
|
-
constructor(t = lt, e = "/", s, a) {
|
|
1494
|
-
this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onError = s, this.onStoreUpdate = a, this.accountStore = new ce(this), this.appDataStore = new
|
|
1495
|
-
const { transactions:
|
|
1524
|
+
constructor(t = lt, e = "/", s, a, o) {
|
|
1525
|
+
this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onCaptureException = o, this.onError = s, this.onStoreUpdate = a, this.accountStore = new ce(this), this.appDataStore = new he(this), this.analyticsStore = new de(this), this.beatStore = new pe(this), this.budgetsStore = new _e(this), this.cashflowStore = new fe(this), this.categoryStore = new Se(this), this.connectStore = new Te(this), this.copyStore = new Re(this), this.debtsStore = new Ae(this), this.finstrongStore = new Ie(this), this.goalStore = new De(this), this.helpStore = new ve(this), this.holdingStore = new Ge(this), this.merchantStore = new $e(this), this.netWorthStore = new Ne(this), this.notificationStore = new Be(this), this.recurringTransactionsStore = new Me(this), this.settingsStore = new Fe(this), this.transactionStore = new Ue(this), this.trendsStore = new He(this), this.userStore = new We(this), this.globalUiStore = new Ce(this), h(this), mt(() => {
|
|
1526
|
+
const { transactions: r } = this.transactionStore;
|
|
1496
1527
|
this.emitUpdate({
|
|
1497
|
-
transactions:
|
|
1528
|
+
transactions: r
|
|
1498
1529
|
});
|
|
1499
1530
|
});
|
|
1500
1531
|
}
|
|
1501
1532
|
get isInitialized() {
|
|
1502
1533
|
return this.globalUiStore.isInitialized;
|
|
1503
1534
|
}
|
|
1535
|
+
captureException = (t, e) => {
|
|
1536
|
+
this.onCaptureException?.(t, e);
|
|
1537
|
+
};
|
|
1504
1538
|
// emits change triggered in the autorun
|
|
1505
1539
|
emitUpdate = (t) => {
|
|
1506
1540
|
this.onStoreUpdate?.(t);
|
|
@@ -1523,21 +1557,21 @@ class Ns {
|
|
|
1523
1557
|
transactionRules: r,
|
|
1524
1558
|
transactions: l,
|
|
1525
1559
|
userFeatures: p,
|
|
1526
|
-
merchantBudgets:
|
|
1560
|
+
merchantBudgets: w
|
|
1527
1561
|
} = {}) => {
|
|
1528
|
-
(!e || !p) && await this.loadConfigData(), e && this.appDataStore.setAppData(e), p && this.userStore.setUserFeatures(p), t && (await this.accountStore.loadMembers(), o && this.accountStore.setInstitutions(o), this.accountStore.setAccounts(t)), s && this.transactionStore.setAssociatedBeats(s), a && this.categoryStore.setCategories(a), l && this.transactionStore.setTransactions(l), r && this.transactionStore.setTransactionRules(r),
|
|
1562
|
+
(!e || !p) && await this.loadConfigData(), e && this.appDataStore.setAppData(e), p && this.userStore.setUserFeatures(p), t && (await this.accountStore.loadMembers(), o && this.accountStore.setInstitutions(o), this.accountStore.setAccounts(t)), s && this.transactionStore.setAssociatedBeats(s), a && this.categoryStore.setCategories(a), l && this.transactionStore.setTransactions(l), r && this.transactionStore.setTransactionRules(r), w && this.budgetsStore.setMerchantBudgets(w);
|
|
1529
1563
|
};
|
|
1530
1564
|
}
|
|
1531
|
-
class
|
|
1565
|
+
class Ce {
|
|
1532
1566
|
globalStore;
|
|
1533
1567
|
accountFilterMap = /* @__PURE__ */ new Map();
|
|
1534
1568
|
displayedDate = /* @__PURE__ */ new Date();
|
|
1535
1569
|
displayedDateRange = {
|
|
1536
|
-
start:
|
|
1570
|
+
start: C(this.displayedDate),
|
|
1537
1571
|
end: T(this.displayedDate)
|
|
1538
1572
|
};
|
|
1539
1573
|
constructor(t) {
|
|
1540
|
-
|
|
1574
|
+
h(this), this.globalStore = t, ut(
|
|
1541
1575
|
() => this.globalStore.accountStore.visibleAccounts,
|
|
1542
1576
|
(e) => {
|
|
1543
1577
|
this.populateAccountFilterMap(e);
|
|
@@ -1587,11 +1621,11 @@ class Ee {
|
|
|
1587
1621
|
};
|
|
1588
1622
|
};
|
|
1589
1623
|
get shouldDisableNextDate() {
|
|
1590
|
-
const t =
|
|
1624
|
+
const t = L(this.displayedDate), e = L(re(/* @__PURE__ */ new Date(), 1));
|
|
1591
1625
|
return t === e;
|
|
1592
1626
|
}
|
|
1593
1627
|
get shouldDisablePrevDate() {
|
|
1594
|
-
const t =
|
|
1628
|
+
const t = L(this.displayedDate), e = L(/* @__PURE__ */ new Date());
|
|
1595
1629
|
return t === e;
|
|
1596
1630
|
}
|
|
1597
1631
|
}
|
|
@@ -1605,8 +1639,9 @@ class Re {
|
|
|
1605
1639
|
this.globalStore = t, this.api = new V(
|
|
1606
1640
|
t.endpoint,
|
|
1607
1641
|
t.sessionToken,
|
|
1608
|
-
t.onError
|
|
1609
|
-
|
|
1642
|
+
t.onError,
|
|
1643
|
+
t.onCaptureException
|
|
1644
|
+
), h(this);
|
|
1610
1645
|
}
|
|
1611
1646
|
loadCopy = async () => {
|
|
1612
1647
|
await this.getCopy(this.featureNamespace), c(() => {
|
|
@@ -1620,7 +1655,7 @@ class Re {
|
|
|
1620
1655
|
this.copy = s[t];
|
|
1621
1656
|
});
|
|
1622
1657
|
} catch (s) {
|
|
1623
|
-
console.error(`Error occurred while fetching ${this.featureNamespace} copy: ${s}`);
|
|
1658
|
+
console.error(`Error occurred while fetching ${this.featureNamespace} copy: ${s}`), this.globalStore.captureException(s, { store: "GlobalCopyStore" });
|
|
1624
1659
|
}
|
|
1625
1660
|
};
|
|
1626
1661
|
}
|
|
@@ -1639,7 +1674,12 @@ class De {
|
|
|
1639
1674
|
alert = "";
|
|
1640
1675
|
selectedGoal = void 0;
|
|
1641
1676
|
constructor(t) {
|
|
1642
|
-
this.globalStore = t, this.api = new tt(
|
|
1677
|
+
this.globalStore = t, this.api = new tt(
|
|
1678
|
+
t.endpoint,
|
|
1679
|
+
t.sessionToken,
|
|
1680
|
+
t.onError,
|
|
1681
|
+
t.onCaptureException
|
|
1682
|
+
), h(this);
|
|
1643
1683
|
}
|
|
1644
1684
|
get allGoals() {
|
|
1645
1685
|
if (!this.isAllGoalDataLoaded) return [];
|
|
@@ -1650,7 +1690,7 @@ class De {
|
|
|
1650
1690
|
...s,
|
|
1651
1691
|
amount: s.target_amount,
|
|
1652
1692
|
name: t.retirement,
|
|
1653
|
-
track_type:
|
|
1693
|
+
track_type: m.RETIREMENT_TRACK,
|
|
1654
1694
|
projected_to_complete_at: s.retirement_age && e ? z(s.retirement_age, e) : void 0
|
|
1655
1695
|
}))
|
|
1656
1696
|
];
|
|
@@ -1659,21 +1699,21 @@ class De {
|
|
|
1659
1699
|
return this.allGoals.slice().sort((t, e) => t.position - e.position);
|
|
1660
1700
|
}
|
|
1661
1701
|
get debtGoals() {
|
|
1662
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1702
|
+
return this.orderedGoals.filter((t) => t.track_type === m.DEBT_TRACK);
|
|
1663
1703
|
}
|
|
1664
1704
|
get retirmentGoals() {
|
|
1665
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1705
|
+
return this.orderedGoals.filter((t) => t.track_type === m.RETIREMENT_TRACK);
|
|
1666
1706
|
}
|
|
1667
1707
|
get savingGoals() {
|
|
1668
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1708
|
+
return this.orderedGoals.filter((t) => t.track_type === m.SAVINGS_TRACK);
|
|
1669
1709
|
}
|
|
1670
1710
|
get ongoingGoalsForMicroWidget() {
|
|
1671
1711
|
const t = this.allGoals.filter(
|
|
1672
|
-
(s) => !s.is_complete && s.track_type !==
|
|
1712
|
+
(s) => !s.is_complete && s.track_type !== m.EMERGENCY_FUND_TRACK && s.track_type !== null
|
|
1673
1713
|
), e = [
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1714
|
+
m.SAVINGS_TRACK,
|
|
1715
|
+
m.DEBT_TRACK,
|
|
1716
|
+
m.RETIREMENT_TRACK
|
|
1677
1717
|
];
|
|
1678
1718
|
return t.sort((s, a) => {
|
|
1679
1719
|
const o = s.track_type ? e.indexOf(s.track_type) : -1, r = a.track_type ? e.indexOf(a.track_type) : -1;
|
|
@@ -1708,7 +1748,7 @@ class De {
|
|
|
1708
1748
|
const t = await this.api.getGoals();
|
|
1709
1749
|
this.setGoals(t);
|
|
1710
1750
|
} catch (t) {
|
|
1711
|
-
console.error(`Error occured while getting goals: ${t}`);
|
|
1751
|
+
console.error(`Error occured while getting goals: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1712
1752
|
}
|
|
1713
1753
|
};
|
|
1714
1754
|
loadRetirementGoals = async () => {
|
|
@@ -1716,7 +1756,7 @@ class De {
|
|
|
1716
1756
|
const t = await this.api.getRetirementGoals();
|
|
1717
1757
|
this.setRetirementGoals(t);
|
|
1718
1758
|
} catch (t) {
|
|
1719
|
-
console.error(`Error occurred while loading retirement goals: ${t}`);
|
|
1759
|
+
console.error(`Error occurred while loading retirement goals: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1720
1760
|
}
|
|
1721
1761
|
};
|
|
1722
1762
|
loadRetirementGoalAccounts = async () => {
|
|
@@ -1724,7 +1764,7 @@ class De {
|
|
|
1724
1764
|
const t = await this.api.getRetirementGoalAccounts();
|
|
1725
1765
|
this.setRetirementGoalAccounts(t);
|
|
1726
1766
|
} catch (t) {
|
|
1727
|
-
console.error(`Error occurred while loading retirement goal accounts: ${t}`);
|
|
1767
|
+
console.error(`Error occurred while loading retirement goal accounts: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1728
1768
|
}
|
|
1729
1769
|
};
|
|
1730
1770
|
loadMonthlyCashFlowProfile = async () => {
|
|
@@ -1732,7 +1772,7 @@ class De {
|
|
|
1732
1772
|
const t = await this.api.getMonthlyCashFlowProfile();
|
|
1733
1773
|
this.setMonthlyCashFlowProfile(t);
|
|
1734
1774
|
} catch (t) {
|
|
1735
|
-
console.error(`Error occurred while loading monthly cash flow profile: ${t}`);
|
|
1775
|
+
console.error(`Error occurred while loading monthly cash flow profile: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1736
1776
|
}
|
|
1737
1777
|
};
|
|
1738
1778
|
addGoal = async (t) => {
|
|
@@ -1740,7 +1780,7 @@ class De {
|
|
|
1740
1780
|
const e = await this.api.addGoal(t);
|
|
1741
1781
|
this.setGoals([...this.goals, e]);
|
|
1742
1782
|
} catch (e) {
|
|
1743
|
-
console.error(`Error occurred while adding goal: ${e}`);
|
|
1783
|
+
console.error(`Error occurred while adding goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1744
1784
|
}
|
|
1745
1785
|
};
|
|
1746
1786
|
addRetirementGoal = async (t) => {
|
|
@@ -1760,12 +1800,12 @@ class De {
|
|
|
1760
1800
|
...s,
|
|
1761
1801
|
amount: s.target_amount,
|
|
1762
1802
|
name: e.retirement,
|
|
1763
|
-
track_type:
|
|
1803
|
+
track_type: m.RETIREMENT_TRACK,
|
|
1764
1804
|
projected_to_complete_at: s.retirement_age && o ? z(s.retirement_age, o) : void 0
|
|
1765
1805
|
}
|
|
1766
1806
|
], this.setRetirementGoalAccounts([...this.retirementGoalAccounts, ...a]);
|
|
1767
1807
|
} catch (s) {
|
|
1768
|
-
console.error(`Error occurred while adding retirement goal: ${s}`);
|
|
1808
|
+
console.error(`Error occurred while adding retirement goal: ${s}`), this.globalStore.captureException(s, { store: "GoalStore" });
|
|
1769
1809
|
}
|
|
1770
1810
|
};
|
|
1771
1811
|
addRetirementGoalAccount = async (t) => {
|
|
@@ -1775,7 +1815,7 @@ class De {
|
|
|
1775
1815
|
this.retirementGoalAccounts = [...this.retirementGoalAccounts, e];
|
|
1776
1816
|
});
|
|
1777
1817
|
} catch (e) {
|
|
1778
|
-
console.error(`Error occurred while adding retirement goal account: ${e}`);
|
|
1818
|
+
console.error(`Error occurred while adding retirement goal account: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1779
1819
|
}
|
|
1780
1820
|
};
|
|
1781
1821
|
deleteGoal = async (t) => {
|
|
@@ -1784,7 +1824,7 @@ class De {
|
|
|
1784
1824
|
const e = this.goals.findIndex((s) => s.guid === t);
|
|
1785
1825
|
e >= 0 && this.goals.splice(e, 1);
|
|
1786
1826
|
} catch (e) {
|
|
1787
|
-
console.error(`Error occured while deleting goal: ${e}`);
|
|
1827
|
+
console.error(`Error occured while deleting goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1788
1828
|
}
|
|
1789
1829
|
};
|
|
1790
1830
|
deleteRetirementGoal = async (t) => {
|
|
@@ -1798,7 +1838,7 @@ class De {
|
|
|
1798
1838
|
const s = this.retirementGoals.findIndex((a) => a.guid === t.guid);
|
|
1799
1839
|
s >= 0 && this.retirementGoals.splice(s, 1);
|
|
1800
1840
|
} catch (e) {
|
|
1801
|
-
console.error(`Error deleting retirement goal: ${e}`);
|
|
1841
|
+
console.error(`Error deleting retirement goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1802
1842
|
}
|
|
1803
1843
|
};
|
|
1804
1844
|
deleteRetirementGoalAccount = async (t) => {
|
|
@@ -1807,7 +1847,7 @@ class De {
|
|
|
1807
1847
|
const e = this.retirementGoalAccounts.findIndex((s) => s.guid === t);
|
|
1808
1848
|
e >= 0 && this.retirementGoalAccounts.splice(e, 1);
|
|
1809
1849
|
} catch (e) {
|
|
1810
|
-
console.error(`Error deleting retirement goal account: ${e}`);
|
|
1850
|
+
console.error(`Error deleting retirement goal account: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1811
1851
|
}
|
|
1812
1852
|
};
|
|
1813
1853
|
reorderGoals = async (t) => {
|
|
@@ -1820,7 +1860,7 @@ class De {
|
|
|
1820
1860
|
}
|
|
1821
1861
|
});
|
|
1822
1862
|
} catch (e) {
|
|
1823
|
-
console.error(`Error reordering goals: ${e}`);
|
|
1863
|
+
console.error(`Error reordering goals: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1824
1864
|
}
|
|
1825
1865
|
};
|
|
1826
1866
|
setAlert = (t) => this.alert = t;
|
|
@@ -1836,7 +1876,7 @@ class De {
|
|
|
1836
1876
|
s >= 0 && (this.goals[s] = e), this.selectedGoal?.guid === t.guid && this.setSelectedGoal(e);
|
|
1837
1877
|
});
|
|
1838
1878
|
} catch (e) {
|
|
1839
|
-
console.error(`Error occurred while updating goal: ${e}`);
|
|
1879
|
+
console.error(`Error occurred while updating goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1840
1880
|
}
|
|
1841
1881
|
};
|
|
1842
1882
|
updateRetirementGoal = async (t) => {
|
|
@@ -1850,7 +1890,7 @@ class De {
|
|
|
1850
1890
|
s >= 0 && (this.retirementGoals[s] = e), this.selectedGoal?.guid === t.guid && this.setSelectedGoal(this.allGoals.find((a) => a.guid === t.guid));
|
|
1851
1891
|
});
|
|
1852
1892
|
} catch (e) {
|
|
1853
|
-
console.error(`Error occurred while updating goal: ${e}`);
|
|
1893
|
+
console.error(`Error occurred while updating goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1854
1894
|
}
|
|
1855
1895
|
};
|
|
1856
1896
|
updateMonthlyCashFlowProfile = async (t) => {
|
|
@@ -1858,11 +1898,11 @@ class De {
|
|
|
1858
1898
|
const e = await this.api.updateMonthlyCashFlowProfile(t);
|
|
1859
1899
|
this.setMonthlyCashFlowProfile(e);
|
|
1860
1900
|
} catch (e) {
|
|
1861
|
-
console.error(`Error occurred while updating monthly Cash Flow profile: ${e}`);
|
|
1901
|
+
console.error(`Error occurred while updating monthly Cash Flow profile: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1862
1902
|
}
|
|
1863
1903
|
};
|
|
1864
1904
|
}
|
|
1865
|
-
const
|
|
1905
|
+
const xe = (n, t) => n.guid === "general" || n.guid === "insights" ? !0 : n.flags ? n.flags.every((e) => t[e]) : !1, Le = (n, t) => {
|
|
1866
1906
|
const e = [];
|
|
1867
1907
|
for (const s of oe) {
|
|
1868
1908
|
const a = t[s.guid];
|
|
@@ -1875,24 +1915,29 @@ const Le = (n, t) => n.guid === "general" || n.guid === "insights" ? !0 : n.flag
|
|
|
1875
1915
|
label: a.topics[l]
|
|
1876
1916
|
}))
|
|
1877
1917
|
};
|
|
1878
|
-
|
|
1918
|
+
xe(o, n) && e.push(o);
|
|
1879
1919
|
}
|
|
1880
1920
|
return e;
|
|
1881
1921
|
};
|
|
1882
|
-
class
|
|
1922
|
+
class ve {
|
|
1883
1923
|
alert = { message: "", severity: void 0 };
|
|
1884
1924
|
api = new et("/", "");
|
|
1885
1925
|
appConfig;
|
|
1886
1926
|
globalStore;
|
|
1887
1927
|
isLoading = !1;
|
|
1888
1928
|
constructor(t) {
|
|
1889
|
-
this.globalStore = t, this.api = new et(
|
|
1929
|
+
this.globalStore = t, this.api = new et(
|
|
1930
|
+
t.endpoint,
|
|
1931
|
+
t.sessionToken,
|
|
1932
|
+
t.onError,
|
|
1933
|
+
t.onCaptureException
|
|
1934
|
+
), h(this);
|
|
1890
1935
|
}
|
|
1891
1936
|
createSupportTicket = async (t) => {
|
|
1892
1937
|
try {
|
|
1893
1938
|
this.isLoading = !0, await this.api.createSupportTicket(t), this.setAlert(this.copy.request_support_submit_success_message, "success");
|
|
1894
1939
|
} catch (e) {
|
|
1895
|
-
this.setAlert(this.copy.request_support_submit_failure_message, "error"), console.error("Error occurred while submitting:", e);
|
|
1940
|
+
this.setAlert(this.copy.request_support_submit_failure_message, "error"), console.error("Error occurred while submitting:", e), this.globalStore.captureException(e, { store: "HelpStore" });
|
|
1896
1941
|
} finally {
|
|
1897
1942
|
this.isLoading = !1;
|
|
1898
1943
|
}
|
|
@@ -1905,7 +1950,7 @@ class $e {
|
|
|
1905
1950
|
const { client_communication_profile: t, client_profile: e } = this.globalStore.appDataStore.appData, {
|
|
1906
1951
|
help: { category_list: s }
|
|
1907
1952
|
} = this.globalStore.copyStore.copy;
|
|
1908
|
-
return
|
|
1953
|
+
return Le(
|
|
1909
1954
|
{
|
|
1910
1955
|
...t,
|
|
1911
1956
|
...e,
|
|
@@ -1923,7 +1968,12 @@ class Ge {
|
|
|
1923
1968
|
globalStore;
|
|
1924
1969
|
showConnectionsWidget = !1;
|
|
1925
1970
|
constructor(t) {
|
|
1926
|
-
this.globalStore = t, this.api = new st(
|
|
1971
|
+
this.globalStore = t, this.api = new st(
|
|
1972
|
+
t.endpoint,
|
|
1973
|
+
t.sessionToken,
|
|
1974
|
+
t.onError,
|
|
1975
|
+
t.onCaptureException
|
|
1976
|
+
), h(this);
|
|
1927
1977
|
}
|
|
1928
1978
|
get analysisChartData() {
|
|
1929
1979
|
return Vt(zt(this.visibleHoldings), this.analysisType);
|
|
@@ -1947,7 +1997,7 @@ class Ge {
|
|
|
1947
1997
|
const t = await this.api.getHoldings();
|
|
1948
1998
|
this.setHoldings(t);
|
|
1949
1999
|
} catch (t) {
|
|
1950
|
-
console.error(`Error occured while getting holdings: ${t}`);
|
|
2000
|
+
console.error(`Error occured while getting holdings: ${t}`), this.globalStore.captureException(t, { store: "HoldingStore" });
|
|
1951
2001
|
}
|
|
1952
2002
|
};
|
|
1953
2003
|
setAnalysisType = (t) => {
|
|
@@ -1964,18 +2014,23 @@ class Ge {
|
|
|
1964
2014
|
});
|
|
1965
2015
|
}
|
|
1966
2016
|
} catch (e) {
|
|
1967
|
-
console.error(`Error occurred while updating holding: ${e}`);
|
|
2017
|
+
console.error(`Error occurred while updating holding: ${e}`), this.globalStore.captureException(e, { store: "HoldingStore" });
|
|
1968
2018
|
}
|
|
1969
2019
|
};
|
|
1970
2020
|
}
|
|
1971
|
-
class
|
|
2021
|
+
class $e {
|
|
1972
2022
|
globalStore;
|
|
1973
2023
|
api = new at("/", "");
|
|
1974
2024
|
merchant = null;
|
|
1975
2025
|
merchants = [];
|
|
1976
2026
|
isLoading = !1;
|
|
1977
2027
|
constructor(t) {
|
|
1978
|
-
this.globalStore = t, this.api = new at(
|
|
2028
|
+
this.globalStore = t, this.api = new at(
|
|
2029
|
+
t.endpoint,
|
|
2030
|
+
t.sessionToken,
|
|
2031
|
+
t.onError,
|
|
2032
|
+
t.onCaptureException
|
|
2033
|
+
), h(this);
|
|
1979
2034
|
}
|
|
1980
2035
|
loadMerchants = async (t = "") => {
|
|
1981
2036
|
this.isLoading = !0;
|
|
@@ -1989,9 +2044,9 @@ class Ne {
|
|
|
1989
2044
|
c(() => this.merchant = e);
|
|
1990
2045
|
};
|
|
1991
2046
|
}
|
|
1992
|
-
class
|
|
2047
|
+
class Ne {
|
|
1993
2048
|
globalStore;
|
|
1994
|
-
accountsApi = new
|
|
2049
|
+
accountsApi = new N("/", "");
|
|
1995
2050
|
monthlyAccountBalances = [];
|
|
1996
2051
|
monthlyAccountBalancesLoaded = !1;
|
|
1997
2052
|
hoveredIndex = -1;
|
|
@@ -1999,11 +2054,12 @@ class Be {
|
|
|
1999
2054
|
timeframe = 6;
|
|
2000
2055
|
// default timeframe is 6 months
|
|
2001
2056
|
constructor(t) {
|
|
2002
|
-
this.globalStore = t, this.accountsApi = new
|
|
2057
|
+
this.globalStore = t, this.accountsApi = new N(
|
|
2003
2058
|
t.endpoint,
|
|
2004
2059
|
t.sessionToken,
|
|
2005
|
-
t.onError
|
|
2006
|
-
|
|
2060
|
+
t.onError,
|
|
2061
|
+
t.onCaptureException
|
|
2062
|
+
), h(this);
|
|
2007
2063
|
}
|
|
2008
2064
|
get isNetWorthDataLoaded() {
|
|
2009
2065
|
return this.globalStore.accountStore.isAccountDataLoaded && this.monthlyAccountBalancesLoaded;
|
|
@@ -2056,7 +2112,7 @@ class Be {
|
|
|
2056
2112
|
try {
|
|
2057
2113
|
return await this.accountsApi.getMonthlyAccountBalances(t);
|
|
2058
2114
|
} catch (e) {
|
|
2059
|
-
return console.error(`Error occured while fetching monthly account balances: ${e}`), [];
|
|
2115
|
+
return console.error(`Error occured while fetching monthly account balances: ${e}`), this.globalStore.captureException(e, { store: "NetWorthStore" }), [];
|
|
2060
2116
|
}
|
|
2061
2117
|
};
|
|
2062
2118
|
setHoveredIndex = (t) => this.hoveredIndex = t;
|
|
@@ -2066,7 +2122,7 @@ class Be {
|
|
|
2066
2122
|
setSelectedIndex = (t) => this.selectedIndex = t;
|
|
2067
2123
|
setTimeframe = (t) => this.timeframe = t;
|
|
2068
2124
|
}
|
|
2069
|
-
class
|
|
2125
|
+
class Be {
|
|
2070
2126
|
globalStore;
|
|
2071
2127
|
api = new nt("/", "");
|
|
2072
2128
|
isLoading = !0;
|
|
@@ -2076,8 +2132,9 @@ class xe {
|
|
|
2076
2132
|
this.globalStore = t, this.api = new nt(
|
|
2077
2133
|
t.endpoint,
|
|
2078
2134
|
t.sessionToken,
|
|
2079
|
-
t.onError
|
|
2080
|
-
|
|
2135
|
+
t.onError,
|
|
2136
|
+
t.onCaptureException
|
|
2137
|
+
), h(this, { notifications: Tt });
|
|
2081
2138
|
}
|
|
2082
2139
|
// Used in Money Dashboard
|
|
2083
2140
|
get newNotifications() {
|
|
@@ -2095,7 +2152,7 @@ class xe {
|
|
|
2095
2152
|
const t = await this.api.getNotifications();
|
|
2096
2153
|
this.setNotifications(t);
|
|
2097
2154
|
} catch (t) {
|
|
2098
|
-
console.error(`Error occurred while loading notifications: ${t}`);
|
|
2155
|
+
console.error(`Error occurred while loading notifications: ${t}`), this.globalStore.captureException(t, { store: "NotificationStore" });
|
|
2099
2156
|
} finally {
|
|
2100
2157
|
c(() => {
|
|
2101
2158
|
this.isLoading = !1;
|
|
@@ -2109,14 +2166,14 @@ class xe {
|
|
|
2109
2166
|
t.has_been_viewed = !0, await this.api.updateNotification(t);
|
|
2110
2167
|
};
|
|
2111
2168
|
}
|
|
2112
|
-
const
|
|
2169
|
+
const ht = (n, t) => gt(t.expectedDate, n), A = (n, t) => n + t.amount;
|
|
2113
2170
|
class Me {
|
|
2114
2171
|
globalStore;
|
|
2115
2172
|
api = new it("/", "");
|
|
2116
2173
|
repeatingTransactions = [];
|
|
2117
2174
|
isDataLoaded = !1;
|
|
2118
2175
|
selectedDay;
|
|
2119
|
-
dateRange = { start:
|
|
2176
|
+
dateRange = { start: C(y()), end: T(y()) };
|
|
2120
2177
|
selectedRepeatingTransactionGuid = null;
|
|
2121
2178
|
selectedRecurrence = null;
|
|
2122
2179
|
alert = { message: "", severity: void 0 };
|
|
@@ -2125,7 +2182,7 @@ class Me {
|
|
|
2125
2182
|
t.endpoint,
|
|
2126
2183
|
t.sessionToken,
|
|
2127
2184
|
t.onError
|
|
2128
|
-
),
|
|
2185
|
+
), h(this, {
|
|
2129
2186
|
recurrencesForRange: !1,
|
|
2130
2187
|
upcomingExpensesForRange: !1,
|
|
2131
2188
|
upcomingIncomeForRange: !1,
|
|
@@ -2158,13 +2215,13 @@ class Me {
|
|
|
2158
2215
|
* Returns the upcoming expense recurrences scoped to the supplied date range.
|
|
2159
2216
|
*/
|
|
2160
2217
|
upcomingExpensesForRange = (t) => this.recurrencesForRange(t).filter(
|
|
2161
|
-
(e) => e.type ===
|
|
2218
|
+
(e) => e.type === x.Expense && e.status === f.Upcoming
|
|
2162
2219
|
);
|
|
2163
2220
|
/**
|
|
2164
2221
|
* Returns the income recurrences scoped to the supplied date range.
|
|
2165
2222
|
*/
|
|
2166
2223
|
incomeForRange = (t) => this.recurrencesForRange(t).filter(
|
|
2167
|
-
(e) => e.type ===
|
|
2224
|
+
(e) => e.type === x.Income
|
|
2168
2225
|
);
|
|
2169
2226
|
/**
|
|
2170
2227
|
* Returns the upcoming income recurrences scoped to the supplied date range.
|
|
@@ -2206,7 +2263,7 @@ class Me {
|
|
|
2206
2263
|
*/
|
|
2207
2264
|
get expenses() {
|
|
2208
2265
|
return this.recurrences.filter(
|
|
2209
|
-
(t) => t.type ===
|
|
2266
|
+
(t) => t.type === x.Expense
|
|
2210
2267
|
);
|
|
2211
2268
|
}
|
|
2212
2269
|
/**
|
|
@@ -2222,7 +2279,7 @@ class Me {
|
|
|
2222
2279
|
*/
|
|
2223
2280
|
get income() {
|
|
2224
2281
|
return this.recurrences.filter(
|
|
2225
|
-
(t) => t.type ===
|
|
2282
|
+
(t) => t.type === x.Income
|
|
2226
2283
|
);
|
|
2227
2284
|
}
|
|
2228
2285
|
/**
|
|
@@ -2241,7 +2298,7 @@ class Me {
|
|
|
2241
2298
|
*/
|
|
2242
2299
|
get currentMonthExpenses() {
|
|
2243
2300
|
return this.expenses.filter(
|
|
2244
|
-
(t) =>
|
|
2301
|
+
(t) => ht(this.dateRange, t)
|
|
2245
2302
|
);
|
|
2246
2303
|
}
|
|
2247
2304
|
/**
|
|
@@ -2249,7 +2306,7 @@ class Me {
|
|
|
2249
2306
|
*/
|
|
2250
2307
|
get currentMonthIncome() {
|
|
2251
2308
|
return this.income.filter(
|
|
2252
|
-
(t) =>
|
|
2309
|
+
(t) => ht(this.dateRange, t)
|
|
2253
2310
|
);
|
|
2254
2311
|
}
|
|
2255
2312
|
/**
|
|
@@ -2339,7 +2396,7 @@ class Me {
|
|
|
2339
2396
|
const t = await this.api.getRepeatingTransactions();
|
|
2340
2397
|
this.setRepeatingTransactions(t);
|
|
2341
2398
|
} catch (t) {
|
|
2342
|
-
console.error(`Error occurred while getting repeating transactions: ${t}`);
|
|
2399
|
+
console.error(`Error occurred while getting repeating transactions: ${t}`), this.globalStore.captureException(t, { store: "RecurringTransactionsStore" });
|
|
2343
2400
|
}
|
|
2344
2401
|
};
|
|
2345
2402
|
/**
|
|
@@ -2364,7 +2421,7 @@ class Me {
|
|
|
2364
2421
|
];
|
|
2365
2422
|
});
|
|
2366
2423
|
} catch (s) {
|
|
2367
|
-
console.error(`Error occurred while adding repeating transaction: ${s}`);
|
|
2424
|
+
console.error(`Error occurred while adding repeating transaction: ${s}`), this.globalStore.captureException(s, { store: "RecurringTransactionsStore" });
|
|
2368
2425
|
}
|
|
2369
2426
|
};
|
|
2370
2427
|
/**
|
|
@@ -2379,7 +2436,7 @@ class Me {
|
|
|
2379
2436
|
];
|
|
2380
2437
|
});
|
|
2381
2438
|
} catch (e) {
|
|
2382
|
-
console.error(`Error occurred while deleting repeating transaction: ${e}`);
|
|
2439
|
+
console.error(`Error occurred while deleting repeating transaction: ${e}`), this.globalStore.captureException(e, { store: "RecurringTransactionsStore" });
|
|
2383
2440
|
}
|
|
2384
2441
|
};
|
|
2385
2442
|
/**
|
|
@@ -2404,7 +2461,7 @@ class Me {
|
|
|
2404
2461
|
];
|
|
2405
2462
|
});
|
|
2406
2463
|
} catch (e) {
|
|
2407
|
-
console.error(`Error occurred while updating repeating transaction: ${e}`);
|
|
2464
|
+
console.error(`Error occurred while updating repeating transaction: ${e}`), this.globalStore.captureException(e, { store: "RecurringTransactionsStore" });
|
|
2408
2465
|
}
|
|
2409
2466
|
};
|
|
2410
2467
|
/**
|
|
@@ -2419,7 +2476,7 @@ class Me {
|
|
|
2419
2476
|
repeating_transaction_guid: t
|
|
2420
2477
|
}), await this.loadRepeatingTransactions(), this.setSelectedRecurrence(null), this.setAlert(this.copy.link_transaction_success, "success");
|
|
2421
2478
|
} catch (s) {
|
|
2422
|
-
console.error(`Error occurred while marking recurrence as paid: ${s}`), this.setAlert(this.copy.link_transaction_error, "error");
|
|
2479
|
+
console.error(`Error occurred while marking recurrence as paid: ${s}`), this.globalStore.captureException(s, { store: "RecurringTransactionsStore" }), this.setAlert(this.copy.link_transaction_error, "error");
|
|
2423
2480
|
}
|
|
2424
2481
|
};
|
|
2425
2482
|
/**
|
|
@@ -2433,14 +2490,14 @@ class Me {
|
|
|
2433
2490
|
repeating_transaction_guid: null
|
|
2434
2491
|
}), await this.loadRepeatingTransactions(), this.setSelectedRecurrence(null), this.setAlert(this.copy.unlink_transaction_success, "success");
|
|
2435
2492
|
} catch (e) {
|
|
2436
|
-
console.error(`Error occurred while marking recurrence as unpaid: ${e}`), this.setAlert(this.copy.unlink_transaction_error, "error");
|
|
2493
|
+
console.error(`Error occurred while marking recurrence as unpaid: ${e}`), this.globalStore.captureException(e, { store: "RecurringTransactionsStore" }), this.setAlert(this.copy.unlink_transaction_error, "error");
|
|
2437
2494
|
}
|
|
2438
2495
|
};
|
|
2439
2496
|
setAlert = (t, e = void 0) => this.alert = { message: t, severity: e };
|
|
2440
2497
|
}
|
|
2441
|
-
const
|
|
2442
|
-
[
|
|
2443
|
-
[
|
|
2498
|
+
const dt = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
2499
|
+
[$.BudgetExceeded]: t.notification_budget_exceeded,
|
|
2500
|
+
[$.BudgetOffTarget]: t.notification_budget_off_target,
|
|
2444
2501
|
[_.DebtPaymentReminder]: t.notification_debt_payment_reminder,
|
|
2445
2502
|
[_.AccountBalanceLow]: t.notification_low_balance,
|
|
2446
2503
|
[_.AccountDepositLargePosted]: t.notification_large_deposit,
|
|
@@ -2475,21 +2532,21 @@ const ht = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
|
2475
2532
|
const r = [], {
|
|
2476
2533
|
email_notifications_enabled: l,
|
|
2477
2534
|
sms_notifications_enabled: p,
|
|
2478
|
-
push_notifications_enabled:
|
|
2535
|
+
push_notifications_enabled: w
|
|
2479
2536
|
} = t, {
|
|
2480
2537
|
opted_out_of_email_notifications: _t,
|
|
2481
2538
|
opted_out_of_sms_notifications: ft,
|
|
2482
2539
|
opted_out_of_push_notifications: yt
|
|
2483
2540
|
} = a;
|
|
2484
|
-
for (const
|
|
2485
|
-
const R = Oe(
|
|
2486
|
-
(
|
|
2541
|
+
for (const E of s.filter((R) => R.entity_guid === dt)) {
|
|
2542
|
+
const R = Oe(E.notification_type, e), St = s.filter(
|
|
2543
|
+
(I) => I.entity_guid !== dt && I.notification_type === E.notification_type && n.some((M) => M.guid === I.entity_guid)
|
|
2487
2544
|
), D = [];
|
|
2488
|
-
l && !_t &&
|
|
2489
|
-
...
|
|
2490
|
-
children:
|
|
2491
|
-
...
|
|
2492
|
-
account: n.find((M) => M.guid ===
|
|
2545
|
+
l && !_t && E.email_channel && o.email && D.push(e.delivery_method_email_label), p && !ft && E.sms_channel && o.phone && D.push(e.delivery_method_sms_label), w && !yt && E.push_channel && D.push(e.delivery_method_push_label), r.push({
|
|
2546
|
+
...E,
|
|
2547
|
+
children: St.map((I) => ({
|
|
2548
|
+
...I,
|
|
2549
|
+
account: n.find((M) => M.guid === I.entity_guid),
|
|
2493
2550
|
label: R
|
|
2494
2551
|
})),
|
|
2495
2552
|
deliveryMethodsLabel: D.join(", "),
|
|
@@ -2501,18 +2558,24 @@ const ht = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
|
2501
2558
|
class Fe {
|
|
2502
2559
|
globalStore;
|
|
2503
2560
|
api = new rt("/", "");
|
|
2504
|
-
transactionApi = new
|
|
2561
|
+
transactionApi = new B("/", "");
|
|
2505
2562
|
alert = { message: "", severity: void 0 };
|
|
2506
2563
|
devices = [];
|
|
2507
2564
|
notificationProfiles = [];
|
|
2508
2565
|
selectedRule = void 0;
|
|
2509
2566
|
transactionRules = [];
|
|
2510
2567
|
constructor(t) {
|
|
2511
|
-
this.globalStore = t, this.api = new rt(
|
|
2568
|
+
this.globalStore = t, this.api = new rt(
|
|
2512
2569
|
t.endpoint,
|
|
2513
2570
|
t.sessionToken,
|
|
2514
|
-
t.onError
|
|
2515
|
-
|
|
2571
|
+
t.onError,
|
|
2572
|
+
t.onCaptureException
|
|
2573
|
+
), this.transactionApi = new B(
|
|
2574
|
+
t.endpoint,
|
|
2575
|
+
t.sessionToken,
|
|
2576
|
+
t.onError,
|
|
2577
|
+
t.onCaptureException
|
|
2578
|
+
), h(this);
|
|
2516
2579
|
}
|
|
2517
2580
|
get accountProfiles() {
|
|
2518
2581
|
const t = this.globalStore.appDataStore.clientCommunicationProfile;
|
|
@@ -2523,7 +2586,7 @@ class Fe {
|
|
|
2523
2586
|
get budgetProfiles() {
|
|
2524
2587
|
const t = this.globalStore.appDataStore.clientCommunicationProfile;
|
|
2525
2588
|
return this.detailedNotificationProfiles.filter(
|
|
2526
|
-
(e) => e.notification_type ===
|
|
2589
|
+
(e) => e.notification_type === $.BudgetExceeded && t.budget_exceeded_notifications_enabled || e.notification_type === $.BudgetOffTarget && t.budget_off_target_notifications_enabled
|
|
2527
2590
|
);
|
|
2528
2591
|
}
|
|
2529
2592
|
get insightsProfiles() {
|
|
@@ -2557,22 +2620,22 @@ class Fe {
|
|
|
2557
2620
|
return e >= 0 && c(() => {
|
|
2558
2621
|
this.devices.splice(e, 1);
|
|
2559
2622
|
}), { success: !0 };
|
|
2560
|
-
} catch {
|
|
2561
|
-
return console.error(`Error deleting device: ${t}`), { success: !1 };
|
|
2623
|
+
} catch (e) {
|
|
2624
|
+
return console.error(`Error deleting device: ${t}`), this.globalStore.captureException(e, { store: "SettingsStore" }), { success: !1 };
|
|
2562
2625
|
}
|
|
2563
2626
|
};
|
|
2564
2627
|
deleteTransactionRule = async () => {
|
|
2565
2628
|
this.selectedRule && this.transactionApi.removeTransactionRule(this.selectedRule?.guid).then(() => {
|
|
2566
2629
|
this.setAlert(this.copy.delete_rule_success, "success"), this.loadTransactionRules();
|
|
2567
|
-
}).catch(() => {
|
|
2568
|
-
this.setAlert(this.copy.delete_rule_error, "error");
|
|
2630
|
+
}).catch((t) => {
|
|
2631
|
+
this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.delete_rule_error, "error");
|
|
2569
2632
|
});
|
|
2570
2633
|
};
|
|
2571
2634
|
generateDeviceToken = async () => {
|
|
2572
2635
|
try {
|
|
2573
2636
|
return await this.api.generateDeviceToken();
|
|
2574
2637
|
} catch (t) {
|
|
2575
|
-
console.error(`Error generating device token: ${t}`);
|
|
2638
|
+
console.error(`Error generating device token: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2576
2639
|
}
|
|
2577
2640
|
};
|
|
2578
2641
|
loadDevices = async () => {
|
|
@@ -2582,7 +2645,7 @@ class Fe {
|
|
|
2582
2645
|
this.devices = t;
|
|
2583
2646
|
});
|
|
2584
2647
|
} catch (t) {
|
|
2585
|
-
console.error(`Error loading devices: ${t}`);
|
|
2648
|
+
console.error(`Error loading devices: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2586
2649
|
}
|
|
2587
2650
|
};
|
|
2588
2651
|
loadNotificationProfiles = async () => {
|
|
@@ -2592,7 +2655,7 @@ class Fe {
|
|
|
2592
2655
|
this.notificationProfiles = t;
|
|
2593
2656
|
});
|
|
2594
2657
|
} catch (t) {
|
|
2595
|
-
console.error(`Error loading notification profiles: ${t}`);
|
|
2658
|
+
console.error(`Error loading notification profiles: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2596
2659
|
}
|
|
2597
2660
|
};
|
|
2598
2661
|
loadTransactionRules = async () => {
|
|
@@ -2602,21 +2665,21 @@ class Fe {
|
|
|
2602
2665
|
this.transactionRules = t;
|
|
2603
2666
|
});
|
|
2604
2667
|
} catch (t) {
|
|
2605
|
-
console.error(`Error loading transaction rules: ${t}`);
|
|
2668
|
+
console.error(`Error loading transaction rules: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2606
2669
|
}
|
|
2607
2670
|
};
|
|
2608
2671
|
sendEmailVerification = async () => {
|
|
2609
2672
|
try {
|
|
2610
2673
|
await this.api.sendEmailVerification(), this.setAlert(this.copy.verification_sent_success, "success");
|
|
2611
2674
|
} catch (t) {
|
|
2612
|
-
console.error(`Error sending email verification: ${t}`), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2675
|
+
console.error(`Error sending email verification: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2613
2676
|
}
|
|
2614
2677
|
};
|
|
2615
2678
|
sendPhoneVerification = async () => {
|
|
2616
2679
|
try {
|
|
2617
2680
|
await this.api.sendPhoneVerification(), this.setAlert(this.copy.verification_sent_success, "success");
|
|
2618
2681
|
} catch (t) {
|
|
2619
|
-
console.error(`Error sending phone verification: ${t}`), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2682
|
+
console.error(`Error sending phone verification: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2620
2683
|
}
|
|
2621
2684
|
};
|
|
2622
2685
|
setAlert = (t, e = void 0) => this.alert = { message: t, severity: e };
|
|
@@ -2630,7 +2693,7 @@ class Fe {
|
|
|
2630
2693
|
this.devices[s] = e;
|
|
2631
2694
|
}), { success: !0 };
|
|
2632
2695
|
} catch (e) {
|
|
2633
|
-
return console.error(`Error updating device: ${e}`), { success: !1 };
|
|
2696
|
+
return console.error(`Error updating device: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" }), { success: !1 };
|
|
2634
2697
|
}
|
|
2635
2698
|
};
|
|
2636
2699
|
updateNotificationProfile = async (t) => {
|
|
@@ -2640,7 +2703,7 @@ class Fe {
|
|
|
2640
2703
|
this.notificationProfiles[s] = e;
|
|
2641
2704
|
});
|
|
2642
2705
|
} catch (e) {
|
|
2643
|
-
console.error(`Error updating notification profile: ${e}`);
|
|
2706
|
+
console.error(`Error updating notification profile: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" });
|
|
2644
2707
|
}
|
|
2645
2708
|
};
|
|
2646
2709
|
updateRuleCategory = async (t) => {
|
|
@@ -2651,15 +2714,15 @@ class Fe {
|
|
|
2651
2714
|
updateRulePayee = async (t) => {
|
|
2652
2715
|
this.transactionApi.updateTransactionRule(t).then(() => {
|
|
2653
2716
|
this.setAlert(this.copy.edit_payee_success, "success"), this.loadTransactionRules();
|
|
2654
|
-
}).catch(() => {
|
|
2655
|
-
this.setAlert(this.copy.edit_payee_error, "error");
|
|
2717
|
+
}).catch((e) => {
|
|
2718
|
+
this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.edit_payee_error, "error");
|
|
2656
2719
|
});
|
|
2657
2720
|
};
|
|
2658
2721
|
updateUser = async (t) => {
|
|
2659
2722
|
this.globalStore.userStore.updateUser(t).then(() => {
|
|
2660
2723
|
this.setAlert(this.copy.information_updated_success, "success");
|
|
2661
|
-
}).catch(() => {
|
|
2662
|
-
this.setAlert(this.copy.information_updated_error, "error");
|
|
2724
|
+
}).catch((e) => {
|
|
2725
|
+
this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.information_updated_error, "error");
|
|
2663
2726
|
});
|
|
2664
2727
|
};
|
|
2665
2728
|
updateUserCommunicationProfile = async (t) => {
|
|
@@ -2667,7 +2730,7 @@ class Fe {
|
|
|
2667
2730
|
const e = await this.api.updateUserCommunicationProfile(t);
|
|
2668
2731
|
this.globalStore.appDataStore.setUserCommunicationProfile(e);
|
|
2669
2732
|
} catch (e) {
|
|
2670
|
-
console.error(`Error occurred while updating user communication profile: ${e}`);
|
|
2733
|
+
console.error(`Error occurred while updating user communication profile: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" });
|
|
2671
2734
|
}
|
|
2672
2735
|
};
|
|
2673
2736
|
verifyPhoneToken = async (t) => {
|
|
@@ -2677,15 +2740,15 @@ class Fe {
|
|
|
2677
2740
|
throw new Error();
|
|
2678
2741
|
this.setAlert(this.copy.verified_phone_success, "success");
|
|
2679
2742
|
} catch (e) {
|
|
2680
|
-
console.error(`Error verifying phone token: ${e}`), this.setAlert(this.copy.verified_phone_error, "error");
|
|
2743
|
+
console.error(`Error verifying phone token: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.verified_phone_error, "error");
|
|
2681
2744
|
}
|
|
2682
2745
|
};
|
|
2683
2746
|
}
|
|
2684
2747
|
class Ue {
|
|
2685
2748
|
globalStore;
|
|
2686
2749
|
uiStore;
|
|
2687
|
-
api = new
|
|
2688
|
-
beatApi = new
|
|
2750
|
+
api = new B("/", "");
|
|
2751
|
+
beatApi = new v("/", "");
|
|
2689
2752
|
associatedBeats = [];
|
|
2690
2753
|
associatedBeatsLoaded = !1;
|
|
2691
2754
|
associatedBeatsLoading = !1;
|
|
@@ -2707,17 +2770,23 @@ class Ue {
|
|
|
2707
2770
|
isLoading = !0;
|
|
2708
2771
|
alert = "";
|
|
2709
2772
|
sortColumn = Gt.DATE;
|
|
2710
|
-
sortDirection =
|
|
2773
|
+
sortDirection = $t.DESC;
|
|
2711
2774
|
constructor(t) {
|
|
2712
|
-
this.globalStore = t, this.uiStore = new ke(), this.api = new
|
|
2775
|
+
this.globalStore = t, this.uiStore = new ke(), this.api = new B(
|
|
2713
2776
|
t.endpoint,
|
|
2714
2777
|
t.sessionToken,
|
|
2715
|
-
t.onError
|
|
2716
|
-
|
|
2778
|
+
t.onError,
|
|
2779
|
+
t.onCaptureException
|
|
2780
|
+
), this.beatApi = new v(
|
|
2781
|
+
t.endpoint,
|
|
2782
|
+
t.sessionToken,
|
|
2783
|
+
t.onError,
|
|
2784
|
+
t.onCaptureException
|
|
2785
|
+
), h(this);
|
|
2717
2786
|
}
|
|
2718
2787
|
loadTransactionData = async () => {
|
|
2719
2788
|
this.globalStore.accountStore.isAccountDataLoaded || await this.globalStore.accountStore.loadAccountData(), this.globalStore.categoryStore.categoriesLoaded || await this.globalStore.categoryStore.loadCategories(), await Promise.all([
|
|
2720
|
-
this.loadAssociatedBeats(
|
|
2789
|
+
this.loadAssociatedBeats(C(/* @__PURE__ */ new Date())),
|
|
2721
2790
|
this.loadTags(),
|
|
2722
2791
|
this.loadTaggings(),
|
|
2723
2792
|
this.loadTransactionRules(),
|
|
@@ -2729,7 +2798,7 @@ class Ue {
|
|
|
2729
2798
|
return this.associatedBeatsLoaded && this.tagsLoaded && this.taggingsLoaded && this.transactionRulesLoaded && this.transactionsLoaded;
|
|
2730
2799
|
}
|
|
2731
2800
|
get detailedTransactions() {
|
|
2732
|
-
return this.isTransactionDataLoaded ?
|
|
2801
|
+
return this.isTransactionDataLoaded ? Nt(
|
|
2733
2802
|
this.transactions,
|
|
2734
2803
|
this.globalStore.accountStore.visibleAccounts,
|
|
2735
2804
|
this.globalStore.categoryStore.categories,
|
|
@@ -2737,7 +2806,7 @@ class Ue {
|
|
|
2737
2806
|
) : [];
|
|
2738
2807
|
}
|
|
2739
2808
|
get sortedTransactions() {
|
|
2740
|
-
return
|
|
2809
|
+
return Bt(
|
|
2741
2810
|
this.filter,
|
|
2742
2811
|
this.uiStore.expandedSplits,
|
|
2743
2812
|
this.sortColumn,
|
|
@@ -2806,11 +2875,7 @@ class Ue {
|
|
|
2806
2875
|
const s = await this.beatApi.getBeatsWithAssociatedTransaction(e);
|
|
2807
2876
|
this.setAssociatedBeats(s);
|
|
2808
2877
|
} catch (s) {
|
|
2809
|
-
console.error(`Error occurred while loading associated beats: ${s}`);
|
|
2810
|
-
} finally {
|
|
2811
|
-
c(() => {
|
|
2812
|
-
this.associatedBeatsLoading = !1;
|
|
2813
|
-
});
|
|
2878
|
+
console.error(`Error occurred while loading associated beats: ${s}`), this.globalStore.captureException(s, { store: "TransactionStore" });
|
|
2814
2879
|
}
|
|
2815
2880
|
};
|
|
2816
2881
|
loadTags = async () => {
|
|
@@ -2820,11 +2885,7 @@ class Ue {
|
|
|
2820
2885
|
const t = await this.api.getTags();
|
|
2821
2886
|
this.setTags(t);
|
|
2822
2887
|
} catch (t) {
|
|
2823
|
-
console.error(`Error occurred while loading tags: ${t}`);
|
|
2824
|
-
} finally {
|
|
2825
|
-
c(() => {
|
|
2826
|
-
this.tagsLoading = !1;
|
|
2827
|
-
});
|
|
2888
|
+
console.error(`Error occurred while loading tags: ${t}`), this.globalStore.captureException(t, { store: "TransactionStore" });
|
|
2828
2889
|
}
|
|
2829
2890
|
}
|
|
2830
2891
|
};
|
|
@@ -2835,47 +2896,29 @@ class Ue {
|
|
|
2835
2896
|
const t = await this.api.getTaggings();
|
|
2836
2897
|
this.setTaggings(t);
|
|
2837
2898
|
} catch (t) {
|
|
2838
|
-
console.error(`Error occurred while loading taggings: ${t}`);
|
|
2839
|
-
} finally {
|
|
2840
|
-
c(() => {
|
|
2841
|
-
this.taggingsLoading = !1;
|
|
2842
|
-
});
|
|
2899
|
+
console.error(`Error occurred while loading taggings: ${t}`), this.globalStore.captureException(t, { store: "TransactionStore" });
|
|
2843
2900
|
}
|
|
2844
2901
|
}
|
|
2845
2902
|
};
|
|
2846
2903
|
loadTransactionRules = async () => {
|
|
2847
|
-
if (
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
this.setTransactionRules(t);
|
|
2852
|
-
} catch (t) {
|
|
2853
|
-
console.error(`Error occurred while loading transaction rules: ${t}`);
|
|
2854
|
-
} finally {
|
|
2855
|
-
c(() => {
|
|
2856
|
-
this.transactionRulesLoading = !1;
|
|
2857
|
-
});
|
|
2858
|
-
}
|
|
2859
|
-
}
|
|
2904
|
+
if (this.transactionRulesLoading) return;
|
|
2905
|
+
this.transactionRulesLoading = !0;
|
|
2906
|
+
const t = await this.api.getTransactionRules();
|
|
2907
|
+
this.setTransactionRules(t);
|
|
2860
2908
|
};
|
|
2861
2909
|
loadTransactions = async (t = this.cachedStartDate) => {
|
|
2862
2910
|
if (!this.transactionsLoading) {
|
|
2863
|
-
this.setIsLoading(!0), this.transactionsLoading = !0;
|
|
2911
|
+
this.setIsLoading(!0), this.transactionsLoading = !0, this.transactions = [];
|
|
2864
2912
|
try {
|
|
2865
2913
|
const e = await this.api.getTransactionsByDateRange(
|
|
2866
|
-
|
|
2867
|
-
|
|
2914
|
+
S(t),
|
|
2915
|
+
S(q())
|
|
2868
2916
|
);
|
|
2869
|
-
this.setTransactions(e)
|
|
2870
|
-
this.cachedStartDate = t;
|
|
2871
|
-
});
|
|
2917
|
+
this.setTransactions(e);
|
|
2872
2918
|
} catch (e) {
|
|
2873
|
-
console.error(`Error occurred while loading transactions: ${e}`);
|
|
2874
|
-
} finally {
|
|
2875
|
-
c(() => {
|
|
2876
|
-
this.transactionsLoading = !1;
|
|
2877
|
-
}), this.setIsLoading(!1);
|
|
2919
|
+
console.error(`Error occurred while loading transactions: ${e}`), this.globalStore.captureException(e, { store: "TransactionStore" });
|
|
2878
2920
|
}
|
|
2921
|
+
this.setIsLoading(!1);
|
|
2879
2922
|
}
|
|
2880
2923
|
};
|
|
2881
2924
|
modifyTransactionByAccountGuid = (t, e) => {
|
|
@@ -2898,7 +2941,9 @@ class Ue {
|
|
|
2898
2941
|
}
|
|
2899
2942
|
};
|
|
2900
2943
|
setFilter = (t) => {
|
|
2901
|
-
this.filter = t, t.dateRange && H(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start)
|
|
2944
|
+
this.filter = t, t.dateRange && H(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start).then(() => {
|
|
2945
|
+
t.dateRange && (this.cachedStartDate = t.dateRange.start);
|
|
2946
|
+
});
|
|
2902
2947
|
};
|
|
2903
2948
|
setIsLoading = (t) => this.isLoading = t;
|
|
2904
2949
|
splitTransaction = async (t, e) => {
|
|
@@ -2965,17 +3010,17 @@ class Ue {
|
|
|
2965
3010
|
loadEmbeddedInstanceTransactions = async (t) => {
|
|
2966
3011
|
try {
|
|
2967
3012
|
const e = await this.api.getTransactionsByDateRange(
|
|
2968
|
-
|
|
2969
|
-
|
|
3013
|
+
S(t),
|
|
3014
|
+
S(q())
|
|
2970
3015
|
);
|
|
2971
3016
|
this.cachedStartDate = t, this.transactions = e;
|
|
2972
3017
|
} catch (e) {
|
|
2973
|
-
console.error(`Error occurred while loading embedded instance transactions: ${e}`);
|
|
3018
|
+
console.error(`Error occurred while loading embedded instance transactions: ${e}`), this.globalStore.captureException(e, { store: "TransactionStore" });
|
|
2974
3019
|
}
|
|
2975
3020
|
};
|
|
2976
3021
|
}
|
|
2977
3022
|
class ke {
|
|
2978
|
-
beginDate =
|
|
3023
|
+
beginDate = C(/* @__PURE__ */ new Date());
|
|
2979
3024
|
endDate = T(/* @__PURE__ */ new Date());
|
|
2980
3025
|
expandedSplits = [];
|
|
2981
3026
|
height = 550;
|
|
@@ -2987,7 +3032,7 @@ class ke {
|
|
|
2987
3032
|
isAmountValid = !1;
|
|
2988
3033
|
showInsights = !1;
|
|
2989
3034
|
constructor() {
|
|
2990
|
-
|
|
3035
|
+
h(this);
|
|
2991
3036
|
}
|
|
2992
3037
|
setDateRange = (t, e) => {
|
|
2993
3038
|
this.beginDate = t, this.endDate = e;
|
|
@@ -3022,7 +3067,7 @@ class He {
|
|
|
3022
3067
|
this.globalStore = t, this.selectedDateRange = {
|
|
3023
3068
|
start: se(T(G(/* @__PURE__ */ new Date(), 6)), 1),
|
|
3024
3069
|
end: T(/* @__PURE__ */ new Date())
|
|
3025
|
-
},
|
|
3070
|
+
}, h(this);
|
|
3026
3071
|
}
|
|
3027
3072
|
setSelectedCategoryData = (t) => {
|
|
3028
3073
|
this.selectedCategoryData = t;
|
|
@@ -3064,7 +3109,12 @@ class We {
|
|
|
3064
3109
|
userFeatures = [];
|
|
3065
3110
|
userFeaturesLoaded = !1;
|
|
3066
3111
|
constructor(t) {
|
|
3067
|
-
this.globalStore = t, this.api = new ot(
|
|
3112
|
+
this.globalStore = t, this.api = new ot(
|
|
3113
|
+
t.endpoint,
|
|
3114
|
+
t.sessionToken,
|
|
3115
|
+
t.onError,
|
|
3116
|
+
t.onCaptureException
|
|
3117
|
+
), h(this);
|
|
3068
3118
|
}
|
|
3069
3119
|
get userProfile() {
|
|
3070
3120
|
return this.globalStore.appDataStore.userProfile;
|
|
@@ -3080,7 +3130,7 @@ class We {
|
|
|
3080
3130
|
const t = await this.api.getUserFeatures();
|
|
3081
3131
|
this.setUserFeatures(t);
|
|
3082
3132
|
} catch (t) {
|
|
3083
|
-
console.error(`Error occurred while loading user features: ${t}`);
|
|
3133
|
+
console.error(`Error occurred while loading user features: ${t}`), this.globalStore.captureException(t, { store: "UserStore" });
|
|
3084
3134
|
}
|
|
3085
3135
|
};
|
|
3086
3136
|
updateUser = async (t) => {
|
|
@@ -3088,7 +3138,7 @@ class We {
|
|
|
3088
3138
|
const e = await this.api.updateUser(t);
|
|
3089
3139
|
this.globalStore.appDataStore.setUser(e);
|
|
3090
3140
|
} catch (e) {
|
|
3091
|
-
console.error(`Error updating User: ${e}`);
|
|
3141
|
+
console.error(`Error updating User: ${e}`), this.globalStore.captureException(e, { store: "UserStore" });
|
|
3092
3142
|
}
|
|
3093
3143
|
};
|
|
3094
3144
|
updateUserProfile = async (t) => {
|
|
@@ -3096,12 +3146,12 @@ class We {
|
|
|
3096
3146
|
const e = await this.api.updateUserProfile(t);
|
|
3097
3147
|
this.globalStore.appDataStore.setUserProfile(e);
|
|
3098
3148
|
} catch (e) {
|
|
3099
|
-
console.error(`Error occurred while updating user profile: ${e}`);
|
|
3149
|
+
console.error(`Error occurred while updating user profile: ${e}`), this.globalStore.captureException(e, { store: "UserStore" });
|
|
3100
3150
|
}
|
|
3101
3151
|
};
|
|
3102
3152
|
}
|
|
3103
3153
|
export {
|
|
3104
|
-
|
|
3154
|
+
N as A,
|
|
3105
3155
|
j as B,
|
|
3106
3156
|
fe as C,
|
|
3107
3157
|
Ae as D,
|
|
@@ -3109,37 +3159,37 @@ export {
|
|
|
3109
3159
|
Re as G,
|
|
3110
3160
|
et as H,
|
|
3111
3161
|
at as M,
|
|
3112
|
-
|
|
3162
|
+
Ne as N,
|
|
3113
3163
|
Me as R,
|
|
3114
3164
|
rt as S,
|
|
3115
|
-
|
|
3165
|
+
B as T,
|
|
3116
3166
|
ot as U,
|
|
3117
3167
|
ct as W,
|
|
3118
3168
|
ce as a,
|
|
3119
|
-
|
|
3169
|
+
de as b,
|
|
3120
3170
|
Y as c,
|
|
3121
|
-
|
|
3171
|
+
he as d,
|
|
3122
3172
|
pe as e,
|
|
3123
3173
|
X as f,
|
|
3124
3174
|
_e as g,
|
|
3125
3175
|
J as h,
|
|
3126
|
-
|
|
3176
|
+
Se as i,
|
|
3127
3177
|
Te as j,
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3178
|
+
Ie as k,
|
|
3179
|
+
$s as l,
|
|
3180
|
+
Ce as m,
|
|
3131
3181
|
tt as n,
|
|
3132
3182
|
De as o,
|
|
3133
|
-
|
|
3183
|
+
ve as p,
|
|
3134
3184
|
st as q,
|
|
3135
3185
|
Ge as r,
|
|
3136
|
-
|
|
3186
|
+
$e as s,
|
|
3137
3187
|
nt as t,
|
|
3138
|
-
|
|
3188
|
+
Be as u,
|
|
3139
3189
|
it as v,
|
|
3140
3190
|
Fe as w,
|
|
3141
3191
|
Ue as x,
|
|
3142
3192
|
He as y,
|
|
3143
3193
|
We as z
|
|
3144
3194
|
};
|
|
3145
|
-
//# sourceMappingURL=UserStore-
|
|
3195
|
+
//# sourceMappingURL=UserStore-CL_kIDzt.mjs.map
|