@mx-cartographer/experiences 7.2.9-alpha-ram4-finstrong-testing → 7.2.9-alpha.san4
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/dist/finstrong/index.es.js +547 -548
- package/package.json +1 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsxs as a, Fragment as z, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import C from "@mui/material/Box";
|
|
3
3
|
import u from "@mui/material/Stack";
|
|
4
|
-
import { useTheme as
|
|
4
|
+
import { useTheme as E, alpha as _e } from "@mui/material/styles";
|
|
5
5
|
import { PieChart as Vt, BarPlot as Yt } from "@mui/x-charts";
|
|
6
|
-
import { TrendingUp as dt, ArrowRightAlt as Xt, TrendingDown as Ut, AccountBalance as pt, ChevronRight as Z, MultilineChart as ut, CreditCard as
|
|
7
|
-
import { P as M, H3 as
|
|
6
|
+
import { TrendingUp as dt, ArrowRightAlt as Xt, TrendingDown as Ut, AccountBalance as pt, ChevronRight as Z, MultilineChart as ut, CreditCard as Ee, CheckCircle as qt, Cancel as Zt, Savings as Qt, ContentCopy as Jt, Add as _t, Cardiology as en, Payments as tn, CalendarMonth as nn, ExpandMore as on } from "@mxenabled/mx-icons";
|
|
7
|
+
import { P as M, H3 as K, Text as A, InstitutionLogo as ht, H2 as Ie, MerchantLogo as rn, Icon as an } from "@mxenabled/mxui";
|
|
8
8
|
import { g as sn, a as cn, r as Qe, b as ln, c as Ge, d as mt, C as be, e as fe, f as dn, h as pn, i as un, j as gt, k as Je, l as _n, m as et, n as hn, o as yt, p as mn, q as bt, s as ke, t as gn, u as yn, v as bn, w as fn, A as ee, x as xn, P as Sn } from "../FinstrongStore-rVhw737g.mjs";
|
|
9
9
|
import { y as yi, F as bi } from "../FinstrongStore-rVhw737g.mjs";
|
|
10
10
|
import * as tt from "d3";
|
|
11
|
-
import { observer as
|
|
12
|
-
import { u as
|
|
11
|
+
import { observer as S } from "mobx-react-lite";
|
|
12
|
+
import { u as v, b as V, p as Q, z as R, q as Cn, a as ft, d as Se, m as He, g as vn, f as wn, j as kn, h as Mn, i as xt } from "../hooks-C41HAxM5.mjs";
|
|
13
13
|
import { L as J } from "../Loader-DUaFpDGv.mjs";
|
|
14
14
|
import h from "react";
|
|
15
|
-
import
|
|
16
|
-
import
|
|
15
|
+
import $ from "@mui/material/Button";
|
|
16
|
+
import j from "@mui/material/Card";
|
|
17
17
|
import { L as Ne } from "../LineChart-Ct9DNmhS.mjs";
|
|
18
18
|
import { C as St } from "../ConnectionsDrawer-Cd_rztVC.mjs";
|
|
19
19
|
import { l as oe, g as Ct, A as We } from "../ConnectDrawer-FyY0AWYQ.mjs";
|
|
@@ -26,23 +26,23 @@ import { u as vt } from "../useDimensions-27p2evRx.mjs";
|
|
|
26
26
|
import Tn from "@mui/material/Chip";
|
|
27
27
|
import { D as te } from "../Drawer-BEtCk82g.mjs";
|
|
28
28
|
import ne from "@mui/material/Divider";
|
|
29
|
-
import
|
|
29
|
+
import pe from "@mui/material/ListItem";
|
|
30
30
|
import wt from "@mui/material/ListItemAvatar";
|
|
31
|
-
import
|
|
31
|
+
import ue from "@mui/material/ListItemText";
|
|
32
32
|
import { g as kt } from "../AccountFields-CLbLAhLf.mjs";
|
|
33
33
|
import De from "@mui/material/List";
|
|
34
34
|
import On from "@mui/material/ListItemButton";
|
|
35
35
|
import Rn from "@mui/material/ListSubheader";
|
|
36
|
-
import { f as
|
|
36
|
+
import { f as B } from "../NumberFormatting-Buh7u8Oi.mjs";
|
|
37
37
|
import { S as nt, F as Fn } from "../RecurringTransactions-CngsRZ3K.mjs";
|
|
38
|
-
import { Button as
|
|
39
|
-
import { S as
|
|
38
|
+
import { Button as Pn } from "@mui/material";
|
|
39
|
+
import { S as Bn } from "../StatusBar-BK_uYHAB.mjs";
|
|
40
40
|
import { h as Ve } from "../DateUtil-CBdcsyuk.mjs";
|
|
41
41
|
import { useVirtualizer as Ln } from "@tanstack/react-virtual";
|
|
42
|
-
import { u as $n, s as
|
|
43
|
-
import { A as
|
|
42
|
+
import { u as $n, s as ze, h as Mt, S as Dt, b as At, Z as Wn } from "../TransactionDetails-CJvE4LNC.mjs";
|
|
43
|
+
import { A as zn, W as En } from "../WidgetContainer-GoNq8wwm.mjs";
|
|
44
44
|
import { T as ie } from "../TabContentContainer-j01JYR_7.mjs";
|
|
45
|
-
import { b as
|
|
45
|
+
import { b as X } from "../Localization-2MODESHW.mjs";
|
|
46
46
|
import { E as Ae } from "../EmptyState-DA_lfRBv.mjs";
|
|
47
47
|
import Gn from "@mui/material/useMediaQuery";
|
|
48
48
|
import { ChartsXAxis as Hn } from "@mui/x-charts/ChartsXAxis";
|
|
@@ -83,34 +83,34 @@ const yo = ({
|
|
|
83
83
|
outterArcRadius: p,
|
|
84
84
|
progressEndAngle: _,
|
|
85
85
|
unitsPerSegment: m,
|
|
86
|
-
isFinacialStrengthGraph:
|
|
86
|
+
isFinacialStrengthGraph: g
|
|
87
87
|
}) => {
|
|
88
|
-
const
|
|
89
|
-
{ offset: "13.62%", color:
|
|
90
|
-
{ offset: "36.67%", color:
|
|
91
|
-
{ offset: "59.72%", color:
|
|
92
|
-
{ offset: "83.46%", color:
|
|
93
|
-
], [
|
|
88
|
+
const b = E(), w = [
|
|
89
|
+
{ offset: "13.62%", color: b.palette.chartMono.chartMono2 },
|
|
90
|
+
{ offset: "36.67%", color: b.palette.chartMono.chartMono3 },
|
|
91
|
+
{ offset: "59.72%", color: b.palette.chartMono.chartMono4 },
|
|
92
|
+
{ offset: "83.46%", color: b.palette.chartMono.chartMono5 }
|
|
93
|
+
], [f, x] = sn(
|
|
94
94
|
t,
|
|
95
95
|
l,
|
|
96
96
|
r,
|
|
97
97
|
o
|
|
98
|
-
), [
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
), [y, k] = cn(
|
|
99
|
+
f,
|
|
100
|
+
x,
|
|
101
101
|
o,
|
|
102
102
|
m,
|
|
103
103
|
_
|
|
104
|
-
), D = tt.arc().innerRadius(c).outerRadius(p).startAngle(
|
|
104
|
+
), D = tt.arc().innerRadius(c).outerRadius(p).startAngle(f).endAngle(x).padAngle(0.02).cornerRadius(8), I = tt.arc().innerRadius(c).outerRadius(p).startAngle(y).endAngle(k).padAngle(0.02).cornerRadius(8);
|
|
105
105
|
return /* @__PURE__ */ a(z, { children: [
|
|
106
106
|
/* @__PURE__ */ e(
|
|
107
107
|
"path",
|
|
108
108
|
{
|
|
109
109
|
d: D({}),
|
|
110
|
-
fill:
|
|
110
|
+
fill: g ? b.palette.divider : n
|
|
111
111
|
}
|
|
112
112
|
),
|
|
113
|
-
|
|
113
|
+
g && /* @__PURE__ */ e("path", { d: I({}), fill: "url(#arcGradient)" }),
|
|
114
114
|
/* @__PURE__ */ e("defs", { children: /* @__PURE__ */ e(
|
|
115
115
|
"linearGradient",
|
|
116
116
|
{
|
|
@@ -121,7 +121,7 @@ const yo = ({
|
|
|
121
121
|
x2: s - d * 0.8 * Math.cos(Math.PI / 1.35),
|
|
122
122
|
y1: i + d * 0.8 * Math.sin(Math.PI / 1.35),
|
|
123
123
|
y2: i - d * 0.8 * Math.sin(Math.PI / 1.35),
|
|
124
|
-
children:
|
|
124
|
+
children: w.map((N, G) => /* @__PURE__ */ e("stop", { offset: N.offset, stopColor: N.color }, G))
|
|
125
125
|
}
|
|
126
126
|
) })
|
|
127
127
|
] });
|
|
@@ -139,17 +139,17 @@ const yo = ({
|
|
|
139
139
|
footerRightContent: _,
|
|
140
140
|
isFinacialStrengthGraph: m = !1
|
|
141
141
|
}) => {
|
|
142
|
-
const
|
|
142
|
+
const g = E(), b = -Math.PI / 1.35, w = Math.PI / 1.35, f = w - b, x = f / (s - l), y = (o - l) * x, k = b + y + 0.02, D = n !== "SM" ? 0.1 : 0.12, I = t, N = t * (1 - D), G = I * 2.5, H = G / 2, W = G / 2, ce = (N + I) / 2, Y = o !== 25 && o !== 50 && o !== 75 && o !== 100 ? 0 : 0.12, [re, le] = ln(ce, k, Y), ge = o / 25, U = {
|
|
143
143
|
L: { markerSize: 12, healthScoreFontSize: 64 },
|
|
144
144
|
M: { markerSize: 10, healthScoreFontSize: 48 },
|
|
145
145
|
SM: { markerSize: 3, healthScoreFontSize: 14 }
|
|
146
|
-
},
|
|
146
|
+
}, Pe = c === 0 ? Xt : Ut;
|
|
147
147
|
return /* @__PURE__ */ a(
|
|
148
148
|
u,
|
|
149
149
|
{
|
|
150
150
|
sx: {
|
|
151
|
-
width:
|
|
152
|
-
height:
|
|
151
|
+
width: G,
|
|
152
|
+
height: G,
|
|
153
153
|
position: "relative",
|
|
154
154
|
alignSelf: "center"
|
|
155
155
|
},
|
|
@@ -157,16 +157,16 @@ const yo = ({
|
|
|
157
157
|
/* @__PURE__ */ e(
|
|
158
158
|
Vt,
|
|
159
159
|
{
|
|
160
|
-
height:
|
|
160
|
+
height: G,
|
|
161
161
|
margin: { top: 0, right: 0, bottom: 0, left: 0 },
|
|
162
162
|
series: [
|
|
163
163
|
{
|
|
164
164
|
data: r,
|
|
165
|
-
innerRadius:
|
|
166
|
-
outerRadius:
|
|
167
|
-
startAngle: Math.round(Qe(
|
|
165
|
+
innerRadius: N,
|
|
166
|
+
outerRadius: I,
|
|
167
|
+
startAngle: Math.round(Qe(b)),
|
|
168
168
|
// Use Math.degrees to convert
|
|
169
|
-
endAngle: Math.round(Qe(
|
|
169
|
+
endAngle: Math.round(Qe(w))
|
|
170
170
|
// Use Math.degrees to convert
|
|
171
171
|
}
|
|
172
172
|
],
|
|
@@ -180,16 +180,16 @@ const yo = ({
|
|
|
180
180
|
{
|
|
181
181
|
arcColor: Ce.color,
|
|
182
182
|
arcRadius: t,
|
|
183
|
-
arcStartAngle:
|
|
184
|
-
centerX:
|
|
185
|
-
centerY:
|
|
183
|
+
arcStartAngle: b,
|
|
184
|
+
centerX: H,
|
|
185
|
+
centerY: W,
|
|
186
186
|
dataIndex: Ce.dataIndex,
|
|
187
187
|
dialScoreData: r,
|
|
188
|
-
innerArcRadius:
|
|
188
|
+
innerArcRadius: N,
|
|
189
189
|
isFinacialStrengthGraph: m,
|
|
190
|
-
outterArcRadius:
|
|
190
|
+
outterArcRadius: I,
|
|
191
191
|
progressEndAngle: k,
|
|
192
|
-
totalAngularSpan:
|
|
192
|
+
totalAngularSpan: f,
|
|
193
193
|
unitsPerSegment: ge
|
|
194
194
|
}
|
|
195
195
|
)
|
|
@@ -199,14 +199,14 @@ const yo = ({
|
|
|
199
199
|
stroke: "none"
|
|
200
200
|
}
|
|
201
201
|
},
|
|
202
|
-
width:
|
|
202
|
+
width: G,
|
|
203
203
|
children: o >= l && o <= s && /* @__PURE__ */ e(
|
|
204
204
|
"circle",
|
|
205
205
|
{
|
|
206
|
-
cx:
|
|
207
|
-
cy:
|
|
208
|
-
fill:
|
|
209
|
-
r:
|
|
206
|
+
cx: H + re,
|
|
207
|
+
cy: W + le,
|
|
208
|
+
fill: g.palette.common.white,
|
|
209
|
+
r: U[n].markerSize,
|
|
210
210
|
stroke: m ? "url(#arcGradient)" : i,
|
|
211
211
|
strokeWidth: n !== "SM" ? 3 : 1
|
|
212
212
|
}
|
|
@@ -214,12 +214,12 @@ const yo = ({
|
|
|
214
214
|
}
|
|
215
215
|
),
|
|
216
216
|
/* @__PURE__ */ e(
|
|
217
|
-
|
|
217
|
+
C,
|
|
218
218
|
{
|
|
219
219
|
sx: {
|
|
220
220
|
position: "absolute",
|
|
221
|
-
top: `${
|
|
222
|
-
left: `${
|
|
221
|
+
top: `${W}px`,
|
|
222
|
+
left: `${H}px`,
|
|
223
223
|
transform: "translate(-50%, -50%)",
|
|
224
224
|
textAlign: "center"
|
|
225
225
|
},
|
|
@@ -233,7 +233,7 @@ const yo = ({
|
|
|
233
233
|
M,
|
|
234
234
|
{
|
|
235
235
|
sx: {
|
|
236
|
-
fontSize:
|
|
236
|
+
fontSize: U[n].healthScoreFontSize,
|
|
237
237
|
lineHeight: n !== "SM" ? "48px" : "100%"
|
|
238
238
|
},
|
|
239
239
|
variant: "H1",
|
|
@@ -247,17 +247,17 @@ const yo = ({
|
|
|
247
247
|
}
|
|
248
248
|
),
|
|
249
249
|
c !== void 0 && /* @__PURE__ */ e(
|
|
250
|
-
|
|
250
|
+
C,
|
|
251
251
|
{
|
|
252
252
|
sx: {
|
|
253
253
|
position: "absolute",
|
|
254
|
-
top: `${
|
|
255
|
-
left: `${
|
|
254
|
+
top: `${W * 2 * 0.83}px`,
|
|
255
|
+
left: `${H}px`,
|
|
256
256
|
transform: "translate(-50%, -50%)",
|
|
257
257
|
textAlign: "center"
|
|
258
258
|
},
|
|
259
259
|
children: typeof c == "number" ? /* @__PURE__ */ a(u, { sx: { flexDirection: "row", alignItems: "center", gap: 4 }, children: [
|
|
260
|
-
c > 0 ? /* @__PURE__ */ e(dt, { size: 16, sx: { color: "success.main" } }) : /* @__PURE__ */ e(
|
|
260
|
+
c > 0 ? /* @__PURE__ */ e(dt, { size: 16, sx: { color: "success.main" } }) : /* @__PURE__ */ e(Pe, { size: 16, sx: { color: "text.secondary" } }),
|
|
261
261
|
/* @__PURE__ */ e(
|
|
262
262
|
M,
|
|
263
263
|
{
|
|
@@ -273,12 +273,12 @@ const yo = ({
|
|
|
273
273
|
}
|
|
274
274
|
),
|
|
275
275
|
p !== void 0 && /* @__PURE__ */ e(
|
|
276
|
-
|
|
276
|
+
C,
|
|
277
277
|
{
|
|
278
278
|
sx: {
|
|
279
279
|
position: "absolute",
|
|
280
|
-
top: `${
|
|
281
|
-
left: `${
|
|
280
|
+
top: `${W * 2 * 0.83}px`,
|
|
281
|
+
left: `${H - H / 2}px`,
|
|
282
282
|
// shift left from center
|
|
283
283
|
transform: "translate(-50%, -50%)",
|
|
284
284
|
textAlign: "left"
|
|
@@ -287,12 +287,12 @@ const yo = ({
|
|
|
287
287
|
}
|
|
288
288
|
),
|
|
289
289
|
_ !== void 0 && /* @__PURE__ */ e(
|
|
290
|
-
|
|
290
|
+
C,
|
|
291
291
|
{
|
|
292
292
|
sx: {
|
|
293
293
|
position: "absolute",
|
|
294
|
-
top: `${
|
|
295
|
-
left: `${
|
|
294
|
+
top: `${W * 2 * 0.83}px`,
|
|
295
|
+
left: `${H + H / 2}px`,
|
|
296
296
|
transform: "translate(-50%, -50%)",
|
|
297
297
|
textAlign: "right"
|
|
298
298
|
},
|
|
@@ -302,14 +302,14 @@ const yo = ({
|
|
|
302
302
|
]
|
|
303
303
|
}
|
|
304
304
|
);
|
|
305
|
-
}, Ft =
|
|
305
|
+
}, Ft = S(
|
|
306
306
|
({ arcRadius: t, size: o = "L", healthScore: n, footerCenterContent: r }) => {
|
|
307
307
|
const l = [
|
|
308
308
|
{ id: 1, label: "Group A", value: 25 },
|
|
309
309
|
{ id: 2, label: "Group B", value: 25 },
|
|
310
310
|
{ id: 3, label: "Group C", value: 25 },
|
|
311
311
|
{ id: 4, label: "Group D", value: 25 }
|
|
312
|
-
], { finstrong: s } =
|
|
312
|
+
], { finstrong: s } = v(), i = Ge(n, s);
|
|
313
313
|
return /* @__PURE__ */ e(
|
|
314
314
|
Rt,
|
|
315
315
|
{
|
|
@@ -323,7 +323,7 @@ const yo = ({
|
|
|
323
323
|
}
|
|
324
324
|
);
|
|
325
325
|
}
|
|
326
|
-
), bo =
|
|
326
|
+
), bo = S(
|
|
327
327
|
({
|
|
328
328
|
arcRadius: t,
|
|
329
329
|
size: o = "L",
|
|
@@ -332,7 +332,7 @@ const yo = ({
|
|
|
332
332
|
minValue: l = 300,
|
|
333
333
|
footerCenterContent: s
|
|
334
334
|
}) => {
|
|
335
|
-
const d =
|
|
335
|
+
const d = E().palette.mode === "dark", c = [
|
|
336
336
|
{
|
|
337
337
|
id: 1,
|
|
338
338
|
label: "Poor",
|
|
@@ -363,9 +363,9 @@ const yo = ({
|
|
|
363
363
|
value: 12,
|
|
364
364
|
color: d ? be.EXCEPTIONAL : fe.EXCEPTIONAL
|
|
365
365
|
}
|
|
366
|
-
], { finstrong: p } =
|
|
366
|
+
], { finstrong: p } = v(), { isCopyLoaded: _ } = V();
|
|
367
367
|
if (!_) return /* @__PURE__ */ e(J, {});
|
|
368
|
-
const { status: m, color:
|
|
368
|
+
const { status: m, color: g = "none" } = mt(
|
|
369
369
|
n,
|
|
370
370
|
d,
|
|
371
371
|
p.credit_score_status
|
|
@@ -380,7 +380,7 @@ const yo = ({
|
|
|
380
380
|
footerRightContent: r,
|
|
381
381
|
healthScore: n,
|
|
382
382
|
healthScoreStatus: m,
|
|
383
|
-
markerColor:
|
|
383
|
+
markerColor: g,
|
|
384
384
|
maxValue: r,
|
|
385
385
|
minValue: l,
|
|
386
386
|
size: o
|
|
@@ -397,9 +397,9 @@ const yo = ({
|
|
|
397
397
|
description: i,
|
|
398
398
|
sx: d
|
|
399
399
|
}) => {
|
|
400
|
-
const [c, p] = h.useState(!1), { connect: _, finstrong: m } =
|
|
400
|
+
const [c, p] = h.useState(!1), { connect: _, finstrong: m } = v();
|
|
401
401
|
return t ? /* @__PURE__ */ a(
|
|
402
|
-
|
|
402
|
+
j,
|
|
403
403
|
{
|
|
404
404
|
sx: {
|
|
405
405
|
pb: 24,
|
|
@@ -418,7 +418,7 @@ const yo = ({
|
|
|
418
418
|
},
|
|
419
419
|
children: [
|
|
420
420
|
n && /* @__PURE__ */ e(pt, { sx: { height: 20, width: 20 } }),
|
|
421
|
-
/* @__PURE__ */ e(
|
|
421
|
+
/* @__PURE__ */ e(K, { className: "connect-more-accounts-title", sx: { ...o && { fontSize: 15 } }, children: l || m.connect_more_accounts_title })
|
|
422
422
|
]
|
|
423
423
|
}
|
|
424
424
|
),
|
|
@@ -432,7 +432,7 @@ const yo = ({
|
|
|
432
432
|
}
|
|
433
433
|
),
|
|
434
434
|
/* @__PURE__ */ e(
|
|
435
|
-
|
|
435
|
+
$,
|
|
436
436
|
{
|
|
437
437
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
438
438
|
onClick: () => p(!0),
|
|
@@ -463,7 +463,7 @@ const yo = ({
|
|
|
463
463
|
};
|
|
464
464
|
var se = /* @__PURE__ */ ((t) => (t.SpendLessThanYouMake = "spendLessThanYouMake", t.PayBillsOnTime = "payBillsOnTime", t.SaveEnoughToLiveOn = "saveEnoughToLiveOn", t.MaintainEmergencySavings = "maintainEmergencySavings", t.HaveManageableDebt = "haveManageableDebt", t.HaveAGoodCreditScore = "haveAGoodCreditScore", t))(se || {});
|
|
465
465
|
const fo = ({ isOpen: t, onClose: o }) => {
|
|
466
|
-
const { common: n, finstrong: r } =
|
|
466
|
+
const { common: n, finstrong: r } = v(), { isMobile: l } = je(), { updateUser: s, user: i } = Q(), [d, c] = h.useState(i.credit_score || 0), p = !isNaN(d), _ = () => {
|
|
467
467
|
o(), setTimeout(() => c(i.credit_score || 0), 300);
|
|
468
468
|
}, m = () => {
|
|
469
469
|
!d || d === i.credit_score || s({ ...i, credit_score: d });
|
|
@@ -487,8 +487,8 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
487
487
|
children: /* @__PURE__ */ e(
|
|
488
488
|
"form",
|
|
489
489
|
{
|
|
490
|
-
onSubmit: (
|
|
491
|
-
|
|
490
|
+
onSubmit: (g) => {
|
|
491
|
+
g.preventDefault(), m(), _();
|
|
492
492
|
},
|
|
493
493
|
children: /* @__PURE__ */ e(
|
|
494
494
|
Me,
|
|
@@ -500,7 +500,7 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
500
500
|
noValidate: !0,
|
|
501
501
|
pattern: "[0-9]*"
|
|
502
502
|
},
|
|
503
|
-
onChange: (
|
|
503
|
+
onChange: (g) => c(Number(g.target.value)),
|
|
504
504
|
value: p ? d : ""
|
|
505
505
|
}
|
|
506
506
|
)
|
|
@@ -508,11 +508,11 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
508
508
|
)
|
|
509
509
|
}
|
|
510
510
|
);
|
|
511
|
-
},
|
|
511
|
+
}, Pt = S(fo), Be = {
|
|
512
512
|
credit_over_time_title: "Your Credit Over Time",
|
|
513
513
|
credit_over_time_zero_state_desc: "Add your credit score to start building a full picture of your credit health."
|
|
514
514
|
}, xo = ({ chartFor: t }) => {
|
|
515
|
-
const o =
|
|
515
|
+
const o = E(), n = o.palette.mode === "dark", { monthlySummaries: r } = R(), { user: l } = Q(), { finstrong: s } = v(), [i, { width: d }] = vt(), c = {
|
|
516
516
|
savingsOverTime: {
|
|
517
517
|
icon: /* @__PURE__ */ e(dt, { size: 48, sx: { marginBottom: 8 } }),
|
|
518
518
|
title: s.key_indicators_save.zero_state_title,
|
|
@@ -524,9 +524,9 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
524
524
|
description: ""
|
|
525
525
|
},
|
|
526
526
|
creditOverTime: {
|
|
527
|
-
icon: /* @__PURE__ */ e(
|
|
528
|
-
title:
|
|
529
|
-
description:
|
|
527
|
+
icon: /* @__PURE__ */ e(Ee, { size: 48, sx: { marginBottom: 8 } }),
|
|
528
|
+
title: Be.credit_over_time_title,
|
|
529
|
+
description: Be.credit_over_time_zero_state_desc
|
|
530
530
|
}
|
|
531
531
|
}[t], _ = {
|
|
532
532
|
savingsOverTime: {
|
|
@@ -538,12 +538,12 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
538
538
|
valueKey: "debt_balance"
|
|
539
539
|
},
|
|
540
540
|
creditOverTime: {
|
|
541
|
-
title:
|
|
541
|
+
title: Be.credit_over_time_title,
|
|
542
542
|
valueKey: "credit_score"
|
|
543
543
|
}
|
|
544
|
-
}[t], m = dn(r, _.valueKey),
|
|
544
|
+
}[t], m = dn(r, _.valueKey), g = Math.max(...r.map((D) => D[_.valueKey])), b = () => g >= 1e6 ? { formatter: "0.000a", leftMargin: 55 } : g >= 1e3 ? { formatter: "0a", leftMargin: 35 } : { formatter: "0a", leftMargin: 30 }, { formatter: w, leftMargin: f } = b(), x = _.title, y = t === "creditOverTime";
|
|
545
545
|
let k;
|
|
546
|
-
if (
|
|
546
|
+
if (y) {
|
|
547
547
|
const { color: D } = mt(
|
|
548
548
|
l?.credit_score ?? 0,
|
|
549
549
|
n,
|
|
@@ -551,8 +551,8 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
551
551
|
);
|
|
552
552
|
k = D;
|
|
553
553
|
}
|
|
554
|
-
return /* @__PURE__ */ e(
|
|
555
|
-
/* @__PURE__ */ e(M, { sx: { pb: 8, pt: 16 }, variant: "h3", children:
|
|
554
|
+
return /* @__PURE__ */ e(j, { ref: i, sx: { backgroundColor: "background.paper" }, children: m.length >= 1 ? /* @__PURE__ */ a(u, { gap: 8, sx: { pl: 18 }, children: [
|
|
555
|
+
/* @__PURE__ */ e(M, { sx: { pb: 8, pt: 16 }, variant: "h3", children: x }),
|
|
556
556
|
/* @__PURE__ */ e(
|
|
557
557
|
Ne,
|
|
558
558
|
{
|
|
@@ -561,31 +561,31 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
561
561
|
baseline: "min",
|
|
562
562
|
chartFor: t,
|
|
563
563
|
colors: [o.palette.primary.main],
|
|
564
|
-
curveType:
|
|
564
|
+
curveType: y ? "linear" : "natural",
|
|
565
565
|
datasets: m ? [m] : [],
|
|
566
566
|
height: 244,
|
|
567
|
-
labelFontColor:
|
|
568
|
-
labelFontSize:
|
|
567
|
+
labelFontColor: y ? "text.primary" : "",
|
|
568
|
+
labelFontSize: y ? 13 : void 0,
|
|
569
569
|
labels: [s.key_indicators_label],
|
|
570
|
-
margin: { left:
|
|
571
|
-
markStyles: (D) =>
|
|
570
|
+
margin: { left: f, top: y ? 25 : 15, right: 20 },
|
|
571
|
+
markStyles: (D) => y ? {
|
|
572
572
|
markLabelStyles: {
|
|
573
573
|
marginLeft: 16,
|
|
574
574
|
transform: D === m.length - 1 ? "translateX(-16px)" : "translateX(16px)",
|
|
575
575
|
fontWeight: 600
|
|
576
576
|
}
|
|
577
577
|
} : {},
|
|
578
|
-
maxRange:
|
|
579
|
-
minRange:
|
|
578
|
+
maxRange: y ? 850 : void 0,
|
|
579
|
+
minRange: y ? 300 : void 0,
|
|
580
580
|
showArea: !0,
|
|
581
|
-
showAverage: !
|
|
582
|
-
showMark: !
|
|
583
|
-
showMarkLabel:
|
|
581
|
+
showAverage: !y,
|
|
582
|
+
showMark: !y,
|
|
583
|
+
showMarkLabel: y,
|
|
584
584
|
showXAxis: !0,
|
|
585
|
-
showYAxis:
|
|
586
|
-
showYAxisTicks:
|
|
585
|
+
showYAxis: y,
|
|
586
|
+
showYAxisTicks: y,
|
|
587
587
|
useCustomMark: !0,
|
|
588
|
-
valueFormatterString:
|
|
588
|
+
valueFormatterString: y ? void 0 : w,
|
|
589
589
|
width: d < 342 ? d - 48 : 342
|
|
590
590
|
}
|
|
591
591
|
)
|
|
@@ -594,7 +594,7 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
594
594
|
/* @__PURE__ */ e(M, { fontWeight: 600, variant: "body1", children: c.title }),
|
|
595
595
|
/* @__PURE__ */ e(M, { align: "center", variant: "subtitle1", children: c.description })
|
|
596
596
|
] }) });
|
|
597
|
-
}, Ye =
|
|
597
|
+
}, Ye = S(xo), So = {
|
|
598
598
|
updated_score: "Updated Score"
|
|
599
599
|
}, Co = () => {
|
|
600
600
|
const { healthScoreChange: t } = R(), { user: o } = Q(), { availableWidth: n } = Cn(), { isSmallMobile: r } = je(n), [l, s] = h.useState(!1);
|
|
@@ -608,12 +608,12 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
608
608
|
size: r ? "M" : "L"
|
|
609
609
|
}
|
|
610
610
|
),
|
|
611
|
-
/* @__PURE__ */ e(
|
|
612
|
-
/* @__PURE__ */ e(
|
|
611
|
+
/* @__PURE__ */ e($, { onClick: () => s(!0), variant: "contained", children: So.updated_score }),
|
|
612
|
+
/* @__PURE__ */ e(Pt, { isOpen: l, onClose: () => s(!1) }),
|
|
613
613
|
/* @__PURE__ */ e(Ye, { chartFor: "creditOverTime" })
|
|
614
614
|
] });
|
|
615
|
-
}, vo =
|
|
616
|
-
const { finstrong: o } =
|
|
615
|
+
}, vo = S(Co), Oe = ({ status: t }) => {
|
|
616
|
+
const { finstrong: o } = v(), n = pn(un[t]), r = {
|
|
617
617
|
GOOD: o.key_indicators_good,
|
|
618
618
|
FAIR: o.key_indicators_fair,
|
|
619
619
|
OFF_TRACK: o.key_indicators_off_track,
|
|
@@ -645,10 +645,10 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
645
645
|
}, ko = () => {
|
|
646
646
|
const { user: t } = Q(), o = gt(t.credit_score ?? null);
|
|
647
647
|
return /* @__PURE__ */ a(u, { sx: { flexDirection: "row", justifyContent: "space-between" }, children: [
|
|
648
|
-
/* @__PURE__ */ e(
|
|
648
|
+
/* @__PURE__ */ e(K, { children: wo.keep_strong_credit_score }),
|
|
649
649
|
/* @__PURE__ */ e(Oe, { status: o })
|
|
650
650
|
] });
|
|
651
|
-
}, Mo =
|
|
651
|
+
}, Mo = S(ko), Do = ({
|
|
652
652
|
additionalContent: t,
|
|
653
653
|
connectTitle: o,
|
|
654
654
|
connectDescription: n,
|
|
@@ -662,8 +662,8 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
662
662
|
title: _,
|
|
663
663
|
drawerType: m
|
|
664
664
|
}) => {
|
|
665
|
-
const { finstrong:
|
|
666
|
-
return
|
|
665
|
+
const { finstrong: g } = v(), { isCopyLoaded: b } = V();
|
|
666
|
+
return b ? /* @__PURE__ */ a(te, { isOpen: i, onClose: c, title: s || g.key_indicators, children: [
|
|
667
667
|
(_ || l) && /* @__PURE__ */ a(
|
|
668
668
|
u,
|
|
669
669
|
{
|
|
@@ -673,13 +673,13 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
673
673
|
p: 24
|
|
674
674
|
},
|
|
675
675
|
children: [
|
|
676
|
-
_ && typeof _ == "string" ? /* @__PURE__ */ e(
|
|
676
|
+
_ && typeof _ == "string" ? /* @__PURE__ */ e(K, { children: _ }) : _,
|
|
677
677
|
l && /* @__PURE__ */ e(M, { children: l })
|
|
678
678
|
]
|
|
679
679
|
}
|
|
680
680
|
),
|
|
681
681
|
p && /* @__PURE__ */ e(
|
|
682
|
-
|
|
682
|
+
C,
|
|
683
683
|
{
|
|
684
684
|
sx: {
|
|
685
685
|
position: "sticky",
|
|
@@ -689,7 +689,7 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
689
689
|
children: p
|
|
690
690
|
}
|
|
691
691
|
),
|
|
692
|
-
t && /* @__PURE__ */ e(
|
|
692
|
+
t && /* @__PURE__ */ e(C, { children: t }),
|
|
693
693
|
/* @__PURE__ */ a(u, { sx: { p: 24, gap: 24 }, children: [
|
|
694
694
|
r,
|
|
695
695
|
d && /* @__PURE__ */ e(
|
|
@@ -704,12 +704,12 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
704
704
|
)
|
|
705
705
|
] })
|
|
706
706
|
] }) : /* @__PURE__ */ e(J, {});
|
|
707
|
-
},
|
|
707
|
+
}, Bt = S(Do), Ao = ({
|
|
708
708
|
onClick: t,
|
|
709
709
|
shouldShowBalance: o = !0,
|
|
710
710
|
loadAccounts: n
|
|
711
711
|
}) => {
|
|
712
|
-
const { config: r } = ft(), { accounts: l } =
|
|
712
|
+
const { config: r } = ft(), { accounts: l } = v(), { selectedAccounts: s } = V(), i = h.useCallback(
|
|
713
713
|
(c) => {
|
|
714
714
|
t?.(c);
|
|
715
715
|
},
|
|
@@ -722,7 +722,7 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
722
722
|
);
|
|
723
723
|
return s.length ? /* @__PURE__ */ e(h.Fragment, { children: d.map((c) => {
|
|
724
724
|
const { accountsForType: p, totalBalanceForType: _ } = s.reduce(
|
|
725
|
-
(m,
|
|
725
|
+
(m, g) => (g.account_type === c && (m.accountsForType.push(g), m.totalBalanceForType += g.balance || 0), m),
|
|
726
726
|
{ accountsForType: [], totalBalanceForType: 0 }
|
|
727
727
|
);
|
|
728
728
|
return /* @__PURE__ */ a(
|
|
@@ -730,27 +730,27 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
730
730
|
{
|
|
731
731
|
subheader: /* @__PURE__ */ e(Rn, { sx: { pb: 4, position: "static", pt: 12, px: 24 }, children: /* @__PURE__ */ a(u, { sx: { flexDirection: "row", justifyContent: "space-between" }, children: [
|
|
732
732
|
/* @__PURE__ */ e(A, { bold: !0, variant: "caption", children: l.account_types[c] }),
|
|
733
|
-
o && /* @__PURE__ */ e(A, { bold: !0, variant: "caption", children:
|
|
733
|
+
o && /* @__PURE__ */ e(A, { bold: !0, variant: "caption", children: B(_, "0,0.00") })
|
|
734
734
|
] }) }),
|
|
735
735
|
sx: { bgcolor: "background.paper" },
|
|
736
736
|
children: [
|
|
737
|
-
p.map((m,
|
|
738
|
-
const { firstValue:
|
|
737
|
+
p.map((m, g) => {
|
|
738
|
+
const { firstValue: b } = kt(m, l), w = Ct(m, {
|
|
739
739
|
allowNickname: r?.show_account_nicknames_in_master
|
|
740
|
-
}),
|
|
740
|
+
}), f = /* @__PURE__ */ a(z, { children: [
|
|
741
741
|
/* @__PURE__ */ e(wt, { children: /* @__PURE__ */ e(ht, { alt: "MX", institutionGuid: m.institution_guid ?? "" }) }),
|
|
742
742
|
/* @__PURE__ */ e(
|
|
743
|
-
|
|
743
|
+
ue,
|
|
744
744
|
{
|
|
745
|
-
primary: `${
|
|
745
|
+
primary: `${w}${m.account_number ? ` *${m.account_number}` : ""}`,
|
|
746
746
|
primaryTypographyProps: { noWrap: !0, pr: 4, variant: "body1" }
|
|
747
747
|
}
|
|
748
748
|
),
|
|
749
|
-
o && /* @__PURE__ */ e(M, { bold: !0, variant: "body2", children:
|
|
749
|
+
o && /* @__PURE__ */ e(M, { bold: !0, variant: "body2", children: B(b ?? 0, "0,0.00") })
|
|
750
750
|
] });
|
|
751
751
|
return /* @__PURE__ */ a(h.Fragment, { children: [
|
|
752
|
-
/* @__PURE__ */ e(
|
|
753
|
-
|
|
752
|
+
/* @__PURE__ */ e(pe, { sx: { px: t ? 0 : 24 }, children: t ? /* @__PURE__ */ e(On, { onClick: () => i(m), children: f }) : f }),
|
|
753
|
+
g !== p.length - 1 && /* @__PURE__ */ e(ne, { variant: "inset" })
|
|
754
754
|
] }, m.guid);
|
|
755
755
|
}),
|
|
756
756
|
/* @__PURE__ */ e(ne, {})
|
|
@@ -759,44 +759,44 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
759
759
|
c
|
|
760
760
|
);
|
|
761
761
|
}) }) : null;
|
|
762
|
-
}, Lt =
|
|
763
|
-
const n =
|
|
762
|
+
}, Lt = S(Ao), Io = ({ loadAccounts: t, loadMoreLabel: o }) => {
|
|
763
|
+
const n = E(), { config: r } = ft(), { connect: l, finstrong: s } = v(), { accounts: i } = v(), { selectedAccounts: d } = V(), [c, p] = h.useState(!1), [_, m] = h.useState(!1), g = h.useMemo(
|
|
764
764
|
() => d.filter(
|
|
765
|
-
(
|
|
765
|
+
(f) => t ? t.includes(f.account_type) : !0
|
|
766
766
|
),
|
|
767
767
|
[d, t]
|
|
768
|
-
),
|
|
769
|
-
const { firstValue:
|
|
770
|
-
return
|
|
768
|
+
), b = h.useMemo(() => g.slice(0, 3), [g]), w = (f) => {
|
|
769
|
+
const { firstValue: x } = kt(f, i);
|
|
770
|
+
return x;
|
|
771
771
|
};
|
|
772
|
-
return
|
|
773
|
-
/* @__PURE__ */ e(
|
|
774
|
-
/* @__PURE__ */ a(
|
|
775
|
-
/* @__PURE__ */ e(wt, { children: /* @__PURE__ */ e(ht, { alt: "MX", institutionGuid:
|
|
772
|
+
return g.length >= 1 ? /* @__PURE__ */ a(z, { children: [
|
|
773
|
+
/* @__PURE__ */ e(C, { sx: { border: `1px solid ${n.palette.divider}`, borderRadius: 2 }, children: b.map((f, x) => /* @__PURE__ */ a(h.Fragment, { children: [
|
|
774
|
+
/* @__PURE__ */ a(pe, { sx: { px: 24 }, children: [
|
|
775
|
+
/* @__PURE__ */ e(wt, { children: /* @__PURE__ */ e(ht, { alt: "MX", institutionGuid: f.institution_guid ?? "" }) }),
|
|
776
776
|
/* @__PURE__ */ e(
|
|
777
|
-
|
|
777
|
+
ue,
|
|
778
778
|
{
|
|
779
|
-
primary: `${Ct(
|
|
779
|
+
primary: `${Ct(f, {
|
|
780
780
|
allowNickname: r?.show_account_nicknames_in_master
|
|
781
781
|
})}
|
|
782
|
-
${
|
|
782
|
+
${f.account_number ? ` *${f.account_number}` : ""}`,
|
|
783
783
|
primaryTypographyProps: { noWrap: !0, pr: 4, variant: "body1" }
|
|
784
784
|
}
|
|
785
785
|
),
|
|
786
|
-
/* @__PURE__ */ e(M, { bold: !0, variant: "body2", children:
|
|
786
|
+
/* @__PURE__ */ e(M, { bold: !0, variant: "body2", children: B(w(f), "0,0.00") })
|
|
787
787
|
] }),
|
|
788
|
-
|
|
789
|
-
] },
|
|
790
|
-
|
|
791
|
-
/* @__PURE__ */ e(
|
|
792
|
-
|
|
788
|
+
x < b.length - 1 && /* @__PURE__ */ e(ne, { variant: "inset" })
|
|
789
|
+
] }, f.guid)) }),
|
|
790
|
+
g.length > 3 && /* @__PURE__ */ a(z, { children: [
|
|
791
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
792
|
+
$,
|
|
793
793
|
{
|
|
794
794
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
795
795
|
onClick: () => p(!0),
|
|
796
796
|
size: "small",
|
|
797
797
|
sx: { my: 0, px: 16, py: 12, width: "100%" },
|
|
798
798
|
children: /* @__PURE__ */ a(A, { bold: !0, variant: "body1", children: [
|
|
799
|
-
|
|
799
|
+
g.length - 3,
|
|
800
800
|
" ",
|
|
801
801
|
o
|
|
802
802
|
] })
|
|
@@ -805,8 +805,8 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
805
805
|
/* @__PURE__ */ e(te, { isOpen: c, onClose: () => p(!1), title: s.accounts, children: /* @__PURE__ */ e(Lt, { loadAccounts: t }) })
|
|
806
806
|
] })
|
|
807
807
|
] }) : /* @__PURE__ */ a(z, { children: [
|
|
808
|
-
/* @__PURE__ */ e(
|
|
809
|
-
|
|
808
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
809
|
+
$,
|
|
810
810
|
{
|
|
811
811
|
onClick: () => m(!0),
|
|
812
812
|
size: "small",
|
|
@@ -824,7 +824,7 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
824
824
|
}
|
|
825
825
|
)
|
|
826
826
|
] });
|
|
827
|
-
}, $t =
|
|
827
|
+
}, $t = S(Io), me = ({ balance: t, title: o, sx: n }) => /* @__PURE__ */ a(
|
|
828
828
|
u,
|
|
829
829
|
{
|
|
830
830
|
sx: {
|
|
@@ -837,12 +837,12 @@ const fo = ({ isOpen: t, onClose: o }) => {
|
|
|
837
837
|
...n
|
|
838
838
|
},
|
|
839
839
|
children: [
|
|
840
|
-
typeof t == "number" ? /* @__PURE__ */ e(M, { variant: "h2", children:
|
|
840
|
+
typeof t == "number" ? /* @__PURE__ */ e(M, { variant: "h2", children: B(t, "0,0.00") }) : t,
|
|
841
841
|
/* @__PURE__ */ e(M, { color: "text.secondary", fontWeight: "400", variant: "subtitle2", children: o })
|
|
842
842
|
]
|
|
843
843
|
}
|
|
844
844
|
);
|
|
845
|
-
var
|
|
845
|
+
var O = /* @__PURE__ */ ((t) => (t[t.ConnectAccounts = 1] = "ConnectAccounts", t[t.MonthlyIncome = 2] = "MonthlyIncome", t[t.Birthday = 3] = "Birthday", t[t.CreditScore = 4] = "CreditScore", t))(O || {}), xe = /* @__PURE__ */ ((t) => (t[t.Months = 1] = "Months", t[t.Years = 2] = "Years", t[t.Days = 3] = "Days", t))(xe || {}), q = /* @__PURE__ */ ((t) => (t[t.Monthly = 1] = "Monthly", t[t.BiWeekly = 2] = "BiWeekly", t[t.Weekly = 3] = "Weekly", t[t.Daily = 4] = "Daily", t))(q || {});
|
|
846
846
|
const P = {
|
|
847
847
|
bi_weekly: "Bi-Weekly",
|
|
848
848
|
calculate: "Calculate",
|
|
@@ -879,35 +879,35 @@ const P = {
|
|
|
879
879
|
], Fo = ({ total: t }) => {
|
|
880
880
|
const o = Math.ceil((t + 1) / 1e3) * 1e3, [n, r] = h.useState(0), [l, s] = h.useState(Je(t)), [i, d] = h.useState(
|
|
881
881
|
Je(t)
|
|
882
|
-
), [c, p] = h.useState(o), [_, m] = h.useState(_n(t)), [
|
|
882
|
+
), [c, p] = h.useState(o), [_, m] = h.useState(_n(t)), [g, b] = h.useState(xe.Months);
|
|
883
883
|
h.useEffect(() => {
|
|
884
884
|
r(
|
|
885
885
|
et({
|
|
886
886
|
contribution: i,
|
|
887
887
|
goalAmount: c,
|
|
888
888
|
goalPeriod: _,
|
|
889
|
-
targetPeriod:
|
|
889
|
+
targetPeriod: g,
|
|
890
890
|
totalSaved: t
|
|
891
891
|
})
|
|
892
892
|
), s(i);
|
|
893
893
|
}, []);
|
|
894
|
-
const
|
|
895
|
-
|
|
894
|
+
const w = (f) => {
|
|
895
|
+
f.preventDefault(), r(
|
|
896
896
|
et({
|
|
897
897
|
contribution: i,
|
|
898
898
|
goalAmount: c,
|
|
899
899
|
goalPeriod: _,
|
|
900
|
-
targetPeriod:
|
|
900
|
+
targetPeriod: g,
|
|
901
901
|
totalSaved: t
|
|
902
902
|
})
|
|
903
903
|
), s(i);
|
|
904
904
|
};
|
|
905
|
-
return /* @__PURE__ */ e(
|
|
905
|
+
return /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e("form", { onSubmit: w, children: /* @__PURE__ */ a(u, { sx: { gap: 24, pb: 24, pt: 16, px: 16 }, children: [
|
|
906
906
|
/* @__PURE__ */ e(
|
|
907
|
-
|
|
907
|
+
me,
|
|
908
908
|
{
|
|
909
909
|
balance: /* @__PURE__ */ a(u, { sx: { flexDirection: "row", height: 32 }, children: [
|
|
910
|
-
/* @__PURE__ */ e(A, { variant: "h2", children:
|
|
910
|
+
/* @__PURE__ */ e(A, { variant: "h2", children: B(n, "0,0") }),
|
|
911
911
|
/* @__PURE__ */ a(A, { sx: { alignSelf: "end", height: 24 }, variant: "subtitle2", children: [
|
|
912
912
|
"/",
|
|
913
913
|
Oo[l]
|
|
@@ -926,10 +926,10 @@ const P = {
|
|
|
926
926
|
pattern: "[0-9]*"
|
|
927
927
|
},
|
|
928
928
|
label: P.savings_goal,
|
|
929
|
-
onChange: (
|
|
930
|
-
|
|
929
|
+
onChange: (f) => {
|
|
930
|
+
f.target.value && p(Number(f.target.value.replace(/[^0-9]/g, "")));
|
|
931
931
|
},
|
|
932
|
-
value: c ?
|
|
932
|
+
value: c ? B(c, "0,0") : ""
|
|
933
933
|
}
|
|
934
934
|
),
|
|
935
935
|
/* @__PURE__ */ e(
|
|
@@ -953,7 +953,7 @@ const P = {
|
|
|
953
953
|
pattern: "[0-9]*"
|
|
954
954
|
},
|
|
955
955
|
label: P.meet_your_goal_within,
|
|
956
|
-
onChange: (
|
|
956
|
+
onChange: (f) => m(Number(f.target.value)),
|
|
957
957
|
sx: {
|
|
958
958
|
"& .MuiInputBase-root": {
|
|
959
959
|
borderBottomRightRadius: 0,
|
|
@@ -967,7 +967,7 @@ const P = {
|
|
|
967
967
|
}
|
|
968
968
|
),
|
|
969
969
|
/* @__PURE__ */ e(
|
|
970
|
-
|
|
970
|
+
C,
|
|
971
971
|
{
|
|
972
972
|
sx: {
|
|
973
973
|
"& .MuiInputBase-root": {
|
|
@@ -978,27 +978,27 @@ const P = {
|
|
|
978
978
|
}
|
|
979
979
|
}
|
|
980
980
|
},
|
|
981
|
-
children: /* @__PURE__ */ e(nt, { label: "", onChange:
|
|
981
|
+
children: /* @__PURE__ */ e(nt, { label: "", onChange: b, options: Ro, value: g })
|
|
982
982
|
}
|
|
983
983
|
)
|
|
984
984
|
] }),
|
|
985
|
-
/* @__PURE__ */ e(
|
|
985
|
+
/* @__PURE__ */ e($, { fullWidth: !0, onClick: w, type: "submit", variant: "contained", children: P.calculate })
|
|
986
986
|
] }) }) });
|
|
987
|
-
},
|
|
987
|
+
}, Po = S(Fo), we = {
|
|
988
988
|
connect_accounts: "Connect Accounts",
|
|
989
989
|
more_accounts: "More Accounts",
|
|
990
990
|
your_savings: "Your Savings"
|
|
991
|
-
},
|
|
991
|
+
}, Bo = () => {
|
|
992
992
|
const { savingsAccounts: t } = Se(), [o, n] = h.useState(!1), r = h.useMemo(
|
|
993
993
|
() => t.reduce((l, s) => l + (s.balance ?? 0), 0),
|
|
994
994
|
[t]
|
|
995
995
|
);
|
|
996
996
|
return /* @__PURE__ */ a(u, { sx: { gap: 24 }, children: [
|
|
997
|
-
/* @__PURE__ */ e(
|
|
998
|
-
/* @__PURE__ */ e(
|
|
999
|
-
t.length ? /* @__PURE__ */ e($t, { loadAccounts: [We.SAVINGS], loadMoreLabel: we.connect_accounts }) : /* @__PURE__ */ e(
|
|
997
|
+
/* @__PURE__ */ e(j, { sx: { bgcolor: "background.paper", p: 16 }, children: /* @__PURE__ */ a(u, { sx: { gap: 16 }, children: [
|
|
998
|
+
/* @__PURE__ */ e(me, { balance: r, title: we.your_savings }),
|
|
999
|
+
t.length ? /* @__PURE__ */ e($t, { loadAccounts: [We.SAVINGS], loadMoreLabel: we.connect_accounts }) : /* @__PURE__ */ e(Pn, { onClick: () => n(!0), variant: "contained", children: we.connect_accounts })
|
|
1000
1000
|
] }) }),
|
|
1001
|
-
/* @__PURE__ */ e(
|
|
1001
|
+
/* @__PURE__ */ e(Po, { total: r }),
|
|
1002
1002
|
/* @__PURE__ */ e(
|
|
1003
1003
|
oe,
|
|
1004
1004
|
{
|
|
@@ -1008,9 +1008,9 @@ const P = {
|
|
|
1008
1008
|
}
|
|
1009
1009
|
)
|
|
1010
1010
|
] });
|
|
1011
|
-
}, Lo =
|
|
1011
|
+
}, Lo = S(Bo), Re = S(
|
|
1012
1012
|
({ label: t, value: o, status: n, bottomComponent: r, statusBarData: l = [] }) => {
|
|
1013
|
-
const { finstrong: s } =
|
|
1013
|
+
const { finstrong: s } = v(), i = {
|
|
1014
1014
|
GOOD: {
|
|
1015
1015
|
backgroundColor: "success.lighter",
|
|
1016
1016
|
color: "success.main",
|
|
@@ -1073,7 +1073,7 @@ const P = {
|
|
|
1073
1073
|
)
|
|
1074
1074
|
] }),
|
|
1075
1075
|
/* @__PURE__ */ a(u, { children: [
|
|
1076
|
-
/* @__PURE__ */ e(
|
|
1076
|
+
/* @__PURE__ */ e(Bn, { data: d, height: 16 }),
|
|
1077
1077
|
r
|
|
1078
1078
|
] })
|
|
1079
1079
|
]
|
|
@@ -1082,7 +1082,7 @@ const P = {
|
|
|
1082
1082
|
}
|
|
1083
1083
|
), $o = {
|
|
1084
1084
|
sticky_label: "You have saved"
|
|
1085
|
-
}, Wo = ["$0", "$250", "$500", "$750", "$1k"],
|
|
1085
|
+
}, Wo = ["$0", "$250", "$500", "$750", "$1k"], zo = () => {
|
|
1086
1086
|
const { healthScore: t } = R(), o = Math.round(t.emergency_savings_on_hand ?? NaN) || null, n = hn(o), r = yt(o);
|
|
1087
1087
|
return /* @__PURE__ */ e(
|
|
1088
1088
|
Re,
|
|
@@ -1108,10 +1108,10 @@ const P = {
|
|
|
1108
1108
|
percentage: n
|
|
1109
1109
|
}
|
|
1110
1110
|
],
|
|
1111
|
-
value:
|
|
1111
|
+
value: B(o ?? 0, "0,0.00")
|
|
1112
1112
|
}
|
|
1113
1113
|
);
|
|
1114
|
-
},
|
|
1114
|
+
}, Eo = S(zo), it = 65, st = 34, Go = ({
|
|
1115
1115
|
transactions: t,
|
|
1116
1116
|
bgcolor: o,
|
|
1117
1117
|
height: n = "calc(100dvh - 36px)",
|
|
@@ -1122,51 +1122,51 @@ const P = {
|
|
|
1122
1122
|
width: d = "100%",
|
|
1123
1123
|
zeroState: c = /* @__PURE__ */ e(Wn, {})
|
|
1124
1124
|
}) => {
|
|
1125
|
-
const { getCategoryName: p } = He(), { onEvent: _ } = vn(), { categories: m } =
|
|
1126
|
-
const D = t.find((
|
|
1125
|
+
const { getCategoryName: p } = He(), { onEvent: _ } = vn(), { categories: m } = v(), { clearExpandedSplits: g, setShowInsights: b, toggleSplit: w } = $n(), f = (k) => {
|
|
1126
|
+
const D = t.find((I) => I.guid === k);
|
|
1127
1127
|
if (D?.has_been_split) {
|
|
1128
|
-
|
|
1128
|
+
w(D.guid);
|
|
1129
1129
|
return;
|
|
1130
1130
|
}
|
|
1131
|
-
_(
|
|
1131
|
+
_(zn.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
|
|
1132
1132
|
account_guid: D?.account_guid,
|
|
1133
1133
|
transaction_guid: k
|
|
1134
1134
|
}), l?.(k);
|
|
1135
|
-
},
|
|
1135
|
+
}, x = h.useRef(null), y = Ln({
|
|
1136
1136
|
count: t.length,
|
|
1137
|
-
getScrollElement: () =>
|
|
1138
|
-
estimateSize: (k) => it + (
|
|
1137
|
+
getScrollElement: () => x.current,
|
|
1138
|
+
estimateSize: (k) => it + (ze(k, t) ? st : 0),
|
|
1139
1139
|
overscan: 5
|
|
1140
1140
|
});
|
|
1141
|
-
return h.useEffect(() =>
|
|
1142
|
-
|
|
1141
|
+
return h.useEffect(() => y.measure(), [t]), h.useEffect(() => b(s), [s]), h.useEffect(() => () => g(), []), /* @__PURE__ */ e(De, { sx: { width: d }, children: /* @__PURE__ */ e(C, { height: n, overflow: "auto", ref: x, width: d, children: /* @__PURE__ */ a(
|
|
1142
|
+
C,
|
|
1143
1143
|
{
|
|
1144
1144
|
height: (
|
|
1145
1145
|
// set the height to auto when there are no transactions so the zero state isn't set to 0
|
|
1146
|
-
|
|
1146
|
+
y.getVirtualItems().length === 0 ? "auto" : y.getTotalSize()
|
|
1147
1147
|
),
|
|
1148
1148
|
position: "relative",
|
|
1149
1149
|
width: "100%",
|
|
1150
1150
|
children: [
|
|
1151
1151
|
i && r,
|
|
1152
|
-
!i &&
|
|
1153
|
-
!i &&
|
|
1154
|
-
const D = t[k.index],
|
|
1152
|
+
!i && y.getVirtualItems().length === 0 && c,
|
|
1153
|
+
!i && y.getVirtualItems().length > 0 && y.getVirtualItems().map((k) => {
|
|
1154
|
+
const D = t[k.index], I = ze(k.index, t), N = Mt(k.index, t), G = it + (I ? st : 0);
|
|
1155
1155
|
return /* @__PURE__ */ a(
|
|
1156
|
-
|
|
1156
|
+
C,
|
|
1157
1157
|
{
|
|
1158
1158
|
sx: {
|
|
1159
|
-
height:
|
|
1159
|
+
height: G,
|
|
1160
1160
|
position: "absolute",
|
|
1161
1161
|
transform: `translateY(${k.start}px)`,
|
|
1162
1162
|
width: "100%"
|
|
1163
1163
|
},
|
|
1164
1164
|
children: [
|
|
1165
|
-
|
|
1165
|
+
I && /* @__PURE__ */ e(Dt, { bgcolor: o, children: Ve(D.date) }),
|
|
1166
1166
|
/* @__PURE__ */ e(
|
|
1167
1167
|
At,
|
|
1168
1168
|
{
|
|
1169
|
-
...l && { onClick:
|
|
1169
|
+
...l && { onClick: f },
|
|
1170
1170
|
transaction: {
|
|
1171
1171
|
...D,
|
|
1172
1172
|
category: m.default_categories[D.top_level_category_guid]?.replace(
|
|
@@ -1176,7 +1176,7 @@ const P = {
|
|
|
1176
1176
|
}
|
|
1177
1177
|
}
|
|
1178
1178
|
),
|
|
1179
|
-
/* @__PURE__ */ e(ne, { sx: { ml:
|
|
1179
|
+
/* @__PURE__ */ e(ne, { sx: { ml: N ? 24 : 0 } })
|
|
1180
1180
|
]
|
|
1181
1181
|
},
|
|
1182
1182
|
D.guid
|
|
@@ -1185,17 +1185,17 @@ const P = {
|
|
|
1185
1185
|
]
|
|
1186
1186
|
}
|
|
1187
1187
|
) }) });
|
|
1188
|
-
}, Ho =
|
|
1188
|
+
}, Ho = S(Go), Fe = ({
|
|
1189
1189
|
transactions: t = [],
|
|
1190
1190
|
amountColor: o = "success.main",
|
|
1191
1191
|
amountPosition: n = "center",
|
|
1192
1192
|
formatDate: r = Ve,
|
|
1193
1193
|
secondaryIcon: l
|
|
1194
1194
|
}) => {
|
|
1195
|
-
const s =
|
|
1195
|
+
const s = E(), { connect: i, finstrong: d } = v(), [c, p] = h.useState(!1), [_, m] = h.useState(!1), g = 3, b = t.length > g, w = t.length - g;
|
|
1196
1196
|
return !t || t.length === 0 ? /* @__PURE__ */ a(z, { children: [
|
|
1197
|
-
/* @__PURE__ */ e(
|
|
1198
|
-
|
|
1197
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
1198
|
+
$,
|
|
1199
1199
|
{
|
|
1200
1200
|
onClick: () => m(!0),
|
|
1201
1201
|
size: "small",
|
|
@@ -1213,7 +1213,7 @@ const P = {
|
|
|
1213
1213
|
}
|
|
1214
1214
|
)
|
|
1215
1215
|
] }) : /* @__PURE__ */ a(u, { sx: { gap: 16 }, children: [
|
|
1216
|
-
/* @__PURE__ */ e(
|
|
1216
|
+
/* @__PURE__ */ e(C, { sx: { border: `1px solid ${s.palette.divider}`, borderRadius: 2 }, children: t.slice(0, g).map((f, x) => /* @__PURE__ */ a(
|
|
1217
1217
|
u,
|
|
1218
1218
|
{
|
|
1219
1219
|
sx: {
|
|
@@ -1227,8 +1227,8 @@ const P = {
|
|
|
1227
1227
|
/* @__PURE__ */ e(u, { sx: { pb: 14 }, children: /* @__PURE__ */ e(
|
|
1228
1228
|
rn,
|
|
1229
1229
|
{
|
|
1230
|
-
categoryGuid:
|
|
1231
|
-
merchantGuid:
|
|
1230
|
+
categoryGuid: f.top_level_category_guid || "",
|
|
1231
|
+
merchantGuid: f.merchant_guid || "",
|
|
1232
1232
|
size: 32
|
|
1233
1233
|
}
|
|
1234
1234
|
) }),
|
|
@@ -1240,7 +1240,7 @@ const P = {
|
|
|
1240
1240
|
flexDirection: "row",
|
|
1241
1241
|
gap: 12,
|
|
1242
1242
|
justifyContent: "space-between",
|
|
1243
|
-
...
|
|
1243
|
+
...x < Math.min(t.length, g) - 1 && {
|
|
1244
1244
|
borderBottom: `1px solid ${s.palette.divider}`
|
|
1245
1245
|
},
|
|
1246
1246
|
pb: 14,
|
|
@@ -1249,31 +1249,31 @@ const P = {
|
|
|
1249
1249
|
},
|
|
1250
1250
|
children: [
|
|
1251
1251
|
/* @__PURE__ */ a(u, { sx: { gap: 4 }, children: [
|
|
1252
|
-
/* @__PURE__ */ e(M, { bold: !0, variant: "body1", children:
|
|
1252
|
+
/* @__PURE__ */ e(M, { bold: !0, variant: "body1", children: f.description }),
|
|
1253
1253
|
/* @__PURE__ */ a(u, { sx: { flexDirection: "row", alignItems: "center", gap: 4 }, children: [
|
|
1254
1254
|
!!l && l,
|
|
1255
|
-
/* @__PURE__ */ e(A, { variant: "caption", children: r(
|
|
1255
|
+
/* @__PURE__ */ e(A, { variant: "caption", children: r(f.date) })
|
|
1256
1256
|
] })
|
|
1257
1257
|
] }),
|
|
1258
|
-
/* @__PURE__ */ e(M, { bold: !0, sx: { color: o, flexShrink: 0 }, variant: "body1", children:
|
|
1258
|
+
/* @__PURE__ */ e(M, { bold: !0, sx: { color: o, flexShrink: 0 }, variant: "body1", children: B(f.amount, "0,0.00") })
|
|
1259
1259
|
]
|
|
1260
1260
|
},
|
|
1261
|
-
|
|
1261
|
+
f.guid || x
|
|
1262
1262
|
)
|
|
1263
1263
|
]
|
|
1264
1264
|
},
|
|
1265
|
-
|
|
1265
|
+
x
|
|
1266
1266
|
)) }),
|
|
1267
|
-
|
|
1268
|
-
/* @__PURE__ */ e(
|
|
1269
|
-
|
|
1267
|
+
b && /* @__PURE__ */ a(z, { children: [
|
|
1268
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
1269
|
+
$,
|
|
1270
1270
|
{
|
|
1271
1271
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
1272
1272
|
onClick: () => p(!0),
|
|
1273
1273
|
size: "small",
|
|
1274
1274
|
sx: { my: 0, px: 16, py: 12, width: "100%" },
|
|
1275
1275
|
children: /* @__PURE__ */ a(A, { bold: !0, variant: "body1", children: [
|
|
1276
|
-
|
|
1276
|
+
w,
|
|
1277
1277
|
" ",
|
|
1278
1278
|
d.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_more_transactions
|
|
1279
1279
|
] })
|
|
@@ -1295,11 +1295,11 @@ const P = {
|
|
|
1295
1295
|
finstrong: {
|
|
1296
1296
|
key_indicators_spend: { pay_bills_on_time_drawer: t }
|
|
1297
1297
|
}
|
|
1298
|
-
} =
|
|
1298
|
+
} = v(), { getSpendingFeeTransactions: o, allTransactions: n } = R();
|
|
1299
1299
|
return h.useEffect(() => {
|
|
1300
1300
|
o().finally();
|
|
1301
1301
|
}, []), /* @__PURE__ */ e(z, { children: n.spendingFee.length === 0 ? /* @__PURE__ */ a(
|
|
1302
|
-
|
|
1302
|
+
j,
|
|
1303
1303
|
{
|
|
1304
1304
|
sx: {
|
|
1305
1305
|
backgroundColor: "background.paper",
|
|
@@ -1312,13 +1312,13 @@ const P = {
|
|
|
1312
1312
|
children: [
|
|
1313
1313
|
/* @__PURE__ */ e(qt, { filled: !0, size: 48, sx: { color: "success.main" } }),
|
|
1314
1314
|
/* @__PURE__ */ a(u, { sx: { alignItems: "center", gap: 4, pt: 24 }, children: [
|
|
1315
|
-
/* @__PURE__ */ e(
|
|
1315
|
+
/* @__PURE__ */ e(K, { children: t.pay_bills_on_time_zero_fees_title }),
|
|
1316
1316
|
/* @__PURE__ */ e(M, { variant: "subtitle1", children: t.pay_bills_on_time_zero_fees_description })
|
|
1317
1317
|
] })
|
|
1318
1318
|
]
|
|
1319
1319
|
}
|
|
1320
1320
|
) : /* @__PURE__ */ a(
|
|
1321
|
-
|
|
1321
|
+
j,
|
|
1322
1322
|
{
|
|
1323
1323
|
sx: {
|
|
1324
1324
|
p: 16,
|
|
@@ -1326,7 +1326,7 @@ const P = {
|
|
|
1326
1326
|
backgroundColor: "background.paper"
|
|
1327
1327
|
},
|
|
1328
1328
|
children: [
|
|
1329
|
-
/* @__PURE__ */ e(
|
|
1329
|
+
/* @__PURE__ */ e(K, { sx: { textAlign: "left", pb: 8 }, children: t.pay_bills_on_time_sticky_fee_count }),
|
|
1330
1330
|
/* @__PURE__ */ e(
|
|
1331
1331
|
Fe,
|
|
1332
1332
|
{
|
|
@@ -1340,8 +1340,8 @@ const P = {
|
|
|
1340
1340
|
]
|
|
1341
1341
|
}
|
|
1342
1342
|
) });
|
|
1343
|
-
}, Ko =
|
|
1344
|
-
const { healthScore: t } = R(), { finstrong: o } =
|
|
1343
|
+
}, Ko = S(No), jo = () => {
|
|
1344
|
+
const { healthScore: t } = R(), { finstrong: o } = v(), { key_indicators_spend: n } = o, { pay_bills_on_time_drawer: r } = n, l = mn(t.spending_fee_transaction_count);
|
|
1345
1345
|
return /* @__PURE__ */ a(
|
|
1346
1346
|
u,
|
|
1347
1347
|
{
|
|
@@ -1364,11 +1364,11 @@ const P = {
|
|
|
1364
1364
|
]
|
|
1365
1365
|
}
|
|
1366
1366
|
);
|
|
1367
|
-
}, Vo =
|
|
1368
|
-
const { savingsAndCheckingAccountsBalance: t } = Se(), { finstrong: o } =
|
|
1369
|
-
return
|
|
1367
|
+
}, Vo = S(jo), Yo = () => {
|
|
1368
|
+
const { savingsAndCheckingAccountsBalance: t } = Se(), { finstrong: o } = v();
|
|
1369
|
+
return /* @__PURE__ */ a(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1370
1370
|
/* @__PURE__ */ e(
|
|
1371
|
-
|
|
1371
|
+
me,
|
|
1372
1372
|
{
|
|
1373
1373
|
balance: t,
|
|
1374
1374
|
title: o.key_indicators_save.drawer_available_balance
|
|
@@ -1382,8 +1382,8 @@ const P = {
|
|
|
1382
1382
|
}
|
|
1383
1383
|
)
|
|
1384
1384
|
] });
|
|
1385
|
-
}, Xo =
|
|
1386
|
-
const { finstrong: t } =
|
|
1385
|
+
}, Xo = S(Yo), Uo = () => {
|
|
1386
|
+
const { finstrong: t } = v(), { healthScore: o, allTransactions: n, loadSpendTransactions: r, loadDebtSpend: l } = R(), { isInitialized: s } = V();
|
|
1387
1387
|
h.useEffect(() => {
|
|
1388
1388
|
s && (r().finally(), l().finally());
|
|
1389
1389
|
}, [s]);
|
|
@@ -1391,20 +1391,20 @@ const P = {
|
|
|
1391
1391
|
const d = n.spend.map((p) => p.transaction), c = n.debtSpend.map((p) => p.transaction);
|
|
1392
1392
|
return [...d, ...c];
|
|
1393
1393
|
}, [n.spend, n.debtSpend]);
|
|
1394
|
-
return s ?
|
|
1394
|
+
return s ? /* @__PURE__ */ a(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1395
1395
|
/* @__PURE__ */ e(
|
|
1396
|
-
|
|
1396
|
+
me,
|
|
1397
1397
|
{
|
|
1398
1398
|
balance: o.ninety_day_spend / 90,
|
|
1399
1399
|
title: t.key_indicators_save.drawer_daily_spend
|
|
1400
1400
|
}
|
|
1401
1401
|
),
|
|
1402
1402
|
/* @__PURE__ */ e(Fe, { amountColor: "text.primary", transactions: i })
|
|
1403
|
-
] })
|
|
1404
|
-
}, qo =
|
|
1405
|
-
const [t, o] = h.useState(0), { finstrong: n } =
|
|
1406
|
-
return
|
|
1407
|
-
/* @__PURE__ */ a(
|
|
1403
|
+
] }) : /* @__PURE__ */ e(J, {});
|
|
1404
|
+
}, qo = S(Uo), Zo = () => {
|
|
1405
|
+
const [t, o] = h.useState(0), { finstrong: n } = v();
|
|
1406
|
+
return /* @__PURE__ */ a(z, { children: [
|
|
1407
|
+
/* @__PURE__ */ a(j, { children: [
|
|
1408
1408
|
/* @__PURE__ */ a(
|
|
1409
1409
|
Ke,
|
|
1410
1410
|
{
|
|
@@ -1439,9 +1439,9 @@ const P = {
|
|
|
1439
1439
|
] }),
|
|
1440
1440
|
/* @__PURE__ */ e(Ye, { chartFor: "savingsOverTime" })
|
|
1441
1441
|
] });
|
|
1442
|
-
}, Qo =
|
|
1443
|
-
const { finstrong: t } =
|
|
1444
|
-
return
|
|
1442
|
+
}, Qo = S(Zo), Jo = () => {
|
|
1443
|
+
const { finstrong: t } = v(), { healthScore: o } = R(), n = o.months_of_cash_on_hand, r = bt(n ? n * 30 : null), l = 183 / 6, s = Math.floor(n), i = Math.round((n - s) * l), d = n / 6 * 100;
|
|
1444
|
+
return /* @__PURE__ */ e(
|
|
1445
1445
|
Re,
|
|
1446
1446
|
{
|
|
1447
1447
|
bottomComponent: /* @__PURE__ */ e(
|
|
@@ -1454,7 +1454,7 @@ const P = {
|
|
|
1454
1454
|
mt: 2,
|
|
1455
1455
|
px: 1
|
|
1456
1456
|
},
|
|
1457
|
-
children:
|
|
1457
|
+
children: ["0 Mo", "1 Mo", "2 Mo", "3 Mo", "4 Mo", "5 Mo", "6 Mo"].map((p) => /* @__PURE__ */ a(
|
|
1458
1458
|
u,
|
|
1459
1459
|
{
|
|
1460
1460
|
sx: {
|
|
@@ -1486,11 +1486,11 @@ const P = {
|
|
|
1486
1486
|
percentage: `${d}%`
|
|
1487
1487
|
}
|
|
1488
1488
|
],
|
|
1489
|
-
value:
|
|
1489
|
+
value: X(t.key_indicators_save.drawer_progress_bar_value, s, i)
|
|
1490
1490
|
}
|
|
1491
1491
|
);
|
|
1492
|
-
}, er =
|
|
1493
|
-
const { healthScore: t } = R(), { finstrong: o } =
|
|
1492
|
+
}, er = S(Jo), tr = () => {
|
|
1493
|
+
const { healthScore: t } = R(), { finstrong: o } = v(), n = ke(t.debt_to_income_ratio) ?? 0, r = Object.keys(t).length === 0, s = ((i) => r ? "MISSING" : i <= 30 ? "GOOD" : i >= 31 && i <= 39 ? "FAIR" : i >= 40 ? "OFF_TRACK" : "MISSING")(n);
|
|
1494
1494
|
return /* @__PURE__ */ e(
|
|
1495
1495
|
Re,
|
|
1496
1496
|
{
|
|
@@ -1507,7 +1507,7 @@ const P = {
|
|
|
1507
1507
|
},
|
|
1508
1508
|
children: [
|
|
1509
1509
|
/* @__PURE__ */ e(
|
|
1510
|
-
|
|
1510
|
+
C,
|
|
1511
1511
|
{
|
|
1512
1512
|
sx: {
|
|
1513
1513
|
left: "30%",
|
|
@@ -1541,7 +1541,7 @@ const P = {
|
|
|
1541
1541
|
}
|
|
1542
1542
|
),
|
|
1543
1543
|
/* @__PURE__ */ e(
|
|
1544
|
-
|
|
1544
|
+
C,
|
|
1545
1545
|
{
|
|
1546
1546
|
sx: {
|
|
1547
1547
|
display: "flex",
|
|
@@ -1550,7 +1550,7 @@ const P = {
|
|
|
1550
1550
|
justifyContent: "center",
|
|
1551
1551
|
marginLeft: "auto"
|
|
1552
1552
|
},
|
|
1553
|
-
children: /* @__PURE__ */ e(A, { variant: "Small", children:
|
|
1553
|
+
children: /* @__PURE__ */ e(A, { variant: "Small", children: X(
|
|
1554
1554
|
o.key_indicators_borrow.have_manageable_debt_drawer.have_manageable_debt_sticky_description,
|
|
1555
1555
|
n
|
|
1556
1556
|
) })
|
|
@@ -1566,14 +1566,14 @@ const P = {
|
|
|
1566
1566
|
percentage: `${n}%`
|
|
1567
1567
|
}
|
|
1568
1568
|
],
|
|
1569
|
-
value:
|
|
1569
|
+
value: B(t.ninety_day_debt_spend, "0,0.00")
|
|
1570
1570
|
}
|
|
1571
1571
|
);
|
|
1572
|
-
}, nr =
|
|
1573
|
-
const { healthScore: t, allTransactions: o } = R(), { connect: n, finstrong: r } =
|
|
1572
|
+
}, nr = S(tr), or = () => {
|
|
1573
|
+
const { healthScore: t, allTransactions: o } = R(), { connect: n, finstrong: r } = v(), [l, s] = h.useState(!1);
|
|
1574
1574
|
return /* @__PURE__ */ a(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1575
1575
|
/* @__PURE__ */ e(
|
|
1576
|
-
|
|
1576
|
+
me,
|
|
1577
1577
|
{
|
|
1578
1578
|
balance: t.ninety_day_income,
|
|
1579
1579
|
sx: { flexDirection: "column-reverse" },
|
|
@@ -1584,7 +1584,7 @@ const P = {
|
|
|
1584
1584
|
// TODO: Need to add More Transactions functionality
|
|
1585
1585
|
/* @__PURE__ */ e(Fe, { transactions: o.income.map((i) => i.transaction) })
|
|
1586
1586
|
) : /* @__PURE__ */ e(
|
|
1587
|
-
|
|
1587
|
+
$,
|
|
1588
1588
|
{
|
|
1589
1589
|
onClick: () => {
|
|
1590
1590
|
s(!0);
|
|
@@ -1602,11 +1602,11 @@ const P = {
|
|
|
1602
1602
|
}
|
|
1603
1603
|
)
|
|
1604
1604
|
] });
|
|
1605
|
-
}, rr =
|
|
1606
|
-
const { allTransactions: t, healthScore: o } = R(), { connect: n, finstrong: r } =
|
|
1605
|
+
}, rr = S(or), ar = () => {
|
|
1606
|
+
const { allTransactions: t, healthScore: o } = R(), { connect: n, finstrong: r } = v(), [l, s] = h.useState(!1);
|
|
1607
1607
|
return /* @__PURE__ */ a(u, { gap: 16, sx: { p: 16 }, children: [
|
|
1608
1608
|
/* @__PURE__ */ e(
|
|
1609
|
-
|
|
1609
|
+
me,
|
|
1610
1610
|
{
|
|
1611
1611
|
balance: o.ninety_day_debt_spend,
|
|
1612
1612
|
sx: { flexDirection: "column-reverse" },
|
|
@@ -1623,7 +1623,7 @@ const P = {
|
|
|
1623
1623
|
}
|
|
1624
1624
|
)
|
|
1625
1625
|
) : /* @__PURE__ */ e(
|
|
1626
|
-
|
|
1626
|
+
$,
|
|
1627
1627
|
{
|
|
1628
1628
|
onClick: () => {
|
|
1629
1629
|
s(!0);
|
|
@@ -1641,22 +1641,22 @@ const P = {
|
|
|
1641
1641
|
}
|
|
1642
1642
|
)
|
|
1643
1643
|
] });
|
|
1644
|
-
}, ir =
|
|
1644
|
+
}, ir = S(ar), sr = ({
|
|
1645
1645
|
color: t,
|
|
1646
1646
|
data: o,
|
|
1647
1647
|
series: n,
|
|
1648
1648
|
style: r,
|
|
1649
1649
|
...l
|
|
1650
1650
|
}) => {
|
|
1651
|
-
const s =
|
|
1651
|
+
const s = E(), i = h.useRef(null), { width: d } = jn({
|
|
1652
1652
|
width: r.width
|
|
1653
1653
|
});
|
|
1654
1654
|
h.useLayoutEffect(() => {
|
|
1655
1655
|
const m = new ResizeObserver(() => {
|
|
1656
1656
|
window.requestAnimationFrame(() => {
|
|
1657
1657
|
if (i.current) {
|
|
1658
|
-
const { width:
|
|
1659
|
-
|
|
1658
|
+
const { width: g } = i.current.getBoundingClientRect(), b = g / 2, w = i.current.querySelector("text");
|
|
1659
|
+
w && w.setAttribute("transform", `translate(${b}, -8)`);
|
|
1660
1660
|
}
|
|
1661
1661
|
});
|
|
1662
1662
|
});
|
|
@@ -1692,20 +1692,20 @@ const P = {
|
|
|
1692
1692
|
totalComparison: d,
|
|
1693
1693
|
totalMain: c
|
|
1694
1694
|
}) => {
|
|
1695
|
-
const p =
|
|
1696
|
-
() => o.sort((
|
|
1697
|
-
const k = gn(
|
|
1695
|
+
const p = E(), _ = Gn(p.breakpoints.down("xs")), m = h.useMemo(
|
|
1696
|
+
() => o.sort((y, k) => y.month - k.month).map((y) => {
|
|
1697
|
+
const k = gn(y.month), D = {
|
|
1698
1698
|
spending_vs_income: {
|
|
1699
|
-
main:
|
|
1700
|
-
comparison:
|
|
1701
|
-
formattedMain:
|
|
1702
|
-
formattedComparison:
|
|
1699
|
+
main: y.standard_spend,
|
|
1700
|
+
comparison: y.income,
|
|
1701
|
+
formattedMain: B(y.standard_spend, "0.0a"),
|
|
1702
|
+
formattedComparison: B(y.income, "0.0a")
|
|
1703
1703
|
},
|
|
1704
1704
|
debt_payment_vs_income: {
|
|
1705
|
-
main:
|
|
1706
|
-
comparison:
|
|
1707
|
-
formattedMain:
|
|
1708
|
-
formattedComparison:
|
|
1705
|
+
main: y.income,
|
|
1706
|
+
comparison: y.debt_spend,
|
|
1707
|
+
formattedMain: B(y.income, "0.0a"),
|
|
1708
|
+
formattedComparison: B(y.debt_spend, "0.0a")
|
|
1709
1709
|
}
|
|
1710
1710
|
};
|
|
1711
1711
|
return {
|
|
@@ -1714,19 +1714,19 @@ const P = {
|
|
|
1714
1714
|
};
|
|
1715
1715
|
}),
|
|
1716
1716
|
[o, t]
|
|
1717
|
-
),
|
|
1717
|
+
), g = {
|
|
1718
1718
|
dataKey: "label",
|
|
1719
1719
|
scaleType: "band"
|
|
1720
|
-
},
|
|
1720
|
+
}, b = Math.max(...m.map((y) => Math.max(y.main, y.comparison))), w = Math.ceil(b * 1.2 / 1e3) * 1e3, f = w / 3, x = {
|
|
1721
1721
|
scaleType: "linear",
|
|
1722
1722
|
min: 0,
|
|
1723
|
-
max:
|
|
1723
|
+
max: w,
|
|
1724
1724
|
tickNumber: 4,
|
|
1725
|
-
tickMinStep:
|
|
1726
|
-
valueFormatter: (
|
|
1725
|
+
tickMinStep: f,
|
|
1726
|
+
valueFormatter: (y) => y === 0 ? "$0" : `$${(y / 1e3).toFixed(0)}K`
|
|
1727
1727
|
};
|
|
1728
1728
|
return /* @__PURE__ */ a(
|
|
1729
|
-
|
|
1729
|
+
j,
|
|
1730
1730
|
{
|
|
1731
1731
|
sx: {
|
|
1732
1732
|
px: 16,
|
|
@@ -1744,9 +1744,9 @@ const P = {
|
|
|
1744
1744
|
pb: 8
|
|
1745
1745
|
},
|
|
1746
1746
|
children: [
|
|
1747
|
-
/* @__PURE__ */ e(
|
|
1747
|
+
/* @__PURE__ */ e(K, { children: n }),
|
|
1748
1748
|
r && /* @__PURE__ */ e(
|
|
1749
|
-
|
|
1749
|
+
$,
|
|
1750
1750
|
{
|
|
1751
1751
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
1752
1752
|
onClick: l,
|
|
@@ -1765,7 +1765,7 @@ const P = {
|
|
|
1765
1765
|
/* @__PURE__ */ a(u, { sx: { alignItems: "center", flexDirection: "row", gap: 24, py: 4 }, children: [
|
|
1766
1766
|
/* @__PURE__ */ a(u, { sx: { gap: 8, alignItems: "center", flexDirection: "row" }, children: [
|
|
1767
1767
|
/* @__PURE__ */ e(
|
|
1768
|
-
|
|
1768
|
+
C,
|
|
1769
1769
|
{
|
|
1770
1770
|
sx: {
|
|
1771
1771
|
width: 10,
|
|
@@ -1785,7 +1785,7 @@ const P = {
|
|
|
1785
1785
|
] }),
|
|
1786
1786
|
/* @__PURE__ */ a(u, { alignItems: "center", direction: "row", spacing: 8, children: [
|
|
1787
1787
|
/* @__PURE__ */ e(
|
|
1788
|
-
|
|
1788
|
+
C,
|
|
1789
1789
|
{
|
|
1790
1790
|
sx: {
|
|
1791
1791
|
width: 10,
|
|
@@ -1815,19 +1815,19 @@ const P = {
|
|
|
1815
1815
|
{ dataKey: "main", type: "bar" },
|
|
1816
1816
|
{ dataKey: "comparison", type: "bar" }
|
|
1817
1817
|
],
|
|
1818
|
-
xAxis: [
|
|
1819
|
-
yAxis: [
|
|
1818
|
+
xAxis: [g],
|
|
1819
|
+
yAxis: [x],
|
|
1820
1820
|
children: [
|
|
1821
1821
|
/* @__PURE__ */ e(
|
|
1822
1822
|
Yt,
|
|
1823
1823
|
{
|
|
1824
1824
|
slots: {
|
|
1825
|
-
bar: (
|
|
1826
|
-
const { ownerState: k, style: D, ...
|
|
1825
|
+
bar: (y) => {
|
|
1826
|
+
const { ownerState: k, style: D, ...I } = y;
|
|
1827
1827
|
return /* @__PURE__ */ e(
|
|
1828
1828
|
sr,
|
|
1829
1829
|
{
|
|
1830
|
-
...
|
|
1830
|
+
...I,
|
|
1831
1831
|
color: k.color,
|
|
1832
1832
|
data: m,
|
|
1833
1833
|
series: {
|
|
@@ -1888,11 +1888,11 @@ const P = {
|
|
|
1888
1888
|
}
|
|
1889
1889
|
);
|
|
1890
1890
|
}, cr = () => {
|
|
1891
|
-
const { loadDebtSpend: t, loadIncome: o, monthlySummaries: n } = R(), { isInitialized: r } =
|
|
1891
|
+
const { loadDebtSpend: t, loadIncome: o, monthlySummaries: n } = R(), { isInitialized: r } = V(), [l, s] = h.useState(0), { finstrong: i } = v();
|
|
1892
1892
|
return h.useEffect(() => {
|
|
1893
1893
|
r && (t().finally(), o().finally());
|
|
1894
1894
|
}, [r]), /* @__PURE__ */ a(z, { children: [
|
|
1895
|
-
/* @__PURE__ */ a(
|
|
1895
|
+
/* @__PURE__ */ a(j, { children: [
|
|
1896
1896
|
/* @__PURE__ */ a(
|
|
1897
1897
|
Ke,
|
|
1898
1898
|
{
|
|
@@ -1992,8 +1992,8 @@ const P = {
|
|
|
1992
1992
|
)
|
|
1993
1993
|
] })
|
|
1994
1994
|
] });
|
|
1995
|
-
}, lr =
|
|
1996
|
-
const { healthScore: t } = R(), { finstrong: o } =
|
|
1995
|
+
}, lr = S(cr), dr = () => {
|
|
1996
|
+
const { healthScore: t } = R(), { finstrong: o } = v(), n = ke(t.spend_to_income_ratio) ?? 0, r = Object.keys(t).length === 0, s = ((d) => r ? "MISSING" : d < 100 ? "GOOD" : d >= 100 && d <= 109 ? "FAIR" : d >= 110 ? "OFF_TRACK" : "MISSING")(n), i = {
|
|
1997
1997
|
GOOD: [{ percentage: `${n}%` }],
|
|
1998
1998
|
FAIR: [{ percentage: "100%" }, { percentage: `${n - 100}%` }],
|
|
1999
1999
|
OFF_TRACK: [{ percentage: "100%" }, { percentage: `${n - 100}%` }],
|
|
@@ -2013,7 +2013,7 @@ const P = {
|
|
|
2013
2013
|
},
|
|
2014
2014
|
children: [
|
|
2015
2015
|
/* @__PURE__ */ a(A, { variant: "body2", children: [
|
|
2016
|
-
r ? "-" :
|
|
2016
|
+
r ? "-" : B(t.ninety_day_income, "0,0.00"),
|
|
2017
2017
|
" ",
|
|
2018
2018
|
o?.key_indicators_spend.spend_less_than_you_make_drawer.income
|
|
2019
2019
|
] }),
|
|
@@ -2027,27 +2027,27 @@ const P = {
|
|
|
2027
2027
|
label: o?.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_sticky_description,
|
|
2028
2028
|
status: s,
|
|
2029
2029
|
statusBarData: i,
|
|
2030
|
-
value: r ? "$0" :
|
|
2030
|
+
value: r ? "$0" : B(t.ninety_day_spend, "0,0.00")
|
|
2031
2031
|
}
|
|
2032
2032
|
);
|
|
2033
|
-
}, pr =
|
|
2034
|
-
const t =
|
|
2035
|
-
|
|
2033
|
+
}, pr = S(dr), ur = () => {
|
|
2034
|
+
const t = E(), { monthlySummaries: o } = R(), { finstrong: n, goals: r, spending: l } = v(), { selectedAccounts: s } = V(), { categories: i, dateRangeCategoryTotals: d, loadDateRangeCategoryTotals: c } = He(), { appDataStore: p } = wn(), [_, m] = h.useState("");
|
|
2035
|
+
h.useEffect(() => {
|
|
2036
2036
|
c(
|
|
2037
2037
|
s,
|
|
2038
2038
|
It(/* @__PURE__ */ new Date()),
|
|
2039
2039
|
Tt(/* @__PURE__ */ new Date())
|
|
2040
2040
|
).finally();
|
|
2041
2041
|
}, [s]);
|
|
2042
|
-
const
|
|
2042
|
+
const g = h.useMemo(
|
|
2043
2043
|
() => Vn(i, r, t, d),
|
|
2044
2044
|
[i, d]
|
|
2045
|
-
),
|
|
2046
|
-
m(_ ===
|
|
2047
|
-
}, { totalSpending:
|
|
2048
|
-
(
|
|
2049
|
-
totalSpending:
|
|
2050
|
-
totalIncome:
|
|
2045
|
+
), b = (x) => {
|
|
2046
|
+
m(_ === x ? "" : x);
|
|
2047
|
+
}, { totalSpending: w, totalIncome: f } = h.useMemo(() => o?.reduce(
|
|
2048
|
+
(x, { standard_spend: y = 0, income: k = 0 }) => ({
|
|
2049
|
+
totalSpending: x.totalSpending + y,
|
|
2050
|
+
totalIncome: x.totalIncome + k
|
|
2051
2051
|
}),
|
|
2052
2052
|
{ totalSpending: 0, totalIncome: 0 }
|
|
2053
2053
|
), [o]);
|
|
@@ -2063,8 +2063,8 @@ const P = {
|
|
|
2063
2063
|
legendLabelComparison: n.key_indicators_spend.spend_less_than_you_make_drawer.income,
|
|
2064
2064
|
legendLabelMain: n.key_indicators_spend.spend_less_than_you_make_drawer.spending,
|
|
2065
2065
|
title: n.key_indicators_spend.spend_less_than_you_make_drawer.trends,
|
|
2066
|
-
totalComparison:
|
|
2067
|
-
totalMain:
|
|
2066
|
+
totalComparison: B(f, "0,0.00"),
|
|
2067
|
+
totalMain: B(w, "0,0.00")
|
|
2068
2068
|
}
|
|
2069
2069
|
) : /* @__PURE__ */ e(
|
|
2070
2070
|
Ae,
|
|
@@ -2082,8 +2082,8 @@ const P = {
|
|
|
2082
2082
|
variant: "no-buttons"
|
|
2083
2083
|
}
|
|
2084
2084
|
),
|
|
2085
|
-
|
|
2086
|
-
|
|
2085
|
+
g ? /* @__PURE__ */ a(
|
|
2086
|
+
j,
|
|
2087
2087
|
{
|
|
2088
2088
|
sx: {
|
|
2089
2089
|
px: 16,
|
|
@@ -2101,9 +2101,9 @@ const P = {
|
|
|
2101
2101
|
pb: 8
|
|
2102
2102
|
},
|
|
2103
2103
|
children: [
|
|
2104
|
-
/* @__PURE__ */ e(
|
|
2104
|
+
/* @__PURE__ */ e(K, { children: n.key_indicators_spend.spend_less_than_you_make_drawer.spending }),
|
|
2105
2105
|
p.appData.client_profile?.allow_spending_widget && /* @__PURE__ */ e(
|
|
2106
|
-
|
|
2106
|
+
$,
|
|
2107
2107
|
{
|
|
2108
2108
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
2109
2109
|
size: "small",
|
|
@@ -2122,8 +2122,8 @@ const P = {
|
|
|
2122
2122
|
/* @__PURE__ */ e(
|
|
2123
2123
|
Yn,
|
|
2124
2124
|
{
|
|
2125
|
-
data:
|
|
2126
|
-
onSelected:
|
|
2125
|
+
data: g,
|
|
2126
|
+
onSelected: b,
|
|
2127
2127
|
selectedId: _,
|
|
2128
2128
|
totalLabel: l.total_spending
|
|
2129
2129
|
}
|
|
@@ -2131,8 +2131,8 @@ const P = {
|
|
|
2131
2131
|
/* @__PURE__ */ e(
|
|
2132
2132
|
Xn,
|
|
2133
2133
|
{
|
|
2134
|
-
data:
|
|
2135
|
-
onSelected:
|
|
2134
|
+
data: g,
|
|
2135
|
+
onSelected: b,
|
|
2136
2136
|
selectedId: _
|
|
2137
2137
|
}
|
|
2138
2138
|
)
|
|
@@ -2156,7 +2156,7 @@ const P = {
|
|
|
2156
2156
|
}
|
|
2157
2157
|
)
|
|
2158
2158
|
] });
|
|
2159
|
-
}, _r =
|
|
2159
|
+
}, _r = S(ur), Le = {
|
|
2160
2160
|
credit_score_description: "Credit scores usually go from 300 to 850. Think of 700+ as good, 800+ as awesome, and below 600 as needing work. You can often check yours for free with your bank or credit card company.",
|
|
2161
2161
|
maintain_emergency_savings_description: "With at least $1,000 saved, you're ready for surprises, freeing you to save for major goals.",
|
|
2162
2162
|
maintain_emergency_savings_title: "Maintain Emergency Savings"
|
|
@@ -2165,7 +2165,7 @@ const P = {
|
|
|
2165
2165
|
isOpen: o,
|
|
2166
2166
|
onClose: n
|
|
2167
2167
|
}) => {
|
|
2168
|
-
const { finstrong: r } =
|
|
2168
|
+
const { finstrong: r } = v(), s = {
|
|
2169
2169
|
spendLessThanYouMake: {
|
|
2170
2170
|
title: r.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_title,
|
|
2171
2171
|
description: r.key_indicators_spend.spend_less_than_you_make_drawer.spend_less_than_you_make_description,
|
|
@@ -2187,7 +2187,7 @@ const P = {
|
|
|
2187
2187
|
maintainEmergencySavings: {
|
|
2188
2188
|
content: /* @__PURE__ */ e(Lo, {}),
|
|
2189
2189
|
description: Le.maintain_emergency_savings_description,
|
|
2190
|
-
stickyComponent: /* @__PURE__ */ e(
|
|
2190
|
+
stickyComponent: /* @__PURE__ */ e(Eo, {}),
|
|
2191
2191
|
title: Le.maintain_emergency_savings_title,
|
|
2192
2192
|
drawerType: "connectDrawer",
|
|
2193
2193
|
connectTitle: r.connect_your_accounts,
|
|
@@ -2219,7 +2219,7 @@ const P = {
|
|
|
2219
2219
|
}
|
|
2220
2220
|
}[t];
|
|
2221
2221
|
return /* @__PURE__ */ e(
|
|
2222
|
-
|
|
2222
|
+
Bt,
|
|
2223
2223
|
{
|
|
2224
2224
|
connectDescription: s?.connectDescription,
|
|
2225
2225
|
connectTitle: s?.connectTitle,
|
|
@@ -2234,7 +2234,7 @@ const P = {
|
|
|
2234
2234
|
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: s.content })
|
|
2235
2235
|
}
|
|
2236
2236
|
);
|
|
2237
|
-
}, mr =
|
|
2237
|
+
}, mr = S(hr), he = ({
|
|
2238
2238
|
drawerFor: t,
|
|
2239
2239
|
title: o,
|
|
2240
2240
|
description: n,
|
|
@@ -2279,13 +2279,13 @@ const P = {
|
|
|
2279
2279
|
)
|
|
2280
2280
|
] });
|
|
2281
2281
|
}, gr = () => {
|
|
2282
|
-
const { finstrong: t } =
|
|
2282
|
+
const { finstrong: t } = v(), { key_indicators_spend: o } = t, { healthScore: n } = R(), r = (i) => {
|
|
2283
2283
|
const d = bn(i), c = {
|
|
2284
2284
|
GOOD: o.ratio_good_description,
|
|
2285
2285
|
FAIR: o.ratio_fair_description,
|
|
2286
2286
|
OFF_TRACK: o.ratio_off_track_description,
|
|
2287
2287
|
MISSING: o.ratio_missing_description
|
|
2288
|
-
}, p = d === "MISSING" ? c[d] :
|
|
2288
|
+
}, p = d === "MISSING" ? c[d] : X(c[d], i);
|
|
2289
2289
|
return {
|
|
2290
2290
|
cardState: d,
|
|
2291
2291
|
description: p,
|
|
@@ -2305,7 +2305,7 @@ const P = {
|
|
|
2305
2305
|
]);
|
|
2306
2306
|
return /* @__PURE__ */ a(u, { sx: { gap: 24, p: 8, pt: 24 }, children: [
|
|
2307
2307
|
/* @__PURE__ */ e(
|
|
2308
|
-
|
|
2308
|
+
he,
|
|
2309
2309
|
{
|
|
2310
2310
|
cardState: l.cardState,
|
|
2311
2311
|
description: l.description,
|
|
@@ -2314,7 +2314,7 @@ const P = {
|
|
|
2314
2314
|
}
|
|
2315
2315
|
),
|
|
2316
2316
|
/* @__PURE__ */ e(
|
|
2317
|
-
|
|
2317
|
+
he,
|
|
2318
2318
|
{
|
|
2319
2319
|
cardState: s.cardState,
|
|
2320
2320
|
description: s.description,
|
|
@@ -2323,14 +2323,14 @@ const P = {
|
|
|
2323
2323
|
}
|
|
2324
2324
|
)
|
|
2325
2325
|
] });
|
|
2326
|
-
}, yr =
|
|
2327
|
-
const { healthScore: t } = R(), { finstrong: o } =
|
|
2326
|
+
}, yr = S(gr), br = () => {
|
|
2327
|
+
const { healthScore: t } = R(), { finstrong: o } = v(), { key_indicators_save: n } = o, r = (d) => {
|
|
2328
2328
|
const c = bt(d), p = {
|
|
2329
2329
|
GOOD: n.days_of_cash_good_description,
|
|
2330
2330
|
FAIR: n.days_of_cash_fair_description,
|
|
2331
2331
|
OFF_TRACK: n.days_of_cash_off_track_description,
|
|
2332
2332
|
MISSING: n.days_of_cash_missing_description
|
|
2333
|
-
}, _ = c === "MISSING" ? p[c] :
|
|
2333
|
+
}, _ = c === "MISSING" ? p[c] : X(p[c], d);
|
|
2334
2334
|
return {
|
|
2335
2335
|
cardState: c,
|
|
2336
2336
|
description: _,
|
|
@@ -2344,9 +2344,9 @@ const P = {
|
|
|
2344
2344
|
MISSING: n.emergency_savings_missing_description
|
|
2345
2345
|
};
|
|
2346
2346
|
let _;
|
|
2347
|
-
return c === "FAIR" && d !== null ? _ =
|
|
2347
|
+
return c === "FAIR" && d !== null ? _ = X(
|
|
2348
2348
|
p[c],
|
|
2349
|
-
|
|
2349
|
+
B(d, "0,0.00")
|
|
2350
2350
|
) : _ = p[c], {
|
|
2351
2351
|
cardState: c,
|
|
2352
2352
|
description: _,
|
|
@@ -2363,7 +2363,7 @@ const P = {
|
|
|
2363
2363
|
]);
|
|
2364
2364
|
return /* @__PURE__ */ a(u, { direction: "column", gap: 24, sx: { p: 8, pt: 24 }, children: [
|
|
2365
2365
|
/* @__PURE__ */ e(
|
|
2366
|
-
|
|
2366
|
+
he,
|
|
2367
2367
|
{
|
|
2368
2368
|
cardState: s.cardState,
|
|
2369
2369
|
description: s.description,
|
|
@@ -2372,7 +2372,7 @@ const P = {
|
|
|
2372
2372
|
}
|
|
2373
2373
|
),
|
|
2374
2374
|
/* @__PURE__ */ e(
|
|
2375
|
-
|
|
2375
|
+
he,
|
|
2376
2376
|
{
|
|
2377
2377
|
cardState: i.cardState,
|
|
2378
2378
|
description: i.description,
|
|
@@ -2381,14 +2381,14 @@ const P = {
|
|
|
2381
2381
|
}
|
|
2382
2382
|
)
|
|
2383
2383
|
] });
|
|
2384
|
-
}, fr =
|
|
2385
|
-
const { healthScore: t } = R(), { finstrong: o } =
|
|
2384
|
+
}, fr = S(br), xr = () => {
|
|
2385
|
+
const { healthScore: t } = R(), { finstrong: o } = v(), { key_indicators_borrow: n } = o, { user: r } = Q(), l = (c) => {
|
|
2386
2386
|
const p = fn(c), _ = {
|
|
2387
2387
|
GOOD: n.manage_debit_good_description,
|
|
2388
2388
|
FAIR: n.manage_debit_fair_description,
|
|
2389
2389
|
OFF_TRACK: n.manage_debit_off_track_description,
|
|
2390
2390
|
MISSING: n.manage_debit_missing_description
|
|
2391
|
-
}, m = p === "FAIR" || p === "OFF_TRACK" ?
|
|
2391
|
+
}, m = p === "FAIR" || p === "OFF_TRACK" ? X(_[p], c) : _[p];
|
|
2392
2392
|
return {
|
|
2393
2393
|
cardState: p,
|
|
2394
2394
|
description: m,
|
|
@@ -2400,7 +2400,7 @@ const P = {
|
|
|
2400
2400
|
FAIR: n.credit_score_fair_description,
|
|
2401
2401
|
OFF_TRACK: n.credit_score_off_track_description,
|
|
2402
2402
|
MISSING: n.credit_score_missing_description
|
|
2403
|
-
}, m = p === "MISSING" ? _[p] :
|
|
2403
|
+
}, m = p === "MISSING" ? _[p] : X(_[p], c);
|
|
2404
2404
|
return {
|
|
2405
2405
|
cardState: p,
|
|
2406
2406
|
description: m,
|
|
@@ -2415,7 +2415,7 @@ const P = {
|
|
|
2415
2415
|
}, [t.debt_to_income_ratio, r.credit_score, n, o]);
|
|
2416
2416
|
return /* @__PURE__ */ a(u, { direction: "column", gap: 24, sx: { p: 8, pt: 24 }, children: [
|
|
2417
2417
|
/* @__PURE__ */ e(
|
|
2418
|
-
|
|
2418
|
+
he,
|
|
2419
2419
|
{
|
|
2420
2420
|
cardState: i.cardState,
|
|
2421
2421
|
description: i.description,
|
|
@@ -2424,7 +2424,7 @@ const P = {
|
|
|
2424
2424
|
}
|
|
2425
2425
|
),
|
|
2426
2426
|
/* @__PURE__ */ e(
|
|
2427
|
-
|
|
2427
|
+
he,
|
|
2428
2428
|
{
|
|
2429
2429
|
cardState: d.cardState,
|
|
2430
2430
|
description: d.description,
|
|
@@ -2433,8 +2433,8 @@ const P = {
|
|
|
2433
2433
|
}
|
|
2434
2434
|
)
|
|
2435
2435
|
] });
|
|
2436
|
-
}, Sr =
|
|
2437
|
-
const [t, o] = h.useState(0), { finstrong: n } =
|
|
2436
|
+
}, Sr = S(xr), Cr = () => {
|
|
2437
|
+
const [t, o] = h.useState(0), { finstrong: n } = v();
|
|
2438
2438
|
return /* @__PURE__ */ a(z, { children: [
|
|
2439
2439
|
/* @__PURE__ */ a(
|
|
2440
2440
|
Ke,
|
|
@@ -2456,7 +2456,7 @@ const P = {
|
|
|
2456
2456
|
ae,
|
|
2457
2457
|
{
|
|
2458
2458
|
"aria-controls": "spend-details-tabpanel-0",
|
|
2459
|
-
icon: /* @__PURE__ */ e(
|
|
2459
|
+
icon: /* @__PURE__ */ e(Ee, { sx: { mr: 8 } }),
|
|
2460
2460
|
iconPosition: "start",
|
|
2461
2461
|
id: "spend-details-tab-0",
|
|
2462
2462
|
label: n.key_indicators_spend.title,
|
|
@@ -2492,16 +2492,16 @@ const P = {
|
|
|
2492
2492
|
/* @__PURE__ */ e(ie, { index: 1, name: "save-details", value: t, children: /* @__PURE__ */ e(fr, {}) }),
|
|
2493
2493
|
/* @__PURE__ */ e(ie, { index: 2, name: "borrow-details", value: t, children: /* @__PURE__ */ e(Sr, {}) })
|
|
2494
2494
|
] });
|
|
2495
|
-
}, vr =
|
|
2496
|
-
const { finstrong: o } =
|
|
2495
|
+
}, vr = S(Cr), wr = ({ onClick: t }) => {
|
|
2496
|
+
const { finstrong: o } = v(), { isCopyLoaded: n } = V();
|
|
2497
2497
|
return n ? /* @__PURE__ */ a(u, { sx: { alignItems: "center", gap: 12, pt: 12, pb: 32 }, children: [
|
|
2498
2498
|
/* @__PURE__ */ e(ut, { size: 48 }),
|
|
2499
2499
|
/* @__PURE__ */ a(u, { sx: { alignItems: "center", gap: 4, textAlign: "center" }, children: [
|
|
2500
|
-
/* @__PURE__ */ e(
|
|
2500
|
+
/* @__PURE__ */ e(K, { children: o.missing_data_title }),
|
|
2501
2501
|
/* @__PURE__ */ e(M, { sx: { width: { sm: 348 } }, variant: "subtitle1", children: o.missing_data_description })
|
|
2502
2502
|
] }),
|
|
2503
|
-
/* @__PURE__ */ e(
|
|
2504
|
-
|
|
2503
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
2504
|
+
$,
|
|
2505
2505
|
{
|
|
2506
2506
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
2507
2507
|
onClick: t,
|
|
@@ -2517,7 +2517,7 @@ const P = {
|
|
|
2517
2517
|
}
|
|
2518
2518
|
) })
|
|
2519
2519
|
] }) : /* @__PURE__ */ e(J, {});
|
|
2520
|
-
}, kr =
|
|
2520
|
+
}, kr = S(wr), Mr = {
|
|
2521
2521
|
add_more_income: "Add More Income"
|
|
2522
2522
|
}, Dr = ({
|
|
2523
2523
|
incomeTransactions: t,
|
|
@@ -2525,9 +2525,9 @@ const P = {
|
|
|
2525
2525
|
transaction: n
|
|
2526
2526
|
}) => /* @__PURE__ */ a(h.Fragment, { children: [
|
|
2527
2527
|
/* @__PURE__ */ a(u, { children: [
|
|
2528
|
-
!!t.length && /* @__PURE__ */ e(
|
|
2528
|
+
!!t.length && /* @__PURE__ */ e(C, { sx: { pb: 24 }, children: t.reduce((r, l, s) => {
|
|
2529
2529
|
if (l.guid === n.guid) return r;
|
|
2530
|
-
const i =
|
|
2530
|
+
const i = ze(s, t), d = Mt(s, t);
|
|
2531
2531
|
return r.push(
|
|
2532
2532
|
/* @__PURE__ */ a(h.Fragment, { children: [
|
|
2533
2533
|
i && /* @__PURE__ */ e(Dt, { children: Ve(l.date) }),
|
|
@@ -2552,22 +2552,22 @@ const P = {
|
|
|
2552
2552
|
}
|
|
2553
2553
|
)
|
|
2554
2554
|
] }),
|
|
2555
|
-
/* @__PURE__ */ e(
|
|
2556
|
-
|
|
2555
|
+
/* @__PURE__ */ e(C, { sx: { px: 24 }, children: /* @__PURE__ */ e(
|
|
2556
|
+
$,
|
|
2557
2557
|
{
|
|
2558
2558
|
fullWidth: !0,
|
|
2559
|
-
onClick: () => o({ step:
|
|
2559
|
+
onClick: () => o({ step: O.MonthlyIncome, type: "main" }),
|
|
2560
2560
|
startIcon: /* @__PURE__ */ e(_t, {}),
|
|
2561
2561
|
children: Mr.add_more_income
|
|
2562
2562
|
}
|
|
2563
2563
|
) })
|
|
2564
|
-
] }), Ar =
|
|
2564
|
+
] }), Ar = S(Dr), Ir = {
|
|
2565
2565
|
select_date: "Select Date"
|
|
2566
2566
|
}, Tr = ({ selectedDate: t, setSelectedDate: o }) => {
|
|
2567
|
-
const n =
|
|
2567
|
+
const n = E(), r = (l) => {
|
|
2568
2568
|
o(Math.floor(new Date(l).getTime() / 1e3));
|
|
2569
2569
|
};
|
|
2570
|
-
return /* @__PURE__ */ e(
|
|
2570
|
+
return /* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(Jn, { dateAdapter: Ot, children: /* @__PURE__ */ e(
|
|
2571
2571
|
eo,
|
|
2572
2572
|
{
|
|
2573
2573
|
disableFuture: !0,
|
|
@@ -2577,13 +2577,13 @@ const P = {
|
|
|
2577
2577
|
nextIconButton: {
|
|
2578
2578
|
sx: {
|
|
2579
2579
|
color: "primary.main",
|
|
2580
|
-
"&:hover": { bgcolor:
|
|
2580
|
+
"&:hover": { bgcolor: _e(n.palette.primary.light, 0.1) }
|
|
2581
2581
|
}
|
|
2582
2582
|
},
|
|
2583
2583
|
previousIconButton: {
|
|
2584
2584
|
sx: {
|
|
2585
2585
|
color: "primary.main",
|
|
2586
|
-
"&:hover": { bgcolor:
|
|
2586
|
+
"&:hover": { bgcolor: _e(n.palette.primary.light, 0.1) }
|
|
2587
2587
|
}
|
|
2588
2588
|
}
|
|
2589
2589
|
},
|
|
@@ -2591,17 +2591,17 @@ const P = {
|
|
|
2591
2591
|
width: "100%",
|
|
2592
2592
|
"& .MuiIconButton-edgeEnd": {
|
|
2593
2593
|
color: "primary.main",
|
|
2594
|
-
"&:hover": { bgcolor:
|
|
2594
|
+
"&:hover": { bgcolor: _e(n.palette.primary.light, 0.1) }
|
|
2595
2595
|
}
|
|
2596
2596
|
},
|
|
2597
2597
|
value: t ? new Date(t * 1e3) : null
|
|
2598
2598
|
}
|
|
2599
2599
|
) }) });
|
|
2600
|
-
}, Or =
|
|
2600
|
+
}, Or = S(Tr), Rr = {
|
|
2601
2601
|
credit_score: "Credit Score"
|
|
2602
2602
|
}, Fr = ({ creditScore: t, setCreditScore: o }) => {
|
|
2603
2603
|
const n = !isNaN(t);
|
|
2604
|
-
return /* @__PURE__ */ e(
|
|
2604
|
+
return /* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(
|
|
2605
2605
|
Me,
|
|
2606
2606
|
{
|
|
2607
2607
|
error: !n,
|
|
@@ -2616,9 +2616,9 @@ const P = {
|
|
|
2616
2616
|
value: n ? t : ""
|
|
2617
2617
|
}
|
|
2618
2618
|
) });
|
|
2619
|
-
},
|
|
2619
|
+
}, Pr = S(Fr), zt = ({ value: t, completeCopy: o }) => /* @__PURE__ */ a(u, { sx: { gap: 8 }, children: [
|
|
2620
2620
|
/* @__PURE__ */ e(u, { sx: { flexDirection: "row", gap: 4 }, children: Array.from({ length: 4 }).map((n, r) => /* @__PURE__ */ e(
|
|
2621
|
-
|
|
2621
|
+
C,
|
|
2622
2622
|
{
|
|
2623
2623
|
sx: {
|
|
2624
2624
|
bgcolor: r < t ? "primary.main" : "neutral.light",
|
|
@@ -2634,21 +2634,21 @@ const P = {
|
|
|
2634
2634
|
"% ",
|
|
2635
2635
|
o
|
|
2636
2636
|
] })
|
|
2637
|
-
] }),
|
|
2637
|
+
] }), Br = ({
|
|
2638
2638
|
completeCopy: t,
|
|
2639
2639
|
primaryText: o,
|
|
2640
2640
|
secondaryText: n,
|
|
2641
2641
|
value: r
|
|
2642
2642
|
}) => /* @__PURE__ */ a(u, { sx: { gap: 20, p: 24 }, children: [
|
|
2643
2643
|
/* @__PURE__ */ a(u, { sx: { gap: 8 }, children: [
|
|
2644
|
-
/* @__PURE__ */ e(
|
|
2644
|
+
/* @__PURE__ */ e(K, { children: o }),
|
|
2645
2645
|
/* @__PURE__ */ e(M, { variant: "subtitle1", children: n })
|
|
2646
2646
|
] }),
|
|
2647
|
-
/* @__PURE__ */ e(
|
|
2647
|
+
/* @__PURE__ */ e(zt, { completeCopy: t, value: r })
|
|
2648
2648
|
] }), ct = {
|
|
2649
|
-
step:
|
|
2649
|
+
step: O.ConnectAccounts,
|
|
2650
2650
|
type: "main"
|
|
2651
|
-
},
|
|
2651
|
+
}, F = {
|
|
2652
2652
|
add_accounts: "Add Accounts",
|
|
2653
2653
|
add_income_primary: "What is your monthly income?",
|
|
2654
2654
|
add_income_secondary: "Add your income so that we can accurately measure your financial strength.",
|
|
@@ -2667,14 +2667,14 @@ const P = {
|
|
|
2667
2667
|
do_it_later: "Do It Later",
|
|
2668
2668
|
next: "Next"
|
|
2669
2669
|
}, Lr = ({ isOpen: t, onClose: o }) => {
|
|
2670
|
-
const { visibleAccounts: n } = Se(), { calculateHealthScore: r } = R(), { finstrong: l } =
|
|
2670
|
+
const { visibleAccounts: n } = Se(), { calculateHealthScore: r } = R(), { finstrong: l } = v(), { setSelectedAccounts: s } = V(), { setDateRange: i } = kn(), { filter: d, setFilter: c, transactions: p } = Mn(), { user: _, userProfile: m, updateUser: g, updateUserProfile: b } = Q(), [w, f] = h.useState(_.credit_score || 0), [x, y] = h.useState(
|
|
2671
2671
|
ct
|
|
2672
|
-
), [k, D] = h.useState([]), [
|
|
2672
|
+
), [k, D] = h.useState([]), [I, N] = h.useState(!1), [G, H] = h.useState(!1), [W, ce] = h.useState(_.birthday), [Y, re] = h.useState("");
|
|
2673
2673
|
h.useEffect(() => {
|
|
2674
2674
|
i({ start: It(rt()), end: Tt(rt()) });
|
|
2675
2675
|
}, []), h.useEffect(() => {
|
|
2676
2676
|
c({
|
|
2677
|
-
accounts: n.map((
|
|
2677
|
+
accounts: n.map((T) => T.guid),
|
|
2678
2678
|
dateRange: {
|
|
2679
2679
|
start: Un(/* @__PURE__ */ new Date(), 90),
|
|
2680
2680
|
end: /* @__PURE__ */ new Date()
|
|
@@ -2682,116 +2682,116 @@ const P = {
|
|
|
2682
2682
|
custom: at
|
|
2683
2683
|
}), s(n);
|
|
2684
2684
|
}, [n]);
|
|
2685
|
-
const
|
|
2686
|
-
() => p.find((
|
|
2687
|
-
[
|
|
2685
|
+
const le = h.useMemo(
|
|
2686
|
+
() => p.find((T) => T.guid === Y),
|
|
2687
|
+
[Y, p]
|
|
2688
2688
|
), ge = h.useMemo(() => ({
|
|
2689
|
-
[
|
|
2690
|
-
[
|
|
2691
|
-
[
|
|
2692
|
-
[
|
|
2693
|
-
})[
|
|
2694
|
-
const { step:
|
|
2695
|
-
let
|
|
2696
|
-
return
|
|
2697
|
-
}, [
|
|
2689
|
+
[O.ConnectAccounts]: !0,
|
|
2690
|
+
[O.MonthlyIncome]: !!Y,
|
|
2691
|
+
[O.Birthday]: !!_.birthday || !!W,
|
|
2692
|
+
[O.CreditScore]: !!_.credit_score || !!w
|
|
2693
|
+
})[x.step], [w, x, W, Y, _]), U = n.length > 0, Pe = h.useMemo(() => {
|
|
2694
|
+
const { step: T } = x;
|
|
2695
|
+
let L = 0;
|
|
2696
|
+
return T >= O.MonthlyIncome && U && L++, T >= O.Birthday && k.length && L++, T >= O.CreditScore && (_.birthday || _.credit_score) && L++, L;
|
|
2697
|
+
}, [x.step, U, k.length, _.birthday, _.credit_score]), Ce = (T) => {
|
|
2698
2698
|
c({
|
|
2699
2699
|
...d,
|
|
2700
|
-
custom: (
|
|
2700
|
+
custom: (L) => T ? Qn(L, T) : at(L)
|
|
2701
2701
|
});
|
|
2702
|
-
},
|
|
2703
|
-
[
|
|
2704
|
-
main:
|
|
2705
|
-
mainActionContent:
|
|
2706
|
-
primaryText:
|
|
2707
|
-
secondaryText:
|
|
2702
|
+
}, Et = {
|
|
2703
|
+
[O.ConnectAccounts]: {
|
|
2704
|
+
main: U ? /* @__PURE__ */ e(Lt, { shouldShowBalance: !1 }) : null,
|
|
2705
|
+
mainActionContent: U ? F.next : F.add_accounts,
|
|
2706
|
+
primaryText: F.connect_your_accounts_primary,
|
|
2707
|
+
secondaryText: F.connect_your_accounts_secondary
|
|
2708
2708
|
},
|
|
2709
|
-
[
|
|
2709
|
+
[O.MonthlyIncome]: {
|
|
2710
2710
|
detail: /* @__PURE__ */ e(
|
|
2711
2711
|
Ar,
|
|
2712
2712
|
{
|
|
2713
2713
|
incomeTransactions: k,
|
|
2714
|
-
setCurrentStep: (
|
|
2715
|
-
|
|
2716
|
-
if (
|
|
2717
|
-
const Ze = p.find((ye) => ye.guid ===
|
|
2718
|
-
return Ze ? [
|
|
2714
|
+
setCurrentStep: (T) => {
|
|
2715
|
+
y(T), D((L) => {
|
|
2716
|
+
if (L.some((ye) => ye.guid === Y)) return L.filter((ye) => ye.guid !== Y);
|
|
2717
|
+
const Ze = p.find((ye) => ye.guid === Y);
|
|
2718
|
+
return Ze ? [...L, Ze] : L;
|
|
2719
2719
|
});
|
|
2720
2720
|
},
|
|
2721
|
-
transaction:
|
|
2721
|
+
transaction: le
|
|
2722
2722
|
}
|
|
2723
2723
|
),
|
|
2724
|
-
detailActionContent:
|
|
2724
|
+
detailActionContent: F.confirm_income,
|
|
2725
2725
|
main: /* @__PURE__ */ e(
|
|
2726
2726
|
Zn,
|
|
2727
2727
|
{
|
|
2728
2728
|
onSearch: Ce,
|
|
2729
|
-
onSelected: (
|
|
2730
|
-
|
|
2729
|
+
onSelected: (T) => {
|
|
2730
|
+
y({ step: O.MonthlyIncome, type: "detail" }), re(T);
|
|
2731
2731
|
}
|
|
2732
2732
|
}
|
|
2733
2733
|
),
|
|
2734
|
-
mainActionContent:
|
|
2735
|
-
primaryText:
|
|
2736
|
-
secondaryText:
|
|
2734
|
+
mainActionContent: F.confirm_income,
|
|
2735
|
+
primaryText: F.add_income_primary,
|
|
2736
|
+
secondaryText: F.add_income_secondary
|
|
2737
2737
|
},
|
|
2738
|
-
[
|
|
2739
|
-
main: /* @__PURE__ */ e(Or, { selectedDate:
|
|
2740
|
-
mainActionContent:
|
|
2741
|
-
primaryText:
|
|
2742
|
-
secondaryText:
|
|
2738
|
+
[O.Birthday]: {
|
|
2739
|
+
main: /* @__PURE__ */ e(Or, { selectedDate: W, setSelectedDate: ce }),
|
|
2740
|
+
mainActionContent: F.next,
|
|
2741
|
+
primaryText: F.birthday_primary,
|
|
2742
|
+
secondaryText: F.birthday_secondary
|
|
2743
2743
|
},
|
|
2744
|
-
[
|
|
2745
|
-
main: /* @__PURE__ */ e(
|
|
2746
|
-
mainActionContent:
|
|
2747
|
-
primaryText:
|
|
2748
|
-
secondaryText:
|
|
2744
|
+
[O.CreditScore]: {
|
|
2745
|
+
main: /* @__PURE__ */ e(Pr, { creditScore: w, setCreditScore: f }),
|
|
2746
|
+
mainActionContent: F.next,
|
|
2747
|
+
primaryText: F.credit_score_primary,
|
|
2748
|
+
secondaryText: F.credit_score_secondary
|
|
2749
2749
|
}
|
|
2750
2750
|
}, Xe = () => {
|
|
2751
|
-
|
|
2751
|
+
y(ct), N(!1), re(""), o();
|
|
2752
2752
|
}, Ue = async () => {
|
|
2753
|
-
|
|
2753
|
+
N(!0), await r(), await b({ ...m, has_completed_finstrong_onboarding: !0 }), Xe();
|
|
2754
2754
|
}, Gt = () => {
|
|
2755
|
-
if (
|
|
2755
|
+
if (x.step === O.CreditScore) {
|
|
2756
2756
|
Ue();
|
|
2757
2757
|
return;
|
|
2758
2758
|
}
|
|
2759
|
-
|
|
2759
|
+
y({ step: x.step + 1, type: "main" });
|
|
2760
2760
|
}, Ht = () => {
|
|
2761
|
-
const { step:
|
|
2762
|
-
switch (
|
|
2763
|
-
case
|
|
2764
|
-
|
|
2761
|
+
const { step: T } = x, L = T + 1;
|
|
2762
|
+
switch (T) {
|
|
2763
|
+
case O.Birthday:
|
|
2764
|
+
W && W !== _.birthday && g({ ..._, birthday: W });
|
|
2765
2765
|
break;
|
|
2766
|
-
case
|
|
2767
|
-
|
|
2766
|
+
case O.CreditScore:
|
|
2767
|
+
w && w !== _.credit_score && g({ ..._, credit_score: w }), Ue();
|
|
2768
2768
|
return;
|
|
2769
|
-
case
|
|
2770
|
-
|
|
2769
|
+
case O.MonthlyIncome:
|
|
2770
|
+
Y && k.length === 0 && D((qe) => [...qe, le]);
|
|
2771
2771
|
break;
|
|
2772
|
-
case
|
|
2773
|
-
if (!
|
|
2774
|
-
|
|
2772
|
+
case O.ConnectAccounts:
|
|
2773
|
+
if (!U) {
|
|
2774
|
+
H(!0);
|
|
2775
2775
|
return;
|
|
2776
2776
|
}
|
|
2777
2777
|
break;
|
|
2778
2778
|
}
|
|
2779
|
-
|
|
2779
|
+
L in O && y({ step: L, type: "main" });
|
|
2780
2780
|
}, Nt = () => {
|
|
2781
|
-
const { step:
|
|
2782
|
-
if (
|
|
2783
|
-
|
|
2781
|
+
const { step: T, type: L } = x;
|
|
2782
|
+
if (L === "detail") {
|
|
2783
|
+
y({ step: T, type: "main" });
|
|
2784
2784
|
return;
|
|
2785
2785
|
}
|
|
2786
|
-
if (
|
|
2787
|
-
|
|
2786
|
+
if (T === O.Birthday && k.length) {
|
|
2787
|
+
y({ step: T - 1, type: "detail" });
|
|
2788
2788
|
return;
|
|
2789
2789
|
}
|
|
2790
|
-
|
|
2791
|
-
},
|
|
2790
|
+
T > O.ConnectAccounts && y({ step: T - 1, type: "main" });
|
|
2791
|
+
}, de = Et[x.step], ve = x.step === O.ConnectAccounts, Kt = {
|
|
2792
2792
|
fullWidth: !0,
|
|
2793
|
-
...ve && !
|
|
2794
|
-
}, jt = !ve || ve && !
|
|
2793
|
+
...ve && !U && { startIcon: /* @__PURE__ */ e(_t, {}) }
|
|
2794
|
+
}, jt = !ve || ve && !U;
|
|
2795
2795
|
return /* @__PURE__ */ a(h.Fragment, { children: [
|
|
2796
2796
|
/* @__PURE__ */ a(
|
|
2797
2797
|
te,
|
|
@@ -2803,31 +2803,31 @@ const P = {
|
|
|
2803
2803
|
onClose: Xe,
|
|
2804
2804
|
onSecondaryAction: Nt,
|
|
2805
2805
|
primaryButtonProps: Kt,
|
|
2806
|
-
primaryText:
|
|
2806
|
+
primaryText: de?.mainActionContent,
|
|
2807
2807
|
secondaryColor: "primary",
|
|
2808
|
-
secondaryText:
|
|
2808
|
+
secondaryText: F.back,
|
|
2809
2809
|
title: l.title,
|
|
2810
|
-
...!
|
|
2810
|
+
...!I && { onPrimaryAction: Ht },
|
|
2811
2811
|
children: [
|
|
2812
|
-
|
|
2813
|
-
/* @__PURE__ */ e(Ie, { children:
|
|
2814
|
-
/* @__PURE__ */ e(M, { sx: { textAlign: "center" }, variant: "subtitle1", children:
|
|
2812
|
+
I && /* @__PURE__ */ a(u, { sx: { alignItems: "center", gap: 24, position: "relative", px: 16, top: 126 }, children: [
|
|
2813
|
+
/* @__PURE__ */ e(Ie, { children: F.calculate_primary }),
|
|
2814
|
+
/* @__PURE__ */ e(M, { sx: { textAlign: "center" }, variant: "subtitle1", children: F.calculate_secondary })
|
|
2815
2815
|
] }),
|
|
2816
|
-
|
|
2816
|
+
de && !I && /* @__PURE__ */ a(h.Fragment, { children: [
|
|
2817
2817
|
/* @__PURE__ */ e(
|
|
2818
|
-
|
|
2818
|
+
Br,
|
|
2819
2819
|
{
|
|
2820
2820
|
completeCopy: l.complete,
|
|
2821
|
-
primaryText:
|
|
2822
|
-
secondaryText:
|
|
2823
|
-
value:
|
|
2821
|
+
primaryText: de.primaryText,
|
|
2822
|
+
secondaryText: de.secondaryText,
|
|
2823
|
+
value: Pe
|
|
2824
2824
|
}
|
|
2825
2825
|
),
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
jt && /* @__PURE__ */ e(u, { sx: { alignItems: "center", px: 24, py: 12 }, children: /* @__PURE__ */ e(
|
|
2826
|
+
x.type === "main" && /* @__PURE__ */ a(C, { children: [
|
|
2827
|
+
de.main,
|
|
2828
|
+
jt && /* @__PURE__ */ e(u, { sx: { alignItems: "center", px: 24, py: 12 }, children: /* @__PURE__ */ e($, { fullWidth: !0, onClick: Gt, children: F.do_it_later }) })
|
|
2829
2829
|
] }),
|
|
2830
|
-
|
|
2830
|
+
x.type === "detail" && de.detail
|
|
2831
2831
|
] })
|
|
2832
2832
|
]
|
|
2833
2833
|
}
|
|
@@ -2835,13 +2835,13 @@ const P = {
|
|
|
2835
2835
|
/* @__PURE__ */ e(
|
|
2836
2836
|
oe,
|
|
2837
2837
|
{
|
|
2838
|
-
onClose: () =>
|
|
2839
|
-
showConnectWidget:
|
|
2840
|
-
title:
|
|
2838
|
+
onClose: () => H(!1),
|
|
2839
|
+
showConnectWidget: G,
|
|
2840
|
+
title: F.connect_accounts
|
|
2841
2841
|
}
|
|
2842
2842
|
)
|
|
2843
2843
|
] });
|
|
2844
|
-
}, $r =
|
|
2844
|
+
}, $r = S(Lr), $e = {
|
|
2845
2845
|
onboarding_title: "Financial Strength Starts Here",
|
|
2846
2846
|
onboarding_subtitle: "By analyzing your spending and saving, FinStrong provides a score and guidance to help you improve your financial habits.",
|
|
2847
2847
|
get_started: "Get Started"
|
|
@@ -2860,20 +2860,20 @@ const P = {
|
|
|
2860
2860
|
},
|
|
2861
2861
|
children: [
|
|
2862
2862
|
/* @__PURE__ */ a(u, { sx: { alignItems: { sm: "center" }, gap: 24, width: "100%" }, children: [
|
|
2863
|
-
/* @__PURE__ */ e(
|
|
2863
|
+
/* @__PURE__ */ e(C, { sx: { textAlign: "center" }, children: /* @__PURE__ */ e(en, { size: 72 }) }),
|
|
2864
2864
|
/* @__PURE__ */ a(u, { sx: { gap: 4, textAlign: "center", width: { sm: 400 } }, children: [
|
|
2865
2865
|
/* @__PURE__ */ e(Ie, { children: $e.onboarding_title }),
|
|
2866
2866
|
/* @__PURE__ */ e(M, { sx: { color: "text.secondary" }, variant: "subtitle1", children: $e.onboarding_subtitle })
|
|
2867
2867
|
] })
|
|
2868
2868
|
] }),
|
|
2869
|
-
/* @__PURE__ */ e(
|
|
2869
|
+
/* @__PURE__ */ e($, { onClick: () => o(!0), variant: "contained", children: $e.get_started })
|
|
2870
2870
|
]
|
|
2871
2871
|
}
|
|
2872
2872
|
),
|
|
2873
2873
|
/* @__PURE__ */ e($r, { isOpen: t, onClose: () => o(!1) })
|
|
2874
2874
|
] });
|
|
2875
|
-
},
|
|
2876
|
-
const { finstrong: n } =
|
|
2875
|
+
}, zr = ({ isOpen: t, onClose: o }) => {
|
|
2876
|
+
const { finstrong: n } = v(), r = E(), { updateUser: l, user: s } = Q(), [i, d] = h.useState(s.birthday), c = (_) => {
|
|
2877
2877
|
d(Math.floor(new Date(_).getTime() / 1e3));
|
|
2878
2878
|
};
|
|
2879
2879
|
return /* @__PURE__ */ e(
|
|
@@ -2895,13 +2895,13 @@ const P = {
|
|
|
2895
2895
|
nextIconButton: {
|
|
2896
2896
|
sx: {
|
|
2897
2897
|
color: "primary.main",
|
|
2898
|
-
"&:hover": { bgcolor:
|
|
2898
|
+
"&:hover": { bgcolor: _e(r.palette.primary.light, 0.1) }
|
|
2899
2899
|
}
|
|
2900
2900
|
},
|
|
2901
2901
|
previousIconButton: {
|
|
2902
2902
|
sx: {
|
|
2903
2903
|
color: "primary.main",
|
|
2904
|
-
"&:hover": { bgcolor:
|
|
2904
|
+
"&:hover": { bgcolor: _e(r.palette.primary.light, 0.1) }
|
|
2905
2905
|
}
|
|
2906
2906
|
}
|
|
2907
2907
|
},
|
|
@@ -2913,7 +2913,7 @@ const P = {
|
|
|
2913
2913
|
width: "100%",
|
|
2914
2914
|
"& .MuiIconButton-edgeEnd": {
|
|
2915
2915
|
color: "primary.main",
|
|
2916
|
-
"&:hover": { bgcolor:
|
|
2916
|
+
"&:hover": { bgcolor: _e(r.palette.primary.light, 0.1) }
|
|
2917
2917
|
}
|
|
2918
2918
|
},
|
|
2919
2919
|
value: i ? new Date(i * 1e3) : /* @__PURE__ */ new Date()
|
|
@@ -2921,12 +2921,12 @@ const P = {
|
|
|
2921
2921
|
) })
|
|
2922
2922
|
}
|
|
2923
2923
|
);
|
|
2924
|
-
},
|
|
2924
|
+
}, Er = S(zr), Gr = ({ isOpen: t, onClose: o }) => {
|
|
2925
2925
|
const { visibleFinstrongAccounts: n } = Se(), { incomeBudget: r } = xt(), {
|
|
2926
2926
|
accounts: l,
|
|
2927
2927
|
common: s,
|
|
2928
2928
|
finstrong: i
|
|
2929
|
-
} =
|
|
2929
|
+
} = v(), { user: d } = Q(), [c, p] = h.useState(null), m = [
|
|
2930
2930
|
{
|
|
2931
2931
|
dynamicCopy: i.add_profile_item,
|
|
2932
2932
|
fallbackLabel: i.monthly_income,
|
|
@@ -2946,7 +2946,7 @@ const P = {
|
|
|
2946
2946
|
{
|
|
2947
2947
|
dynamicCopy: i.add_profile_item,
|
|
2948
2948
|
fallbackLabel: i.credit_score,
|
|
2949
|
-
icon: /* @__PURE__ */ e(
|
|
2949
|
+
icon: /* @__PURE__ */ e(Ee, {}),
|
|
2950
2950
|
key: ee.CreditScore,
|
|
2951
2951
|
label: i.credit_score,
|
|
2952
2952
|
value: d.credit_score
|
|
@@ -2956,29 +2956,29 @@ const P = {
|
|
|
2956
2956
|
icon: /* @__PURE__ */ e(pt, {}),
|
|
2957
2957
|
key: ee.Connections,
|
|
2958
2958
|
label: i.connections,
|
|
2959
|
-
value: n.length > 0 ?
|
|
2959
|
+
value: n.length > 0 ? X(
|
|
2960
2960
|
i.connected_account,
|
|
2961
2961
|
String(n.length),
|
|
2962
2962
|
n.length > 1 ? i.accounts : i.account
|
|
2963
2963
|
) : void 0
|
|
2964
2964
|
}
|
|
2965
|
-
].map((
|
|
2965
|
+
].map((g) => xn(g));
|
|
2966
2966
|
return /* @__PURE__ */ a(te, { isOpen: t, onClose: o, title: i.financial_profile, children: [
|
|
2967
2967
|
/* @__PURE__ */ a(u, { sx: { gap: 20, p: 24 }, children: [
|
|
2968
2968
|
/* @__PURE__ */ a(u, { sx: { gap: 8 }, children: [
|
|
2969
|
-
/* @__PURE__ */ e(
|
|
2969
|
+
/* @__PURE__ */ e(K, { children: i.your_financial_profile }),
|
|
2970
2970
|
/* @__PURE__ */ e(M, { children: i.financial_profile_description })
|
|
2971
2971
|
] }),
|
|
2972
2972
|
/* @__PURE__ */ e(
|
|
2973
|
-
|
|
2973
|
+
zt,
|
|
2974
2974
|
{
|
|
2975
2975
|
completeCopy: i.complete,
|
|
2976
|
-
value: m.reduce((
|
|
2976
|
+
value: m.reduce((g, b) => g + (b.isComplete ? 1 : 0), 0)
|
|
2977
2977
|
}
|
|
2978
2978
|
)
|
|
2979
2979
|
] }),
|
|
2980
2980
|
/* @__PURE__ */ e(Sn, { list: m, onClickItem: p }),
|
|
2981
|
-
/* @__PURE__ */ e(
|
|
2981
|
+
/* @__PURE__ */ e(C, { sx: { p: 24 }, children: /* @__PURE__ */ e(
|
|
2982
2982
|
Te,
|
|
2983
2983
|
{
|
|
2984
2984
|
description: i.connect_more_accounts_to_view_more_accurate_financial_picture,
|
|
@@ -2997,8 +2997,8 @@ const P = {
|
|
|
2997
2997
|
children: /* @__PURE__ */ e(no, {})
|
|
2998
2998
|
}
|
|
2999
2999
|
),
|
|
3000
|
-
/* @__PURE__ */ e(
|
|
3001
|
-
/* @__PURE__ */ e(
|
|
3000
|
+
/* @__PURE__ */ e(Er, { isOpen: c === ee.DateOfBirth, onClose: () => p(null) }),
|
|
3001
|
+
/* @__PURE__ */ e(Pt, { isOpen: c === ee.CreditScore, onClose: () => p(null) }),
|
|
3002
3002
|
/* @__PURE__ */ e(
|
|
3003
3003
|
St,
|
|
3004
3004
|
{
|
|
@@ -3008,7 +3008,7 @@ const P = {
|
|
|
3008
3008
|
}
|
|
3009
3009
|
)
|
|
3010
3010
|
] });
|
|
3011
|
-
}, Hr =
|
|
3011
|
+
}, Hr = S(Gr), lt = ({
|
|
3012
3012
|
content: t,
|
|
3013
3013
|
islast: o = !1
|
|
3014
3014
|
}) => /* @__PURE__ */ a(io, { sx: { minHeight: 0 }, children: [
|
|
@@ -3018,7 +3018,7 @@ const P = {
|
|
|
3018
3018
|
] }),
|
|
3019
3019
|
/* @__PURE__ */ e(lo, { sx: { pb: 16, pl: 12, pr: 0, pt: 5 }, children: /* @__PURE__ */ e(M, { fontSize: 13, fontWeight: 400, variant: "subtitle2", children: t }) })
|
|
3020
3020
|
] }), Nr = ({ report: t }) => {
|
|
3021
|
-
const { finstrong: o } =
|
|
3021
|
+
const { finstrong: o } = v(), { score_history_drawer_timeline: n } = o, {
|
|
3022
3022
|
health_score_point_difference: r,
|
|
3023
3023
|
newer_credit_score: l,
|
|
3024
3024
|
older_credit_score: s,
|
|
@@ -3027,9 +3027,9 @@ const P = {
|
|
|
3027
3027
|
older_health_score: c,
|
|
3028
3028
|
newer_health_score: p,
|
|
3029
3029
|
newer_score_calculated_at: _
|
|
3030
|
-
} = t, m = ro(new Date(_), "MMM d"),
|
|
3030
|
+
} = t, m = ro(new Date(_), "MMM d"), g = () => r === 0 ? "info.lighter" : r > 0 ? "success.lighter" : "error.lighter", b = () => r === 0 ? X(n.stayed_at, c) : r > 0 ? n.less_spending : n.more_spending, w = () => {
|
|
3031
3031
|
if (r === 0) return null;
|
|
3032
|
-
const
|
|
3032
|
+
const f = r > 0 ? n.up_from : n.down_from, x = X(f, c, p);
|
|
3033
3033
|
return /* @__PURE__ */ a(z, { children: [
|
|
3034
3034
|
/* @__PURE__ */ e(
|
|
3035
3035
|
an,
|
|
@@ -3039,11 +3039,11 @@ const P = {
|
|
|
3039
3039
|
sx: { color: "text.secondary", fontSize: 8, mx: 4, p: 1 }
|
|
3040
3040
|
}
|
|
3041
3041
|
),
|
|
3042
|
-
|
|
3042
|
+
x
|
|
3043
3043
|
] });
|
|
3044
3044
|
};
|
|
3045
|
-
return /* @__PURE__ */ e(
|
|
3046
|
-
/* @__PURE__ */ e(
|
|
3045
|
+
return /* @__PURE__ */ e(j, { children: /* @__PURE__ */ a(u, { sx: { backgroundColor: "background.paper" }, children: [
|
|
3046
|
+
/* @__PURE__ */ e(C, { sx: { borderBottom: "1px solid", borderBottomColor: "divider", p: 16 }, children: /* @__PURE__ */ a(
|
|
3047
3047
|
u,
|
|
3048
3048
|
{
|
|
3049
3049
|
flexDirection: "row",
|
|
@@ -3054,7 +3054,7 @@ const P = {
|
|
|
3054
3054
|
{
|
|
3055
3055
|
sx: {
|
|
3056
3056
|
alignItems: "center",
|
|
3057
|
-
backgroundColor:
|
|
3057
|
+
backgroundColor: g(),
|
|
3058
3058
|
borderRadius: 999,
|
|
3059
3059
|
height: 48,
|
|
3060
3060
|
justifyContent: "center",
|
|
@@ -3064,17 +3064,17 @@ const P = {
|
|
|
3064
3064
|
}
|
|
3065
3065
|
),
|
|
3066
3066
|
/* @__PURE__ */ a(u, { sx: { gap: 2, width: "80%" }, children: [
|
|
3067
|
-
/* @__PURE__ */ e(A, { fontWeight: 600, variant: "Body", children:
|
|
3067
|
+
/* @__PURE__ */ e(A, { fontWeight: 600, variant: "Body", children: b() }),
|
|
3068
3068
|
/* @__PURE__ */ a(A, { sx: { color: "text.secondary" }, variant: "subtitle2", children: [
|
|
3069
3069
|
m,
|
|
3070
3070
|
" ",
|
|
3071
|
-
|
|
3071
|
+
w()
|
|
3072
3072
|
] })
|
|
3073
3073
|
] })
|
|
3074
3074
|
]
|
|
3075
3075
|
}
|
|
3076
3076
|
) }),
|
|
3077
|
-
r !== 0 && /* @__PURE__ */ e(
|
|
3077
|
+
r !== 0 && /* @__PURE__ */ e(C, { sx: { color: "text.secondary", pb: 8, pl: 32, pr: 16, pt: 12 }, children: /* @__PURE__ */ a(
|
|
3078
3078
|
ao,
|
|
3079
3079
|
{
|
|
3080
3080
|
sx: {
|
|
@@ -3089,7 +3089,7 @@ const P = {
|
|
|
3089
3089
|
/* @__PURE__ */ e(
|
|
3090
3090
|
lt,
|
|
3091
3091
|
{
|
|
3092
|
-
content:
|
|
3092
|
+
content: X(
|
|
3093
3093
|
n.spend_to_income_description,
|
|
3094
3094
|
ke(i),
|
|
3095
3095
|
ke(d)
|
|
@@ -3099,7 +3099,7 @@ const P = {
|
|
|
3099
3099
|
/* @__PURE__ */ e(
|
|
3100
3100
|
lt,
|
|
3101
3101
|
{
|
|
3102
|
-
content:
|
|
3102
|
+
content: X(
|
|
3103
3103
|
n.credit_score_description,
|
|
3104
3104
|
s,
|
|
3105
3105
|
l
|
|
@@ -3111,12 +3111,12 @@ const P = {
|
|
|
3111
3111
|
}
|
|
3112
3112
|
) })
|
|
3113
3113
|
] }) });
|
|
3114
|
-
}, Kr =
|
|
3115
|
-
const n =
|
|
3114
|
+
}, Kr = S(Nr), jr = ({ isOpen: t, onClose: o }) => {
|
|
3115
|
+
const n = E(), { finstrong: r } = v(), { isCopyLoaded: l, isInitialized: s } = V(), { healthScore: i, healthScoreChangeReports: d, augmentedChartData: c } = R();
|
|
3116
3116
|
if (!l || !s) return /* @__PURE__ */ e(J, {});
|
|
3117
3117
|
const p = Ge(i.health_score || 0, r), _ = d.slice().reverse();
|
|
3118
3118
|
return /* @__PURE__ */ e(
|
|
3119
|
-
|
|
3119
|
+
Bt,
|
|
3120
3120
|
{
|
|
3121
3121
|
additionalContent: /* @__PURE__ */ e(u, { sx: { pl: 18, backgroundColor: "background.paper" }, children: /* @__PURE__ */ e(
|
|
3122
3122
|
Ne,
|
|
@@ -3145,7 +3145,7 @@ const P = {
|
|
|
3145
3145
|
direction: "row",
|
|
3146
3146
|
sx: { backgroundColor: "background.paper", gap: 16, pb: 12, pt: 8, px: 24 },
|
|
3147
3147
|
children: [
|
|
3148
|
-
/* @__PURE__ */ e(
|
|
3148
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
|
|
3149
3149
|
Ft,
|
|
3150
3150
|
{
|
|
3151
3151
|
arcRadius: 20,
|
|
@@ -3153,18 +3153,18 @@ const P = {
|
|
|
3153
3153
|
size: "SM"
|
|
3154
3154
|
}
|
|
3155
3155
|
) }),
|
|
3156
|
-
/* @__PURE__ */ a(
|
|
3156
|
+
/* @__PURE__ */ a(C, { children: [
|
|
3157
3157
|
/* @__PURE__ */ e(M, { fontSize: 18, fontWeight: 700, sx: { mb: 4 }, variant: "subtitle1", children: p.status }),
|
|
3158
3158
|
/* @__PURE__ */ e(M, { variant: "caption", children: p.description })
|
|
3159
3159
|
] })
|
|
3160
3160
|
]
|
|
3161
3161
|
}
|
|
3162
3162
|
),
|
|
3163
|
-
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: _.map((m,
|
|
3163
|
+
children: /* @__PURE__ */ e(u, { sx: { gap: 16 }, children: _.map((m, g) => /* @__PURE__ */ e(Kr, { report: m }, g)) })
|
|
3164
3164
|
}
|
|
3165
3165
|
);
|
|
3166
|
-
}, Vr =
|
|
3167
|
-
const o =
|
|
3166
|
+
}, Vr = S(jr), Yr = ({ copy: t }) => {
|
|
3167
|
+
const o = E(), n = [
|
|
3168
3168
|
o.palette.chartMono.chartMono5,
|
|
3169
3169
|
o.palette.chartMono.chartMono4,
|
|
3170
3170
|
o.palette.chartMono.chartMono3,
|
|
@@ -3177,7 +3177,7 @@ const P = {
|
|
|
3177
3177
|
{ color: "chartMono.chartMono4", text: t.stable, value: "51-75" },
|
|
3178
3178
|
{ color: "chartMono.chartMono5", text: t.strong, value: "76-100" }
|
|
3179
3179
|
].map(({ color: r, text: l, value: s }) => /* @__PURE__ */ a(u, { sx: { gap: 4, textAlign: "center", width: "100%" }, children: [
|
|
3180
|
-
/* @__PURE__ */ a(
|
|
3180
|
+
/* @__PURE__ */ a(C, { children: [
|
|
3181
3181
|
/* @__PURE__ */ e(M, { sx: { fontWeight: 700, textTransform: "uppercase" }, variant: "caption", children: l }),
|
|
3182
3182
|
/* @__PURE__ */ a(A, { sx: { color: "text.secondary" }, variant: "caption", children: [
|
|
3183
3183
|
"(",
|
|
@@ -3185,11 +3185,11 @@ const P = {
|
|
|
3185
3185
|
")"
|
|
3186
3186
|
] })
|
|
3187
3187
|
] }),
|
|
3188
|
-
/* @__PURE__ */ e(
|
|
3188
|
+
/* @__PURE__ */ e(C, { sx: { border: "2px solid", borderColor: r, borderRadius: "3px" } })
|
|
3189
3189
|
] }, l)) }),
|
|
3190
|
-
/* @__PURE__ */ a(
|
|
3190
|
+
/* @__PURE__ */ a(C, { children: [
|
|
3191
3191
|
/* @__PURE__ */ e(
|
|
3192
|
-
|
|
3192
|
+
C,
|
|
3193
3193
|
{
|
|
3194
3194
|
sx: {
|
|
3195
3195
|
background: `linear-gradient(to left, ${n.join(", ")})`,
|
|
@@ -3204,7 +3204,7 @@ const P = {
|
|
|
3204
3204
|
sx: { alignItems: "center", height: 20, justifyContent: "space-between", width: 24 },
|
|
3205
3205
|
children: [
|
|
3206
3206
|
/* @__PURE__ */ e(
|
|
3207
|
-
|
|
3207
|
+
C,
|
|
3208
3208
|
{
|
|
3209
3209
|
sx: {
|
|
3210
3210
|
borderBottom: "1px solid",
|
|
@@ -3224,14 +3224,14 @@ const P = {
|
|
|
3224
3224
|
] })
|
|
3225
3225
|
] });
|
|
3226
3226
|
}, Xr = ({ isOpen: t, onClose: o }) => {
|
|
3227
|
-
const { finstrong: n } =
|
|
3227
|
+
const { finstrong: n } = v(), { isCopyLoaded: r } = V();
|
|
3228
3228
|
return r ? /* @__PURE__ */ e(te, { isOpen: t, onClose: o, title: n.score_rubric, children: /* @__PURE__ */ a(u, { sx: { gap: 36, p: 24 }, children: [
|
|
3229
3229
|
/* @__PURE__ */ a(u, { sx: { gap: 20 }, children: [
|
|
3230
3230
|
/* @__PURE__ */ a(u, { sx: { gap: 8 }, children: [
|
|
3231
|
-
/* @__PURE__ */ e(
|
|
3231
|
+
/* @__PURE__ */ e(K, { sx: { textWrap: "wrap" }, children: n.your_path_to_financial_freedom }),
|
|
3232
3232
|
/* @__PURE__ */ e(M, { variant: "subtitle1", children: n.finstrong_freedom_description })
|
|
3233
3233
|
] }),
|
|
3234
|
-
/* @__PURE__ */ e(
|
|
3234
|
+
/* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(Yr, { copy: n }) })
|
|
3235
3235
|
] }),
|
|
3236
3236
|
/* @__PURE__ */ a(u, { sx: { gap: 12 }, children: [
|
|
3237
3237
|
/* @__PURE__ */ e(A, { sx: { fontWeight: 600 }, variant: "body1", children: n.how_do_we_do_this }),
|
|
@@ -3255,15 +3255,15 @@ const P = {
|
|
|
3255
3255
|
}
|
|
3256
3256
|
},
|
|
3257
3257
|
children: [
|
|
3258
|
-
/* @__PURE__ */ e(
|
|
3259
|
-
|
|
3258
|
+
/* @__PURE__ */ e(pe, { sx: { display: "list-item" }, children: /* @__PURE__ */ e(
|
|
3259
|
+
ue,
|
|
3260
3260
|
{
|
|
3261
3261
|
primary: n.understand_your_habits,
|
|
3262
3262
|
secondary: n.understand_your_habits_description
|
|
3263
3263
|
}
|
|
3264
3264
|
) }),
|
|
3265
|
-
/* @__PURE__ */ e(
|
|
3266
|
-
|
|
3265
|
+
/* @__PURE__ */ e(pe, { sx: { display: "list-item", pt: 16 }, children: /* @__PURE__ */ e(
|
|
3266
|
+
ue,
|
|
3267
3267
|
{
|
|
3268
3268
|
primary: n.see_whats_possible,
|
|
3269
3269
|
secondary: n.see_whats_possible_description
|
|
@@ -3296,21 +3296,21 @@ const P = {
|
|
|
3296
3296
|
}
|
|
3297
3297
|
},
|
|
3298
3298
|
children: [
|
|
3299
|
-
/* @__PURE__ */ e(
|
|
3300
|
-
/* @__PURE__ */ e(
|
|
3299
|
+
/* @__PURE__ */ e(pe, { sx: { display: "list-item" }, children: /* @__PURE__ */ e(ue, { secondary: n.we_ask_questions_description_1 }) }),
|
|
3300
|
+
/* @__PURE__ */ e(pe, { sx: { display: "list-item" }, children: /* @__PURE__ */ e(ue, { secondary: n.we_ask_questions_description_2 }) })
|
|
3301
3301
|
]
|
|
3302
3302
|
}
|
|
3303
3303
|
)
|
|
3304
3304
|
] })
|
|
3305
3305
|
] }) }) : /* @__PURE__ */ e(J, {});
|
|
3306
|
-
}, Ur =
|
|
3307
|
-
const [t, o] = h.useState(!1), n =
|
|
3308
|
-
return !i || !d ? /* @__PURE__ */ e(J, {}) : /* @__PURE__ */ a(
|
|
3306
|
+
}, Ur = S(Xr), qr = S(() => {
|
|
3307
|
+
const [t, o] = h.useState(!1), n = E(), [r, { width: l }] = vt(), { finstrong: s } = v(), { isCopyLoaded: i, isInitialized: d } = V(), { healthScore: c, healthScoreChange: p } = R(), _ = n.palette.mode === "dark", m = Ge(c?.health_score, s);
|
|
3308
|
+
return !i || !d ? /* @__PURE__ */ e(J, {}) : /* @__PURE__ */ a(j, { ref: r, sx: { p: 16 }, children: [
|
|
3309
3309
|
/* @__PURE__ */ e(
|
|
3310
3310
|
go,
|
|
3311
3311
|
{
|
|
3312
3312
|
action: /* @__PURE__ */ e(
|
|
3313
|
-
|
|
3313
|
+
$,
|
|
3314
3314
|
{
|
|
3315
3315
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
3316
3316
|
onClick: () => o(!0),
|
|
@@ -3324,7 +3324,7 @@ const P = {
|
|
|
3324
3324
|
children: s.financial_strength_header_action
|
|
3325
3325
|
}
|
|
3326
3326
|
),
|
|
3327
|
-
subheader: /* @__PURE__ */ e(
|
|
3327
|
+
subheader: /* @__PURE__ */ e(K, { color: "text.primary", children: s.financial_strength_header }),
|
|
3328
3328
|
sx: {
|
|
3329
3329
|
p: 0,
|
|
3330
3330
|
"& .MuiCardHeader-content": {
|
|
@@ -3406,46 +3406,45 @@ const P = {
|
|
|
3406
3406
|
}), Zr = ({ onBackClick: t, sx: o }) => {
|
|
3407
3407
|
const { visibleAccounts: n } = Se(), { dateRange: r, isDataLoaded: l, loadBudgetData: s, setTheme: i } = xt(), { reloadCategoryTotals: d } = He(), {
|
|
3408
3408
|
augmentedChartData: c,
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
} = R(), { finstrong: f, connect: b } = w(), { isCopyLoaded: S, isInitialized: g, selectedAccounts: k, setSelectedAccounts: D } = Y(), { isMobile: F } = je(), O = G(), { userProfile: H } = Q(), [N, E] = h.useState(!1), [me, K] = h.useState(!1), [ce, re] = h.useState(!1);
|
|
3409
|
+
calculateHealthScore: p,
|
|
3410
|
+
healthScore: _,
|
|
3411
|
+
loadAugmentedChartData: m,
|
|
3412
|
+
loadMonthlySummaries: g
|
|
3413
|
+
} = R(), { finstrong: b, connect: w } = v(), { isCopyLoaded: f, isInitialized: x, selectedAccounts: y, setSelectedAccounts: k } = V(), { isMobile: D } = je(), I = E(), { userProfile: N } = Q(), [G, H] = h.useState(!1), [W, ce] = h.useState(!1), [Y, re] = h.useState(!1);
|
|
3415
3414
|
if (h.useEffect(() => {
|
|
3416
|
-
i(
|
|
3417
|
-
}, []), h.useEffect(() =>
|
|
3418
|
-
|
|
3419
|
-
}, [
|
|
3420
|
-
|
|
3421
|
-
}, [r, l,
|
|
3422
|
-
const
|
|
3423
|
-
},
|
|
3415
|
+
i(I);
|
|
3416
|
+
}, []), h.useEffect(() => k(n), [n]), h.useEffect(() => {
|
|
3417
|
+
x && (p().finally(), m().finally(), g().finally());
|
|
3418
|
+
}, [x]), h.useEffect(() => {
|
|
3419
|
+
x && (d(y, r.start, r.end), l || s());
|
|
3420
|
+
}, [r, l, x, y]), !f || !x) return /* @__PURE__ */ e(J, {});
|
|
3421
|
+
const le = () => {
|
|
3422
|
+
}, ge = () => H(!0);
|
|
3424
3423
|
return /* @__PURE__ */ a(
|
|
3425
|
-
|
|
3424
|
+
En,
|
|
3426
3425
|
{
|
|
3427
3426
|
accountOptions: n,
|
|
3428
3427
|
actions: [
|
|
3429
3428
|
{
|
|
3430
3429
|
iconName: "person",
|
|
3431
|
-
label:
|
|
3432
|
-
onClick:
|
|
3430
|
+
label: b.profile,
|
|
3431
|
+
onClick: ge
|
|
3433
3432
|
}
|
|
3434
3433
|
],
|
|
3435
3434
|
hasDivider: !0,
|
|
3436
|
-
onAccountsFilterClick:
|
|
3435
|
+
onAccountsFilterClick: le,
|
|
3437
3436
|
onBackClick: t,
|
|
3438
3437
|
sx: o,
|
|
3439
|
-
title:
|
|
3438
|
+
title: b.title,
|
|
3440
3439
|
children: [
|
|
3441
|
-
|
|
3440
|
+
N.has_completed_finstrong_onboarding ? /* @__PURE__ */ a(
|
|
3442
3441
|
u,
|
|
3443
3442
|
{
|
|
3444
3443
|
sx: {
|
|
3445
3444
|
flexDirection: { md: "row" },
|
|
3446
3445
|
gap: 24,
|
|
3447
3446
|
justifyContent: "center",
|
|
3448
|
-
pt:
|
|
3447
|
+
pt: D ? 24 : 16,
|
|
3449
3448
|
px: 24
|
|
3450
3449
|
},
|
|
3451
3450
|
children: [
|
|
@@ -3454,78 +3453,78 @@ const P = {
|
|
|
3454
3453
|
/* @__PURE__ */ e(
|
|
3455
3454
|
Te,
|
|
3456
3455
|
{
|
|
3457
|
-
description:
|
|
3456
|
+
description: b.connect_more_accounts_description,
|
|
3458
3457
|
drawerType: "connectDrawer",
|
|
3459
|
-
title:
|
|
3458
|
+
title: b.connect_more_accounts_title
|
|
3460
3459
|
}
|
|
3461
3460
|
)
|
|
3462
3461
|
] }),
|
|
3463
|
-
/* @__PURE__ */ e(u, { sx: { maxWidth: 848, minWidth: 288, width: { md: 720 } }, children: /* @__PURE__ */ a(
|
|
3462
|
+
/* @__PURE__ */ e(u, { sx: { maxWidth: 848, minWidth: 288, width: { md: 720 } }, children: /* @__PURE__ */ a(j, { sx: { background: I.palette.background.paper, p: 16 }, children: [
|
|
3464
3463
|
/* @__PURE__ */ a(u, { direction: "row", sx: { alignItems: "center", justifyContent: "space-between" }, children: [
|
|
3465
|
-
/* @__PURE__ */ e(
|
|
3464
|
+
/* @__PURE__ */ e(K, { children: b.key_indicators }),
|
|
3466
3465
|
/* @__PURE__ */ e(
|
|
3467
|
-
|
|
3466
|
+
$,
|
|
3468
3467
|
{
|
|
3469
3468
|
endIcon: /* @__PURE__ */ e(Z, {}),
|
|
3470
|
-
onClick: () =>
|
|
3469
|
+
onClick: () => ce(!0),
|
|
3471
3470
|
sx: {
|
|
3472
3471
|
fontSize: 13
|
|
3473
3472
|
},
|
|
3474
3473
|
variant: "text",
|
|
3475
|
-
children:
|
|
3474
|
+
children: b.whats_changed
|
|
3476
3475
|
}
|
|
3477
3476
|
)
|
|
3478
3477
|
] }),
|
|
3479
3478
|
c.length ? /* @__PURE__ */ e(
|
|
3480
3479
|
Ne,
|
|
3481
3480
|
{
|
|
3482
|
-
axisColor:
|
|
3481
|
+
axisColor: I.palette.divider,
|
|
3483
3482
|
baseline: "min",
|
|
3484
|
-
colors: [
|
|
3483
|
+
colors: [I.palette.primary.main],
|
|
3485
3484
|
curveType: "natural",
|
|
3486
3485
|
customLegendVariant: "XSmall",
|
|
3487
3486
|
datasets: [c],
|
|
3488
3487
|
height: 300,
|
|
3489
3488
|
isGraphClippingXAxis: !0,
|
|
3490
|
-
labelBackgroundColor:
|
|
3491
|
-
labelFontColor:
|
|
3492
|
-
labelFontSize: typeof
|
|
3493
|
-
labels: [
|
|
3489
|
+
labelBackgroundColor: I.palette.border.dark,
|
|
3490
|
+
labelFontColor: I.palette.common.white,
|
|
3491
|
+
labelFontSize: typeof I.typography.XSmall?.fontSize == "string" ? parseFloat(I.typography.XSmall.fontSize) : I.typography.XSmall?.fontSize,
|
|
3492
|
+
labels: [b.key_indicators_label],
|
|
3494
3493
|
margin: { right: 20, left: 25 },
|
|
3495
3494
|
showArea: !0,
|
|
3496
3495
|
showAverage: !0,
|
|
3497
3496
|
showLegend: !0,
|
|
3498
3497
|
showMarkLabel: !0,
|
|
3499
3498
|
showXAxis: !0,
|
|
3500
|
-
title:
|
|
3499
|
+
title: b.peer_average,
|
|
3501
3500
|
useCustomMark: !0
|
|
3502
3501
|
}
|
|
3503
3502
|
) : /* @__PURE__ */ e(kr, { onClick: () => re(!0) }),
|
|
3504
|
-
|
|
3503
|
+
_.health_score !== null && /* @__PURE__ */ e(vr, {})
|
|
3505
3504
|
] }) })
|
|
3506
3505
|
]
|
|
3507
3506
|
}
|
|
3508
3507
|
) : /* @__PURE__ */ e(Wr, {}),
|
|
3509
|
-
/* @__PURE__ */ e(Hr, { isOpen:
|
|
3508
|
+
/* @__PURE__ */ e(Hr, { isOpen: G, onClose: () => H(!1) }),
|
|
3510
3509
|
/* @__PURE__ */ e(
|
|
3511
3510
|
oe,
|
|
3512
3511
|
{
|
|
3513
3512
|
onClose: () => re(!1),
|
|
3514
|
-
showConnectWidget:
|
|
3515
|
-
title:
|
|
3513
|
+
showConnectWidget: Y,
|
|
3514
|
+
title: w.mini_title
|
|
3516
3515
|
}
|
|
3517
3516
|
),
|
|
3518
3517
|
/* @__PURE__ */ e(
|
|
3519
3518
|
Vr,
|
|
3520
3519
|
{
|
|
3521
|
-
isOpen:
|
|
3522
|
-
onClose: () =>
|
|
3520
|
+
isOpen: W,
|
|
3521
|
+
onClose: () => ce(!1)
|
|
3523
3522
|
}
|
|
3524
3523
|
)
|
|
3525
3524
|
]
|
|
3526
3525
|
}
|
|
3527
3526
|
);
|
|
3528
|
-
}, hi =
|
|
3527
|
+
}, hi = S(Zr);
|
|
3529
3528
|
export {
|
|
3530
3529
|
bo as CreditScoreGraph,
|
|
3531
3530
|
Rt as DialScoreCard,
|