@mx-cartographer/experiences 9.1.3 → 9.1.4-alpha.al0
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-Dae8eUXt.mjs} +10 -10
- package/dist/{AccountDetailsDrawer-Cq4kiiKD.mjs.map → AccountDetailsDrawer-Dae8eUXt.mjs.map} +1 -1
- package/dist/{AccountDetailsHeader-BliEZhz7.mjs → AccountDetailsHeader-D_UjMD99.mjs} +4 -4
- package/dist/{AccountDetailsHeader-BliEZhz7.mjs.map → AccountDetailsHeader-D_UjMD99.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-k8AZYC8I.mjs} +2 -2
- package/dist/{CategorySelectorDrawer-NJsFsKP1.mjs.map → CategorySelectorDrawer-k8AZYC8I.mjs.map} +1 -1
- package/dist/{Connect-BH0Pt6zc.mjs → Connect-tID_S_5e.mjs} +2 -2
- package/dist/{Connect-BH0Pt6zc.mjs.map → Connect-tID_S_5e.mjs.map} +1 -1
- package/dist/{ConnectCard-D7uxoH5Y.mjs → ConnectCard-DcM6tUOX.mjs} +2 -2
- package/dist/{ConnectCard-D7uxoH5Y.mjs.map → ConnectCard-DcM6tUOX.mjs.map} +1 -1
- package/dist/{ConnectDrawer-CW4LA3H3.mjs → ConnectDrawer-BQy4YYuc.mjs} +3 -3
- package/dist/{ConnectDrawer-CW4LA3H3.mjs.map → ConnectDrawer-BQy4YYuc.mjs.map} +1 -1
- package/dist/{ConnectionsDrawer-CZU9ku-k.mjs → ConnectionsDrawer-C73ASLMj.mjs} +3 -3
- package/dist/{ConnectionsDrawer-CZU9ku-k.mjs.map → ConnectionsDrawer-C73ASLMj.mjs.map} +1 -1
- package/dist/{CurrencyInput-DaGEQaLW.mjs → CurrencyInput-CABYmqBh.mjs} +2 -2
- package/dist/{CurrencyInput-DaGEQaLW.mjs.map → CurrencyInput-CABYmqBh.mjs.map} +1 -1
- package/dist/{EmbeddedCard-DCOQnTz-.mjs → EmbeddedCard-BwfkCsUN.mjs} +3 -3
- package/dist/{EmbeddedCard-DCOQnTz-.mjs.map → EmbeddedCard-BwfkCsUN.mjs.map} +1 -1
- package/dist/{Error-Dtw6yxkf.mjs → Error-BFJ3BnfS.mjs} +2 -2
- package/dist/{Error-Dtw6yxkf.mjs.map → Error-BFJ3BnfS.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-B1257a3M.mjs} +3 -3
- package/dist/{ExportCsvAction-C-IisDcv.mjs.map → ExportCsvAction-B1257a3M.mjs.map} +1 -1
- package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs → GlobalAccountFilter-DEEc3Bc5.mjs} +2 -2
- package/dist/{GlobalAccountFilter-BhzR5Vb1.mjs.map → GlobalAccountFilter-DEEc3Bc5.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-BAj_yo3q.mjs} +145 -145
- package/dist/Help-BAj_yo3q.mjs.map +1 -0
- package/dist/{LineChart-CUfiH86G.mjs → LineChart-BxEIZHht.mjs} +2 -2
- package/dist/{LineChart-CUfiH86G.mjs.map → LineChart-BxEIZHht.mjs.map} +1 -1
- package/dist/{ListItemAction-BqUCLj_w.mjs → ListItemAction-GDU5z4BN.mjs} +2 -2
- package/dist/{ListItemAction-BqUCLj_w.mjs.map → ListItemAction-GDU5z4BN.mjs.map} +1 -1
- package/dist/{ListItemWrapper-DRse79Iu.mjs → ListItemWrapper-D6b-6m4t.mjs} +2 -2
- package/dist/{ListItemWrapper-DRse79Iu.mjs.map → ListItemWrapper-D6b-6m4t.mjs.map} +1 -1
- package/dist/{ManageIncome-B_8i71mE.mjs → ManageIncome-BJWVPAly.mjs} +32 -32
- package/dist/{ManageIncome-B_8i71mE.mjs.map → ManageIncome-BJWVPAly.mjs.map} +1 -1
- package/dist/{MicroWidgetContainer-B2NnKBgW.mjs → MicroWidgetContainer-IUZQlml1.mjs} +2 -2
- package/dist/{MicroWidgetContainer-B2NnKBgW.mjs.map → MicroWidgetContainer-IUZQlml1.mjs.map} +1 -1
- package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs → MiniWidgetContainer-CIswJui8.mjs} +2 -2
- package/dist/{MiniWidgetContainer-Bmv_WeUd.mjs.map → MiniWidgetContainer-CIswJui8.mjs.map} +1 -1
- package/dist/{NotificationSettings-CW7okUrk.mjs → NotificationSettings-DltXMrnb.mjs} +33 -33
- package/dist/{NotificationSettings-CW7okUrk.mjs.map → NotificationSettings-DltXMrnb.mjs.map} +1 -1
- package/dist/{OriginalBalanceAction-YrvxBYAl.mjs → OriginalBalanceAction-KuJSsZCA.mjs} +4 -4
- package/dist/{OriginalBalanceAction-YrvxBYAl.mjs.map → OriginalBalanceAction-KuJSsZCA.mjs.map} +1 -1
- package/dist/{RecurringSettings-hs0YUp83.mjs → RecurringSettings-D2Aaqz7d.mjs} +3 -3
- package/dist/{RecurringSettings-hs0YUp83.mjs.map → RecurringSettings-D2Aaqz7d.mjs.map} +1 -1
- package/dist/{SpendingLegend-CxvNOg3c.mjs → SpendingLegend-C_dMdqbe.mjs} +2 -2
- package/dist/{SpendingLegend-CxvNOg3c.mjs.map → SpendingLegend-C_dMdqbe.mjs.map} +1 -1
- package/dist/{TransactionDetails-DT-MQqOB.mjs → TransactionDetails-CDZNsKv7.mjs} +5 -5
- package/dist/{TransactionDetails-DT-MQqOB.mjs.map → TransactionDetails-CDZNsKv7.mjs.map} +1 -1
- package/dist/{UserStore-E5WvBXaY.mjs → UserStore-DzGgxsKk.mjs} +302 -317
- package/dist/UserStore-DzGgxsKk.mjs.map +1 -0
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs → ViewMoreMicroCard-DXaJ-56q.mjs} +4 -4
- package/dist/{ViewMoreMicroCard-fnwE0hqd.mjs.map → ViewMoreMicroCard-DXaJ-56q.mjs.map} +1 -1
- package/dist/{WidgetContainer-CjdCY4sj.mjs → WidgetContainer-5O6N88mr.mjs} +3 -3
- package/dist/{WidgetContainer-CjdCY4sj.mjs.map → WidgetContainer-5O6N88mr.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/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 +66 -65
- 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-DWOrMnfZ.mjs +83 -0
- package/dist/hooks-DWOrMnfZ.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-DHXXCFYZ.mjs} +2 -2
- package/dist/{useAccountDisplayName-BsiXA0qf.mjs.map → useAccountDisplayName-DHXXCFYZ.mjs.map} +1 -1
- package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs → useInsightsEnabled-B_UpjpE6.mjs} +2 -2
- package/dist/{useInsightsEnabled-D5Sdm0TJ.mjs.map → useInsightsEnabled-B_UpjpE6.mjs.map} +1 -1
- package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs → useWidgetLoadTimer-C0Mr0eRf.mjs} +2 -2
- package/dist/{useWidgetLoadTimer-B0tB-yzL.mjs.map → useWidgetLoadTimer-C0Mr0eRf.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,7 @@ 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(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
361
361
|
}
|
|
362
362
|
loadAccountData = async () => {
|
|
363
363
|
await Promise.all([this.loadAccounts(), this.loadMembers(), this.loadInstitutions()]);
|
|
@@ -366,7 +366,7 @@ class ce {
|
|
|
366
366
|
return this.accountsLoaded && this.membersLoaded && this.institutionsLoaded;
|
|
367
367
|
}
|
|
368
368
|
get detailedAccounts() {
|
|
369
|
-
const t = this.globalStore.userStore.userFeatures, e =
|
|
369
|
+
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
370
|
return At(
|
|
371
371
|
this.accounts,
|
|
372
372
|
this.institutions,
|
|
@@ -384,43 +384,43 @@ class ce {
|
|
|
384
384
|
}
|
|
385
385
|
get cashAccounts() {
|
|
386
386
|
return this.detailedAccounts.filter(
|
|
387
|
-
(t) => t.account_type ===
|
|
387
|
+
(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
388
|
);
|
|
389
389
|
}
|
|
390
390
|
get cashBalance() {
|
|
391
391
|
return this.cashAccounts.reduce((t, e) => t + (e?.balance || 0), 0);
|
|
392
392
|
}
|
|
393
393
|
get checkingAccounts() {
|
|
394
|
-
return this.detailedAccounts.filter((t) => t.account_type ===
|
|
394
|
+
return this.detailedAccounts.filter((t) => t.account_type === d.CHECKING);
|
|
395
395
|
}
|
|
396
396
|
get debtAccounts() {
|
|
397
397
|
return this.detailedAccounts.filter(
|
|
398
|
-
(t) => t.account_type ===
|
|
398
|
+
(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
399
|
);
|
|
400
400
|
}
|
|
401
401
|
get finstrongAccounts() {
|
|
402
402
|
const t = /* @__PURE__ */ new Set([
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
403
|
+
d.CHECKING,
|
|
404
|
+
d.SAVINGS,
|
|
405
|
+
d.CREDIT_CARD,
|
|
406
|
+
d.INVESTMENT
|
|
407
407
|
]);
|
|
408
408
|
return this.detailedAccounts.filter((e) => t.has(e.account_type));
|
|
409
409
|
}
|
|
410
410
|
get investmentAccounts() {
|
|
411
411
|
return this.detailedAccounts.filter(
|
|
412
|
-
(t) => t.account_type ===
|
|
412
|
+
(t) => t.account_type === d.INVESTMENT
|
|
413
413
|
);
|
|
414
414
|
}
|
|
415
415
|
get manualAccounts() {
|
|
416
416
|
return this.detailedAccounts.filter((t) => t.is_manual);
|
|
417
417
|
}
|
|
418
418
|
get savingsAccounts() {
|
|
419
|
-
return this.detailedAccounts.filter((t) => t.account_type ===
|
|
419
|
+
return this.detailedAccounts.filter((t) => t.account_type === d.SAVINGS);
|
|
420
420
|
}
|
|
421
421
|
get retirementAccounts() {
|
|
422
422
|
return this.detailedAccounts.filter(
|
|
423
|
-
(t) => t.account_type ===
|
|
423
|
+
(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
424
|
);
|
|
425
425
|
}
|
|
426
426
|
get visibleAccounts() {
|
|
@@ -460,7 +460,7 @@ class ce {
|
|
|
460
460
|
}
|
|
461
461
|
get savingsAndCheckingAccounts() {
|
|
462
462
|
return this.accounts.filter(
|
|
463
|
-
(e) => e.account_type ===
|
|
463
|
+
(e) => e.account_type === d.SAVINGS || e.account_type === d.CHECKING
|
|
464
464
|
);
|
|
465
465
|
}
|
|
466
466
|
setAccounts = (t) => {
|
|
@@ -479,7 +479,7 @@ class ce {
|
|
|
479
479
|
this.accounts = [...this.accounts, e];
|
|
480
480
|
});
|
|
481
481
|
} catch (e) {
|
|
482
|
-
console.error(`Error occurred while adding an account: ${e}`);
|
|
482
|
+
console.error(`Error occurred while adding an account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
483
483
|
}
|
|
484
484
|
};
|
|
485
485
|
loadAccounts = async () => {
|
|
@@ -489,7 +489,7 @@ class ce {
|
|
|
489
489
|
const t = await this.api.getAccounts();
|
|
490
490
|
this.setAccounts(t);
|
|
491
491
|
} catch (t) {
|
|
492
|
-
console.error(`Error occurred while loading accounts: ${t}`);
|
|
492
|
+
console.error(`Error occurred while loading accounts: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
495
|
};
|
|
@@ -500,7 +500,7 @@ class ce {
|
|
|
500
500
|
const t = await this.api.getInstitutions();
|
|
501
501
|
this.setInstitutions(t);
|
|
502
502
|
} catch (t) {
|
|
503
|
-
console.error(`Error occurred while loading institutions: ${t}`);
|
|
503
|
+
console.error(`Error occurred while loading institutions: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
506
|
};
|
|
@@ -511,7 +511,7 @@ class ce {
|
|
|
511
511
|
const t = await this.api.getMembers();
|
|
512
512
|
this.setMembers(t);
|
|
513
513
|
} catch (t) {
|
|
514
|
-
console.error(`Error occurred while loading members: ${t}`);
|
|
514
|
+
console.error(`Error occurred while loading members: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
517
|
};
|
|
@@ -525,7 +525,7 @@ class ce {
|
|
|
525
525
|
this.accounts.splice(o, 1, s);
|
|
526
526
|
});
|
|
527
527
|
} catch (e) {
|
|
528
|
-
console.error(`Error occurred while merging accounts: ${e}`);
|
|
528
|
+
console.error(`Error occurred while merging accounts: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
529
529
|
}
|
|
530
530
|
};
|
|
531
531
|
/**
|
|
@@ -538,7 +538,7 @@ class ce {
|
|
|
538
538
|
try {
|
|
539
539
|
await this.api.refreshAllMembers();
|
|
540
540
|
} catch (t) {
|
|
541
|
-
console.error(`Error occurredwhile refreshing members: ${t}`);
|
|
541
|
+
console.error(`Error occurredwhile refreshing members: ${t}`), this.globalStore.captureException(t, { store: "AccountStore" });
|
|
542
542
|
}
|
|
543
543
|
};
|
|
544
544
|
removeAccount = async (t) => {
|
|
@@ -547,7 +547,7 @@ class ce {
|
|
|
547
547
|
const e = this.accounts.findIndex((s) => s.guid === t);
|
|
548
548
|
this.accounts.splice(e, 1);
|
|
549
549
|
} catch (e) {
|
|
550
|
-
console.error(`Error occurred while removing an account: ${e}`);
|
|
550
|
+
console.error(`Error occurred while removing an account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
551
551
|
}
|
|
552
552
|
};
|
|
553
553
|
updateAccount = async (t) => {
|
|
@@ -557,7 +557,7 @@ class ce {
|
|
|
557
557
|
);
|
|
558
558
|
this.accounts.splice(s, 1, e);
|
|
559
559
|
} catch (e) {
|
|
560
|
-
console.error(`Error occurred while updating account: ${e}`);
|
|
560
|
+
console.error(`Error occurred while updating account: ${e}`), this.globalStore.captureException(e, { store: "AccountStore" });
|
|
561
561
|
}
|
|
562
562
|
};
|
|
563
563
|
updateAccountBalance = (t, e) => {
|
|
@@ -584,12 +584,12 @@ let le = class {
|
|
|
584
584
|
selectedAccount = {};
|
|
585
585
|
selectedMember = {};
|
|
586
586
|
constructor() {
|
|
587
|
-
|
|
587
|
+
h(this);
|
|
588
588
|
}
|
|
589
589
|
setSelectedAccount = (t) => this.selectedAccount = t;
|
|
590
590
|
setSelectedMember = (t) => this.selectedMember = t;
|
|
591
591
|
};
|
|
592
|
-
class
|
|
592
|
+
class he {
|
|
593
593
|
globalStore;
|
|
594
594
|
api = new Y("/", "");
|
|
595
595
|
bannerApi = new j("/");
|
|
@@ -597,7 +597,7 @@ class de {
|
|
|
597
597
|
isAppDataLoaded = !1;
|
|
598
598
|
banner = {};
|
|
599
599
|
constructor(t) {
|
|
600
|
-
this.globalStore = t, this.api = new Y(t.endpoint, t.sessionToken, t.onError),
|
|
600
|
+
this.globalStore = t, this.api = new Y(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
601
601
|
}
|
|
602
602
|
get appConfig() {
|
|
603
603
|
return this.globalStore.appConfig;
|
|
@@ -625,7 +625,7 @@ class de {
|
|
|
625
625
|
const t = await this.api.getAppData();
|
|
626
626
|
this.setAppData(t);
|
|
627
627
|
} catch (t) {
|
|
628
|
-
console.error(`Error loading app data: ${t}`);
|
|
628
|
+
console.error(`Error loading app data: ${t}`), this.globalStore.captureException(t, { store: "AppDataStore" });
|
|
629
629
|
}
|
|
630
630
|
};
|
|
631
631
|
loadBanner = async () => {
|
|
@@ -635,14 +635,14 @@ class de {
|
|
|
635
635
|
this.banner = e;
|
|
636
636
|
});
|
|
637
637
|
} catch (t) {
|
|
638
|
-
console.error(`Error loading banner: ${t}`);
|
|
638
|
+
console.error(`Error loading banner: ${t}`), this.globalStore.captureException(t, { store: "AppDataStore" });
|
|
639
639
|
}
|
|
640
640
|
};
|
|
641
641
|
setUser = (t) => this.appData.user = t;
|
|
642
642
|
setUserCommunicationProfile = (t) => this.appData.user_communication_profile = t;
|
|
643
643
|
setUserProfile = (t) => this.appData.user_profile = t;
|
|
644
644
|
}
|
|
645
|
-
class
|
|
645
|
+
class de {
|
|
646
646
|
globalStore;
|
|
647
647
|
survey = null;
|
|
648
648
|
currentQuestionIndex = 0;
|
|
@@ -650,7 +650,7 @@ class he {
|
|
|
650
650
|
response = null;
|
|
651
651
|
responses = {};
|
|
652
652
|
constructor(t) {
|
|
653
|
-
this.globalStore = t,
|
|
653
|
+
this.globalStore = t, h(this);
|
|
654
654
|
}
|
|
655
655
|
get isLastQuestion() {
|
|
656
656
|
return this.currentQuestionIndex === this.surveyQuestions.length - 1;
|
|
@@ -672,7 +672,7 @@ class he {
|
|
|
672
672
|
return this.survey ? this.survey.questions : [];
|
|
673
673
|
}
|
|
674
674
|
loadSurvey = (t = !1) => {
|
|
675
|
-
|
|
675
|
+
Ct.getActiveMatchingSurveys((e) => {
|
|
676
676
|
c(() => {
|
|
677
677
|
if (e.length > 0) {
|
|
678
678
|
const s = e.find((a) => a.id === this.surveyId);
|
|
@@ -740,11 +740,11 @@ const ge = (n) => ({
|
|
|
740
740
|
});
|
|
741
741
|
class pe {
|
|
742
742
|
globalStore;
|
|
743
|
-
api = new
|
|
743
|
+
api = new v("/", "");
|
|
744
744
|
beats = [];
|
|
745
745
|
isLoading = !1;
|
|
746
746
|
constructor(t) {
|
|
747
|
-
this.globalStore = t, this.api = new
|
|
747
|
+
this.globalStore = t, this.api = new v(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
748
748
|
}
|
|
749
749
|
loadBeats = async () => {
|
|
750
750
|
this.isLoading = !0;
|
|
@@ -771,7 +771,7 @@ class _e {
|
|
|
771
771
|
api = new X("/", "");
|
|
772
772
|
globalStore;
|
|
773
773
|
alert = "";
|
|
774
|
-
dateRange = { start:
|
|
774
|
+
dateRange = { start: C(y()), end: T(y()) };
|
|
775
775
|
budgets = [];
|
|
776
776
|
selectedBudget;
|
|
777
777
|
selectedSubBudget;
|
|
@@ -779,7 +779,7 @@ class _e {
|
|
|
779
779
|
theme = {};
|
|
780
780
|
merchantBudgets = [];
|
|
781
781
|
constructor(t) {
|
|
782
|
-
this.globalStore = t, this.api = new X(t.endpoint, t.sessionToken, t.onError),
|
|
782
|
+
this.globalStore = t, this.api = new X(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
783
783
|
}
|
|
784
784
|
loadBudgetData = async () => {
|
|
785
785
|
this.globalStore.recurringTransactionsStore.isDataLoaded || await this.globalStore.recurringTransactionsStore.loadRepeatingTransactionData(), await this.loadBudgets(), ut(
|
|
@@ -787,9 +787,9 @@ class _e {
|
|
|
787
787
|
(t) => {
|
|
788
788
|
if (t) {
|
|
789
789
|
const e = this.selectedBudget;
|
|
790
|
-
e && (this.selectedBudget =
|
|
790
|
+
e && (this.selectedBudget = Et(t, e.guid));
|
|
791
791
|
const s = this.selectedSubBudget;
|
|
792
|
-
s && s.parent_guid && (this.selectedSubBudget =
|
|
792
|
+
s && s.parent_guid && (this.selectedSubBudget = It(
|
|
793
793
|
t,
|
|
794
794
|
s.guid,
|
|
795
795
|
s.parent_guid
|
|
@@ -801,7 +801,7 @@ class _e {
|
|
|
801
801
|
get detailedBudgets() {
|
|
802
802
|
return W(
|
|
803
803
|
this.budgets.filter(
|
|
804
|
-
(t) => t.category_guid !==
|
|
804
|
+
(t) => t.category_guid !== b.INCOME && t.category_guid !== b.TRANSFER && t.category_guid !== b.INVESTMENTS
|
|
805
805
|
),
|
|
806
806
|
this.globalStore.categoryStore.detailedCategories,
|
|
807
807
|
this.globalStore.copyStore.copy.budgets,
|
|
@@ -816,7 +816,7 @@ class _e {
|
|
|
816
816
|
this.globalStore.copyStore.copy.budgets,
|
|
817
817
|
this.theme
|
|
818
818
|
).reduce(
|
|
819
|
-
(s, a) => a.category_guid !==
|
|
819
|
+
(s, a) => a.category_guid !== b.INCOME ? s : !s || a.percentage > s.percentage ? a : s,
|
|
820
820
|
void 0
|
|
821
821
|
)?.amount;
|
|
822
822
|
}
|
|
@@ -835,7 +835,7 @@ class _e {
|
|
|
835
835
|
this.budgets.push(a);
|
|
836
836
|
});
|
|
837
837
|
} catch (a) {
|
|
838
|
-
console.error(`Error adding budget: ${a}`);
|
|
838
|
+
console.error(`Error adding budget: ${a}`), this.globalStore.captureException(a, { store: "BudgetsStore" });
|
|
839
839
|
}
|
|
840
840
|
};
|
|
841
841
|
deleteBudget = async (t) => {
|
|
@@ -845,7 +845,7 @@ class _e {
|
|
|
845
845
|
e >= 0 && this.budgets.splice(e, 1);
|
|
846
846
|
});
|
|
847
847
|
} catch (e) {
|
|
848
|
-
console.error(`Error deleting budget: ${e}`);
|
|
848
|
+
console.error(`Error deleting budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" });
|
|
849
849
|
}
|
|
850
850
|
};
|
|
851
851
|
loadBudgets = async () => {
|
|
@@ -853,7 +853,7 @@ class _e {
|
|
|
853
853
|
const t = await this.api.getBudgets();
|
|
854
854
|
this.setBudgets(t);
|
|
855
855
|
} catch (t) {
|
|
856
|
-
throw console.error(`Error occurred while loading budgets: ${t}`), t;
|
|
856
|
+
throw console.error(`Error occurred while loading budgets: ${t}`), this.globalStore.captureException(t, { store: "BudgetsStore" }), t;
|
|
857
857
|
}
|
|
858
858
|
};
|
|
859
859
|
setAlert = (t) => this.alert = t;
|
|
@@ -884,7 +884,7 @@ class _e {
|
|
|
884
884
|
await this.api.deleteBudget(s.guid);
|
|
885
885
|
return await this.loadBudgets(), { data: this.budgets, isSuccess: !0 };
|
|
886
886
|
} catch (e) {
|
|
887
|
-
return console.error("error recalculating budgets", e), { data: [], isSuccess: !1 };
|
|
887
|
+
return console.error("error recalculating budgets", e), this.globalStore.captureException(e, { store: "BudgetsStore" }), { data: [], isSuccess: !1 };
|
|
888
888
|
}
|
|
889
889
|
};
|
|
890
890
|
updateBudget = async (t) => {
|
|
@@ -895,7 +895,7 @@ class _e {
|
|
|
895
895
|
s >= 0 && (this.budgets[s] = e);
|
|
896
896
|
});
|
|
897
897
|
} catch (e) {
|
|
898
|
-
console.error(`Error updating budget: ${e}`);
|
|
898
|
+
console.error(`Error updating budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" });
|
|
899
899
|
}
|
|
900
900
|
};
|
|
901
901
|
getMerchantBudgetByMerchantGuid = (t) => this.merchantBudgets.find(
|
|
@@ -911,7 +911,7 @@ class _e {
|
|
|
911
911
|
this.merchantBudgets.push(s);
|
|
912
912
|
}), { isSuccess: !0 };
|
|
913
913
|
} catch (s) {
|
|
914
|
-
return console.error(`Error adding merchant budget: ${s}`), { isSuccess: !1 };
|
|
914
|
+
return console.error(`Error adding merchant budget: ${s}`), this.globalStore.captureException(s, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
915
915
|
}
|
|
916
916
|
};
|
|
917
917
|
updateMerchantBudget = async (t) => {
|
|
@@ -922,7 +922,7 @@ class _e {
|
|
|
922
922
|
o >= 0 && (this.merchantBudgets[o] = a);
|
|
923
923
|
}), { isSuccess: !0 };
|
|
924
924
|
} catch (e) {
|
|
925
|
-
return console.error(`Error updating merchant budget: ${e}`), { isSuccess: !1 };
|
|
925
|
+
return console.error(`Error updating merchant budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
926
926
|
}
|
|
927
927
|
};
|
|
928
928
|
deleteMerchantBudget = async (t) => {
|
|
@@ -931,7 +931,7 @@ class _e {
|
|
|
931
931
|
this.merchantBudgets = this.merchantBudgets.filter((e) => e.guid !== t);
|
|
932
932
|
}), { isSuccess: !0 };
|
|
933
933
|
} catch (e) {
|
|
934
|
-
return console.error(`Error deleting merchant budget: ${e}`), { isSuccess: !1 };
|
|
934
|
+
return console.error(`Error deleting merchant budget: ${e}`), this.globalStore.captureException(e, { store: "BudgetsStore" }), { isSuccess: !1 };
|
|
935
935
|
}
|
|
936
936
|
};
|
|
937
937
|
}
|
|
@@ -939,7 +939,7 @@ class fe {
|
|
|
939
939
|
globalStore;
|
|
940
940
|
uiStore;
|
|
941
941
|
constructor(t) {
|
|
942
|
-
this.globalStore = t, this.uiStore = new ye(t),
|
|
942
|
+
this.globalStore = t, this.uiStore = new ye(t), h(this);
|
|
943
943
|
}
|
|
944
944
|
completeOnboarding = async () => {
|
|
945
945
|
const t = {
|
|
@@ -958,7 +958,7 @@ let ye = class {
|
|
|
958
958
|
dateRange = { start: y(), end: Dt(y(), 30) };
|
|
959
959
|
isDirty = !1;
|
|
960
960
|
constructor(t) {
|
|
961
|
-
this.globalStore = t,
|
|
961
|
+
this.globalStore = t, h(this);
|
|
962
962
|
}
|
|
963
963
|
// Recurrence data scoped to Cash Flow's own dateRange, sourced from the
|
|
964
964
|
// range-parameterized helpers on RecurringTransactionsStore. Computeds (not
|
|
@@ -989,13 +989,13 @@ let ye = class {
|
|
|
989
989
|
get selectedCashBalance() {
|
|
990
990
|
const t = this.globalStore.appConfig.config.display_available_balance_in_accounts;
|
|
991
991
|
return this.selectedCashAccounts.reduce(
|
|
992
|
-
(e, s) => e +
|
|
992
|
+
(e, s) => e + bt(s, t),
|
|
993
993
|
0
|
|
994
994
|
);
|
|
995
995
|
}
|
|
996
996
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
997
997
|
get daysUntilNextIncome() {
|
|
998
|
-
return this.nextIncome ? Math.abs(
|
|
998
|
+
return this.nextIncome ? Math.abs(xt(y(), this.nextIncome.expectedDate)) : 0;
|
|
999
999
|
}
|
|
1000
1000
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
1001
1001
|
// if there is no income activity
|
|
@@ -1005,7 +1005,7 @@ let ye = class {
|
|
|
1005
1005
|
);
|
|
1006
1006
|
}
|
|
1007
1007
|
};
|
|
1008
|
-
class
|
|
1008
|
+
class Se {
|
|
1009
1009
|
globalStore;
|
|
1010
1010
|
uiStore;
|
|
1011
1011
|
api = new J("/", "");
|
|
@@ -1019,10 +1019,10 @@ class me {
|
|
|
1019
1019
|
monthlyTotalsLoaded = !1;
|
|
1020
1020
|
monthlyTotalsLoading = !1;
|
|
1021
1021
|
constructor(t) {
|
|
1022
|
-
this.globalStore = t, this.uiStore = new
|
|
1022
|
+
this.globalStore = t, this.uiStore = new me(), this.api = new J(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1023
1023
|
}
|
|
1024
1024
|
get detailedCategories() {
|
|
1025
|
-
return this.globalStore.isInitialized ?
|
|
1025
|
+
return this.globalStore.isInitialized ? Lt(
|
|
1026
1026
|
this.categories,
|
|
1027
1027
|
this.globalStore.copyStore.copy.categories,
|
|
1028
1028
|
this.dateRangeCategoryTotals,
|
|
@@ -1030,7 +1030,7 @@ class me {
|
|
|
1030
1030
|
) : [];
|
|
1031
1031
|
}
|
|
1032
1032
|
get detailedCategoriesWithTransactions() {
|
|
1033
|
-
return
|
|
1033
|
+
return vt(
|
|
1034
1034
|
this.detailedCategories,
|
|
1035
1035
|
this.globalStore.transactionStore.sortedTransactions
|
|
1036
1036
|
);
|
|
@@ -1040,7 +1040,7 @@ class me {
|
|
|
1040
1040
|
}
|
|
1041
1041
|
get spendCategories() {
|
|
1042
1042
|
return this.detailedCategories.filter(
|
|
1043
|
-
(t) => !t.is_income && !t.isTransfer && t.guid !==
|
|
1043
|
+
(t) => !t.is_income && !t.isTransfer && t.guid !== b.INVESTMENTS
|
|
1044
1044
|
);
|
|
1045
1045
|
}
|
|
1046
1046
|
get transferCategories() {
|
|
@@ -1056,14 +1056,14 @@ class me {
|
|
|
1056
1056
|
this.dateRangeCategoryTotals = t, this.dateRangeTotalsLoading = !1, this.dateRangeTotalsLoaded = !0;
|
|
1057
1057
|
};
|
|
1058
1058
|
get trendsCategories() {
|
|
1059
|
-
return this.detailedCategories.filter((t) => t.totalAmount !== 0).filter((t) => t.guid !==
|
|
1059
|
+
return this.detailedCategories.filter((t) => t.totalAmount !== 0).filter((t) => t.guid !== b.INVESTMENTS && t.guid !== b.TRANSFER);
|
|
1060
1060
|
}
|
|
1061
1061
|
addCategory = async (t, e) => {
|
|
1062
1062
|
const s = { name: t, parent_guid: e };
|
|
1063
1063
|
try {
|
|
1064
1064
|
await this.api.addCategory(s), await this.loadCategories();
|
|
1065
1065
|
} catch (a) {
|
|
1066
|
-
console.error(`Error occurred while adding category: ${a}`);
|
|
1066
|
+
console.error(`Error occurred while adding category: ${a}`), this.globalStore.captureException(a, { store: "CategoryStore" });
|
|
1067
1067
|
}
|
|
1068
1068
|
};
|
|
1069
1069
|
loadCategories = async () => {
|
|
@@ -1073,7 +1073,7 @@ class me {
|
|
|
1073
1073
|
const t = await this.api.getCategories();
|
|
1074
1074
|
this.setCategories(t);
|
|
1075
1075
|
} catch (t) {
|
|
1076
|
-
console.error(`Error occurred while getting categories: ${t}`);
|
|
1076
|
+
console.error(`Error occurred while getting categories: ${t}`), this.globalStore.captureException(t, { store: "CategoryStore" });
|
|
1077
1077
|
}
|
|
1078
1078
|
}
|
|
1079
1079
|
};
|
|
@@ -1082,25 +1082,25 @@ class me {
|
|
|
1082
1082
|
this.dateRangeTotalsLoading = !0;
|
|
1083
1083
|
try {
|
|
1084
1084
|
const a = await this.api.getDateRangeCategoryTotals(
|
|
1085
|
-
|
|
1086
|
-
|
|
1085
|
+
S(e),
|
|
1086
|
+
S(s),
|
|
1087
1087
|
t
|
|
1088
1088
|
);
|
|
1089
1089
|
this.setDateRangeCategoryTotals(a);
|
|
1090
1090
|
} catch (a) {
|
|
1091
|
-
console.error(`Error occurred while getting date range category totals: ${a}`);
|
|
1091
|
+
console.error(`Error occurred while getting date range category totals: ${a}`), this.globalStore.captureException(a, { store: "CategoryStore" });
|
|
1092
1092
|
}
|
|
1093
1093
|
}
|
|
1094
1094
|
};
|
|
1095
1095
|
loadMonthlyCategoryTotals = async (t = this.globalStore.globalUiStore.selectedAccounts, e, s) => {
|
|
1096
1096
|
if (this.monthlyTotalsLoading) return;
|
|
1097
1097
|
this.monthlyTotalsLoading = !0;
|
|
1098
|
-
const a =
|
|
1098
|
+
const a = S(C(e ?? G(/* @__PURE__ */ new Date(), 11))), o = S(T(s ?? /* @__PURE__ */ new Date()));
|
|
1099
1099
|
try {
|
|
1100
1100
|
const r = await this.api.getMonthlyCategoryTotals(a, o, t);
|
|
1101
1101
|
this.setMonthlyCategoryTotals(r);
|
|
1102
1102
|
} catch (r) {
|
|
1103
|
-
console.error(`Error occurred while getting monthly category totals: ${r}`);
|
|
1103
|
+
console.error(`Error occurred while getting monthly category totals: ${r}`), this.globalStore.captureException(r, { store: "CategoryStore" });
|
|
1104
1104
|
}
|
|
1105
1105
|
};
|
|
1106
1106
|
reloadCategoryTotals = async (t, e, s) => {
|
|
@@ -1111,27 +1111,27 @@ class me {
|
|
|
1111
1111
|
this.loadDateRangeCategoryTotals(t, a, o)
|
|
1112
1112
|
]);
|
|
1113
1113
|
} catch (r) {
|
|
1114
|
-
console.error(`Error occurred while getting category totals: ${r}`);
|
|
1114
|
+
console.error(`Error occurred while getting category totals: ${r}`), this.globalStore.captureException(r, { store: "CategoryStore" });
|
|
1115
1115
|
}
|
|
1116
1116
|
};
|
|
1117
1117
|
removeCategory = async (t) => {
|
|
1118
1118
|
try {
|
|
1119
1119
|
await this.api.removeCategory(t), await this.loadCategories();
|
|
1120
1120
|
} catch (e) {
|
|
1121
|
-
console.error(`Error occurred while removing category: ${e}`);
|
|
1121
|
+
console.error(`Error occurred while removing category: ${e}`), this.globalStore.captureException(e, { store: "CategoryStore" });
|
|
1122
1122
|
}
|
|
1123
1123
|
};
|
|
1124
1124
|
updateCategory = async (t) => {
|
|
1125
1125
|
try {
|
|
1126
1126
|
await this.api.updateCategory(t), await this.loadCategories();
|
|
1127
1127
|
} catch (e) {
|
|
1128
|
-
console.error(`Error occurred while updating category: ${e}`);
|
|
1128
|
+
console.error(`Error occurred while updating category: ${e}`), this.globalStore.captureException(e, { store: "CategoryStore" });
|
|
1129
1129
|
}
|
|
1130
1130
|
};
|
|
1131
1131
|
// TODO: Remove this after refactoring Trends components to use detailedCategories
|
|
1132
1132
|
getCategoryName = (t) => this.categories.find((s) => s.guid === t)?.name ?? Rt[t];
|
|
1133
1133
|
}
|
|
1134
|
-
let
|
|
1134
|
+
let me = class {
|
|
1135
1135
|
expandedGuid = null;
|
|
1136
1136
|
selectedGuid = null;
|
|
1137
1137
|
searchValue = "";
|
|
@@ -1142,7 +1142,7 @@ let Se = class {
|
|
|
1142
1142
|
savedOnSelect;
|
|
1143
1143
|
// todo
|
|
1144
1144
|
constructor() {
|
|
1145
|
-
|
|
1145
|
+
h(this);
|
|
1146
1146
|
}
|
|
1147
1147
|
setExpandedGuid = (t) => this.expandedGuid = t;
|
|
1148
1148
|
setSelectedGuid = (t) => this.selectedGuid = t;
|
|
@@ -1158,7 +1158,7 @@ class Te {
|
|
|
1158
1158
|
globalStore;
|
|
1159
1159
|
widgetApi = new ct("/", "");
|
|
1160
1160
|
constructor(t) {
|
|
1161
|
-
this.globalStore = t, this.widgetApi = new ct(t.endpoint, t.sessionToken),
|
|
1161
|
+
this.globalStore = t, this.widgetApi = new ct(t.endpoint, t.sessionToken), h(this);
|
|
1162
1162
|
}
|
|
1163
1163
|
loadWidget = async ({ widget: t = "connect_widget", mode: e = "light", ...s }) => await this.widgetApi.requestWidgetUrl({
|
|
1164
1164
|
widget_url: { widget_type: t, color_scheme: e, ...s }
|
|
@@ -1168,7 +1168,7 @@ class Ae {
|
|
|
1168
1168
|
globalStore;
|
|
1169
1169
|
uiStore;
|
|
1170
1170
|
constructor(t) {
|
|
1171
|
-
this.globalStore = t, this.uiStore = new
|
|
1171
|
+
this.globalStore = t, this.uiStore = new be(), h(this);
|
|
1172
1172
|
}
|
|
1173
1173
|
get debts() {
|
|
1174
1174
|
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 +1178,12 @@ class Ae {
|
|
|
1178
1178
|
return this.debts.map((e) => Number(e.monthly_payment)).filter((e) => !isNaN(e)).reduce((e, s) => e + s, 0);
|
|
1179
1179
|
}
|
|
1180
1180
|
}
|
|
1181
|
-
let
|
|
1181
|
+
let be = class {
|
|
1182
1182
|
isLoading = !1;
|
|
1183
1183
|
selectedDebtChartData = {};
|
|
1184
1184
|
selectedDebtPriority = Ut.LOWEST_BALANCE;
|
|
1185
1185
|
constructor() {
|
|
1186
|
-
|
|
1186
|
+
h(this);
|
|
1187
1187
|
}
|
|
1188
1188
|
get showError() {
|
|
1189
1189
|
const { interest_rate: t, monthly_payment: e } = this.selectedDebtChartData;
|
|
@@ -1196,16 +1196,16 @@ let we = class {
|
|
|
1196
1196
|
setSelectedDebtChartData = (t) => this.selectedDebtChartData = t;
|
|
1197
1197
|
setSelectedDebtPriority = (t) => this.selectedDebtPriority = t;
|
|
1198
1198
|
};
|
|
1199
|
-
const
|
|
1199
|
+
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
1200
|
x: U(
|
|
1201
1201
|
new Date(0, t.monthly_health_score_average.month - 1, 1),
|
|
1202
1202
|
k.MONTH_SHORT
|
|
1203
1203
|
),
|
|
1204
1204
|
y: Math.round(t.monthly_health_score_average.average_health_score)
|
|
1205
|
-
})),
|
|
1205
|
+
})), Ee = (n) => n.map(({ transaction: e }) => ({
|
|
1206
1206
|
...e
|
|
1207
1207
|
})).sort((e, s) => s.date - e.date);
|
|
1208
|
-
class
|
|
1208
|
+
class Ie {
|
|
1209
1209
|
api = new Z("/", "");
|
|
1210
1210
|
augmentedChartData = [];
|
|
1211
1211
|
averageHealthScores = [];
|
|
@@ -1222,7 +1222,7 @@ class Ce {
|
|
|
1222
1222
|
isSpendingInitialized = !1;
|
|
1223
1223
|
isIncomeInitialized = !1;
|
|
1224
1224
|
constructor(t) {
|
|
1225
|
-
this.globalStore = t, this.api = new Z(t.endpoint, t.sessionToken, t.onError),
|
|
1225
|
+
this.globalStore = t, this.api = new Z(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1226
1226
|
}
|
|
1227
1227
|
setSpendingInitialized = (t) => {
|
|
1228
1228
|
this.isSpendingInitialized = t;
|
|
@@ -1240,7 +1240,7 @@ class Ce {
|
|
|
1240
1240
|
this.healthScore = e, this.healthScoreChange = s;
|
|
1241
1241
|
});
|
|
1242
1242
|
} catch (e) {
|
|
1243
|
-
console.error("Error calculating health score:", e);
|
|
1243
|
+
console.error("Error calculating health score:", e), this.globalStore.captureException(e, { store: "FinstrongStore" });
|
|
1244
1244
|
}
|
|
1245
1245
|
};
|
|
1246
1246
|
loadAverageHealthScores = async () => {
|
|
@@ -1250,7 +1250,7 @@ class Ce {
|
|
|
1250
1250
|
this.averageHealthScores = t;
|
|
1251
1251
|
});
|
|
1252
1252
|
} catch (t) {
|
|
1253
|
-
console.error("Error loading average health scores:", t);
|
|
1253
|
+
console.error("Error loading average health scores:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1254
1254
|
}
|
|
1255
1255
|
};
|
|
1256
1256
|
loadMonthlySummaries = async () => {
|
|
@@ -1260,7 +1260,7 @@ class Ce {
|
|
|
1260
1260
|
this.monthlySummaries = t;
|
|
1261
1261
|
});
|
|
1262
1262
|
} catch (t) {
|
|
1263
|
-
console.error("Error loading monthly summaries:", t);
|
|
1263
|
+
console.error("Error loading monthly summaries:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1264
1264
|
}
|
|
1265
1265
|
};
|
|
1266
1266
|
loadDebtSpend = async () => {
|
|
@@ -1270,7 +1270,7 @@ class Ce {
|
|
|
1270
1270
|
this.debtSpendTransactions = t;
|
|
1271
1271
|
});
|
|
1272
1272
|
} catch (t) {
|
|
1273
|
-
console.error("Error loading debt spend:", t);
|
|
1273
|
+
console.error("Error loading debt spend:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1274
1274
|
}
|
|
1275
1275
|
};
|
|
1276
1276
|
loadIncome = async () => {
|
|
@@ -1281,11 +1281,11 @@ class Ce {
|
|
|
1281
1281
|
this.incomeTransactions = t, this.setIncomeInitialized(!0);
|
|
1282
1282
|
});
|
|
1283
1283
|
} catch (t) {
|
|
1284
|
-
console.error("Error loading income:", t);
|
|
1284
|
+
console.error("Error loading income:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1285
1285
|
}
|
|
1286
1286
|
};
|
|
1287
1287
|
loadHealthScoreChangeReports = async () => {
|
|
1288
|
-
const t =
|
|
1288
|
+
const t = S(G(/* @__PURE__ */ new Date(), 2)), e = S(/* @__PURE__ */ new Date());
|
|
1289
1289
|
try {
|
|
1290
1290
|
const s = await this.api.getHealthScoreChangeReports(
|
|
1291
1291
|
t,
|
|
@@ -1295,7 +1295,7 @@ class Ce {
|
|
|
1295
1295
|
this.healthScoreChangeReports = s;
|
|
1296
1296
|
});
|
|
1297
1297
|
} catch (s) {
|
|
1298
|
-
console.error("Error loading health score change reports:", s);
|
|
1298
|
+
console.error("Error loading health score change reports:", s), this.globalStore.captureException(s, { store: "FinstrongStore" });
|
|
1299
1299
|
}
|
|
1300
1300
|
};
|
|
1301
1301
|
loadPeerScore = async () => {
|
|
@@ -1306,27 +1306,27 @@ class Ce {
|
|
|
1306
1306
|
this.peerScore = e;
|
|
1307
1307
|
});
|
|
1308
1308
|
} catch (e) {
|
|
1309
|
-
console.error("Error loading peer score:", e);
|
|
1309
|
+
console.error("Error loading peer score:", e), this.globalStore.captureException(e, { store: "FinstrongStore" });
|
|
1310
1310
|
}
|
|
1311
1311
|
};
|
|
1312
1312
|
loadAugmentedChartData = async () => {
|
|
1313
1313
|
try {
|
|
1314
1314
|
const t = await this.api.getAverageHealthScores();
|
|
1315
1315
|
c(() => {
|
|
1316
|
-
this.augmentedChartData =
|
|
1316
|
+
this.augmentedChartData = we(t);
|
|
1317
1317
|
});
|
|
1318
1318
|
} catch (t) {
|
|
1319
|
-
console.error(`Error occurred while getting augmented chart data: ${t}`);
|
|
1319
|
+
console.error(`Error occurred while getting augmented chart data: ${t}`), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1320
1320
|
}
|
|
1321
1321
|
};
|
|
1322
1322
|
getSpendingFeeTransactions = async () => {
|
|
1323
1323
|
try {
|
|
1324
|
-
const t = await this.api.getSpendingFeeTransactions(), e =
|
|
1324
|
+
const t = await this.api.getSpendingFeeTransactions(), e = Ee(t);
|
|
1325
1325
|
c(() => {
|
|
1326
1326
|
this.spendingFeeTransactions = e;
|
|
1327
1327
|
});
|
|
1328
1328
|
} catch (t) {
|
|
1329
|
-
console.error(`Error occurred while getting spending fee transactions: ${t}`);
|
|
1329
|
+
console.error(`Error occurred while getting spending fee transactions: ${t}`), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1330
1330
|
}
|
|
1331
1331
|
};
|
|
1332
1332
|
loadSpendTransactions = async () => {
|
|
@@ -1337,7 +1337,7 @@ class Ce {
|
|
|
1337
1337
|
this.spendTransactions = [...t], this.setSpendingInitialized(!0);
|
|
1338
1338
|
});
|
|
1339
1339
|
} catch (t) {
|
|
1340
|
-
console.error("Error loading spend transactions:", t);
|
|
1340
|
+
console.error("Error loading spend transactions:", t), this.globalStore.captureException(t, { store: "FinstrongStore" });
|
|
1341
1341
|
}
|
|
1342
1342
|
};
|
|
1343
1343
|
get spendAndDebtTransactions() {
|
|
@@ -1458,11 +1458,12 @@ const lt = {
|
|
|
1458
1458
|
postHogPublicKey: "phc_1fVYJICC69TpW4wagp9o2XqQ8E7X98cAmcR5psSpfkE",
|
|
1459
1459
|
userFeatures: []
|
|
1460
1460
|
};
|
|
1461
|
-
class
|
|
1461
|
+
class $s {
|
|
1462
1462
|
// Global properties
|
|
1463
1463
|
appConfig = lt;
|
|
1464
1464
|
endpoint = "/";
|
|
1465
1465
|
sessionToken = "";
|
|
1466
|
+
onCaptureException;
|
|
1466
1467
|
onError;
|
|
1467
1468
|
onStoreUpdate;
|
|
1468
1469
|
// Data Stores
|
|
@@ -1490,17 +1491,20 @@ class Ns {
|
|
|
1490
1491
|
userStore;
|
|
1491
1492
|
// UI Stores
|
|
1492
1493
|
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:
|
|
1494
|
+
constructor(t = lt, e = "/", s, a, o) {
|
|
1495
|
+
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(() => {
|
|
1496
|
+
const { transactions: r } = this.transactionStore;
|
|
1496
1497
|
this.emitUpdate({
|
|
1497
|
-
transactions:
|
|
1498
|
+
transactions: r
|
|
1498
1499
|
});
|
|
1499
1500
|
});
|
|
1500
1501
|
}
|
|
1501
1502
|
get isInitialized() {
|
|
1502
1503
|
return this.globalUiStore.isInitialized;
|
|
1503
1504
|
}
|
|
1505
|
+
captureException = (t, e) => {
|
|
1506
|
+
this.onCaptureException?.(t, e);
|
|
1507
|
+
};
|
|
1504
1508
|
// emits change triggered in the autorun
|
|
1505
1509
|
emitUpdate = (t) => {
|
|
1506
1510
|
this.onStoreUpdate?.(t);
|
|
@@ -1523,21 +1527,21 @@ class Ns {
|
|
|
1523
1527
|
transactionRules: r,
|
|
1524
1528
|
transactions: l,
|
|
1525
1529
|
userFeatures: p,
|
|
1526
|
-
merchantBudgets:
|
|
1530
|
+
merchantBudgets: w
|
|
1527
1531
|
} = {}) => {
|
|
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),
|
|
1532
|
+
(!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
1533
|
};
|
|
1530
1534
|
}
|
|
1531
|
-
class
|
|
1535
|
+
class Ce {
|
|
1532
1536
|
globalStore;
|
|
1533
1537
|
accountFilterMap = /* @__PURE__ */ new Map();
|
|
1534
1538
|
displayedDate = /* @__PURE__ */ new Date();
|
|
1535
1539
|
displayedDateRange = {
|
|
1536
|
-
start:
|
|
1540
|
+
start: C(this.displayedDate),
|
|
1537
1541
|
end: T(this.displayedDate)
|
|
1538
1542
|
};
|
|
1539
1543
|
constructor(t) {
|
|
1540
|
-
|
|
1544
|
+
h(this), this.globalStore = t, ut(
|
|
1541
1545
|
() => this.globalStore.accountStore.visibleAccounts,
|
|
1542
1546
|
(e) => {
|
|
1543
1547
|
this.populateAccountFilterMap(e);
|
|
@@ -1587,11 +1591,11 @@ class Ee {
|
|
|
1587
1591
|
};
|
|
1588
1592
|
};
|
|
1589
1593
|
get shouldDisableNextDate() {
|
|
1590
|
-
const t =
|
|
1594
|
+
const t = L(this.displayedDate), e = L(re(/* @__PURE__ */ new Date(), 1));
|
|
1591
1595
|
return t === e;
|
|
1592
1596
|
}
|
|
1593
1597
|
get shouldDisablePrevDate() {
|
|
1594
|
-
const t =
|
|
1598
|
+
const t = L(this.displayedDate), e = L(/* @__PURE__ */ new Date());
|
|
1595
1599
|
return t === e;
|
|
1596
1600
|
}
|
|
1597
1601
|
}
|
|
@@ -1605,8 +1609,9 @@ class Re {
|
|
|
1605
1609
|
this.globalStore = t, this.api = new V(
|
|
1606
1610
|
t.endpoint,
|
|
1607
1611
|
t.sessionToken,
|
|
1608
|
-
t.onError
|
|
1609
|
-
|
|
1612
|
+
t.onError,
|
|
1613
|
+
t.onCaptureException
|
|
1614
|
+
), h(this);
|
|
1610
1615
|
}
|
|
1611
1616
|
loadCopy = async () => {
|
|
1612
1617
|
await this.getCopy(this.featureNamespace), c(() => {
|
|
@@ -1620,7 +1625,7 @@ class Re {
|
|
|
1620
1625
|
this.copy = s[t];
|
|
1621
1626
|
});
|
|
1622
1627
|
} catch (s) {
|
|
1623
|
-
console.error(`Error occurred while fetching ${this.featureNamespace} copy: ${s}`);
|
|
1628
|
+
console.error(`Error occurred while fetching ${this.featureNamespace} copy: ${s}`), this.globalStore.captureException(s, { store: "GlobalCopyStore" });
|
|
1624
1629
|
}
|
|
1625
1630
|
};
|
|
1626
1631
|
}
|
|
@@ -1639,7 +1644,7 @@ class De {
|
|
|
1639
1644
|
alert = "";
|
|
1640
1645
|
selectedGoal = void 0;
|
|
1641
1646
|
constructor(t) {
|
|
1642
|
-
this.globalStore = t, this.api = new tt(t.endpoint, t.sessionToken, t.onError),
|
|
1647
|
+
this.globalStore = t, this.api = new tt(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1643
1648
|
}
|
|
1644
1649
|
get allGoals() {
|
|
1645
1650
|
if (!this.isAllGoalDataLoaded) return [];
|
|
@@ -1650,7 +1655,7 @@ class De {
|
|
|
1650
1655
|
...s,
|
|
1651
1656
|
amount: s.target_amount,
|
|
1652
1657
|
name: t.retirement,
|
|
1653
|
-
track_type:
|
|
1658
|
+
track_type: m.RETIREMENT_TRACK,
|
|
1654
1659
|
projected_to_complete_at: s.retirement_age && e ? z(s.retirement_age, e) : void 0
|
|
1655
1660
|
}))
|
|
1656
1661
|
];
|
|
@@ -1659,21 +1664,21 @@ class De {
|
|
|
1659
1664
|
return this.allGoals.slice().sort((t, e) => t.position - e.position);
|
|
1660
1665
|
}
|
|
1661
1666
|
get debtGoals() {
|
|
1662
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1667
|
+
return this.orderedGoals.filter((t) => t.track_type === m.DEBT_TRACK);
|
|
1663
1668
|
}
|
|
1664
1669
|
get retirmentGoals() {
|
|
1665
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1670
|
+
return this.orderedGoals.filter((t) => t.track_type === m.RETIREMENT_TRACK);
|
|
1666
1671
|
}
|
|
1667
1672
|
get savingGoals() {
|
|
1668
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
1673
|
+
return this.orderedGoals.filter((t) => t.track_type === m.SAVINGS_TRACK);
|
|
1669
1674
|
}
|
|
1670
1675
|
get ongoingGoalsForMicroWidget() {
|
|
1671
1676
|
const t = this.allGoals.filter(
|
|
1672
|
-
(s) => !s.is_complete && s.track_type !==
|
|
1677
|
+
(s) => !s.is_complete && s.track_type !== m.EMERGENCY_FUND_TRACK && s.track_type !== null
|
|
1673
1678
|
), e = [
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1679
|
+
m.SAVINGS_TRACK,
|
|
1680
|
+
m.DEBT_TRACK,
|
|
1681
|
+
m.RETIREMENT_TRACK
|
|
1677
1682
|
];
|
|
1678
1683
|
return t.sort((s, a) => {
|
|
1679
1684
|
const o = s.track_type ? e.indexOf(s.track_type) : -1, r = a.track_type ? e.indexOf(a.track_type) : -1;
|
|
@@ -1708,7 +1713,7 @@ class De {
|
|
|
1708
1713
|
const t = await this.api.getGoals();
|
|
1709
1714
|
this.setGoals(t);
|
|
1710
1715
|
} catch (t) {
|
|
1711
|
-
console.error(`Error occured while getting goals: ${t}`);
|
|
1716
|
+
console.error(`Error occured while getting goals: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1712
1717
|
}
|
|
1713
1718
|
};
|
|
1714
1719
|
loadRetirementGoals = async () => {
|
|
@@ -1716,7 +1721,7 @@ class De {
|
|
|
1716
1721
|
const t = await this.api.getRetirementGoals();
|
|
1717
1722
|
this.setRetirementGoals(t);
|
|
1718
1723
|
} catch (t) {
|
|
1719
|
-
console.error(`Error occurred while loading retirement goals: ${t}`);
|
|
1724
|
+
console.error(`Error occurred while loading retirement goals: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1720
1725
|
}
|
|
1721
1726
|
};
|
|
1722
1727
|
loadRetirementGoalAccounts = async () => {
|
|
@@ -1724,7 +1729,7 @@ class De {
|
|
|
1724
1729
|
const t = await this.api.getRetirementGoalAccounts();
|
|
1725
1730
|
this.setRetirementGoalAccounts(t);
|
|
1726
1731
|
} catch (t) {
|
|
1727
|
-
console.error(`Error occurred while loading retirement goal accounts: ${t}`);
|
|
1732
|
+
console.error(`Error occurred while loading retirement goal accounts: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1728
1733
|
}
|
|
1729
1734
|
};
|
|
1730
1735
|
loadMonthlyCashFlowProfile = async () => {
|
|
@@ -1732,7 +1737,7 @@ class De {
|
|
|
1732
1737
|
const t = await this.api.getMonthlyCashFlowProfile();
|
|
1733
1738
|
this.setMonthlyCashFlowProfile(t);
|
|
1734
1739
|
} catch (t) {
|
|
1735
|
-
console.error(`Error occurred while loading monthly cash flow profile: ${t}`);
|
|
1740
|
+
console.error(`Error occurred while loading monthly cash flow profile: ${t}`), this.globalStore.captureException(t, { store: "GoalStore" });
|
|
1736
1741
|
}
|
|
1737
1742
|
};
|
|
1738
1743
|
addGoal = async (t) => {
|
|
@@ -1740,7 +1745,7 @@ class De {
|
|
|
1740
1745
|
const e = await this.api.addGoal(t);
|
|
1741
1746
|
this.setGoals([...this.goals, e]);
|
|
1742
1747
|
} catch (e) {
|
|
1743
|
-
console.error(`Error occurred while adding goal: ${e}`);
|
|
1748
|
+
console.error(`Error occurred while adding goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1744
1749
|
}
|
|
1745
1750
|
};
|
|
1746
1751
|
addRetirementGoal = async (t) => {
|
|
@@ -1760,12 +1765,12 @@ class De {
|
|
|
1760
1765
|
...s,
|
|
1761
1766
|
amount: s.target_amount,
|
|
1762
1767
|
name: e.retirement,
|
|
1763
|
-
track_type:
|
|
1768
|
+
track_type: m.RETIREMENT_TRACK,
|
|
1764
1769
|
projected_to_complete_at: s.retirement_age && o ? z(s.retirement_age, o) : void 0
|
|
1765
1770
|
}
|
|
1766
1771
|
], this.setRetirementGoalAccounts([...this.retirementGoalAccounts, ...a]);
|
|
1767
1772
|
} catch (s) {
|
|
1768
|
-
console.error(`Error occurred while adding retirement goal: ${s}`);
|
|
1773
|
+
console.error(`Error occurred while adding retirement goal: ${s}`), this.globalStore.captureException(s, { store: "GoalStore" });
|
|
1769
1774
|
}
|
|
1770
1775
|
};
|
|
1771
1776
|
addRetirementGoalAccount = async (t) => {
|
|
@@ -1775,7 +1780,7 @@ class De {
|
|
|
1775
1780
|
this.retirementGoalAccounts = [...this.retirementGoalAccounts, e];
|
|
1776
1781
|
});
|
|
1777
1782
|
} catch (e) {
|
|
1778
|
-
console.error(`Error occurred while adding retirement goal account: ${e}`);
|
|
1783
|
+
console.error(`Error occurred while adding retirement goal account: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1779
1784
|
}
|
|
1780
1785
|
};
|
|
1781
1786
|
deleteGoal = async (t) => {
|
|
@@ -1784,7 +1789,7 @@ class De {
|
|
|
1784
1789
|
const e = this.goals.findIndex((s) => s.guid === t);
|
|
1785
1790
|
e >= 0 && this.goals.splice(e, 1);
|
|
1786
1791
|
} catch (e) {
|
|
1787
|
-
console.error(`Error occured while deleting goal: ${e}`);
|
|
1792
|
+
console.error(`Error occured while deleting goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1788
1793
|
}
|
|
1789
1794
|
};
|
|
1790
1795
|
deleteRetirementGoal = async (t) => {
|
|
@@ -1798,7 +1803,7 @@ class De {
|
|
|
1798
1803
|
const s = this.retirementGoals.findIndex((a) => a.guid === t.guid);
|
|
1799
1804
|
s >= 0 && this.retirementGoals.splice(s, 1);
|
|
1800
1805
|
} catch (e) {
|
|
1801
|
-
console.error(`Error deleting retirement goal: ${e}`);
|
|
1806
|
+
console.error(`Error deleting retirement goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1802
1807
|
}
|
|
1803
1808
|
};
|
|
1804
1809
|
deleteRetirementGoalAccount = async (t) => {
|
|
@@ -1807,7 +1812,7 @@ class De {
|
|
|
1807
1812
|
const e = this.retirementGoalAccounts.findIndex((s) => s.guid === t);
|
|
1808
1813
|
e >= 0 && this.retirementGoalAccounts.splice(e, 1);
|
|
1809
1814
|
} catch (e) {
|
|
1810
|
-
console.error(`Error deleting retirement goal account: ${e}`);
|
|
1815
|
+
console.error(`Error deleting retirement goal account: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1811
1816
|
}
|
|
1812
1817
|
};
|
|
1813
1818
|
reorderGoals = async (t) => {
|
|
@@ -1820,7 +1825,7 @@ class De {
|
|
|
1820
1825
|
}
|
|
1821
1826
|
});
|
|
1822
1827
|
} catch (e) {
|
|
1823
|
-
console.error(`Error reordering goals: ${e}`);
|
|
1828
|
+
console.error(`Error reordering goals: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1824
1829
|
}
|
|
1825
1830
|
};
|
|
1826
1831
|
setAlert = (t) => this.alert = t;
|
|
@@ -1836,7 +1841,7 @@ class De {
|
|
|
1836
1841
|
s >= 0 && (this.goals[s] = e), this.selectedGoal?.guid === t.guid && this.setSelectedGoal(e);
|
|
1837
1842
|
});
|
|
1838
1843
|
} catch (e) {
|
|
1839
|
-
console.error(`Error occurred while updating goal: ${e}`);
|
|
1844
|
+
console.error(`Error occurred while updating goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1840
1845
|
}
|
|
1841
1846
|
};
|
|
1842
1847
|
updateRetirementGoal = async (t) => {
|
|
@@ -1850,7 +1855,7 @@ class De {
|
|
|
1850
1855
|
s >= 0 && (this.retirementGoals[s] = e), this.selectedGoal?.guid === t.guid && this.setSelectedGoal(this.allGoals.find((a) => a.guid === t.guid));
|
|
1851
1856
|
});
|
|
1852
1857
|
} catch (e) {
|
|
1853
|
-
console.error(`Error occurred while updating goal: ${e}`);
|
|
1858
|
+
console.error(`Error occurred while updating goal: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1854
1859
|
}
|
|
1855
1860
|
};
|
|
1856
1861
|
updateMonthlyCashFlowProfile = async (t) => {
|
|
@@ -1858,11 +1863,11 @@ class De {
|
|
|
1858
1863
|
const e = await this.api.updateMonthlyCashFlowProfile(t);
|
|
1859
1864
|
this.setMonthlyCashFlowProfile(e);
|
|
1860
1865
|
} catch (e) {
|
|
1861
|
-
console.error(`Error occurred while updating monthly Cash Flow profile: ${e}`);
|
|
1866
|
+
console.error(`Error occurred while updating monthly Cash Flow profile: ${e}`), this.globalStore.captureException(e, { store: "GoalStore" });
|
|
1862
1867
|
}
|
|
1863
1868
|
};
|
|
1864
1869
|
}
|
|
1865
|
-
const
|
|
1870
|
+
const xe = (n, t) => n.guid === "general" || n.guid === "insights" ? !0 : n.flags ? n.flags.every((e) => t[e]) : !1, Le = (n, t) => {
|
|
1866
1871
|
const e = [];
|
|
1867
1872
|
for (const s of oe) {
|
|
1868
1873
|
const a = t[s.guid];
|
|
@@ -1875,24 +1880,24 @@ const Le = (n, t) => n.guid === "general" || n.guid === "insights" ? !0 : n.flag
|
|
|
1875
1880
|
label: a.topics[l]
|
|
1876
1881
|
}))
|
|
1877
1882
|
};
|
|
1878
|
-
|
|
1883
|
+
xe(o, n) && e.push(o);
|
|
1879
1884
|
}
|
|
1880
1885
|
return e;
|
|
1881
1886
|
};
|
|
1882
|
-
class
|
|
1887
|
+
class ve {
|
|
1883
1888
|
alert = { message: "", severity: void 0 };
|
|
1884
1889
|
api = new et("/", "");
|
|
1885
1890
|
appConfig;
|
|
1886
1891
|
globalStore;
|
|
1887
1892
|
isLoading = !1;
|
|
1888
1893
|
constructor(t) {
|
|
1889
|
-
this.globalStore = t, this.api = new et(t.endpoint, t.sessionToken, t.onError),
|
|
1894
|
+
this.globalStore = t, this.api = new et(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1890
1895
|
}
|
|
1891
1896
|
createSupportTicket = async (t) => {
|
|
1892
1897
|
try {
|
|
1893
1898
|
this.isLoading = !0, await this.api.createSupportTicket(t), this.setAlert(this.copy.request_support_submit_success_message, "success");
|
|
1894
1899
|
} catch (e) {
|
|
1895
|
-
this.setAlert(this.copy.request_support_submit_failure_message, "error"), console.error("Error occurred while submitting:", e);
|
|
1900
|
+
this.setAlert(this.copy.request_support_submit_failure_message, "error"), console.error("Error occurred while submitting:", e), this.globalStore.captureException(e, { store: "HelpStore" });
|
|
1896
1901
|
} finally {
|
|
1897
1902
|
this.isLoading = !1;
|
|
1898
1903
|
}
|
|
@@ -1905,7 +1910,7 @@ class $e {
|
|
|
1905
1910
|
const { client_communication_profile: t, client_profile: e } = this.globalStore.appDataStore.appData, {
|
|
1906
1911
|
help: { category_list: s }
|
|
1907
1912
|
} = this.globalStore.copyStore.copy;
|
|
1908
|
-
return
|
|
1913
|
+
return Le(
|
|
1909
1914
|
{
|
|
1910
1915
|
...t,
|
|
1911
1916
|
...e,
|
|
@@ -1923,7 +1928,7 @@ class Ge {
|
|
|
1923
1928
|
globalStore;
|
|
1924
1929
|
showConnectionsWidget = !1;
|
|
1925
1930
|
constructor(t) {
|
|
1926
|
-
this.globalStore = t, this.api = new st(t.endpoint, t.sessionToken, t.onError),
|
|
1931
|
+
this.globalStore = t, this.api = new st(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1927
1932
|
}
|
|
1928
1933
|
get analysisChartData() {
|
|
1929
1934
|
return Vt(zt(this.visibleHoldings), this.analysisType);
|
|
@@ -1947,7 +1952,7 @@ class Ge {
|
|
|
1947
1952
|
const t = await this.api.getHoldings();
|
|
1948
1953
|
this.setHoldings(t);
|
|
1949
1954
|
} catch (t) {
|
|
1950
|
-
console.error(`Error occured while getting holdings: ${t}`);
|
|
1955
|
+
console.error(`Error occured while getting holdings: ${t}`), this.globalStore.captureException(t, { store: "HoldingStore" });
|
|
1951
1956
|
}
|
|
1952
1957
|
};
|
|
1953
1958
|
setAnalysisType = (t) => {
|
|
@@ -1964,18 +1969,18 @@ class Ge {
|
|
|
1964
1969
|
});
|
|
1965
1970
|
}
|
|
1966
1971
|
} catch (e) {
|
|
1967
|
-
console.error(`Error occurred while updating holding: ${e}`);
|
|
1972
|
+
console.error(`Error occurred while updating holding: ${e}`), this.globalStore.captureException(e, { store: "HoldingStore" });
|
|
1968
1973
|
}
|
|
1969
1974
|
};
|
|
1970
1975
|
}
|
|
1971
|
-
class
|
|
1976
|
+
class $e {
|
|
1972
1977
|
globalStore;
|
|
1973
1978
|
api = new at("/", "");
|
|
1974
1979
|
merchant = null;
|
|
1975
1980
|
merchants = [];
|
|
1976
1981
|
isLoading = !1;
|
|
1977
1982
|
constructor(t) {
|
|
1978
|
-
this.globalStore = t, this.api = new at(t.endpoint, t.sessionToken, t.onError),
|
|
1983
|
+
this.globalStore = t, this.api = new at(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
1979
1984
|
}
|
|
1980
1985
|
loadMerchants = async (t = "") => {
|
|
1981
1986
|
this.isLoading = !0;
|
|
@@ -1989,9 +1994,9 @@ class Ne {
|
|
|
1989
1994
|
c(() => this.merchant = e);
|
|
1990
1995
|
};
|
|
1991
1996
|
}
|
|
1992
|
-
class
|
|
1997
|
+
class Ne {
|
|
1993
1998
|
globalStore;
|
|
1994
|
-
accountsApi = new
|
|
1999
|
+
accountsApi = new N("/", "");
|
|
1995
2000
|
monthlyAccountBalances = [];
|
|
1996
2001
|
monthlyAccountBalancesLoaded = !1;
|
|
1997
2002
|
hoveredIndex = -1;
|
|
@@ -1999,11 +2004,12 @@ class Be {
|
|
|
1999
2004
|
timeframe = 6;
|
|
2000
2005
|
// default timeframe is 6 months
|
|
2001
2006
|
constructor(t) {
|
|
2002
|
-
this.globalStore = t, this.accountsApi = new
|
|
2007
|
+
this.globalStore = t, this.accountsApi = new N(
|
|
2003
2008
|
t.endpoint,
|
|
2004
2009
|
t.sessionToken,
|
|
2005
|
-
t.onError
|
|
2006
|
-
|
|
2010
|
+
t.onError,
|
|
2011
|
+
t.onCaptureException
|
|
2012
|
+
), h(this);
|
|
2007
2013
|
}
|
|
2008
2014
|
get isNetWorthDataLoaded() {
|
|
2009
2015
|
return this.globalStore.accountStore.isAccountDataLoaded && this.monthlyAccountBalancesLoaded;
|
|
@@ -2056,7 +2062,7 @@ class Be {
|
|
|
2056
2062
|
try {
|
|
2057
2063
|
return await this.accountsApi.getMonthlyAccountBalances(t);
|
|
2058
2064
|
} catch (e) {
|
|
2059
|
-
return console.error(`Error occured while fetching monthly account balances: ${e}`), [];
|
|
2065
|
+
return console.error(`Error occured while fetching monthly account balances: ${e}`), this.globalStore.captureException(e, { store: "NetWorthStore" }), [];
|
|
2060
2066
|
}
|
|
2061
2067
|
};
|
|
2062
2068
|
setHoveredIndex = (t) => this.hoveredIndex = t;
|
|
@@ -2066,7 +2072,7 @@ class Be {
|
|
|
2066
2072
|
setSelectedIndex = (t) => this.selectedIndex = t;
|
|
2067
2073
|
setTimeframe = (t) => this.timeframe = t;
|
|
2068
2074
|
}
|
|
2069
|
-
class
|
|
2075
|
+
class Be {
|
|
2070
2076
|
globalStore;
|
|
2071
2077
|
api = new nt("/", "");
|
|
2072
2078
|
isLoading = !0;
|
|
@@ -2076,8 +2082,9 @@ class xe {
|
|
|
2076
2082
|
this.globalStore = t, this.api = new nt(
|
|
2077
2083
|
t.endpoint,
|
|
2078
2084
|
t.sessionToken,
|
|
2079
|
-
t.onError
|
|
2080
|
-
|
|
2085
|
+
t.onError,
|
|
2086
|
+
t.onCaptureException
|
|
2087
|
+
), h(this, { notifications: Tt });
|
|
2081
2088
|
}
|
|
2082
2089
|
// Used in Money Dashboard
|
|
2083
2090
|
get newNotifications() {
|
|
@@ -2095,7 +2102,7 @@ class xe {
|
|
|
2095
2102
|
const t = await this.api.getNotifications();
|
|
2096
2103
|
this.setNotifications(t);
|
|
2097
2104
|
} catch (t) {
|
|
2098
|
-
console.error(`Error occurred while loading notifications: ${t}`);
|
|
2105
|
+
console.error(`Error occurred while loading notifications: ${t}`), this.globalStore.captureException(t, { store: "NotificationStore" });
|
|
2099
2106
|
} finally {
|
|
2100
2107
|
c(() => {
|
|
2101
2108
|
this.isLoading = !1;
|
|
@@ -2109,14 +2116,14 @@ class xe {
|
|
|
2109
2116
|
t.has_been_viewed = !0, await this.api.updateNotification(t);
|
|
2110
2117
|
};
|
|
2111
2118
|
}
|
|
2112
|
-
const
|
|
2119
|
+
const ht = (n, t) => gt(t.expectedDate, n), A = (n, t) => n + t.amount;
|
|
2113
2120
|
class Me {
|
|
2114
2121
|
globalStore;
|
|
2115
2122
|
api = new it("/", "");
|
|
2116
2123
|
repeatingTransactions = [];
|
|
2117
2124
|
isDataLoaded = !1;
|
|
2118
2125
|
selectedDay;
|
|
2119
|
-
dateRange = { start:
|
|
2126
|
+
dateRange = { start: C(y()), end: T(y()) };
|
|
2120
2127
|
selectedRepeatingTransactionGuid = null;
|
|
2121
2128
|
selectedRecurrence = null;
|
|
2122
2129
|
alert = { message: "", severity: void 0 };
|
|
@@ -2125,7 +2132,7 @@ class Me {
|
|
|
2125
2132
|
t.endpoint,
|
|
2126
2133
|
t.sessionToken,
|
|
2127
2134
|
t.onError
|
|
2128
|
-
),
|
|
2135
|
+
), h(this, {
|
|
2129
2136
|
recurrencesForRange: !1,
|
|
2130
2137
|
upcomingExpensesForRange: !1,
|
|
2131
2138
|
upcomingIncomeForRange: !1,
|
|
@@ -2158,13 +2165,13 @@ class Me {
|
|
|
2158
2165
|
* Returns the upcoming expense recurrences scoped to the supplied date range.
|
|
2159
2166
|
*/
|
|
2160
2167
|
upcomingExpensesForRange = (t) => this.recurrencesForRange(t).filter(
|
|
2161
|
-
(e) => e.type ===
|
|
2168
|
+
(e) => e.type === x.Expense && e.status === f.Upcoming
|
|
2162
2169
|
);
|
|
2163
2170
|
/**
|
|
2164
2171
|
* Returns the income recurrences scoped to the supplied date range.
|
|
2165
2172
|
*/
|
|
2166
2173
|
incomeForRange = (t) => this.recurrencesForRange(t).filter(
|
|
2167
|
-
(e) => e.type ===
|
|
2174
|
+
(e) => e.type === x.Income
|
|
2168
2175
|
);
|
|
2169
2176
|
/**
|
|
2170
2177
|
* Returns the upcoming income recurrences scoped to the supplied date range.
|
|
@@ -2206,7 +2213,7 @@ class Me {
|
|
|
2206
2213
|
*/
|
|
2207
2214
|
get expenses() {
|
|
2208
2215
|
return this.recurrences.filter(
|
|
2209
|
-
(t) => t.type ===
|
|
2216
|
+
(t) => t.type === x.Expense
|
|
2210
2217
|
);
|
|
2211
2218
|
}
|
|
2212
2219
|
/**
|
|
@@ -2222,7 +2229,7 @@ class Me {
|
|
|
2222
2229
|
*/
|
|
2223
2230
|
get income() {
|
|
2224
2231
|
return this.recurrences.filter(
|
|
2225
|
-
(t) => t.type ===
|
|
2232
|
+
(t) => t.type === x.Income
|
|
2226
2233
|
);
|
|
2227
2234
|
}
|
|
2228
2235
|
/**
|
|
@@ -2241,7 +2248,7 @@ class Me {
|
|
|
2241
2248
|
*/
|
|
2242
2249
|
get currentMonthExpenses() {
|
|
2243
2250
|
return this.expenses.filter(
|
|
2244
|
-
(t) =>
|
|
2251
|
+
(t) => ht(this.dateRange, t)
|
|
2245
2252
|
);
|
|
2246
2253
|
}
|
|
2247
2254
|
/**
|
|
@@ -2249,7 +2256,7 @@ class Me {
|
|
|
2249
2256
|
*/
|
|
2250
2257
|
get currentMonthIncome() {
|
|
2251
2258
|
return this.income.filter(
|
|
2252
|
-
(t) =>
|
|
2259
|
+
(t) => ht(this.dateRange, t)
|
|
2253
2260
|
);
|
|
2254
2261
|
}
|
|
2255
2262
|
/**
|
|
@@ -2339,7 +2346,7 @@ class Me {
|
|
|
2339
2346
|
const t = await this.api.getRepeatingTransactions();
|
|
2340
2347
|
this.setRepeatingTransactions(t);
|
|
2341
2348
|
} catch (t) {
|
|
2342
|
-
console.error(`Error occurred while getting repeating transactions: ${t}`);
|
|
2349
|
+
console.error(`Error occurred while getting repeating transactions: ${t}`), this.globalStore.captureException(t, { store: "RecurringTransactionsStore" });
|
|
2343
2350
|
}
|
|
2344
2351
|
};
|
|
2345
2352
|
/**
|
|
@@ -2364,7 +2371,7 @@ class Me {
|
|
|
2364
2371
|
];
|
|
2365
2372
|
});
|
|
2366
2373
|
} catch (s) {
|
|
2367
|
-
console.error(`Error occurred while adding repeating transaction: ${s}`);
|
|
2374
|
+
console.error(`Error occurred while adding repeating transaction: ${s}`), this.globalStore.captureException(s, { store: "RecurringTransactionsStore" });
|
|
2368
2375
|
}
|
|
2369
2376
|
};
|
|
2370
2377
|
/**
|
|
@@ -2379,7 +2386,7 @@ class Me {
|
|
|
2379
2386
|
];
|
|
2380
2387
|
});
|
|
2381
2388
|
} catch (e) {
|
|
2382
|
-
console.error(`Error occurred while deleting repeating transaction: ${e}`);
|
|
2389
|
+
console.error(`Error occurred while deleting repeating transaction: ${e}`), this.globalStore.captureException(e, { store: "RecurringTransactionsStore" });
|
|
2383
2390
|
}
|
|
2384
2391
|
};
|
|
2385
2392
|
/**
|
|
@@ -2404,7 +2411,7 @@ class Me {
|
|
|
2404
2411
|
];
|
|
2405
2412
|
});
|
|
2406
2413
|
} catch (e) {
|
|
2407
|
-
console.error(`Error occurred while updating repeating transaction: ${e}`);
|
|
2414
|
+
console.error(`Error occurred while updating repeating transaction: ${e}`), this.globalStore.captureException(e, { store: "RecurringTransactionsStore" });
|
|
2408
2415
|
}
|
|
2409
2416
|
};
|
|
2410
2417
|
/**
|
|
@@ -2419,7 +2426,7 @@ class Me {
|
|
|
2419
2426
|
repeating_transaction_guid: t
|
|
2420
2427
|
}), await this.loadRepeatingTransactions(), this.setSelectedRecurrence(null), this.setAlert(this.copy.link_transaction_success, "success");
|
|
2421
2428
|
} catch (s) {
|
|
2422
|
-
console.error(`Error occurred while marking recurrence as paid: ${s}`), this.setAlert(this.copy.link_transaction_error, "error");
|
|
2429
|
+
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
2430
|
}
|
|
2424
2431
|
};
|
|
2425
2432
|
/**
|
|
@@ -2433,14 +2440,14 @@ class Me {
|
|
|
2433
2440
|
repeating_transaction_guid: null
|
|
2434
2441
|
}), await this.loadRepeatingTransactions(), this.setSelectedRecurrence(null), this.setAlert(this.copy.unlink_transaction_success, "success");
|
|
2435
2442
|
} catch (e) {
|
|
2436
|
-
console.error(`Error occurred while marking recurrence as unpaid: ${e}`), this.setAlert(this.copy.unlink_transaction_error, "error");
|
|
2443
|
+
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
2444
|
}
|
|
2438
2445
|
};
|
|
2439
2446
|
setAlert = (t, e = void 0) => this.alert = { message: t, severity: e };
|
|
2440
2447
|
}
|
|
2441
|
-
const
|
|
2442
|
-
[
|
|
2443
|
-
[
|
|
2448
|
+
const dt = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
2449
|
+
[$.BudgetExceeded]: t.notification_budget_exceeded,
|
|
2450
|
+
[$.BudgetOffTarget]: t.notification_budget_off_target,
|
|
2444
2451
|
[_.DebtPaymentReminder]: t.notification_debt_payment_reminder,
|
|
2445
2452
|
[_.AccountBalanceLow]: t.notification_low_balance,
|
|
2446
2453
|
[_.AccountDepositLargePosted]: t.notification_large_deposit,
|
|
@@ -2475,21 +2482,21 @@ const ht = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
|
2475
2482
|
const r = [], {
|
|
2476
2483
|
email_notifications_enabled: l,
|
|
2477
2484
|
sms_notifications_enabled: p,
|
|
2478
|
-
push_notifications_enabled:
|
|
2485
|
+
push_notifications_enabled: w
|
|
2479
2486
|
} = t, {
|
|
2480
2487
|
opted_out_of_email_notifications: _t,
|
|
2481
2488
|
opted_out_of_sms_notifications: ft,
|
|
2482
2489
|
opted_out_of_push_notifications: yt
|
|
2483
2490
|
} = a;
|
|
2484
|
-
for (const
|
|
2485
|
-
const R = Oe(
|
|
2486
|
-
(
|
|
2491
|
+
for (const E of s.filter((R) => R.entity_guid === dt)) {
|
|
2492
|
+
const R = Oe(E.notification_type, e), St = s.filter(
|
|
2493
|
+
(I) => I.entity_guid !== dt && I.notification_type === E.notification_type && n.some((M) => M.guid === I.entity_guid)
|
|
2487
2494
|
), D = [];
|
|
2488
|
-
l && !_t &&
|
|
2489
|
-
...
|
|
2490
|
-
children:
|
|
2491
|
-
...
|
|
2492
|
-
account: n.find((M) => M.guid ===
|
|
2495
|
+
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({
|
|
2496
|
+
...E,
|
|
2497
|
+
children: St.map((I) => ({
|
|
2498
|
+
...I,
|
|
2499
|
+
account: n.find((M) => M.guid === I.entity_guid),
|
|
2493
2500
|
label: R
|
|
2494
2501
|
})),
|
|
2495
2502
|
deliveryMethodsLabel: D.join(", "),
|
|
@@ -2501,18 +2508,19 @@ const ht = "PARENT-ENTITY", Oe = (n, t) => ({
|
|
|
2501
2508
|
class Fe {
|
|
2502
2509
|
globalStore;
|
|
2503
2510
|
api = new rt("/", "");
|
|
2504
|
-
transactionApi = new
|
|
2511
|
+
transactionApi = new B("/", "");
|
|
2505
2512
|
alert = { message: "", severity: void 0 };
|
|
2506
2513
|
devices = [];
|
|
2507
2514
|
notificationProfiles = [];
|
|
2508
2515
|
selectedRule = void 0;
|
|
2509
2516
|
transactionRules = [];
|
|
2510
2517
|
constructor(t) {
|
|
2511
|
-
this.globalStore = t, this.api = new rt(t.endpoint, t.sessionToken, t.onError), this.transactionApi = new
|
|
2518
|
+
this.globalStore = t, this.api = new rt(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), this.transactionApi = new B(
|
|
2512
2519
|
t.endpoint,
|
|
2513
2520
|
t.sessionToken,
|
|
2514
|
-
t.onError
|
|
2515
|
-
|
|
2521
|
+
t.onError,
|
|
2522
|
+
t.onCaptureException
|
|
2523
|
+
), h(this);
|
|
2516
2524
|
}
|
|
2517
2525
|
get accountProfiles() {
|
|
2518
2526
|
const t = this.globalStore.appDataStore.clientCommunicationProfile;
|
|
@@ -2523,7 +2531,7 @@ class Fe {
|
|
|
2523
2531
|
get budgetProfiles() {
|
|
2524
2532
|
const t = this.globalStore.appDataStore.clientCommunicationProfile;
|
|
2525
2533
|
return this.detailedNotificationProfiles.filter(
|
|
2526
|
-
(e) => e.notification_type ===
|
|
2534
|
+
(e) => e.notification_type === $.BudgetExceeded && t.budget_exceeded_notifications_enabled || e.notification_type === $.BudgetOffTarget && t.budget_off_target_notifications_enabled
|
|
2527
2535
|
);
|
|
2528
2536
|
}
|
|
2529
2537
|
get insightsProfiles() {
|
|
@@ -2557,22 +2565,22 @@ class Fe {
|
|
|
2557
2565
|
return e >= 0 && c(() => {
|
|
2558
2566
|
this.devices.splice(e, 1);
|
|
2559
2567
|
}), { success: !0 };
|
|
2560
|
-
} catch {
|
|
2561
|
-
return console.error(`Error deleting device: ${t}`), { success: !1 };
|
|
2568
|
+
} catch (e) {
|
|
2569
|
+
return console.error(`Error deleting device: ${t}`), this.globalStore.captureException(e, { store: "SettingsStore" }), { success: !1 };
|
|
2562
2570
|
}
|
|
2563
2571
|
};
|
|
2564
2572
|
deleteTransactionRule = async () => {
|
|
2565
2573
|
this.selectedRule && this.transactionApi.removeTransactionRule(this.selectedRule?.guid).then(() => {
|
|
2566
2574
|
this.setAlert(this.copy.delete_rule_success, "success"), this.loadTransactionRules();
|
|
2567
|
-
}).catch(() => {
|
|
2568
|
-
this.setAlert(this.copy.delete_rule_error, "error");
|
|
2575
|
+
}).catch((t) => {
|
|
2576
|
+
this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.delete_rule_error, "error");
|
|
2569
2577
|
});
|
|
2570
2578
|
};
|
|
2571
2579
|
generateDeviceToken = async () => {
|
|
2572
2580
|
try {
|
|
2573
2581
|
return await this.api.generateDeviceToken();
|
|
2574
2582
|
} catch (t) {
|
|
2575
|
-
console.error(`Error generating device token: ${t}`);
|
|
2583
|
+
console.error(`Error generating device token: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2576
2584
|
}
|
|
2577
2585
|
};
|
|
2578
2586
|
loadDevices = async () => {
|
|
@@ -2582,7 +2590,7 @@ class Fe {
|
|
|
2582
2590
|
this.devices = t;
|
|
2583
2591
|
});
|
|
2584
2592
|
} catch (t) {
|
|
2585
|
-
console.error(`Error loading devices: ${t}`);
|
|
2593
|
+
console.error(`Error loading devices: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2586
2594
|
}
|
|
2587
2595
|
};
|
|
2588
2596
|
loadNotificationProfiles = async () => {
|
|
@@ -2592,7 +2600,7 @@ class Fe {
|
|
|
2592
2600
|
this.notificationProfiles = t;
|
|
2593
2601
|
});
|
|
2594
2602
|
} catch (t) {
|
|
2595
|
-
console.error(`Error loading notification profiles: ${t}`);
|
|
2603
|
+
console.error(`Error loading notification profiles: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2596
2604
|
}
|
|
2597
2605
|
};
|
|
2598
2606
|
loadTransactionRules = async () => {
|
|
@@ -2602,21 +2610,21 @@ class Fe {
|
|
|
2602
2610
|
this.transactionRules = t;
|
|
2603
2611
|
});
|
|
2604
2612
|
} catch (t) {
|
|
2605
|
-
console.error(`Error loading transaction rules: ${t}`);
|
|
2613
|
+
console.error(`Error loading transaction rules: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" });
|
|
2606
2614
|
}
|
|
2607
2615
|
};
|
|
2608
2616
|
sendEmailVerification = async () => {
|
|
2609
2617
|
try {
|
|
2610
2618
|
await this.api.sendEmailVerification(), this.setAlert(this.copy.verification_sent_success, "success");
|
|
2611
2619
|
} catch (t) {
|
|
2612
|
-
console.error(`Error sending email verification: ${t}`), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2620
|
+
console.error(`Error sending email verification: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2613
2621
|
}
|
|
2614
2622
|
};
|
|
2615
2623
|
sendPhoneVerification = async () => {
|
|
2616
2624
|
try {
|
|
2617
2625
|
await this.api.sendPhoneVerification(), this.setAlert(this.copy.verification_sent_success, "success");
|
|
2618
2626
|
} catch (t) {
|
|
2619
|
-
console.error(`Error sending phone verification: ${t}`), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2627
|
+
console.error(`Error sending phone verification: ${t}`), this.globalStore.captureException(t, { store: "SettingsStore" }), this.setAlert(this.copy.verification_sent_error, "error");
|
|
2620
2628
|
}
|
|
2621
2629
|
};
|
|
2622
2630
|
setAlert = (t, e = void 0) => this.alert = { message: t, severity: e };
|
|
@@ -2630,7 +2638,7 @@ class Fe {
|
|
|
2630
2638
|
this.devices[s] = e;
|
|
2631
2639
|
}), { success: !0 };
|
|
2632
2640
|
} catch (e) {
|
|
2633
|
-
return console.error(`Error updating device: ${e}`), { success: !1 };
|
|
2641
|
+
return console.error(`Error updating device: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" }), { success: !1 };
|
|
2634
2642
|
}
|
|
2635
2643
|
};
|
|
2636
2644
|
updateNotificationProfile = async (t) => {
|
|
@@ -2640,7 +2648,7 @@ class Fe {
|
|
|
2640
2648
|
this.notificationProfiles[s] = e;
|
|
2641
2649
|
});
|
|
2642
2650
|
} catch (e) {
|
|
2643
|
-
console.error(`Error updating notification profile: ${e}`);
|
|
2651
|
+
console.error(`Error updating notification profile: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" });
|
|
2644
2652
|
}
|
|
2645
2653
|
};
|
|
2646
2654
|
updateRuleCategory = async (t) => {
|
|
@@ -2651,15 +2659,15 @@ class Fe {
|
|
|
2651
2659
|
updateRulePayee = async (t) => {
|
|
2652
2660
|
this.transactionApi.updateTransactionRule(t).then(() => {
|
|
2653
2661
|
this.setAlert(this.copy.edit_payee_success, "success"), this.loadTransactionRules();
|
|
2654
|
-
}).catch(() => {
|
|
2655
|
-
this.setAlert(this.copy.edit_payee_error, "error");
|
|
2662
|
+
}).catch((e) => {
|
|
2663
|
+
this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.edit_payee_error, "error");
|
|
2656
2664
|
});
|
|
2657
2665
|
};
|
|
2658
2666
|
updateUser = async (t) => {
|
|
2659
2667
|
this.globalStore.userStore.updateUser(t).then(() => {
|
|
2660
2668
|
this.setAlert(this.copy.information_updated_success, "success");
|
|
2661
|
-
}).catch(() => {
|
|
2662
|
-
this.setAlert(this.copy.information_updated_error, "error");
|
|
2669
|
+
}).catch((e) => {
|
|
2670
|
+
this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.information_updated_error, "error");
|
|
2663
2671
|
});
|
|
2664
2672
|
};
|
|
2665
2673
|
updateUserCommunicationProfile = async (t) => {
|
|
@@ -2667,7 +2675,7 @@ class Fe {
|
|
|
2667
2675
|
const e = await this.api.updateUserCommunicationProfile(t);
|
|
2668
2676
|
this.globalStore.appDataStore.setUserCommunicationProfile(e);
|
|
2669
2677
|
} catch (e) {
|
|
2670
|
-
console.error(`Error occurred while updating user communication profile: ${e}`);
|
|
2678
|
+
console.error(`Error occurred while updating user communication profile: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" });
|
|
2671
2679
|
}
|
|
2672
2680
|
};
|
|
2673
2681
|
verifyPhoneToken = async (t) => {
|
|
@@ -2677,15 +2685,15 @@ class Fe {
|
|
|
2677
2685
|
throw new Error();
|
|
2678
2686
|
this.setAlert(this.copy.verified_phone_success, "success");
|
|
2679
2687
|
} catch (e) {
|
|
2680
|
-
console.error(`Error verifying phone token: ${e}`), this.setAlert(this.copy.verified_phone_error, "error");
|
|
2688
|
+
console.error(`Error verifying phone token: ${e}`), this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.verified_phone_error, "error");
|
|
2681
2689
|
}
|
|
2682
2690
|
};
|
|
2683
2691
|
}
|
|
2684
2692
|
class Ue {
|
|
2685
2693
|
globalStore;
|
|
2686
2694
|
uiStore;
|
|
2687
|
-
api = new
|
|
2688
|
-
beatApi = new
|
|
2695
|
+
api = new B("/", "");
|
|
2696
|
+
beatApi = new v("/", "");
|
|
2689
2697
|
associatedBeats = [];
|
|
2690
2698
|
associatedBeatsLoaded = !1;
|
|
2691
2699
|
associatedBeatsLoading = !1;
|
|
@@ -2707,17 +2715,18 @@ class Ue {
|
|
|
2707
2715
|
isLoading = !0;
|
|
2708
2716
|
alert = "";
|
|
2709
2717
|
sortColumn = Gt.DATE;
|
|
2710
|
-
sortDirection =
|
|
2718
|
+
sortDirection = $t.DESC;
|
|
2711
2719
|
constructor(t) {
|
|
2712
|
-
this.globalStore = t, this.uiStore = new ke(), this.api = new
|
|
2720
|
+
this.globalStore = t, this.uiStore = new ke(), this.api = new B(
|
|
2713
2721
|
t.endpoint,
|
|
2714
2722
|
t.sessionToken,
|
|
2715
|
-
t.onError
|
|
2716
|
-
|
|
2723
|
+
t.onError,
|
|
2724
|
+
t.onCaptureException
|
|
2725
|
+
), this.beatApi = new v(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
2717
2726
|
}
|
|
2718
2727
|
loadTransactionData = async () => {
|
|
2719
2728
|
this.globalStore.accountStore.isAccountDataLoaded || await this.globalStore.accountStore.loadAccountData(), this.globalStore.categoryStore.categoriesLoaded || await this.globalStore.categoryStore.loadCategories(), await Promise.all([
|
|
2720
|
-
this.loadAssociatedBeats(
|
|
2729
|
+
this.loadAssociatedBeats(C(/* @__PURE__ */ new Date())),
|
|
2721
2730
|
this.loadTags(),
|
|
2722
2731
|
this.loadTaggings(),
|
|
2723
2732
|
this.loadTransactionRules(),
|
|
@@ -2729,7 +2738,7 @@ class Ue {
|
|
|
2729
2738
|
return this.associatedBeatsLoaded && this.tagsLoaded && this.taggingsLoaded && this.transactionRulesLoaded && this.transactionsLoaded;
|
|
2730
2739
|
}
|
|
2731
2740
|
get detailedTransactions() {
|
|
2732
|
-
return this.isTransactionDataLoaded ?
|
|
2741
|
+
return this.isTransactionDataLoaded ? Nt(
|
|
2733
2742
|
this.transactions,
|
|
2734
2743
|
this.globalStore.accountStore.visibleAccounts,
|
|
2735
2744
|
this.globalStore.categoryStore.categories,
|
|
@@ -2737,7 +2746,7 @@ class Ue {
|
|
|
2737
2746
|
) : [];
|
|
2738
2747
|
}
|
|
2739
2748
|
get sortedTransactions() {
|
|
2740
|
-
return
|
|
2749
|
+
return Bt(
|
|
2741
2750
|
this.filter,
|
|
2742
2751
|
this.uiStore.expandedSplits,
|
|
2743
2752
|
this.sortColumn,
|
|
@@ -2806,11 +2815,7 @@ class Ue {
|
|
|
2806
2815
|
const s = await this.beatApi.getBeatsWithAssociatedTransaction(e);
|
|
2807
2816
|
this.setAssociatedBeats(s);
|
|
2808
2817
|
} catch (s) {
|
|
2809
|
-
console.error(`Error occurred while loading associated beats: ${s}`);
|
|
2810
|
-
} finally {
|
|
2811
|
-
c(() => {
|
|
2812
|
-
this.associatedBeatsLoading = !1;
|
|
2813
|
-
});
|
|
2818
|
+
console.error(`Error occurred while loading associated beats: ${s}`), this.globalStore.captureException(s, { store: "TransactionStore" });
|
|
2814
2819
|
}
|
|
2815
2820
|
};
|
|
2816
2821
|
loadTags = async () => {
|
|
@@ -2820,11 +2825,7 @@ class Ue {
|
|
|
2820
2825
|
const t = await this.api.getTags();
|
|
2821
2826
|
this.setTags(t);
|
|
2822
2827
|
} catch (t) {
|
|
2823
|
-
console.error(`Error occurred while loading tags: ${t}`);
|
|
2824
|
-
} finally {
|
|
2825
|
-
c(() => {
|
|
2826
|
-
this.tagsLoading = !1;
|
|
2827
|
-
});
|
|
2828
|
+
console.error(`Error occurred while loading tags: ${t}`), this.globalStore.captureException(t, { store: "TransactionStore" });
|
|
2828
2829
|
}
|
|
2829
2830
|
}
|
|
2830
2831
|
};
|
|
@@ -2835,47 +2836,29 @@ class Ue {
|
|
|
2835
2836
|
const t = await this.api.getTaggings();
|
|
2836
2837
|
this.setTaggings(t);
|
|
2837
2838
|
} catch (t) {
|
|
2838
|
-
console.error(`Error occurred while loading taggings: ${t}`);
|
|
2839
|
-
} finally {
|
|
2840
|
-
c(() => {
|
|
2841
|
-
this.taggingsLoading = !1;
|
|
2842
|
-
});
|
|
2839
|
+
console.error(`Error occurred while loading taggings: ${t}`), this.globalStore.captureException(t, { store: "TransactionStore" });
|
|
2843
2840
|
}
|
|
2844
2841
|
}
|
|
2845
2842
|
};
|
|
2846
2843
|
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
|
-
}
|
|
2844
|
+
if (this.transactionRulesLoading) return;
|
|
2845
|
+
this.transactionRulesLoading = !0;
|
|
2846
|
+
const t = await this.api.getTransactionRules();
|
|
2847
|
+
this.setTransactionRules(t);
|
|
2860
2848
|
};
|
|
2861
2849
|
loadTransactions = async (t = this.cachedStartDate) => {
|
|
2862
2850
|
if (!this.transactionsLoading) {
|
|
2863
|
-
this.setIsLoading(!0), this.transactionsLoading = !0;
|
|
2851
|
+
this.setIsLoading(!0), this.transactionsLoading = !0, this.transactions = [];
|
|
2864
2852
|
try {
|
|
2865
2853
|
const e = await this.api.getTransactionsByDateRange(
|
|
2866
|
-
|
|
2867
|
-
|
|
2854
|
+
S(t),
|
|
2855
|
+
S(q())
|
|
2868
2856
|
);
|
|
2869
|
-
this.setTransactions(e)
|
|
2870
|
-
this.cachedStartDate = t;
|
|
2871
|
-
});
|
|
2857
|
+
this.setTransactions(e);
|
|
2872
2858
|
} catch (e) {
|
|
2873
|
-
console.error(`Error occurred while loading transactions: ${e}`);
|
|
2874
|
-
} finally {
|
|
2875
|
-
c(() => {
|
|
2876
|
-
this.transactionsLoading = !1;
|
|
2877
|
-
}), this.setIsLoading(!1);
|
|
2859
|
+
console.error(`Error occurred while loading transactions: ${e}`), this.globalStore.captureException(e, { store: "TransactionStore" });
|
|
2878
2860
|
}
|
|
2861
|
+
this.setIsLoading(!1);
|
|
2879
2862
|
}
|
|
2880
2863
|
};
|
|
2881
2864
|
modifyTransactionByAccountGuid = (t, e) => {
|
|
@@ -2898,7 +2881,9 @@ class Ue {
|
|
|
2898
2881
|
}
|
|
2899
2882
|
};
|
|
2900
2883
|
setFilter = (t) => {
|
|
2901
|
-
this.filter = t, t.dateRange && H(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start)
|
|
2884
|
+
this.filter = t, t.dateRange && H(t.dateRange.start, this.cachedStartDate) && this.loadTransactions(t.dateRange.start).then(() => {
|
|
2885
|
+
t.dateRange && (this.cachedStartDate = t.dateRange.start);
|
|
2886
|
+
});
|
|
2902
2887
|
};
|
|
2903
2888
|
setIsLoading = (t) => this.isLoading = t;
|
|
2904
2889
|
splitTransaction = async (t, e) => {
|
|
@@ -2965,17 +2950,17 @@ class Ue {
|
|
|
2965
2950
|
loadEmbeddedInstanceTransactions = async (t) => {
|
|
2966
2951
|
try {
|
|
2967
2952
|
const e = await this.api.getTransactionsByDateRange(
|
|
2968
|
-
|
|
2969
|
-
|
|
2953
|
+
S(t),
|
|
2954
|
+
S(q())
|
|
2970
2955
|
);
|
|
2971
2956
|
this.cachedStartDate = t, this.transactions = e;
|
|
2972
2957
|
} catch (e) {
|
|
2973
|
-
console.error(`Error occurred while loading embedded instance transactions: ${e}`);
|
|
2958
|
+
console.error(`Error occurred while loading embedded instance transactions: ${e}`), this.globalStore.captureException(e, { store: "TransactionStore" });
|
|
2974
2959
|
}
|
|
2975
2960
|
};
|
|
2976
2961
|
}
|
|
2977
2962
|
class ke {
|
|
2978
|
-
beginDate =
|
|
2963
|
+
beginDate = C(/* @__PURE__ */ new Date());
|
|
2979
2964
|
endDate = T(/* @__PURE__ */ new Date());
|
|
2980
2965
|
expandedSplits = [];
|
|
2981
2966
|
height = 550;
|
|
@@ -2987,7 +2972,7 @@ class ke {
|
|
|
2987
2972
|
isAmountValid = !1;
|
|
2988
2973
|
showInsights = !1;
|
|
2989
2974
|
constructor() {
|
|
2990
|
-
|
|
2975
|
+
h(this);
|
|
2991
2976
|
}
|
|
2992
2977
|
setDateRange = (t, e) => {
|
|
2993
2978
|
this.beginDate = t, this.endDate = e;
|
|
@@ -3022,7 +3007,7 @@ class He {
|
|
|
3022
3007
|
this.globalStore = t, this.selectedDateRange = {
|
|
3023
3008
|
start: se(T(G(/* @__PURE__ */ new Date(), 6)), 1),
|
|
3024
3009
|
end: T(/* @__PURE__ */ new Date())
|
|
3025
|
-
},
|
|
3010
|
+
}, h(this);
|
|
3026
3011
|
}
|
|
3027
3012
|
setSelectedCategoryData = (t) => {
|
|
3028
3013
|
this.selectedCategoryData = t;
|
|
@@ -3064,7 +3049,7 @@ class We {
|
|
|
3064
3049
|
userFeatures = [];
|
|
3065
3050
|
userFeaturesLoaded = !1;
|
|
3066
3051
|
constructor(t) {
|
|
3067
|
-
this.globalStore = t, this.api = new ot(t.endpoint, t.sessionToken, t.onError),
|
|
3052
|
+
this.globalStore = t, this.api = new ot(t.endpoint, t.sessionToken, t.onError, t.onCaptureException), h(this);
|
|
3068
3053
|
}
|
|
3069
3054
|
get userProfile() {
|
|
3070
3055
|
return this.globalStore.appDataStore.userProfile;
|
|
@@ -3080,7 +3065,7 @@ class We {
|
|
|
3080
3065
|
const t = await this.api.getUserFeatures();
|
|
3081
3066
|
this.setUserFeatures(t);
|
|
3082
3067
|
} catch (t) {
|
|
3083
|
-
console.error(`Error occurred while loading user features: ${t}`);
|
|
3068
|
+
console.error(`Error occurred while loading user features: ${t}`), this.globalStore.captureException(t, { store: "UserStore" });
|
|
3084
3069
|
}
|
|
3085
3070
|
};
|
|
3086
3071
|
updateUser = async (t) => {
|
|
@@ -3088,7 +3073,7 @@ class We {
|
|
|
3088
3073
|
const e = await this.api.updateUser(t);
|
|
3089
3074
|
this.globalStore.appDataStore.setUser(e);
|
|
3090
3075
|
} catch (e) {
|
|
3091
|
-
console.error(`Error updating User: ${e}`);
|
|
3076
|
+
console.error(`Error updating User: ${e}`), this.globalStore.captureException(e, { store: "UserStore" });
|
|
3092
3077
|
}
|
|
3093
3078
|
};
|
|
3094
3079
|
updateUserProfile = async (t) => {
|
|
@@ -3096,12 +3081,12 @@ class We {
|
|
|
3096
3081
|
const e = await this.api.updateUserProfile(t);
|
|
3097
3082
|
this.globalStore.appDataStore.setUserProfile(e);
|
|
3098
3083
|
} catch (e) {
|
|
3099
|
-
console.error(`Error occurred while updating user profile: ${e}`);
|
|
3084
|
+
console.error(`Error occurred while updating user profile: ${e}`), this.globalStore.captureException(e, { store: "UserStore" });
|
|
3100
3085
|
}
|
|
3101
3086
|
};
|
|
3102
3087
|
}
|
|
3103
3088
|
export {
|
|
3104
|
-
|
|
3089
|
+
N as A,
|
|
3105
3090
|
j as B,
|
|
3106
3091
|
fe as C,
|
|
3107
3092
|
Ae as D,
|
|
@@ -3109,37 +3094,37 @@ export {
|
|
|
3109
3094
|
Re as G,
|
|
3110
3095
|
et as H,
|
|
3111
3096
|
at as M,
|
|
3112
|
-
|
|
3097
|
+
Ne as N,
|
|
3113
3098
|
Me as R,
|
|
3114
3099
|
rt as S,
|
|
3115
|
-
|
|
3100
|
+
B as T,
|
|
3116
3101
|
ot as U,
|
|
3117
3102
|
ct as W,
|
|
3118
3103
|
ce as a,
|
|
3119
|
-
|
|
3104
|
+
de as b,
|
|
3120
3105
|
Y as c,
|
|
3121
|
-
|
|
3106
|
+
he as d,
|
|
3122
3107
|
pe as e,
|
|
3123
3108
|
X as f,
|
|
3124
3109
|
_e as g,
|
|
3125
3110
|
J as h,
|
|
3126
|
-
|
|
3111
|
+
Se as i,
|
|
3127
3112
|
Te as j,
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3113
|
+
Ie as k,
|
|
3114
|
+
$s as l,
|
|
3115
|
+
Ce as m,
|
|
3131
3116
|
tt as n,
|
|
3132
3117
|
De as o,
|
|
3133
|
-
|
|
3118
|
+
ve as p,
|
|
3134
3119
|
st as q,
|
|
3135
3120
|
Ge as r,
|
|
3136
|
-
|
|
3121
|
+
$e as s,
|
|
3137
3122
|
nt as t,
|
|
3138
|
-
|
|
3123
|
+
Be as u,
|
|
3139
3124
|
it as v,
|
|
3140
3125
|
Fe as w,
|
|
3141
3126
|
Ue as x,
|
|
3142
3127
|
He as y,
|
|
3143
3128
|
We as z
|
|
3144
3129
|
};
|
|
3145
|
-
//# sourceMappingURL=UserStore-
|
|
3130
|
+
//# sourceMappingURL=UserStore-DzGgxsKk.mjs.map
|