@mx-cartographer/experiences 9.2.7 → 9.2.9-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 +4 -0
- package/dist/{Analytics-B8AaC22u.mjs → Analytics-DST_WxYZ.mjs} +2 -2
- package/dist/{Analytics-B8AaC22u.mjs.map → Analytics-DST_WxYZ.mjs.map} +1 -1
- package/dist/{ApiEndpoints-DXwIYNUV.mjs → ApiEndpoints-YY8ajnnd.mjs} +2 -1
- package/dist/ApiEndpoints-YY8ajnnd.mjs.map +1 -0
- package/dist/{GlobalCopyApi-CLhyon-B.mjs → GlobalCopyApi-DNC5K2QG.mjs} +2 -2
- package/dist/{GlobalCopyApi-CLhyon-B.mjs.map → GlobalCopyApi-DNC5K2QG.mjs.map} +1 -1
- package/dist/{UserStore-CgsAunf1.mjs → UserStore-CzwmOm62.mjs} +182 -174
- package/dist/UserStore-CzwmOm62.mjs.map +1 -0
- package/dist/{ViewMoreMicroCard-B4oeGrbE.mjs → ViewMoreMicroCard-Bx9xa2z5.mjs} +3 -3
- package/dist/{ViewMoreMicroCard-B4oeGrbE.mjs.map → ViewMoreMicroCard-Bx9xa2z5.mjs.map} +1 -1
- package/dist/WidgetContainer-eosXfD5G.mjs +493 -0
- package/dist/WidgetContainer-eosXfD5G.mjs.map +1 -0
- package/dist/accounts/index.es.js +1 -1
- package/dist/budgets/index.es.js +1 -1
- package/dist/cashflow/index.es.js +1 -1
- package/dist/common/components/daterangeselector/DateRangeSelector.d.ts +14 -0
- package/dist/common/index.es.js +3 -3
- package/dist/core/api/SettingsApi.d.ts +4 -0
- package/dist/core/constants/ApiEndpoints.d.ts +1 -0
- package/dist/core/index.es.js +4 -4
- package/dist/core/stores/SettingsStore.d.ts +4 -0
- package/dist/core/types/localization/SettingsCopy.d.ts +6 -0
- package/dist/debts/index.es.js +1 -1
- package/dist/finstrong/index.es.js +1 -1
- package/dist/goals/index.es.js +1 -1
- package/dist/help/index.es.js +1 -1
- package/dist/investments/index.es.js +1 -1
- package/dist/microinsights/index.es.js +1 -1
- package/dist/networth/index.es.js +1 -1
- package/dist/notifications/index.es.js +1 -1
- package/dist/recurringtransactions/index.es.js +1 -1
- package/dist/settings/components/profile/ProfileTab.d.ts +1 -1
- package/dist/settings/components/profile/actions/ResetPasswordAction.d.ts +4 -0
- package/dist/settings/index.es.js +460 -416
- package/dist/settings/index.es.js.map +1 -1
- package/dist/spending/index.es.js +1 -1
- package/dist/transactions/index.es.js +1 -1
- package/dist/trends/index.es.js +2 -2
- package/package.json +1 -1
- package/dist/ApiEndpoints-DXwIYNUV.mjs.map +0 -1
- package/dist/UserStore-CgsAunf1.mjs.map +0 -1
- package/dist/WidgetContainer-DvKtBdhn.mjs +0 -487
- package/dist/WidgetContainer-DvKtBdhn.mjs.map +0 -1
|
@@ -2,12 +2,12 @@ import { makeAutoObservable as h, runInAction as c, reaction as gt, autorun as m
|
|
|
2
2
|
import { d as bt, g as At } from "./AccountUtils-Cbh8r9cP.mjs";
|
|
3
3
|
import { i as wt, f as Et, b as It, c as V } from "./BudgetUtil-Bg2AQJpQ.mjs";
|
|
4
4
|
import { c as d, d as $ } from "./Account-DR7Plrqy.mjs";
|
|
5
|
-
import { F as p, B as G, G as z } from "./GlobalCopyApi-
|
|
6
|
-
import { A as
|
|
5
|
+
import { F as p, B as G, G as z } from "./GlobalCopyApi-DNC5K2QG.mjs";
|
|
6
|
+
import { A as r } from "./ApiEndpoints-YY8ajnnd.mjs";
|
|
7
7
|
import Rt from "posthog-js";
|
|
8
8
|
import { endOfMonth as b } from "date-fns/endOfMonth";
|
|
9
9
|
import { startOfMonth as R } from "date-fns/startOfMonth";
|
|
10
|
-
import { startOfToday as
|
|
10
|
+
import { startOfToday as S } from "date-fns/startOfToday";
|
|
11
11
|
import { C as w, b as Ct } from "./Category-DEKZGLYe.mjs";
|
|
12
12
|
import { addDays as Dt } from "date-fns/addDays";
|
|
13
13
|
import { differenceInDays as xt } from "date-fns/differenceInDays";
|
|
@@ -27,7 +27,7 @@ import { isAfter as F } from "date-fns/isAfter";
|
|
|
27
27
|
import { isSameDay as Q } from "date-fns/isSameDay";
|
|
28
28
|
import { isWithinInterval as pt } from "date-fns/isWithinInterval";
|
|
29
29
|
import { subDays as _t } from "date-fns/subDays";
|
|
30
|
-
import { f as U, h as te, b as L, a as
|
|
30
|
+
import { f as U, h as te, b as L, a as y } from "./RecurringTransactionsUtil-CfWviBh1.mjs";
|
|
31
31
|
import { I as u, A as _, B } from "./Notification-DTNYSd8P.mjs";
|
|
32
32
|
import { endOfToday as Y } from "date-fns/endOfToday";
|
|
33
33
|
import { formatISO as ee } from "date-fns/formatISO";
|
|
@@ -42,22 +42,22 @@ class M {
|
|
|
42
42
|
constructor(t, e, s) {
|
|
43
43
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
44
44
|
}
|
|
45
|
-
createAccount = async (t) => this.fetchInstance.post(
|
|
46
|
-
deleteAccount = async (t) => this.fetchInstance.delete(`${
|
|
47
|
-
getAccounts = async () => this.fetchInstance.get(
|
|
48
|
-
getInstitutions = async () => this.fetchInstance.get(
|
|
49
|
-
getMembers = async () => this.fetchInstance.get(
|
|
50
|
-
getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${
|
|
51
|
-
mergeAccounts = async (t) => this.fetchInstance.put(`${
|
|
52
|
-
refreshAllMembers = async () => this.fetchInstance.get(`${
|
|
53
|
-
updateAccount = async (t) => this.fetchInstance.put(`${
|
|
45
|
+
createAccount = async (t) => this.fetchInstance.post(r.ACCOUNTS, t).then((e) => e.account);
|
|
46
|
+
deleteAccount = async (t) => this.fetchInstance.delete(`${r.ACCOUNTS}/${t}`);
|
|
47
|
+
getAccounts = async () => this.fetchInstance.get(r.ACCOUNTS).then((t) => t.accounts);
|
|
48
|
+
getInstitutions = async () => this.fetchInstance.get(r.INSTITUTIONS).then((t) => t);
|
|
49
|
+
getMembers = async () => this.fetchInstance.get(r.MEMBERS).then((t) => t.members);
|
|
50
|
+
getMonthlyAccountBalances = async (t) => this.fetchInstance.get(`${r.ACCOUNTS}/${t}/monthly_account_balances`).then((e) => e.monthly_account_balances);
|
|
51
|
+
mergeAccounts = async (t) => this.fetchInstance.put(`${r.ACCOUNTS}/merge`, { accounts: t }).then((e) => e);
|
|
52
|
+
refreshAllMembers = async () => this.fetchInstance.get(`${r.MEMBERS}/refresh_all`).then((t) => t);
|
|
53
|
+
updateAccount = async (t) => this.fetchInstance.put(`${r.ACCOUNTS}/${t.guid}`, t).then((e) => e.account);
|
|
54
54
|
}
|
|
55
55
|
class j {
|
|
56
56
|
fetchInstance;
|
|
57
57
|
constructor(t, e, s) {
|
|
58
58
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
59
59
|
}
|
|
60
|
-
getAppData = async () => this.fetchInstance.get(
|
|
60
|
+
getAppData = async () => this.fetchInstance.get(r.APP_DATA).then((t) => t);
|
|
61
61
|
}
|
|
62
62
|
class X {
|
|
63
63
|
fetchInstance;
|
|
@@ -81,37 +81,37 @@ class J {
|
|
|
81
81
|
constructor(t, e, s) {
|
|
82
82
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
83
83
|
}
|
|
84
|
-
addBudget = async (t, e, s = null) => this.fetchInstance.post(
|
|
84
|
+
addBudget = async (t, e, s = null) => this.fetchInstance.post(r.BUDGETS, {
|
|
85
85
|
amount: e,
|
|
86
86
|
category_guid: t.guid,
|
|
87
87
|
category_name: t.name,
|
|
88
88
|
parent_guid: s
|
|
89
89
|
}).then((a) => a.budget);
|
|
90
|
-
deleteBudget = async (t) => this.fetchInstance.delete(`${
|
|
91
|
-
getBudgets = async () => this.fetchInstance.get(
|
|
92
|
-
updateBudget = async (t) => this.fetchInstance.put(`${
|
|
93
|
-
addMerchantBudget = async (t, e) => this.fetchInstance.post(
|
|
90
|
+
deleteBudget = async (t) => this.fetchInstance.delete(`${r.BUDGETS}/${t}`).then((e) => e);
|
|
91
|
+
getBudgets = async () => this.fetchInstance.get(r.BUDGETS).then((t) => t.budgets);
|
|
92
|
+
updateBudget = async (t) => this.fetchInstance.put(`${r.BUDGETS}/${t.guid}`, t).then((e) => e.budget);
|
|
93
|
+
addMerchantBudget = async (t, e) => this.fetchInstance.post(r.MERCHANT_BUDGETS, {
|
|
94
94
|
amount: e,
|
|
95
95
|
merchant_guid: t
|
|
96
96
|
}).then((s) => s.merchant_budget);
|
|
97
|
-
updateMerchantBudget = async (t, e) => this.fetchInstance.put(`${
|
|
97
|
+
updateMerchantBudget = async (t, e) => this.fetchInstance.put(`${r.MERCHANT_BUDGETS}/${t}`, {
|
|
98
98
|
amount: e
|
|
99
99
|
}).then((s) => s.merchant_budget);
|
|
100
|
-
deleteMerchantBudget = async (t) => this.fetchInstance.delete(`${
|
|
100
|
+
deleteMerchantBudget = async (t) => this.fetchInstance.delete(`${r.MERCHANT_BUDGETS}/${t}`).then((e) => e);
|
|
101
101
|
}
|
|
102
102
|
class Z {
|
|
103
103
|
fetchInstance;
|
|
104
104
|
constructor(t, e, s) {
|
|
105
105
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
106
106
|
}
|
|
107
|
-
addCategory = async (t) => this.fetchInstance.post(
|
|
108
|
-
getCategories = async () => this.fetchInstance.get(
|
|
109
|
-
getDateRangeCategoryTotals = async (t, e, s) => s.length === 0 ? [] : this.fetchInstance.post(`${
|
|
107
|
+
addCategory = async (t) => this.fetchInstance.post(r.CATEGORIES, t).then((e) => e.category);
|
|
108
|
+
getCategories = async () => this.fetchInstance.get(r.CATEGORIES).then((t) => t.categories);
|
|
109
|
+
getDateRangeCategoryTotals = async (t, e, s) => s.length === 0 ? [] : this.fetchInstance.post(`${r.DATE_RANGE_CATEGORY_TOTALS}/from/${t}/to/${e}`, {
|
|
110
110
|
account_guid: s.map((a) => a.guid)
|
|
111
111
|
}).then((a) => a.date_range_category_totals);
|
|
112
112
|
getMonthlyCategoryTotals = async (t, e, s) => {
|
|
113
113
|
try {
|
|
114
|
-
const a = `${
|
|
114
|
+
const a = `${r.MONTHLY_CATEGORY_TOTALS}/from/${t}/to/${e}`;
|
|
115
115
|
if (s) {
|
|
116
116
|
const i = s.length === 0 ? [""] : s.map((l) => l.guid);
|
|
117
117
|
return (await this.fetchInstance.post(a, { account_guid: i })).monthly_category_totals;
|
|
@@ -121,59 +121,59 @@ class Z {
|
|
|
121
121
|
throw console.error("Error fetching monthly category totals:", a), a;
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
|
-
removeCategory = async (t) => this.fetchInstance.delete(`${
|
|
125
|
-
updateCategory = async (t) => this.fetchInstance.put(`${
|
|
124
|
+
removeCategory = async (t) => this.fetchInstance.delete(`${r.CATEGORIES}/${t}`);
|
|
125
|
+
updateCategory = async (t) => this.fetchInstance.put(`${r.CATEGORIES}/${t.guid}`, t).then((e) => e.category);
|
|
126
126
|
}
|
|
127
127
|
class tt {
|
|
128
128
|
fetchInstance;
|
|
129
129
|
constructor(t, e, s) {
|
|
130
130
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
131
131
|
}
|
|
132
|
-
calculateHealthScore = async () => this.fetchInstance.post(`${
|
|
133
|
-
getAverageHealthScores = async () => this.fetchInstance.get(`${
|
|
134
|
-
getDebtSpend = async () => this.fetchInstance.get(`${
|
|
135
|
-
getIncome = async () => this.fetchInstance.get(`${
|
|
136
|
-
getMonthlySummaries = async () => this.fetchInstance.get(`${
|
|
137
|
-
getHealthScoreChangeReports = async (t, e) => this.fetchInstance.get(`${
|
|
138
|
-
getPeerScore = async (t) => this.fetchInstance.get(`${
|
|
139
|
-
getSpendingFeeTransactions = async () => this.fetchInstance.get(`${
|
|
140
|
-
getStandardSpend = async () => this.fetchInstance.get(`${
|
|
132
|
+
calculateHealthScore = async () => this.fetchInstance.post(`${r.HEALTH_SCORES}/calculate`).then((t) => t.health_score);
|
|
133
|
+
getAverageHealthScores = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/monthly_averages`).then((t) => t);
|
|
134
|
+
getDebtSpend = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/transactions/debt_spend`).then((t) => t);
|
|
135
|
+
getIncome = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/transactions/income`).then((t) => t);
|
|
136
|
+
getMonthlySummaries = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/monthly_summaries`).then((t) => t);
|
|
137
|
+
getHealthScoreChangeReports = async (t, e) => this.fetchInstance.get(`${r.HEALTH_SCORES}/change_report/from/${t}/to/${e}`).then((s) => s);
|
|
138
|
+
getPeerScore = async (t) => this.fetchInstance.get(`${r.HEALTH_SCORES}/average/${t}`).then((e) => e);
|
|
139
|
+
getSpendingFeeTransactions = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/transactions/spending_fee`).then((t) => t);
|
|
140
|
+
getStandardSpend = async () => this.fetchInstance.get(`${r.HEALTH_SCORES}/transactions/standard_spend`).then((t) => t);
|
|
141
141
|
}
|
|
142
142
|
class et {
|
|
143
143
|
fetchInstance;
|
|
144
144
|
constructor(t, e, s) {
|
|
145
145
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
146
146
|
}
|
|
147
|
-
addGoal = async (t) => this.fetchInstance.post(
|
|
148
|
-
addRetirementGoal = async (t) => this.fetchInstance.post(
|
|
149
|
-
addRetirementGoalAccount = async (t) => this.fetchInstance.post(
|
|
150
|
-
getGoalByGuid = async (t) => this.fetchInstance.get(`${
|
|
151
|
-
getGoals = async () => this.fetchInstance.get(
|
|
152
|
-
getMonthlyCashFlowProfile = async () => this.fetchInstance.get(
|
|
153
|
-
getRetirementGoals = async () => this.fetchInstance.get(
|
|
154
|
-
getRetirementGoalAccounts = async () => this.fetchInstance.get(
|
|
155
|
-
removeGoal = async (t) => this.fetchInstance.delete(`${
|
|
156
|
-
removeRetirementGoal = async (t) => this.fetchInstance.delete(`${
|
|
157
|
-
removeRetirementGoalAccount = async (t) => this.fetchInstance.delete(`${
|
|
158
|
-
reorderGoals = async (t) => this.fetchInstance.post(`${
|
|
159
|
-
updateGoal = async (t) => this.fetchInstance.put(`${
|
|
160
|
-
updateMonthlyCashFlowProfile = async (t) => this.fetchInstance.put(`${
|
|
161
|
-
updateRetirementGoal = async (t) => this.fetchInstance.put(`${
|
|
147
|
+
addGoal = async (t) => this.fetchInstance.post(r.GOALS, t).then((e) => e.goal);
|
|
148
|
+
addRetirementGoal = async (t) => this.fetchInstance.post(r.RETIREMENT_GOALS, t).then((e) => e.retirement_goal);
|
|
149
|
+
addRetirementGoalAccount = async (t) => this.fetchInstance.post(r.RETIREMENT_GOAL_ACCOUNTS, t).then((e) => e.retirement_goal_account);
|
|
150
|
+
getGoalByGuid = async (t) => this.fetchInstance.get(`${r.GOALS}/${t}`).then((e) => e.goal);
|
|
151
|
+
getGoals = async () => this.fetchInstance.get(r.GOALS).then((t) => t.goals);
|
|
152
|
+
getMonthlyCashFlowProfile = async () => this.fetchInstance.get(r.MONTHLY_CASH_FLOW_PROFILE).then((t) => t.monthly_cash_flow_profile);
|
|
153
|
+
getRetirementGoals = async () => this.fetchInstance.get(r.RETIREMENT_GOALS).then((t) => t.retirement_goals);
|
|
154
|
+
getRetirementGoalAccounts = async () => this.fetchInstance.get(r.RETIREMENT_GOAL_ACCOUNTS).then((t) => t.retirement_goal_accounts);
|
|
155
|
+
removeGoal = async (t) => this.fetchInstance.delete(`${r.GOALS}/${t}`).then((e) => e);
|
|
156
|
+
removeRetirementGoal = async (t) => this.fetchInstance.delete(`${r.RETIREMENT_GOALS}/${t}`).then((e) => e);
|
|
157
|
+
removeRetirementGoalAccount = async (t) => this.fetchInstance.delete(`${r.RETIREMENT_GOAL_ACCOUNTS}/${t}`).then((e) => e);
|
|
158
|
+
reorderGoals = async (t) => this.fetchInstance.post(`${r.GOALS}/reposition`, { goals: t }).then((e) => e.goals);
|
|
159
|
+
updateGoal = async (t) => this.fetchInstance.put(`${r.GOALS}/${t.guid}`, t).then((e) => e.goal);
|
|
160
|
+
updateMonthlyCashFlowProfile = async (t) => this.fetchInstance.put(`${r.MONTHLY_CASH_FLOW_PROFILE}`, t).then((e) => e.monthly_cash_flow_profile);
|
|
161
|
+
updateRetirementGoal = async (t) => this.fetchInstance.put(`${r.RETIREMENT_GOALS}/${t.guid}`, t).then((e) => e.retirement_goal);
|
|
162
162
|
}
|
|
163
163
|
class st {
|
|
164
164
|
fetchInstance;
|
|
165
165
|
constructor(t, e, s) {
|
|
166
166
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
167
167
|
}
|
|
168
|
-
createSupportTicket = async (t) => this.fetchInstance.post(
|
|
168
|
+
createSupportTicket = async (t) => this.fetchInstance.post(r.SUPPORT_TICKETS, t).then((e) => e);
|
|
169
169
|
}
|
|
170
170
|
class at {
|
|
171
171
|
fetchInstance;
|
|
172
172
|
constructor(t, e, s) {
|
|
173
173
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
174
174
|
}
|
|
175
|
-
getHoldings = async () => this.fetchInstance.get(
|
|
176
|
-
updateHoldings = async (t) => this.fetchInstance.put(`${
|
|
175
|
+
getHoldings = async () => this.fetchInstance.get(r.HOLDINGS).then((t) => t.holdings);
|
|
176
|
+
updateHoldings = async (t) => this.fetchInstance.put(`${r.HOLDINGS}/${t.guid}`, t).then((e) => e.holding);
|
|
177
177
|
}
|
|
178
178
|
class rt {
|
|
179
179
|
fetchInstance;
|
|
@@ -181,71 +181,72 @@ class rt {
|
|
|
181
181
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
182
182
|
}
|
|
183
183
|
getMerchants = async (t = [], e = [], s = 1, a = 25) => {
|
|
184
|
-
let i =
|
|
184
|
+
let i = r.MERCHANTS;
|
|
185
185
|
return i += `?page=${s}&per_page=${a}`, t.length && t.forEach((o) => i += `&fuzzy_name[]=${o}`), e.length && e.forEach((o) => i += `&guid[]=${o}`), this.fetchInstance.get(i).then((o) => o.merchants);
|
|
186
186
|
};
|
|
187
|
-
getMerchantByGuid = async (t) => this.fetchInstance.get(`${
|
|
187
|
+
getMerchantByGuid = async (t) => this.fetchInstance.get(`${r.MERCHANTS}/${t}`).then((e) => e.merchant);
|
|
188
188
|
}
|
|
189
189
|
class nt {
|
|
190
190
|
fetchInstance;
|
|
191
191
|
constructor(t, e, s) {
|
|
192
192
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
193
193
|
}
|
|
194
|
-
getNotifications = () => this.fetchInstance.get(
|
|
194
|
+
getNotifications = () => this.fetchInstance.get(r.NOTIFICATIONS).then(
|
|
195
195
|
(t) => t.notifications.map((e) => e.notification)
|
|
196
196
|
).finally();
|
|
197
|
-
updateNotification = (t) => this.fetchInstance.put(`${
|
|
197
|
+
updateNotification = (t) => this.fetchInstance.put(`${r.NOTIFICATIONS}/${t.guid}`, {
|
|
198
198
|
guid: t.guid,
|
|
199
199
|
has_been_viewed: t.has_been_viewed
|
|
200
200
|
}).then((e) => e.notification).finally();
|
|
201
201
|
// Note: The notifications/mark_all_as_viewed endpoint is broken, but still returns 202.
|
|
202
202
|
// A bug ticket has been filed to fix it, but should not require any changes here.
|
|
203
|
-
markAllAsViewed = (t) => this.fetchInstance.put(`${
|
|
203
|
+
markAllAsViewed = (t) => this.fetchInstance.put(`${r.NOTIFICATIONS}/mark_all_as_viewed`, { channel: t }).finally();
|
|
204
204
|
}
|
|
205
205
|
class it {
|
|
206
206
|
fetchInstance;
|
|
207
207
|
constructor(t, e, s) {
|
|
208
208
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
209
209
|
}
|
|
210
|
-
addRepeatingTransaction = async (t) => this.fetchInstance.post(
|
|
211
|
-
getRepeatingTransactions = async () => this.fetchInstance.get(
|
|
210
|
+
addRepeatingTransaction = async (t) => this.fetchInstance.post(r.REPEATING_TRANSACTIONS, t).then((e) => e.repeating_transaction);
|
|
211
|
+
getRepeatingTransactions = async () => this.fetchInstance.get(r.REPEATING_TRANSACTIONS).then((t) => t.repeating_transactions);
|
|
212
212
|
updateRepeatingTransaction = async (t) => this.fetchInstance.put(
|
|
213
|
-
`${
|
|
213
|
+
`${r.REPEATING_TRANSACTIONS}/${t.guid}`,
|
|
214
214
|
t
|
|
215
215
|
).then((e) => e.repeating_transaction);
|
|
216
|
-
deleteRepeatingTransaction = async (t) => this.fetchInstance.delete(`${
|
|
216
|
+
deleteRepeatingTransaction = async (t) => this.fetchInstance.delete(`${r.REPEATING_TRANSACTIONS}/${t}`).then((e) => e);
|
|
217
217
|
}
|
|
218
218
|
class ot {
|
|
219
219
|
fetchInstance;
|
|
220
220
|
constructor(t, e, s) {
|
|
221
221
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
222
222
|
}
|
|
223
|
-
deleteDevice = async (t) => this.fetchInstance.delete(`${
|
|
224
|
-
generateDeviceToken = async () => this.fetchInstance.get(`${
|
|
225
|
-
getDevices = async () => this.fetchInstance.get(
|
|
226
|
-
getNotificationProfiles = async () => this.fetchInstance.get(
|
|
223
|
+
deleteDevice = async (t) => this.fetchInstance.delete(`${r.DEVICES}/${t}`).then((e) => e);
|
|
224
|
+
generateDeviceToken = async () => this.fetchInstance.get(`${r.USER}/mobile_token`).then((t) => t.mobile_token);
|
|
225
|
+
getDevices = async () => this.fetchInstance.get(r.DEVICES).then((t) => t.map((e) => e.device));
|
|
226
|
+
getNotificationProfiles = async () => this.fetchInstance.get(r.NOTIFICATION_PROFILES).then((t) => t.notification_profiles);
|
|
227
227
|
// verifications endpoints respond with HTTP status codes; they error otherwise
|
|
228
|
-
sendEmailVerification = async () => this.fetchInstance.post(
|
|
229
|
-
sendPhoneVerification = async () => this.fetchInstance.post(
|
|
230
|
-
verifyPhoneToken = async (t) => this.fetchInstance.post(
|
|
231
|
-
updateDevice = async (t) => this.fetchInstance.put(`${
|
|
232
|
-
updateNotificationProfile = async (t) => this.fetchInstance.put(`${
|
|
233
|
-
updateUserCommunicationProfile = async (t) => this.fetchInstance.put(
|
|
234
|
-
|
|
228
|
+
sendEmailVerification = async () => this.fetchInstance.post(r.EMAIL_VERIFICATIONS);
|
|
229
|
+
sendPhoneVerification = async () => this.fetchInstance.post(r.PHONE_VERIFICATIONS + "/deliver");
|
|
230
|
+
verifyPhoneToken = async (t) => this.fetchInstance.post(r.PHONE_VERIFICATIONS + "/verify", { sms_verification_token: t }).then((e) => ({ verified: e.verified }));
|
|
231
|
+
updateDevice = async (t) => this.fetchInstance.put(`${r.DEVICES}/${t.guid}`, t).then((e) => e.device);
|
|
232
|
+
updateNotificationProfile = async (t) => this.fetchInstance.put(`${r.NOTIFICATION_PROFILES}/${t.guid}`, t).then((e) => e.notification_profile);
|
|
233
|
+
updateUserCommunicationProfile = async (t) => this.fetchInstance.put(r.USER_COMMUNICATION_PROFILE, t).then((e) => e.user_communication_profile);
|
|
234
|
+
updatePassword = async (t) => this.fetchInstance.put(r.CHANGE_PASSWORD, t);
|
|
235
|
+
getInsightsNotificationProfiles = async () => this.fetchInstance.get(`${r.NOTIFICATION_PROFILES}/${r.INSIGHTS_NOTIFICATION_PROFILES}`).then((t) => t);
|
|
235
236
|
}
|
|
236
237
|
class O {
|
|
237
238
|
fetchInstance;
|
|
238
239
|
constructor(t, e, s) {
|
|
239
240
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
240
241
|
}
|
|
241
|
-
addTag = async (t) => this.fetchInstance.post(
|
|
242
|
-
addTagging = async (t) => this.fetchInstance.post(
|
|
243
|
-
addTransaction = async (t) => this.fetchInstance.post(
|
|
244
|
-
addTransactionRule = async (t) => this.fetchInstance.post(
|
|
245
|
-
getTaggings = async () => this.fetchInstance.get(
|
|
246
|
-
getTags = async () => this.fetchInstance.get(
|
|
247
|
-
getTransactionRules = async () => this.fetchInstance.get(
|
|
248
|
-
getTransactionsByDateRange = async (t, e) => this.fetchInstance.get(`${
|
|
242
|
+
addTag = async (t) => this.fetchInstance.post(r.TAGS, t).then((e) => e.tag);
|
|
243
|
+
addTagging = async (t) => this.fetchInstance.post(r.TAGGINGS, t).then((e) => e.tagging);
|
|
244
|
+
addTransaction = async (t) => this.fetchInstance.post(r.TRANSACTIONS, t).then((e) => e.transaction);
|
|
245
|
+
addTransactionRule = async (t) => this.fetchInstance.post(r.TRANSACTION_RULES, t).then((e) => e);
|
|
246
|
+
getTaggings = async () => this.fetchInstance.get(r.TAGGINGS).then((t) => t.map((e) => e.tagging));
|
|
247
|
+
getTags = async () => this.fetchInstance.get(r.TAGS).then((t) => t.map((e) => e.tag));
|
|
248
|
+
getTransactionRules = async () => this.fetchInstance.get(r.TRANSACTION_RULES).then((t) => t.transaction_rules);
|
|
249
|
+
getTransactionsByDateRange = async (t, e) => this.fetchInstance.get(`${r.TRANSACTIONS}/by_date/${t}/${e}`).then((s) => s.map((a) => a.transaction));
|
|
249
250
|
// DEPRECATED
|
|
250
251
|
getTransactionsByAccountsAndDateRange = async (t, e, s) => {
|
|
251
252
|
console.warn("DEPRECATED: getTransactionsByAccountsAndDateRange will be removed");
|
|
@@ -253,13 +254,13 @@ class O {
|
|
|
253
254
|
(i, o, l) => `${i}account_guids[]=${o}${l !== t.length - 1 ? "&" : ""}`,
|
|
254
255
|
""
|
|
255
256
|
);
|
|
256
|
-
return this.fetchInstance.get(`${
|
|
257
|
+
return this.fetchInstance.get(`${r.TRANSACTIONS}/by_date/${e}/${s}?${a}`).then((i) => i.map((o) => o.transaction));
|
|
257
258
|
};
|
|
258
259
|
// DEPRECATED
|
|
259
|
-
getTransactionsByGuids = async (t) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${
|
|
260
|
+
getTransactionsByGuids = async (t) => (console.warn("DEPRECATED: getTransactionsByGuids will be removed"), this.fetchInstance.post(`${r.TRANSACTIONS}/by_guids`, { guids: t.join("+") }).then((e) => e.map((s) => s.transaction)));
|
|
260
261
|
// DEPRECATED
|
|
261
262
|
getTransactionsByCategoryAndDate = async (t, e, s) => (console.warn("DEPRECATED: getTransactionsByCategoryAndDate will be removed"), this.fetchInstance.get(
|
|
262
|
-
`${
|
|
263
|
+
`${r.TRANSACTIONS}/by_category_guid/${t}/by_date/${e}/${s}`
|
|
263
264
|
).then((a) => a.map((i) => i.transaction)));
|
|
264
265
|
// DEPRECATED
|
|
265
266
|
getTransactionsByCategoryDateAndAccounts = async (t, e, s, a) => {
|
|
@@ -269,7 +270,7 @@ class O {
|
|
|
269
270
|
""
|
|
270
271
|
);
|
|
271
272
|
return this.fetchInstance.get(
|
|
272
|
-
`${
|
|
273
|
+
`${r.TRANSACTIONS}/by_category_guid/${t}/by_date/${e}/${s}?${i}`
|
|
273
274
|
).then((o) => o.map((l) => l.transaction));
|
|
274
275
|
};
|
|
275
276
|
// DEPRECATED
|
|
@@ -280,7 +281,7 @@ class O {
|
|
|
280
281
|
""
|
|
281
282
|
);
|
|
282
283
|
return this.fetchInstance.get(
|
|
283
|
-
`${
|
|
284
|
+
`${r.TRANSACTIONS}/by_category_guids/${t.join(
|
|
284
285
|
"+"
|
|
285
286
|
)}/by_date/${e}/${s}?${i}`
|
|
286
287
|
).then((o) => o.map((l) => l.transaction));
|
|
@@ -296,40 +297,40 @@ class O {
|
|
|
296
297
|
*/
|
|
297
298
|
getTransactionsByTopLevelCategoryAndDate = async (t, e, s, a = []) => {
|
|
298
299
|
console.warn("DEPRECATED: getTransactionsByTopLevelCategoryAndDate will be removed");
|
|
299
|
-
let i = `${
|
|
300
|
+
let i = `${r.TRANSACTIONS}/by_top_level_category_guid/${t}/by_date/${e}/${s}`;
|
|
300
301
|
if (a.length > 0) {
|
|
301
302
|
const o = a.reduce(
|
|
302
|
-
(l, g,
|
|
303
|
+
(l, g, f) => `${l}account_guids[]=${g}${f !== a.length - 1 ? "&" : ""}`,
|
|
303
304
|
""
|
|
304
305
|
);
|
|
305
306
|
i += `?${o}`;
|
|
306
307
|
}
|
|
307
308
|
return this.fetchInstance.get(i).then((o) => o.map((l) => l.transaction));
|
|
308
309
|
};
|
|
309
|
-
removeTag = async (t) => this.fetchInstance.delete(`${
|
|
310
|
-
removeTagging = async (t) => this.fetchInstance.delete(`${
|
|
311
|
-
removeTransaction = async (t) => this.fetchInstance.delete(`${
|
|
312
|
-
removeTransactionRule = async (t) => this.fetchInstance.delete(`${
|
|
313
|
-
removeTransactionSplit = async (t) => this.fetchInstance.delete(`${
|
|
314
|
-
updateTransactionRule = async (t) => this.fetchInstance.put(`${
|
|
315
|
-
updateTag = async (t) => this.fetchInstance.put(`${
|
|
316
|
-
updateTransaction = async (t) => this.fetchInstance.put(`${
|
|
310
|
+
removeTag = async (t) => this.fetchInstance.delete(`${r.TAGS}/${t}`).then((e) => e);
|
|
311
|
+
removeTagging = async (t) => this.fetchInstance.delete(`${r.TAGGINGS}/${t}`).then((e) => e);
|
|
312
|
+
removeTransaction = async (t) => this.fetchInstance.delete(`${r.TRANSACTIONS}/${t}`).then((e) => e);
|
|
313
|
+
removeTransactionRule = async (t) => this.fetchInstance.delete(`${r.TRANSACTION_RULES}/${t}`);
|
|
314
|
+
removeTransactionSplit = async (t) => this.fetchInstance.delete(`${r.TRANSACTIONS}/${t}/unsplit`).then((e) => e);
|
|
315
|
+
updateTransactionRule = async (t) => this.fetchInstance.put(`${r.TRANSACTION_RULES}/${t.guid}`, t).then((e) => e);
|
|
316
|
+
updateTag = async (t) => this.fetchInstance.put(`${r.TAGS}/${t.guid}`, t).then((e) => e.tag);
|
|
317
|
+
updateTransaction = async (t) => this.fetchInstance.put(`${r.TRANSACTIONS}/${t.guid}`, t).then((e) => e.transaction);
|
|
317
318
|
}
|
|
318
319
|
class ct {
|
|
319
320
|
fetchInstance;
|
|
320
321
|
constructor(t, e, s) {
|
|
321
322
|
this.fetchInstance = new p(t, e, void 0, s);
|
|
322
323
|
}
|
|
323
|
-
getUserFeatures = async () => this.fetchInstance.get(
|
|
324
|
-
updateUser = async (t) => this.fetchInstance.put(
|
|
325
|
-
updateUserProfile = async (t) => this.fetchInstance.put(`${
|
|
324
|
+
getUserFeatures = async () => this.fetchInstance.get(r.USER_FEATURES).then((t) => t.user_features);
|
|
325
|
+
updateUser = async (t) => this.fetchInstance.put(r.USER, t).then((e) => e.user);
|
|
326
|
+
updateUserProfile = async (t) => this.fetchInstance.put(`${r.USER_PROFILES}/${t.guid}`, t).then((e) => e.user_profile);
|
|
326
327
|
}
|
|
327
328
|
class lt {
|
|
328
329
|
fetchInstance;
|
|
329
330
|
constructor(t, e) {
|
|
330
331
|
this.fetchInstance = new p(t, e);
|
|
331
332
|
}
|
|
332
|
-
requestWidgetUrl = async (t) => this.fetchInstance.post(
|
|
333
|
+
requestWidgetUrl = async (t) => this.fetchInstance.post(r.WIDGET_URLS, t).then((e) => e.widget_url);
|
|
333
334
|
}
|
|
334
335
|
class ce {
|
|
335
336
|
globalStore;
|
|
@@ -558,11 +559,11 @@ class ce {
|
|
|
558
559
|
try {
|
|
559
560
|
const e = [];
|
|
560
561
|
for (const [o, l] of t.entries()) {
|
|
561
|
-
const g = this.accounts.find((
|
|
562
|
+
const g = this.accounts.find((f) => f.guid === o);
|
|
562
563
|
if (g && g.is_excluded_from_accounts === l) {
|
|
563
|
-
const
|
|
564
|
+
const f = { ...g, is_excluded_from_accounts: !l };
|
|
564
565
|
e.push(
|
|
565
|
-
this.api.updateAccount(
|
|
566
|
+
this.api.updateAccount(f).catch((C) => (console.error("Error occurred while updating account filter:", C), this.globalStore.captureException(C, { store: "AccountStore" }), null))
|
|
566
567
|
);
|
|
567
568
|
}
|
|
568
569
|
}
|
|
@@ -688,36 +689,36 @@ class de {
|
|
|
688
689
|
this.response = t, this.question && (this.responses[`$survey_response_${this.question.id}`] = t);
|
|
689
690
|
};
|
|
690
691
|
}
|
|
691
|
-
function ue(
|
|
692
|
+
function ue(n, t, e, s = "asc") {
|
|
692
693
|
const a = s === "desc" ? -1 : 1;
|
|
693
|
-
return [...
|
|
694
|
+
return [...n, ...t].sort((i, o) => i[e] < o[e] ? -1 * a : i[e] > o[e] ? 1 * a : 0);
|
|
694
695
|
}
|
|
695
|
-
const ge = (
|
|
696
|
-
...
|
|
696
|
+
const ge = (n) => ({
|
|
697
|
+
...n,
|
|
697
698
|
//fields that are offer specific, adding here for visibility
|
|
698
|
-
image_url:
|
|
699
|
-
guid:
|
|
700
|
-
created_at:
|
|
701
|
-
dismissed_at:
|
|
702
|
-
active_at:
|
|
703
|
-
displayed_at:
|
|
704
|
-
post_message_secondary:
|
|
699
|
+
image_url: n.image_url,
|
|
700
|
+
guid: n.guid,
|
|
701
|
+
created_at: n.created_at,
|
|
702
|
+
dismissed_at: n.dismissed_at,
|
|
703
|
+
active_at: n.campaign_activated_at,
|
|
704
|
+
displayed_at: n.has_been_viewed,
|
|
705
|
+
post_message_secondary: n.pulse_post_message_secondary,
|
|
705
706
|
//offer fields mapped to beat fields for functionality
|
|
706
|
-
title:
|
|
707
|
-
html_title:
|
|
708
|
-
short_title:
|
|
709
|
-
html_short_title:
|
|
710
|
-
micro_title:
|
|
711
|
-
html_micro_title:
|
|
712
|
-
supporting_action:
|
|
713
|
-
description:
|
|
714
|
-
html_description:
|
|
715
|
-
micro_description:
|
|
716
|
-
html_micro_description:
|
|
717
|
-
call_to_action:
|
|
718
|
-
html_micro_call_to_action:
|
|
719
|
-
micro_call_to_action:
|
|
720
|
-
is_dismissed:
|
|
707
|
+
title: n.pulse_title || n.campaign_name,
|
|
708
|
+
html_title: n.pulse_title || n.campaign_name,
|
|
709
|
+
short_title: n.pulse_title || n.campaign_name,
|
|
710
|
+
html_short_title: n.pulse_title || n.campaign_name,
|
|
711
|
+
micro_title: n.pulse_title || n.campaign_name,
|
|
712
|
+
html_micro_title: n.pulse_title || n.campaign_name,
|
|
713
|
+
supporting_action: n.pulse_call_to_action_text_secondary,
|
|
714
|
+
description: n.pulse_body,
|
|
715
|
+
html_description: n.pulse_body,
|
|
716
|
+
micro_description: n.pulse_body,
|
|
717
|
+
html_micro_description: n.pulse_body,
|
|
718
|
+
call_to_action: n.pulse_call_to_action_text,
|
|
719
|
+
html_micro_call_to_action: n.pulse_call_to_action_text,
|
|
720
|
+
micro_call_to_action: n.pulse_call_to_action_text,
|
|
721
|
+
is_dismissed: n.has_been_dismissed,
|
|
721
722
|
icon_type: 5,
|
|
722
723
|
template: "MarketingOffer",
|
|
723
724
|
//beat fields we null out
|
|
@@ -729,7 +730,7 @@ const ge = (r) => ({
|
|
|
729
730
|
is_sampled: !1,
|
|
730
731
|
merchant_guids: [],
|
|
731
732
|
payload: {},
|
|
732
|
-
pulse_campaign_name:
|
|
733
|
+
pulse_campaign_name: n.campaign_name,
|
|
733
734
|
scheduled_payment_guids: [],
|
|
734
735
|
transaction_guids: [],
|
|
735
736
|
user_guid: "",
|
|
@@ -776,7 +777,7 @@ class _e {
|
|
|
776
777
|
api = new J("/", "");
|
|
777
778
|
globalStore;
|
|
778
779
|
alert = "";
|
|
779
|
-
dateRange = { start: R(
|
|
780
|
+
dateRange = { start: R(S()), end: b(S()) };
|
|
780
781
|
budgets = [];
|
|
781
782
|
selectedBudget;
|
|
782
783
|
selectedSubBudget;
|
|
@@ -940,11 +941,11 @@ class _e {
|
|
|
940
941
|
}
|
|
941
942
|
};
|
|
942
943
|
}
|
|
943
|
-
class
|
|
944
|
+
class ye {
|
|
944
945
|
globalStore;
|
|
945
946
|
uiStore;
|
|
946
947
|
constructor(t) {
|
|
947
|
-
this.globalStore = t, this.uiStore = new
|
|
948
|
+
this.globalStore = t, this.uiStore = new Se(t), h(this);
|
|
948
949
|
}
|
|
949
950
|
completeOnboarding = async () => {
|
|
950
951
|
const t = {
|
|
@@ -954,13 +955,13 @@ class fe {
|
|
|
954
955
|
await this.globalStore.userStore.updateUserProfile(t);
|
|
955
956
|
};
|
|
956
957
|
}
|
|
957
|
-
let
|
|
958
|
+
let Se = class {
|
|
958
959
|
globalStore;
|
|
959
960
|
// Cashflow is hard-coded to display 30 days starting from today. This is the
|
|
960
961
|
// single source of truth for Cash Flow's window; it intentionally does NOT
|
|
961
962
|
// mutate RecurringTransactionsStore.dateRange, so Cash Flow stays decoupled
|
|
962
963
|
// from other widgets (e.g. Recurring Transactions) that drive that shared range.
|
|
963
|
-
dateRange = { start:
|
|
964
|
+
dateRange = { start: S(), end: Dt(S(), 30) };
|
|
964
965
|
isDirty = !1;
|
|
965
966
|
constructor(t) {
|
|
966
967
|
this.globalStore = t, h(this);
|
|
@@ -1000,7 +1001,7 @@ let ye = class {
|
|
|
1000
1001
|
}
|
|
1001
1002
|
// Returns the number of days until the next income activity or 0 if there is no income activity
|
|
1002
1003
|
get daysUntilNextIncome() {
|
|
1003
|
-
return this.nextIncome ? Math.abs(xt(
|
|
1004
|
+
return this.nextIncome ? Math.abs(xt(S(), this.nextIncome.expectedDate)) : 0;
|
|
1004
1005
|
}
|
|
1005
1006
|
// Returns the expenses (Activities) until the next income activity or the end of the month
|
|
1006
1007
|
// if there is no income activity
|
|
@@ -1010,7 +1011,7 @@ let ye = class {
|
|
|
1010
1011
|
);
|
|
1011
1012
|
}
|
|
1012
1013
|
};
|
|
1013
|
-
class
|
|
1014
|
+
class fe {
|
|
1014
1015
|
globalStore;
|
|
1015
1016
|
uiStore;
|
|
1016
1017
|
api = new Z("/", "");
|
|
@@ -1224,13 +1225,13 @@ let Ae = class {
|
|
|
1224
1225
|
setSelectedDebtChartData = (t) => this.selectedDebtChartData = t;
|
|
1225
1226
|
setSelectedDebtPriority = (t) => this.selectedDebtPriority = t;
|
|
1226
1227
|
};
|
|
1227
|
-
const we = (
|
|
1228
|
+
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) => ({
|
|
1228
1229
|
x: k(
|
|
1229
1230
|
new Date(0, t.monthly_health_score_average.month - 1, 1),
|
|
1230
1231
|
H.MONTH_SHORT
|
|
1231
1232
|
),
|
|
1232
1233
|
y: Math.round(t.monthly_health_score_average.average_health_score)
|
|
1233
|
-
})), Ee = (
|
|
1234
|
+
})), Ee = (n) => n.map(({ transaction: e }) => ({
|
|
1234
1235
|
...e
|
|
1235
1236
|
})).sort((e, s) => s.date - e.date);
|
|
1236
1237
|
class Ie {
|
|
@@ -1520,7 +1521,7 @@ class Ns {
|
|
|
1520
1521
|
// UI Stores
|
|
1521
1522
|
globalUiStore;
|
|
1522
1523
|
constructor(t = ht, e = "/", s, a, i) {
|
|
1523
|
-
this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onCaptureException = i, 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
|
|
1524
|
+
this.appConfig = t, this.endpoint = e, this.sessionToken = t.options.session_token ?? "", this.onCaptureException = i, 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 ye(this), this.categoryStore = new fe(this), this.connectStore = new Te(this), this.copyStore = new Ce(this), this.debtsStore = new be(this), this.finstrongStore = new Ie(this), this.goalStore = new De(this), this.helpStore = new ve(this), this.holdingStore = new Ge(this), this.merchantStore = new Ne(this), this.netWorthStore = new Be(this), this.notificationStore = new Me(this), this.recurringTransactionsStore = new Oe(this), this.settingsStore = new Fe(this), this.transactionStore = new Ue(this), this.trendsStore = new He(this), this.userStore = new We(this), this.globalUiStore = new Re(this), h(this), mt(() => {
|
|
1524
1525
|
const { transactions: o } = this.transactionStore;
|
|
1525
1526
|
this.emitUpdate({
|
|
1526
1527
|
transactions: o
|
|
@@ -1555,9 +1556,9 @@ class Ns {
|
|
|
1555
1556
|
transactionRules: o,
|
|
1556
1557
|
transactions: l,
|
|
1557
1558
|
userFeatures: g,
|
|
1558
|
-
merchantBudgets:
|
|
1559
|
+
merchantBudgets: f
|
|
1559
1560
|
} = {}) => {
|
|
1560
|
-
(!e || !g) && await this.loadConfigData(), e && this.appDataStore.setAppData(e), g && this.userStore.setUserFeatures(g), t && (await this.accountStore.loadMembers(), i && this.accountStore.setInstitutions(i), this.accountStore.setAccounts(t)), s && this.transactionStore.setAssociatedBeats(s), a && this.categoryStore.setCategories(a), l && this.transactionStore.setTransactions(l), o && this.transactionStore.setTransactionRules(o),
|
|
1561
|
+
(!e || !g) && await this.loadConfigData(), e && this.appDataStore.setAppData(e), g && this.userStore.setUserFeatures(g), t && (await this.accountStore.loadMembers(), i && this.accountStore.setInstitutions(i), this.accountStore.setAccounts(t)), s && this.transactionStore.setAssociatedBeats(s), a && this.categoryStore.setCategories(a), l && this.transactionStore.setTransactions(l), o && this.transactionStore.setTransactionRules(o), f && this.budgetsStore.setMerchantBudgets(f);
|
|
1561
1562
|
};
|
|
1562
1563
|
}
|
|
1563
1564
|
class Re {
|
|
@@ -1894,7 +1895,7 @@ class De {
|
|
|
1894
1895
|
}
|
|
1895
1896
|
};
|
|
1896
1897
|
}
|
|
1897
|
-
const xe = (
|
|
1898
|
+
const xe = (n, t) => n.guid === "general" || n.guid === "insights" ? !0 : n.flags ? n.flags.every((e) => t[e]) : !1, Le = (n, t) => {
|
|
1898
1899
|
const e = [];
|
|
1899
1900
|
for (const s of oe) {
|
|
1900
1901
|
const a = t[s.guid];
|
|
@@ -1907,7 +1908,7 @@ const xe = (r, t) => r.guid === "general" || r.guid === "insights" ? !0 : r.flag
|
|
|
1907
1908
|
label: a.topics[l]
|
|
1908
1909
|
}))
|
|
1909
1910
|
};
|
|
1910
|
-
xe(i,
|
|
1911
|
+
xe(i, n) && e.push(i);
|
|
1911
1912
|
}
|
|
1912
1913
|
return e;
|
|
1913
1914
|
};
|
|
@@ -2141,14 +2142,14 @@ class Me {
|
|
|
2141
2142
|
t.has_been_viewed = !0, await this.api.updateNotification(t);
|
|
2142
2143
|
};
|
|
2143
2144
|
}
|
|
2144
|
-
const dt = (
|
|
2145
|
+
const dt = (n, t) => pt(t.expectedDate, n), A = (n, t) => n + t.amount;
|
|
2145
2146
|
class Oe {
|
|
2146
2147
|
globalStore;
|
|
2147
2148
|
api = new it("/", "");
|
|
2148
2149
|
repeatingTransactions = [];
|
|
2149
2150
|
isDataLoaded = !1;
|
|
2150
2151
|
selectedDay;
|
|
2151
|
-
dateRange = { start: R(
|
|
2152
|
+
dateRange = { start: R(S()), end: b(S()) };
|
|
2152
2153
|
selectedRepeatingTransactionGuid = null;
|
|
2153
2154
|
selectedRecurrence = null;
|
|
2154
2155
|
alert = { message: "", severity: void 0 };
|
|
@@ -2190,7 +2191,7 @@ class Oe {
|
|
|
2190
2191
|
* Returns the upcoming expense recurrences scoped to the supplied date range.
|
|
2191
2192
|
*/
|
|
2192
2193
|
upcomingExpensesForRange = (t) => this.recurrencesForRange(t).filter(
|
|
2193
|
-
(e) => e.type === L.Expense && e.status ===
|
|
2194
|
+
(e) => e.type === L.Expense && e.status === y.Upcoming
|
|
2194
2195
|
);
|
|
2195
2196
|
/**
|
|
2196
2197
|
* Returns the income recurrences scoped to the supplied date range.
|
|
@@ -2202,13 +2203,13 @@ class Oe {
|
|
|
2202
2203
|
* Returns the upcoming income recurrences scoped to the supplied date range.
|
|
2203
2204
|
*/
|
|
2204
2205
|
upcomingIncomeForRange = (t) => this.incomeForRange(t).filter(
|
|
2205
|
-
(e) => e.status ===
|
|
2206
|
+
(e) => e.status === y.Upcoming
|
|
2206
2207
|
);
|
|
2207
2208
|
/**
|
|
2208
2209
|
* Returns the next upcoming income recurrence scoped to the supplied range.
|
|
2209
2210
|
*/
|
|
2210
2211
|
nextIncomeForRange = (t) => this.upcomingIncomeForRange(t).find(
|
|
2211
|
-
(e) => F(e.expectedDate,
|
|
2212
|
+
(e) => F(e.expectedDate, S())
|
|
2212
2213
|
);
|
|
2213
2214
|
/**
|
|
2214
2215
|
* Returns all recurrences built from repeating transactions and filtered by accounts.
|
|
@@ -2221,7 +2222,7 @@ class Oe {
|
|
|
2221
2222
|
*/
|
|
2222
2223
|
get pastRecurrences() {
|
|
2223
2224
|
return this.recurrences.filter(
|
|
2224
|
-
(t) => t.status ===
|
|
2225
|
+
(t) => t.status === y.Paid || t.status === y.Missed
|
|
2225
2226
|
);
|
|
2226
2227
|
}
|
|
2227
2228
|
/**
|
|
@@ -2230,7 +2231,7 @@ class Oe {
|
|
|
2230
2231
|
*/
|
|
2231
2232
|
get upcomingRecurrences() {
|
|
2232
2233
|
return this.recurrences.filter(
|
|
2233
|
-
(t) => F(t.expectedDate, _t(
|
|
2234
|
+
(t) => F(t.expectedDate, _t(S(), 3)) && W(t.expectedDate, this.dateRange.end) && t.status === y.Upcoming
|
|
2234
2235
|
);
|
|
2235
2236
|
}
|
|
2236
2237
|
/**
|
|
@@ -2246,7 +2247,7 @@ class Oe {
|
|
|
2246
2247
|
*/
|
|
2247
2248
|
get upcomingExpenses() {
|
|
2248
2249
|
return this.expenses.filter(
|
|
2249
|
-
(t) => t.status ===
|
|
2250
|
+
(t) => t.status === y.Upcoming
|
|
2250
2251
|
);
|
|
2251
2252
|
}
|
|
2252
2253
|
/**
|
|
@@ -2262,11 +2263,11 @@ class Oe {
|
|
|
2262
2263
|
*/
|
|
2263
2264
|
get upcomingIncome() {
|
|
2264
2265
|
return this.income.filter(
|
|
2265
|
-
(t) => t.status ===
|
|
2266
|
+
(t) => t.status === y.Upcoming
|
|
2266
2267
|
);
|
|
2267
2268
|
}
|
|
2268
2269
|
get nextIncomeRecurrence() {
|
|
2269
|
-
return this.upcomingIncome.find((t) => F(t.expectedDate,
|
|
2270
|
+
return this.upcomingIncome.find((t) => F(t.expectedDate, S()));
|
|
2270
2271
|
}
|
|
2271
2272
|
/**
|
|
2272
2273
|
* Returns the expense recurrences for the current month.
|
|
@@ -2294,19 +2295,19 @@ class Oe {
|
|
|
2294
2295
|
* Calculates the total amount of all paid expenses for the current month.
|
|
2295
2296
|
*/
|
|
2296
2297
|
get paidExpenseTotal() {
|
|
2297
|
-
return this.currentMonthExpenses.filter((t) => t.status ===
|
|
2298
|
+
return this.currentMonthExpenses.filter((t) => t.status === y.Paid).reduce(A, 0);
|
|
2298
2299
|
}
|
|
2299
2300
|
/**
|
|
2300
2301
|
* Calculates the total amount of all missed expenses for the current month.
|
|
2301
2302
|
*/
|
|
2302
2303
|
get missedExpenseTotal() {
|
|
2303
|
-
return this.currentMonthExpenses.filter((t) => t.status ===
|
|
2304
|
+
return this.currentMonthExpenses.filter((t) => t.status === y.Missed).reduce(A, 0);
|
|
2304
2305
|
}
|
|
2305
2306
|
/**
|
|
2306
2307
|
* Calculates the total amount of all upcoming expenses for the current month.
|
|
2307
2308
|
*/
|
|
2308
2309
|
get upcomingExpenseTotal() {
|
|
2309
|
-
return this.currentMonthExpenses.filter((t) => t.status ===
|
|
2310
|
+
return this.currentMonthExpenses.filter((t) => t.status === y.Upcoming).reduce(A, 0);
|
|
2310
2311
|
}
|
|
2311
2312
|
/**
|
|
2312
2313
|
* Calculates the total amount of all income for the current month.
|
|
@@ -2318,13 +2319,13 @@ class Oe {
|
|
|
2318
2319
|
* Calculates the total amount of all paid income for the current month.
|
|
2319
2320
|
*/
|
|
2320
2321
|
get paidIncomeTotal() {
|
|
2321
|
-
return this.currentMonthIncome.filter((t) => t.status ===
|
|
2322
|
+
return this.currentMonthIncome.filter((t) => t.status === y.Paid).reduce(A, 0);
|
|
2322
2323
|
}
|
|
2323
2324
|
/**
|
|
2324
2325
|
* Calculates the total amount of all upcoming income for the current month.
|
|
2325
2326
|
*/
|
|
2326
2327
|
get upcomingIncomeTotal() {
|
|
2327
|
-
return this.currentMonthIncome.filter((t) => t.status ===
|
|
2328
|
+
return this.currentMonthIncome.filter((t) => t.status === y.Upcoming).reduce(A, 0);
|
|
2328
2329
|
}
|
|
2329
2330
|
/**
|
|
2330
2331
|
* Get the recurrences for the currently selected day.
|
|
@@ -2469,7 +2470,7 @@ class Oe {
|
|
|
2469
2470
|
};
|
|
2470
2471
|
setAlert = (t, e = void 0) => this.alert = { message: t, severity: e };
|
|
2471
2472
|
}
|
|
2472
|
-
const ut = "PARENT-ENTITY", Pe = (
|
|
2473
|
+
const ut = "PARENT-ENTITY", Pe = (n, t) => ({
|
|
2473
2474
|
[B.BudgetExceeded]: t.notification_budget_exceeded,
|
|
2474
2475
|
[B.BudgetOffTarget]: t.notification_budget_off_target,
|
|
2475
2476
|
[_.DebtPaymentReminder]: t.notification_debt_payment_reminder,
|
|
@@ -2502,25 +2503,25 @@ const ut = "PARENT-ENTITY", Pe = (r, t) => ({
|
|
|
2502
2503
|
[u.TransactionExpenseLarge]: t.large_transaction,
|
|
2503
2504
|
[u.PromotionalCampaignMessages]: t.promotional_campaign_messages,
|
|
2504
2505
|
[u.TransparentOverdraft]: t.transparent_overdraft
|
|
2505
|
-
})[
|
|
2506
|
+
})[n] || "", $e = (n, t, e, s, a, i) => {
|
|
2506
2507
|
const o = [], {
|
|
2507
2508
|
email_notifications_enabled: l,
|
|
2508
2509
|
sms_notifications_enabled: g,
|
|
2509
|
-
push_notifications_enabled:
|
|
2510
|
+
push_notifications_enabled: f
|
|
2510
2511
|
} = t, {
|
|
2511
2512
|
opted_out_of_email_notifications: C,
|
|
2512
|
-
opted_out_of_sms_notifications:
|
|
2513
|
-
opted_out_of_push_notifications:
|
|
2513
|
+
opted_out_of_sms_notifications: yt,
|
|
2514
|
+
opted_out_of_push_notifications: St
|
|
2514
2515
|
} = a;
|
|
2515
2516
|
for (const E of s.filter((D) => D.entity_guid === ut)) {
|
|
2516
|
-
const D = Pe(E.notification_type, e),
|
|
2517
|
-
(I) => I.entity_guid !== ut && I.notification_type === E.notification_type &&
|
|
2517
|
+
const D = Pe(E.notification_type, e), ft = s.filter(
|
|
2518
|
+
(I) => I.entity_guid !== ut && I.notification_type === E.notification_type && n.some((P) => P.guid === I.entity_guid)
|
|
2518
2519
|
), x = [];
|
|
2519
|
-
l && !C && E.email_channel && i.email && x.push(e.delivery_method_email_label), g && !
|
|
2520
|
+
l && !C && E.email_channel && i.email && x.push(e.delivery_method_email_label), g && !yt && E.sms_channel && i.phone && x.push(e.delivery_method_sms_label), f && !St && E.push_channel && x.push(e.delivery_method_push_label), o.push({
|
|
2520
2521
|
...E,
|
|
2521
|
-
children:
|
|
2522
|
+
children: ft.map((I) => ({
|
|
2522
2523
|
...I,
|
|
2523
|
-
account:
|
|
2524
|
+
account: n.find((P) => P.guid === I.entity_guid),
|
|
2524
2525
|
label: D
|
|
2525
2526
|
})),
|
|
2526
2527
|
deliveryMethodsLabel: x.join(", "),
|
|
@@ -2655,6 +2656,13 @@ class Fe {
|
|
|
2655
2656
|
setSelectedRule = (t) => {
|
|
2656
2657
|
this.selectedRule = t;
|
|
2657
2658
|
};
|
|
2659
|
+
updatePassword = async (t) => {
|
|
2660
|
+
try {
|
|
2661
|
+
await this.api.updatePassword(t), this.setAlert(this.copy.password_updated_success, "success");
|
|
2662
|
+
} catch (e) {
|
|
2663
|
+
console.error("Error updating password:", e), this.globalStore.captureException(e, { store: "SettingsStore" }), this.setAlert(this.copy.password_updated_error, "error");
|
|
2664
|
+
}
|
|
2665
|
+
};
|
|
2658
2666
|
updateDevice = async (t) => {
|
|
2659
2667
|
try {
|
|
2660
2668
|
const e = await this.api.updateDevice(t), s = this.devices.findIndex((a) => a.guid === t.guid);
|
|
@@ -2736,7 +2744,7 @@ class Ue {
|
|
|
2736
2744
|
transactionRulesLoaded = !1;
|
|
2737
2745
|
transactionRulesLoading = !1;
|
|
2738
2746
|
transactionSplitting = !1;
|
|
2739
|
-
cachedStartDate = _t(
|
|
2747
|
+
cachedStartDate = _t(S(), 90);
|
|
2740
2748
|
filter = {};
|
|
2741
2749
|
isLoading = !0;
|
|
2742
2750
|
alert = "";
|
|
@@ -3189,7 +3197,7 @@ class We {
|
|
|
3189
3197
|
export {
|
|
3190
3198
|
M as A,
|
|
3191
3199
|
X as B,
|
|
3192
|
-
|
|
3200
|
+
ye as C,
|
|
3193
3201
|
be as D,
|
|
3194
3202
|
tt as F,
|
|
3195
3203
|
Ce as G,
|
|
@@ -3209,7 +3217,7 @@ export {
|
|
|
3209
3217
|
J as f,
|
|
3210
3218
|
_e as g,
|
|
3211
3219
|
Z as h,
|
|
3212
|
-
|
|
3220
|
+
fe as i,
|
|
3213
3221
|
Te as j,
|
|
3214
3222
|
Ie as k,
|
|
3215
3223
|
Ns as l,
|
|
@@ -3228,4 +3236,4 @@ export {
|
|
|
3228
3236
|
He as y,
|
|
3229
3237
|
We as z
|
|
3230
3238
|
};
|
|
3231
|
-
//# sourceMappingURL=UserStore-
|
|
3239
|
+
//# sourceMappingURL=UserStore-CzwmOm62.mjs.map
|