@mx-cartographer/experiences 6.26.3-alpha.sms7 → 6.26.3-alpha.sms9
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/index.es.js +314 -317
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -5,8 +5,8 @@ import O from "@mui/material/Box";
|
|
|
5
5
|
import P from "@mui/material/Divider";
|
|
6
6
|
import oe from "@mui/material/List";
|
|
7
7
|
import Ft from "@mui/material/ListSubheader";
|
|
8
|
-
import
|
|
9
|
-
import { AccountsIcon as Hl, P as ie, Icon as V, useTokens as At, Text as f, H2 as
|
|
8
|
+
import Le from "@mui/system/Stack";
|
|
9
|
+
import { AccountsIcon as Hl, P as ie, Icon as V, useTokens as At, Text as f, H2 as hn, CategoryIcon as Rt, DialogHeader as Pl, DialogFooter as Fl, Drawer as Wl, Footer as Ul, DateRangePicker as ar, H3 as at, H1 as Zt, TextField as Rn, IconWeight as xt, MerchantLogo as Qt, CategoryIconList as Vl, CategoryIconVariants as Rs, InstitutionLogo as Et, ChevronRightIcon as Os, THEMES as or } from "@mxenabled/mxui";
|
|
10
10
|
import Kl from "bowser";
|
|
11
11
|
import { getUnixTime as Fe } from "date-fns/getUnixTime";
|
|
12
12
|
import { intlFormat as Yl } from "date-fns/intlFormat";
|
|
@@ -31,17 +31,17 @@ import re from "@mui/material/ListItemText";
|
|
|
31
31
|
import Ms from "@mui/material/Popover";
|
|
32
32
|
import b from "@mui/material/Stack";
|
|
33
33
|
import ta from "@mui/material/Checkbox";
|
|
34
|
-
import { alpha as jl, darken as rr, lighten as sr, Stack as Te, Box as
|
|
34
|
+
import { alpha as jl, darken as rr, lighten as sr, Stack as Te, Box as En, useTheme as ln, Card as ha, CardContent as $l, Button as Xl } from "@mui/material";
|
|
35
35
|
import Se from "@mui/material/styles/useTheme";
|
|
36
36
|
import dn from "@mui/material/useMediaQuery";
|
|
37
|
-
import { css as
|
|
37
|
+
import { css as gn, keyframes as ql } from "@mxenabled/cssinjs";
|
|
38
38
|
import { addDays as Fn } from "date-fns/addDays";
|
|
39
39
|
import { eachDayOfInterval as Zl } from "date-fns/eachDayOfInterval";
|
|
40
40
|
import { eachWeekOfInterval as Ql } from "date-fns/eachWeekOfInterval";
|
|
41
41
|
import { endOfMonth as $e } from "date-fns/endOfMonth";
|
|
42
42
|
import { format as On } from "date-fns/format";
|
|
43
43
|
import { isSameMonth as Jl } from "date-fns/isSameMonth";
|
|
44
|
-
import { startOfMonth as
|
|
44
|
+
import { startOfMonth as Ye } from "date-fns/startOfMonth";
|
|
45
45
|
import { subMonths as Bt } from "date-fns/subMonths";
|
|
46
46
|
import vt from "@mui/material/Paper";
|
|
47
47
|
import { ChevronLeft as ks, ChevronRight as qe, ArrowBack as ed, Icon as pt, AccountBalance as so, ExpandMore as ki, CheckCircle as ga, Edit as td, Delete as Gs, Cancel as Bs, Schedule as nd, MonetizationOn as id, CurrencyExchange as ad, Check as od, TrendingUp as Hs, TrendingDown as Ps, Payments as co, CalendarMonth as rd, CreditCard as Fs, Savings as sd, ContentCopy as cd, NoteStack as Ws, Person as Us, ExpandLess as Vs, AddBox as Ks, Trophy as ld, Star as dd, Settings as ud, MultilineChart as _d } from "@mxenabled/mx-icons";
|
|
@@ -49,14 +49,14 @@ import { isSameDay as wt } from "date-fns/isSameDay";
|
|
|
49
49
|
import { isWithinInterval as lo } from "date-fns/isWithinInterval";
|
|
50
50
|
import * as Dt from "d3";
|
|
51
51
|
import { selectAll as hd, interpolateString as gd, arc as md } from "d3";
|
|
52
|
-
import { useTheme as Xe, alpha as
|
|
52
|
+
import { useTheme as Xe, alpha as wn, keyframes as pd, ThemeProvider as Cd } from "@mui/material/styles";
|
|
53
53
|
import { ResponsiveChartContainer as fd, ChartsReferenceLine as bd, AreaPlot as yd, LinePlot as Ed, MarkPlot as Sd, BarPlot as Ad, ChartsXAxis as Td, ChartsYAxis as xd, ChartsAxisHighlight as Id, LineChart as Ys, PieChart as wd } from "@mui/x-charts";
|
|
54
54
|
import { ChartsTooltip as vd } from "@mui/x-charts/ChartsTooltip";
|
|
55
55
|
import St from "@mui/material/Card";
|
|
56
56
|
import Ht from "@mui/material/CardContent";
|
|
57
57
|
import rt from "@mui/material/Grid";
|
|
58
58
|
import { differenceInCalendarDays as Dd } from "date-fns/differenceInCalendarDays";
|
|
59
|
-
import { endOfToday as
|
|
59
|
+
import { endOfToday as vn } from "date-fns/endOfToday";
|
|
60
60
|
import { endOfYear as cr } from "date-fns/endOfYear";
|
|
61
61
|
import { startOfYear as lr } from "date-fns/startOfYear";
|
|
62
62
|
import { subDays as Nt } from "date-fns/subDays";
|
|
@@ -68,7 +68,7 @@ import di from "@mui/material/ToggleButton";
|
|
|
68
68
|
import Gi from "@mui/material/ToggleButtonGroup";
|
|
69
69
|
import Rd from "@mui/material/Dialog";
|
|
70
70
|
import zs from "@mui/material/DialogContent";
|
|
71
|
-
import
|
|
71
|
+
import mn from "@mui/material/CardHeader";
|
|
72
72
|
import { ConnectWidget as Od, ConnectionsWidget as Ld } from "@mxenabled/web-widget-sdk";
|
|
73
73
|
import uo from "@mui/material/CircularProgress";
|
|
74
74
|
import { v4 as Md } from "uuid";
|
|
@@ -94,7 +94,7 @@ import { AdapterDateFns as Jn } from "@mui/x-date-pickers/AdapterDateFnsV3";
|
|
|
94
94
|
import { DatePicker as ho, StaticDatePicker as Xd } from "@mui/x-date-pickers";
|
|
95
95
|
import { LocalizationProvider as ui } from "@mui/x-date-pickers/LocalizationProvider";
|
|
96
96
|
import ei from "@mui/material/Collapse";
|
|
97
|
-
import
|
|
97
|
+
import Sn from "@mui/material/Skeleton";
|
|
98
98
|
import { isAfter as rn } from "date-fns/isAfter";
|
|
99
99
|
import { parseISO as qd } from "date-fns/parseISO";
|
|
100
100
|
import { subQuarters as Xs } from "date-fns/subQuarters";
|
|
@@ -115,7 +115,7 @@ import { getWeeksInMonth as gr } from "date-fns/getWeeksInMonth";
|
|
|
115
115
|
import { DateCalendar as Co } from "@mui/x-date-pickers/DateCalendar";
|
|
116
116
|
import Js from "@mui/material/Badge";
|
|
117
117
|
import { PickersDay as nu } from "@mui/x-date-pickers/PickersDay";
|
|
118
|
-
import
|
|
118
|
+
import In from "@mui/material/Unstable_Grid2";
|
|
119
119
|
import { formatDistanceToNow as ec } from "date-fns/formatDistanceToNow";
|
|
120
120
|
import Hi from "@mui/material/Accordion";
|
|
121
121
|
import Pi from "@mui/material/AccordionDetails";
|
|
@@ -1314,12 +1314,12 @@ const Ha = (e, n) => e.reduce((i, a) => (i[a.guid] = n?.includes(a.guid), i), {}
|
|
|
1314
1314
|
if (!n)
|
|
1315
1315
|
throw new Error(`${e}() must be used within the GlobalDataContext`);
|
|
1316
1316
|
return n;
|
|
1317
|
-
}, ye = () => tt("useAccountStore").globalStore.accountStore, It = () => tt("useAppConfig").globalStore.appDataStore.appConfig, Io = () => tt("useAnalyticsStore").globalStore.analyticsStore, _t = () => tt("useBudgetsStore").globalStore.budgetsStore, wo = () => tt("useCashflowStore").globalStore.cashflowStore, Ue = () => tt("useCategoryStore").globalStore.categoryStore, hc = () => tt("useConnectStore").globalStore.connectStore, ya = () => tt("useDebtsStore").globalStore.debtsStore, Ea = () => tt("useFinstrongStore").globalStore.finstrongStore, hi = () => tt("useGlobalStore").globalStore, ue = () => tt("useGlobalUiStore").globalStore.globalUiStore, T = () => tt("globalCopyStore").globalStore.copyStore.copy, dt = () => tt("useGoalStore").globalStore.goalStore, vo = () => tt("useHelpStore").globalStore.helpStore, Xn = () => tt("useHoldingStore").globalStore.holdingStore, ju = () => tt("useMerchantStore").globalStore.merchantStore, gc = () => tt("useNetWorthStore").globalStore.netWorthStore, mc = () => tt("useNotificationStore").globalStore.notificationStore, ot = () => tt("useRecurringTransactionsStore").globalStore.recurringTransactionsStore, bt = () => tt("useSettingsStore").globalStore.settingsStore,
|
|
1317
|
+
}, ye = () => tt("useAccountStore").globalStore.accountStore, It = () => tt("useAppConfig").globalStore.appDataStore.appConfig, Io = () => tt("useAnalyticsStore").globalStore.analyticsStore, _t = () => tt("useBudgetsStore").globalStore.budgetsStore, wo = () => tt("useCashflowStore").globalStore.cashflowStore, Ue = () => tt("useCategoryStore").globalStore.categoryStore, hc = () => tt("useConnectStore").globalStore.connectStore, ya = () => tt("useDebtsStore").globalStore.debtsStore, Ea = () => tt("useFinstrongStore").globalStore.finstrongStore, hi = () => tt("useGlobalStore").globalStore, ue = () => tt("useGlobalUiStore").globalStore.globalUiStore, T = () => tt("globalCopyStore").globalStore.copyStore.copy, dt = () => tt("useGoalStore").globalStore.goalStore, vo = () => tt("useHelpStore").globalStore.helpStore, Xn = () => tt("useHoldingStore").globalStore.holdingStore, ju = () => tt("useMerchantStore").globalStore.merchantStore, gc = () => tt("useNetWorthStore").globalStore.netWorthStore, mc = () => tt("useNotificationStore").globalStore.notificationStore, ot = () => tt("useRecurringTransactionsStore").globalStore.recurringTransactionsStore, bt = () => tt("useSettingsStore").globalStore.settingsStore, Me = () => tt("useTransactionStore").globalStore.transactionStore, gi = () => tt("useTrendsStore").globalStore.trendsStore, Ct = () => tt("useUserStore").globalStore.userStore, X = () => ({ onEvent: tt().onEvent }), N2 = () => ({ onPageView: tt().onPageView }), $u = (e = "useWidgetContainerContext") => {
|
|
1318
1318
|
const n = g.useContext(_c);
|
|
1319
1319
|
if (!n)
|
|
1320
1320
|
throw new Error(`${e}() must be used within the WidgetContainerContext`);
|
|
1321
1321
|
return n;
|
|
1322
|
-
},
|
|
1322
|
+
}, pn = () => $u(), pc = ({
|
|
1323
1323
|
accounts: e,
|
|
1324
1324
|
accountFilterButtonEl: n,
|
|
1325
1325
|
copy: i,
|
|
@@ -1667,7 +1667,7 @@ const Xu = (e, n) => {
|
|
|
1667
1667
|
] }),
|
|
1668
1668
|
/* @__PURE__ */ t(f, { variant: "XSmall", children: n })
|
|
1669
1669
|
] });
|
|
1670
|
-
}, Ju = (e, n) =>
|
|
1670
|
+
}, Ju = (e, n) => gn({
|
|
1671
1671
|
alignItems: "center",
|
|
1672
1672
|
display: "flex",
|
|
1673
1673
|
gap: e.Spacing.XSmall,
|
|
@@ -1734,7 +1734,7 @@ const Xu = (e, n) => {
|
|
|
1734
1734
|
] });
|
|
1735
1735
|
}, e_ = (e, n, i) => {
|
|
1736
1736
|
const a = `expandBar-${Math.round(i)}`, o = ql(a, { from: { height: 0 }, to: { height: i } });
|
|
1737
|
-
return
|
|
1737
|
+
return gn({
|
|
1738
1738
|
display: "flex",
|
|
1739
1739
|
flexDirection: "column",
|
|
1740
1740
|
justifyContent: "flex-end",
|
|
@@ -1818,7 +1818,7 @@ const Xu = (e, n) => {
|
|
|
1818
1818
|
}
|
|
1819
1819
|
)
|
|
1820
1820
|
] });
|
|
1821
|
-
}, t_ = (e, n) =>
|
|
1821
|
+
}, t_ = (e, n) => gn({
|
|
1822
1822
|
display: "flex",
|
|
1823
1823
|
flexDirection: "column",
|
|
1824
1824
|
flexGrow: n === void 0 ? 1 : 0,
|
|
@@ -1897,7 +1897,7 @@ const Xu = (e, n) => {
|
|
|
1897
1897
|
] }),
|
|
1898
1898
|
/* @__PURE__ */ t(Qu, { color: i, labelAverage: r, labelMain: s })
|
|
1899
1899
|
] });
|
|
1900
|
-
}, r_ = (e) =>
|
|
1900
|
+
}, r_ = (e) => gn({
|
|
1901
1901
|
"& .mx-cmn-chart-container": {
|
|
1902
1902
|
alignItems: "flex-end",
|
|
1903
1903
|
display: "flex",
|
|
@@ -1908,13 +1908,13 @@ const Xu = (e, n) => {
|
|
|
1908
1908
|
}), s_ = ({ copy: e, date: n, onNextClick: i, onPreviousClick: a }) => {
|
|
1909
1909
|
const o = At(), r = c_(o);
|
|
1910
1910
|
return /* @__PURE__ */ l("div", { className: `mx-cmn-calendar-header ${r}`, children: [
|
|
1911
|
-
/* @__PURE__ */ t(
|
|
1911
|
+
/* @__PURE__ */ t(hn, { className: "mx-cmn-calendar-header-title", variant: "H3", children: le(n, ae.MONTH_YEAR) }),
|
|
1912
1912
|
/* @__PURE__ */ l("div", { className: "mx-cmn-calendar-header-button-container", children: [
|
|
1913
1913
|
/* @__PURE__ */ t(te, { "aria-label": e.prevAria, onClick: a, children: /* @__PURE__ */ t(ks, { size: 24 }) }),
|
|
1914
1914
|
/* @__PURE__ */ t(te, { "aria-label": e.nextAria, onClick: i, children: /* @__PURE__ */ t(qe, { size: 24 }) })
|
|
1915
1915
|
] })
|
|
1916
1916
|
] });
|
|
1917
|
-
}, c_ = (e) =>
|
|
1917
|
+
}, c_ = (e) => gn({
|
|
1918
1918
|
alignItems: "center",
|
|
1919
1919
|
display: "flex",
|
|
1920
1920
|
marginBottom: e.Spacing.Medium,
|
|
@@ -1964,7 +1964,7 @@ const Xu = (e, n) => {
|
|
|
1964
1964
|
)
|
|
1965
1965
|
}
|
|
1966
1966
|
);
|
|
1967
|
-
}, d_ = (e) =>
|
|
1967
|
+
}, d_ = (e) => gn({
|
|
1968
1968
|
height: wi,
|
|
1969
1969
|
width: wi,
|
|
1970
1970
|
display: "flex",
|
|
@@ -2025,7 +2025,7 @@ const __ = ({
|
|
|
2025
2025
|
h(n), p(i), n && _(n);
|
|
2026
2026
|
}, [n, i]);
|
|
2027
2027
|
const C = g.useMemo(() => {
|
|
2028
|
-
const v = Ql({ start:
|
|
2028
|
+
const v = Ql({ start: Ye(d), end: $e(d) }), w = [];
|
|
2029
2029
|
for (let N = 0; N < v.length; N++) {
|
|
2030
2030
|
const R = v[N], M = Zl({ start: R, end: Fn(R, 6) }), k = [];
|
|
2031
2031
|
for (let G = 0; G < M.length; G++)
|
|
@@ -2073,7 +2073,7 @@ const __ = ({
|
|
|
2073
2073
|
)) }, `w-${w}`)),
|
|
2074
2074
|
/* @__PURE__ */ t("div", { className: "mx-cmn-calendar-today-container", children: /* @__PURE__ */ t(te, { onClick: y, size: "small", variant: "text", children: e.today }) })
|
|
2075
2075
|
] }) });
|
|
2076
|
-
}, h_ = (e) =>
|
|
2076
|
+
}, h_ = (e) => gn({
|
|
2077
2077
|
width: u_,
|
|
2078
2078
|
"& .MuiPaper-root": {
|
|
2079
2079
|
paddingLeft: 24,
|
|
@@ -2265,7 +2265,7 @@ const __ = ({
|
|
|
2265
2265
|
style: { alignItems: "center", flexDirection: "row", flexWrap: "wrap" },
|
|
2266
2266
|
children: [
|
|
2267
2267
|
/* @__PURE__ */ t(
|
|
2268
|
-
|
|
2268
|
+
En,
|
|
2269
2269
|
{
|
|
2270
2270
|
sx: {
|
|
2271
2271
|
width: 10,
|
|
@@ -2330,7 +2330,7 @@ function S_({ labels: e = [], valueFormatterString: n = "0,0" }) {
|
|
|
2330
2330
|
children: [
|
|
2331
2331
|
/* @__PURE__ */ l(Te, { sx: { flexDirection: "row", alignItems: "center", gap: 8 }, children: [
|
|
2332
2332
|
/* @__PURE__ */ t(
|
|
2333
|
-
|
|
2333
|
+
En,
|
|
2334
2334
|
{
|
|
2335
2335
|
sx: {
|
|
2336
2336
|
width: "12px",
|
|
@@ -2671,7 +2671,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
2671
2671
|
xData: o
|
|
2672
2672
|
}) => {
|
|
2673
2673
|
const r = ln(), s = a.data[i], c = o[i];
|
|
2674
|
-
return s === void 0 || !c ? null : /* @__PURE__ */ t(ha, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ t($l, { children: /* @__PURE__ */ l(
|
|
2674
|
+
return s === void 0 || !c ? null : /* @__PURE__ */ t(ha, { sx: { pt: 4, px: 8 }, children: /* @__PURE__ */ t($l, { children: /* @__PURE__ */ l(En, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2675
2675
|
/* @__PURE__ */ t(yc, { categoryGuid: e, topLevelCategoryGuid: n }),
|
|
2676
2676
|
/* @__PURE__ */ t(f, { color: r.palette.text.secondary, variant: "Small", children: le(c, ae.MONTH_SHORT_YEAR) }),
|
|
2677
2677
|
/* @__PURE__ */ t(je, { amount: String(s), bold: !0, formatString: "0,0", variant: "Body" })
|
|
@@ -2755,7 +2755,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
2755
2755
|
isAreaHovered: !1,
|
|
2756
2756
|
cursorPos: { x: 0, y: 0 }
|
|
2757
2757
|
}), { hoveredSeriesId: v, hoveredAreaData: w, isAreaHovered: N, cursorPos: R } = S, M = N && v && w, k = !M, G = [...o, ...r], L = G[0]?.dataset.length ?? 0, W = G.flatMap((j) => j.dataset.map((Be) => Be.x)), Y = G.flatMap((j) => j.dataset.map((Be) => Be.y)), se = o[0]?.dataset?.map(
|
|
2758
|
-
(j, Be) => o.reduce((st,
|
|
2758
|
+
(j, Be) => o.reduce((st, bn) => st + bn.dataset[Be]?.y || 0, 0)
|
|
2759
2759
|
) ?? [0], ee = Math.max(...se), ge = Math.max(
|
|
2760
2760
|
...r.flatMap((j) => j.dataset.map((Be) => Be.y))
|
|
2761
2761
|
), xe = Math.floor(Math.min(...Y) / 100) * 100, ke = Math.ceil(Math.max(ee, ge) / 100) * 100, fe = o.map((j, Be) => ({
|
|
@@ -2803,7 +2803,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
2803
2803
|
const j = me(String(v)).guid;
|
|
2804
2804
|
j && a?.(j);
|
|
2805
2805
|
}, ut = (j) => {
|
|
2806
|
-
const Be = String(j?.seriesId), st = me(Be).guid,
|
|
2806
|
+
const Be = String(j?.seriesId), st = me(Be).guid, bn = ze.find((yi) => yi.id === Be), Oa = bn && j?.dataIndex !== void 0, La = bn && j?.dataIndex === void 0;
|
|
2807
2807
|
if (Oa)
|
|
2808
2808
|
I({
|
|
2809
2809
|
hoveredSeriesId: Be,
|
|
@@ -2812,7 +2812,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
2812
2812
|
cursorPos: R
|
|
2813
2813
|
}), n?.(st);
|
|
2814
2814
|
else if (La) {
|
|
2815
|
-
const yi =
|
|
2815
|
+
const yi = bn?.data.map((Ma, ka) => ({
|
|
2816
2816
|
x: W[ka],
|
|
2817
2817
|
y: Ma
|
|
2818
2818
|
})) ?? [];
|
|
@@ -2855,8 +2855,8 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
2855
2855
|
strokeWidth: 3
|
|
2856
2856
|
},
|
|
2857
2857
|
...E && fe.reduce((j, Be, st) => {
|
|
2858
|
-
const
|
|
2859
|
-
return j[
|
|
2858
|
+
const bn = `.MuiAreaElement-series-stacked-${st}`;
|
|
2859
|
+
return j[bn] = {
|
|
2860
2860
|
opacity: fe[st].guid === E ? 0.9 : 0.2
|
|
2861
2861
|
}, j;
|
|
2862
2862
|
}, {})
|
|
@@ -3050,7 +3050,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
3050
3050
|
margin: "auto",
|
|
3051
3051
|
textAlign: "center"
|
|
3052
3052
|
},
|
|
3053
|
-
children: /* @__PURE__ */ t(
|
|
3053
|
+
children: /* @__PURE__ */ t(hn, { bold: !0, variant: "Body", children: o })
|
|
3054
3054
|
}
|
|
3055
3055
|
),
|
|
3056
3056
|
/* @__PURE__ */ t(O, { width: "44px" })
|
|
@@ -3122,7 +3122,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
3122
3122
|
calendarActions: e,
|
|
3123
3123
|
color: n = "primary",
|
|
3124
3124
|
copy: i,
|
|
3125
|
-
range: a = [
|
|
3125
|
+
range: a = [Ye(we()), $e(vn())],
|
|
3126
3126
|
shouldShrinkToIcon: o = !0,
|
|
3127
3127
|
variant: r = "outlined"
|
|
3128
3128
|
}) => {
|
|
@@ -3146,7 +3146,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
3146
3146
|
(r === "timeframebuttons" || r === "timeframetabs") && e.onRangeChanged(N());
|
|
3147
3147
|
}, [I]);
|
|
3148
3148
|
const N = () => {
|
|
3149
|
-
const G = $e(
|
|
3149
|
+
const G = $e(vn());
|
|
3150
3150
|
return [$e(Bt(G, I)), G];
|
|
3151
3151
|
}, R = (G) => {
|
|
3152
3152
|
const L = [...d], W = d[0], Y = d[1], se = G === "previous";
|
|
@@ -3379,7 +3379,7 @@ const yc = ({ categoryGuid: e, topLevelCategoryGuid: n }) => {
|
|
|
3379
3379
|
] }),
|
|
3380
3380
|
/* @__PURE__ */ t("div", { className: "mx-cmn-multi-segment-donut-children", children: o })
|
|
3381
3381
|
] });
|
|
3382
|
-
}, N_ = (e, n) =>
|
|
3382
|
+
}, N_ = (e, n) => gn({
|
|
3383
3383
|
height: n,
|
|
3384
3384
|
marginTop: `-${e.Spacing.XSmall}px`,
|
|
3385
3385
|
position: "relative",
|
|
@@ -3480,7 +3480,7 @@ const Sa = ({
|
|
|
3480
3480
|
}) => {
|
|
3481
3481
|
const [d, { height: _, width: u }] = pi(), h = /* @__PURE__ */ l(Z, { children: [
|
|
3482
3482
|
/* @__PURE__ */ t(
|
|
3483
|
-
|
|
3483
|
+
mn,
|
|
3484
3484
|
{
|
|
3485
3485
|
action: /* @__PURE__ */ t(
|
|
3486
3486
|
te,
|
|
@@ -3514,7 +3514,7 @@ const Sa = ({
|
|
|
3514
3514
|
const [_, { height: u, width: h }] = pi();
|
|
3515
3515
|
return /* @__PURE__ */ l(St, { className: e, sx: { ...c }, children: [
|
|
3516
3516
|
/* @__PURE__ */ t(
|
|
3517
|
-
|
|
3517
|
+
mn,
|
|
3518
3518
|
{
|
|
3519
3519
|
action: a ? /* @__PURE__ */ t(We, { "aria-label": n, onClick: a, children: /* @__PURE__ */ t(pt, { name: "close", size: 24 }) }) : o && /* @__PURE__ */ t(te, { endIcon: /* @__PURE__ */ t(qe, {}), onClick: o, children: /* @__PURE__ */ t(f, { bold: !0, variant: "Small", children: r }) }),
|
|
3520
3520
|
subheader: s || null,
|
|
@@ -3597,7 +3597,7 @@ const Sa = ({
|
|
|
3597
3597
|
},
|
|
3598
3598
|
children: [
|
|
3599
3599
|
m && /* @__PURE__ */ t(
|
|
3600
|
-
|
|
3600
|
+
mn,
|
|
3601
3601
|
{
|
|
3602
3602
|
action: /* @__PURE__ */ l(b, { alignItems: "center", flexDirection: "row", children: [
|
|
3603
3603
|
v && i && /* @__PURE__ */ t(O, { sx: { flexGrow: 1 }, children: /* @__PURE__ */ t(
|
|
@@ -3839,7 +3839,7 @@ const Ir = "connect_widget", wr = "connections_widget", k_ = ({
|
|
|
3839
3839
|
...h
|
|
3840
3840
|
}
|
|
3841
3841
|
);
|
|
3842
|
-
}, G_ = (e) =>
|
|
3842
|
+
}, G_ = (e) => gn({
|
|
3843
3843
|
"& .MuiInputBase-adornedStart > .p": {
|
|
3844
3844
|
marginRight: e.Spacing.Tiny
|
|
3845
3845
|
}
|
|
@@ -4051,7 +4051,7 @@ const Ir = "connect_widget", wr = "connections_widget", k_ = ({
|
|
|
4051
4051
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
4052
4052
|
/* @__PURE__ */ l(St, { sx: { m: 24 }, children: [
|
|
4053
4053
|
/* @__PURE__ */ t(
|
|
4054
|
-
|
|
4054
|
+
mn,
|
|
4055
4055
|
{
|
|
4056
4056
|
avatar: /* @__PURE__ */ t(so, {}),
|
|
4057
4057
|
sx: { ".MuiCardHeader-avatar": { mr: 8 } },
|
|
@@ -4106,7 +4106,7 @@ const Ir = "connect_widget", wr = "connections_widget", k_ = ({
|
|
|
4106
4106
|
},
|
|
4107
4107
|
children: [
|
|
4108
4108
|
/* @__PURE__ */ t(pt, { name: i, size: 54, sx: { color: e } }),
|
|
4109
|
-
/* @__PURE__ */ t(
|
|
4109
|
+
/* @__PURE__ */ t(hn, { color: "text.primary", sx: { textWrap: "wrap", textAlign: "center" }, children: n }),
|
|
4110
4110
|
/* @__PURE__ */ t(
|
|
4111
4111
|
f,
|
|
4112
4112
|
{
|
|
@@ -4515,7 +4515,7 @@ class z_ {
|
|
|
4515
4515
|
api = new Dr("/", "");
|
|
4516
4516
|
globalStore;
|
|
4517
4517
|
alert = "";
|
|
4518
|
-
dateRange = { start:
|
|
4518
|
+
dateRange = { start: Ye(we()), end: $e(we()) };
|
|
4519
4519
|
budgets = [];
|
|
4520
4520
|
selectedBudget;
|
|
4521
4521
|
selectedSubBudget;
|
|
@@ -4662,7 +4662,7 @@ const Ci = () => {
|
|
|
4662
4662
|
/* @__PURE__ */ t(je, { amount: e, bold: !0, sx: { fontSize: 12 } })
|
|
4663
4663
|
] });
|
|
4664
4664
|
}, Oo = x(j_), $_ = ({ onAddIncomeClick: e }) => {
|
|
4665
|
-
const n = Se(), { availableWidth: i } =
|
|
4665
|
+
const n = Se(), { availableWidth: i } = pn(), { isMobile: a } = be(), { visibleCashAccounts: o, visibleCashBalance: r } = ye(), { selectedAccountGuids: s } = ue(), { cashflow: c } = T(), { userProfile: d } = Ct(), {
|
|
4666
4666
|
daysUntilNextIncome: _,
|
|
4667
4667
|
expensesTilNextIncome: u,
|
|
4668
4668
|
selectedCashAccounts: h,
|
|
@@ -5461,22 +5461,21 @@ const Ac = (e, n) => {
|
|
|
5461
5461
|
let n = e.parent_guid ? "Split: " : "";
|
|
5462
5462
|
return n += e.is_hidden ? "(Excluded) " : "", n += e.description, n;
|
|
5463
5463
|
}, bh = (e, n) => e.tags.map((i) => n.filter((o) => o.guid === i)[0]?.name ?? "").join(" "), yh = "uncategorized", Eh = (e, n, i, a, o, r) => {
|
|
5464
|
-
console.log("exp transactions", r);
|
|
5465
5464
|
const s = Sh(e, o, r);
|
|
5466
5465
|
console.log("exp filteredTransactions", s);
|
|
5467
5466
|
const c = Ah(s, i, a);
|
|
5468
|
-
return
|
|
5467
|
+
return n.forEach((d) => {
|
|
5469
5468
|
const _ = c.findIndex((h) => h.guid === d), u = r.filter((h) => h.parent_guid === d);
|
|
5470
5469
|
c.splice(_ + 1, 0, ...u);
|
|
5471
|
-
}),
|
|
5470
|
+
}), c;
|
|
5472
5471
|
}, Sh = (e, n, i) => {
|
|
5473
5472
|
const {
|
|
5474
5473
|
accounts: a = [],
|
|
5475
|
-
dateRange: o
|
|
5474
|
+
dateRange: o,
|
|
5476
5475
|
custom: r = () => !0,
|
|
5477
5476
|
searchTerm: s = ""
|
|
5478
5477
|
} = e;
|
|
5479
|
-
return i.filter((c) => !c.parent_guid).filter((c) => !!a.find((d) => d === c.account_guid)).filter((c) => c.date >= Fe(o.start) && c.date <= Fe(o.end)).filter(r).filter((c) => {
|
|
5478
|
+
return i.filter((c) => !c.parent_guid).filter((c) => !!a.find((d) => d === c.account_guid)).filter((c) => o ? c.date >= Fe(o.start) && c.date <= Fe(o.end) : c).filter(r).filter((c) => {
|
|
5480
5479
|
if (s === yh && c.has_been_split)
|
|
5481
5480
|
return !1;
|
|
5482
5481
|
if (/^spl/i.test(s) && (c.has_been_split || c.parent_guid))
|
|
@@ -5525,7 +5524,7 @@ const Tc = {
|
|
|
5525
5524
|
tags: []
|
|
5526
5525
|
};
|
|
5527
5526
|
let vh = class {
|
|
5528
|
-
beginDate =
|
|
5527
|
+
beginDate = Ye(/* @__PURE__ */ new Date());
|
|
5529
5528
|
endDate = $e(/* @__PURE__ */ new Date());
|
|
5530
5529
|
expandedSplits = [];
|
|
5531
5530
|
isInitialized = !1;
|
|
@@ -5590,24 +5589,24 @@ class Dh {
|
|
|
5590
5589
|
transactions: a
|
|
5591
5590
|
} = {}) => {
|
|
5592
5591
|
await Promise.all([
|
|
5593
|
-
this.loadAssociatedBeats(
|
|
5592
|
+
this.loadAssociatedBeats(Ye(/* @__PURE__ */ new Date()), n),
|
|
5594
5593
|
this.loadTags(),
|
|
5595
5594
|
this.loadTaggings(),
|
|
5596
5595
|
this.loadTransactionRules(i),
|
|
5597
5596
|
// By default loads 90 days of transactions
|
|
5598
|
-
this.loadTransactions(this.cachedStartDate,
|
|
5597
|
+
this.loadTransactions(this.cachedStartDate, vn(), a)
|
|
5599
5598
|
]), J(() => {
|
|
5600
5599
|
this.uiStore.setIsInitialized(!0);
|
|
5601
5600
|
});
|
|
5602
5601
|
};
|
|
5603
5602
|
get sortedTransactions() {
|
|
5604
|
-
return
|
|
5603
|
+
return Eh(
|
|
5605
5604
|
this.filter,
|
|
5606
5605
|
this.uiStore.expandedSplits,
|
|
5607
5606
|
this.sortColumn,
|
|
5608
5607
|
this.sortDirection,
|
|
5609
5608
|
this.tags,
|
|
5610
|
-
this.
|
|
5609
|
+
this.transactions
|
|
5611
5610
|
);
|
|
5612
5611
|
}
|
|
5613
5612
|
get sortedTransactionsWithSplits() {
|
|
@@ -5666,7 +5665,7 @@ class Dh {
|
|
|
5666
5665
|
const i = n ?? await this.api.getTransactionRules();
|
|
5667
5666
|
J(() => this.transactionRules = i);
|
|
5668
5667
|
};
|
|
5669
|
-
loadTransactions = async (n = this.cachedStartDate, i =
|
|
5668
|
+
loadTransactions = async (n = this.cachedStartDate, i = vn(), a) => {
|
|
5670
5669
|
this.setIsLoading(!0), this.rawTransactions = [];
|
|
5671
5670
|
try {
|
|
5672
5671
|
const o = a ?? await this.api.getTransactionsByDateRange(Fe(n), Fe(i));
|
|
@@ -5705,7 +5704,7 @@ class Dh {
|
|
|
5705
5704
|
}
|
|
5706
5705
|
};
|
|
5707
5706
|
setFilter = (n) => {
|
|
5708
|
-
this.filter = n, n.dateRange && et(n.dateRange.start, this.cachedStartDate) && this.loadTransactions(n.dateRange.start,
|
|
5707
|
+
this.filter = n, n.dateRange && et(n.dateRange.start, this.cachedStartDate) && this.loadTransactions(n.dateRange.start, vn()).then(() => {
|
|
5709
5708
|
n.dateRange && (this.cachedStartDate = n.dateRange.start);
|
|
5710
5709
|
});
|
|
5711
5710
|
};
|
|
@@ -5771,7 +5770,7 @@ class Dh {
|
|
|
5771
5770
|
const Ot = () => {
|
|
5772
5771
|
if (!g.useContext(ti))
|
|
5773
5772
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
5774
|
-
return
|
|
5773
|
+
return Me().uiStore;
|
|
5775
5774
|
};
|
|
5776
5775
|
function Nh() {
|
|
5777
5776
|
return window.opener && window.opener.location ? window.opener.location.toString() : document.referrer;
|
|
@@ -5788,7 +5787,7 @@ function Oh(e) {
|
|
|
5788
5787
|
});
|
|
5789
5788
|
}
|
|
5790
5789
|
const Lh = ({ transaction: e, onClick: n }) => {
|
|
5791
|
-
const { associatedBeats: i } =
|
|
5790
|
+
const { associatedBeats: i } = Me(), { transactions: a } = T(), { showInsights: o } = Ot(), r = e.transaction_type === jt.CREDIT, s = g.useMemo(() => i.find((c) => c.associated_transaction_guid === e.guid), [i, e]);
|
|
5792
5791
|
return (
|
|
5793
5792
|
//TODO: implement common/components/ListItemRow.tsx
|
|
5794
5793
|
/* @__PURE__ */ l(
|
|
@@ -5880,54 +5879,52 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
5880
5879
|
width: c = "100%",
|
|
5881
5880
|
zeroState: d = /* @__PURE__ */ t(kh, {})
|
|
5882
5881
|
}) => {
|
|
5883
|
-
const { isLoading: _, sortedTransactions: u } =
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
if (N?.has_been_split) {
|
|
5888
|
-
E(N.guid);
|
|
5882
|
+
const { isLoading: _, sortedTransactions: u } = Me(), h = g.useMemo(() => s ? u : u.filter((v) => !v.is_hidden), [u, s]), { clearExpandedSplits: m, setShowInsights: p, toggleSplit: C } = Ot(), { onEvent: E } = X(), y = (v) => {
|
|
5883
|
+
const w = h.find((N) => N.guid === v);
|
|
5884
|
+
if (w?.has_been_split) {
|
|
5885
|
+
C(w.guid);
|
|
5889
5886
|
return;
|
|
5890
5887
|
}
|
|
5891
|
-
|
|
5892
|
-
account_guid:
|
|
5893
|
-
transaction_guid:
|
|
5894
|
-
}), a?.(
|
|
5895
|
-
},
|
|
5896
|
-
count:
|
|
5897
|
-
getScrollElement: () =>
|
|
5898
|
-
estimateSize: (
|
|
5888
|
+
E(F.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
|
|
5889
|
+
account_guid: w?.account_guid,
|
|
5890
|
+
transaction_guid: v
|
|
5891
|
+
}), a?.(v);
|
|
5892
|
+
}, S = g.useRef(null), I = $s({
|
|
5893
|
+
count: h.length,
|
|
5894
|
+
getScrollElement: () => S.current,
|
|
5895
|
+
estimateSize: (v) => kr + (Mr(v, h) ? Gr : 0),
|
|
5899
5896
|
overscan: 5
|
|
5900
5897
|
});
|
|
5901
|
-
return g.useEffect(() =>
|
|
5898
|
+
return g.useEffect(() => I.measure(), [h]), g.useEffect(() => p(o), [o]), g.useEffect(() => () => m(), []), /* @__PURE__ */ t(oe, { children: /* @__PURE__ */ t(O, { height: n, overflow: "auto", ref: S, width: c, children: /* @__PURE__ */ l(
|
|
5902
5899
|
O,
|
|
5903
5900
|
{
|
|
5904
5901
|
height: (
|
|
5905
5902
|
// set the height to auto when there are no transactions so the zero state isn't set to 0
|
|
5906
|
-
|
|
5903
|
+
I.getVirtualItems().length === 0 ? "auto" : I.getTotalSize()
|
|
5907
5904
|
),
|
|
5908
5905
|
position: "relative",
|
|
5909
5906
|
width: "100%",
|
|
5910
5907
|
children: [
|
|
5911
5908
|
(_ || r) && i,
|
|
5912
|
-
!_ && !r &&
|
|
5913
|
-
!_ && !r &&
|
|
5914
|
-
const
|
|
5909
|
+
!_ && !r && I.getVirtualItems().length === 0 && d,
|
|
5910
|
+
!_ && !r && I.getVirtualItems().length > 0 && I.getVirtualItems().map((v) => {
|
|
5911
|
+
const w = h[v.index], N = Mr(v.index, h), R = Gh(v.index, h), M = kr + (N ? Gr : 0);
|
|
5915
5912
|
return /* @__PURE__ */ l(
|
|
5916
5913
|
O,
|
|
5917
5914
|
{
|
|
5918
5915
|
sx: {
|
|
5919
|
-
height:
|
|
5916
|
+
height: M,
|
|
5920
5917
|
position: "absolute",
|
|
5921
|
-
transform: `translateY(${
|
|
5918
|
+
transform: `translateY(${v.start}px)`,
|
|
5922
5919
|
width: "100%"
|
|
5923
5920
|
},
|
|
5924
5921
|
children: [
|
|
5925
|
-
|
|
5926
|
-
/* @__PURE__ */ t(Mo, { onClick:
|
|
5927
|
-
/* @__PURE__ */ t(P, { sx: { ml:
|
|
5922
|
+
N && /* @__PURE__ */ t(Ta, { bgcolor: e, children: ba(w.date) }),
|
|
5923
|
+
/* @__PURE__ */ t(Mo, { onClick: y, transaction: w }),
|
|
5924
|
+
/* @__PURE__ */ t(P, { sx: { ml: R ? 24 : 0 } })
|
|
5928
5925
|
]
|
|
5929
5926
|
},
|
|
5930
|
-
|
|
5927
|
+
w.guid
|
|
5931
5928
|
);
|
|
5932
5929
|
})
|
|
5933
5930
|
]
|
|
@@ -5937,7 +5934,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
5937
5934
|
`${e.row.account}`,
|
|
5938
5935
|
e.row.number && ` | ${e.row.number}`
|
|
5939
5936
|
] }), Ph = (e) => {
|
|
5940
|
-
const { associatedBeats: n } =
|
|
5937
|
+
const { associatedBeats: n } = Me(), { showInsights: i } = Ot(), { amount: a, transaction_type: o } = e.row, r = n.find((c) => c.associated_transaction_guid === e.row.guid), s = o === jt.CREDIT;
|
|
5941
5938
|
return /* @__PURE__ */ l(b, { alignItems: "flex-end", tabIndex: e.tabIndex, children: [
|
|
5942
5939
|
/* @__PURE__ */ l(f, { color: s ? "success.main" : "text.primary", variant: "Small", children: [
|
|
5943
5940
|
s ? "+" : "",
|
|
@@ -6006,7 +6003,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
6006
6003
|
onCategoryClick: n,
|
|
6007
6004
|
onRowClick: i
|
|
6008
6005
|
}) => {
|
|
6009
|
-
const { transactions: a } = T(), { isCopyLoaded: o } = ue(), { isLoading: r, sortedTransactions: s } =
|
|
6006
|
+
const { transactions: a } = T(), { isCopyLoaded: o } = ue(), { isLoading: r, sortedTransactions: s } = Me(), { clearExpandedSplits: c, toggleSplit: d } = Ot();
|
|
6010
6007
|
g.useEffect(() => () => c(), []);
|
|
6011
6008
|
const _ = g.useMemo(
|
|
6012
6009
|
() => s.map((m) => ({
|
|
@@ -6092,7 +6089,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
6092
6089
|
}
|
|
6093
6090
|
}
|
|
6094
6091
|
) });
|
|
6095
|
-
}, jh = x(zh),
|
|
6092
|
+
}, jh = x(zh), Cn = () => {
|
|
6096
6093
|
if (!g.useContext(ti))
|
|
6097
6094
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
6098
6095
|
return Ue().uiStore;
|
|
@@ -6117,7 +6114,7 @@ const $h = ({
|
|
|
6117
6114
|
isOpen: a,
|
|
6118
6115
|
type: o
|
|
6119
6116
|
}) => {
|
|
6120
|
-
const [r, s] = g.useState(e), { categories: c } = T(), { setShouldDisableDrawerScroll: d } =
|
|
6117
|
+
const [r, s] = g.useState(e), { categories: c } = T(), { setShouldDisableDrawerScroll: d } = Cn();
|
|
6121
6118
|
let _ = "", u = [];
|
|
6122
6119
|
const h = o === "delete";
|
|
6123
6120
|
switch (o) {
|
|
@@ -6162,7 +6159,7 @@ const $h = ({
|
|
|
6162
6159
|
}
|
|
6163
6160
|
);
|
|
6164
6161
|
}, ko = x($h), Xh = ({ parentCategory: e }) => {
|
|
6165
|
-
const [n, i] = g.useState(!1), { addCategory: a } = Ue(), { categories: o } = T(), { onEvent: r } = X(), { setShouldDisableDrawerScroll: s } =
|
|
6162
|
+
const [n, i] = g.useState(!1), { addCategory: a } = Ue(), { categories: o } = T(), { onEvent: r } = X(), { setShouldDisableDrawerScroll: s } = Cn(), c = async (u) => {
|
|
6166
6163
|
await a(u.trim(), e.guid), r(Xt.ON_SUBCATEGORY_ADDED), i(!1);
|
|
6167
6164
|
}, d = async () => {
|
|
6168
6165
|
r(Xt.ON_SUBCATEGORY_ADD_CLICK), s(!0), i(!0);
|
|
@@ -6237,7 +6234,7 @@ const $h = ({
|
|
|
6237
6234
|
showSelected: s,
|
|
6238
6235
|
unselectable: c,
|
|
6239
6236
|
unselectableText: d
|
|
6240
|
-
} =
|
|
6237
|
+
} = Cn(), { categories: _ } = T(), { onEvent: u } = X(), [h, m] = g.useState(!1), [p, C] = g.useState(!1), E = !!n.revision, y = n.guid === a, S = !c.some((v) => v === n.guid);
|
|
6241
6238
|
return /* @__PURE__ */ l(
|
|
6242
6239
|
$,
|
|
6243
6240
|
{
|
|
@@ -6312,7 +6309,7 @@ const $h = ({
|
|
|
6312
6309
|
}
|
|
6313
6310
|
);
|
|
6314
6311
|
}, ng = x(tg), ig = ({ categories: e, parentCategory: n }) => {
|
|
6315
|
-
const { expandedGuid: i, searchValue: a } =
|
|
6312
|
+
const { expandedGuid: i, searchValue: a } = Cn(), o = n.guid === i, r = !!a;
|
|
6316
6313
|
return /* @__PURE__ */ t(
|
|
6317
6314
|
ei,
|
|
6318
6315
|
{
|
|
@@ -6338,7 +6335,7 @@ const $h = ({
|
|
|
6338
6335
|
}
|
|
6339
6336
|
);
|
|
6340
6337
|
}, ag = x(ig), og = ({ category: e, subCategories: n }) => {
|
|
6341
|
-
const { expandedGuid: i, searchValue: a, setExpandedGuid: o } =
|
|
6338
|
+
const { expandedGuid: i, searchValue: a, setExpandedGuid: o } = Cn(), { onEvent: r } = X(), s = e.guid === i, c = () => {
|
|
6342
6339
|
const d = e.guid !== i ? e.guid : null;
|
|
6343
6340
|
o(d), r(d ? Xt.ON_CATEGORY_EXPANDED : Xt.ON_CATEGORY_COLLAPSED);
|
|
6344
6341
|
};
|
|
@@ -6377,7 +6374,7 @@ const $h = ({
|
|
|
6377
6374
|
/* @__PURE__ */ t(ag, { categories: n, parentCategory: e })
|
|
6378
6375
|
] });
|
|
6379
6376
|
}, xc = x(og), rg = () => {
|
|
6380
|
-
const { categories: e } = Ue(), { searchValue: n } =
|
|
6377
|
+
const { categories: e } = Ue(), { searchValue: n } = Cn(), { categories: i } = T(), o = ((r, s = "") => r.reduce((c, d) => {
|
|
6381
6378
|
if (d.parent_guid === null) {
|
|
6382
6379
|
const u = [
|
|
6383
6380
|
{
|
|
@@ -6417,7 +6414,7 @@ const $h = ({
|
|
|
6417
6414
|
setShowSelected: p,
|
|
6418
6415
|
setUnselectable: C,
|
|
6419
6416
|
setUnselectableText: E
|
|
6420
|
-
} =
|
|
6417
|
+
} = Cn();
|
|
6421
6418
|
return g.useEffect(() => {
|
|
6422
6419
|
n && u(n);
|
|
6423
6420
|
}), g.useEffect(() => {
|
|
@@ -6504,7 +6501,7 @@ const $h = ({
|
|
|
6504
6501
|
}, Pr = (e) => {
|
|
6505
6502
|
const n = [], i = we();
|
|
6506
6503
|
for (let a = 0; a <= Br; a++) {
|
|
6507
|
-
const o =
|
|
6504
|
+
const o = Ye(Bt(i, Br - a)), s = e.filter(
|
|
6508
6505
|
(c) => c.year_month === Number(On(o, "yyyyMM"))
|
|
6509
6506
|
).reduce((c, d) => c + d.total, 0);
|
|
6510
6507
|
n.push({
|
|
@@ -6606,7 +6603,7 @@ class gg {
|
|
|
6606
6603
|
}
|
|
6607
6604
|
};
|
|
6608
6605
|
loadMonthlyCategoryTotals = async (n = this.globalStore.globalUiStore.selectedAccounts, i, a) => {
|
|
6609
|
-
const o = Fe(
|
|
6606
|
+
const o = Fe(Ye(i ?? Bt(/* @__PURE__ */ new Date(), 11))), r = Fe($e(a ?? /* @__PURE__ */ new Date()));
|
|
6610
6607
|
try {
|
|
6611
6608
|
const s = await this.api.getMonthlyCategoryTotals(o, r, n);
|
|
6612
6609
|
J(() => {
|
|
@@ -6624,7 +6621,7 @@ class gg {
|
|
|
6624
6621
|
Fe(a),
|
|
6625
6622
|
n
|
|
6626
6623
|
), r = await this.api.getMonthlyCategoryTotals(
|
|
6627
|
-
Fe(
|
|
6624
|
+
Fe(Ye(Bt(a, 11))),
|
|
6628
6625
|
Fe($e(a)),
|
|
6629
6626
|
n
|
|
6630
6627
|
);
|
|
@@ -6656,7 +6653,7 @@ class gg {
|
|
|
6656
6653
|
getCategoryName = (n) => this.categories.find((a) => a.guid === n)?.name ?? fa[n];
|
|
6657
6654
|
}
|
|
6658
6655
|
const wc = ({ transaction: e }) => {
|
|
6659
|
-
const { addOrUpdateTransactionRule: n, updateTransaction: i } =
|
|
6656
|
+
const { addOrUpdateTransactionRule: n, updateTransaction: i } = Me(), { categories: a } = Ue(), { onEvent: o } = X(), { setShouldDisableDrawerScroll: r, updateManualTransaction: s } = Ot(), { transactions: c } = T(), [d, _] = g.useState(!1), [u, h] = g.useState(""), m = async (y) => {
|
|
6660
6657
|
await i({ ...e, category_guid: u }), y && await n(u, e), h(""), o(F.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
6661
6658
|
transaction_guid: e.guid
|
|
6662
6659
|
});
|
|
@@ -6741,7 +6738,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6741
6738
|
)
|
|
6742
6739
|
] });
|
|
6743
6740
|
}, vc = ({ transaction: e }) => {
|
|
6744
|
-
const n = At(), { onEvent: i } = X(), { updateTransaction: a } =
|
|
6741
|
+
const n = At(), { onEvent: i } = X(), { updateTransaction: a } = Me(), { updateManualTransaction: o } = Ot(), { common: r, transactions: s } = T(), [c, d] = g.useState(!1), [_, u] = g.useState(e.date), h = (p) => {
|
|
6745
6742
|
u(Fe(p));
|
|
6746
6743
|
}, m = async () => {
|
|
6747
6744
|
if (e.is_manual && !e.guid) {
|
|
@@ -6798,7 +6795,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6798
6795
|
)
|
|
6799
6796
|
] });
|
|
6800
6797
|
}, mg = ({ transaction: e }) => {
|
|
6801
|
-
const { onEvent: n } = X(), { removeTransaction: i } =
|
|
6798
|
+
const { onEvent: n } = X(), { removeTransaction: i } = Me(), { setShouldDisableDrawerScroll: a } = Ot(), { common: o, transactions: r } = T(), [s, c] = g.useState(!1), d = async () => {
|
|
6802
6799
|
await i(e.guid), n(q.ON_TRANSACTION_DELETE_DELETED);
|
|
6803
6800
|
};
|
|
6804
6801
|
return /* @__PURE__ */ l(O, { className: "mx-txn-delete", children: [
|
|
@@ -6838,7 +6835,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6838
6835
|
)
|
|
6839
6836
|
] });
|
|
6840
6837
|
}, pg = x(mg), Cg = ({ transaction: e }) => {
|
|
6841
|
-
const { onEvent: n } = X(), { updateTransaction: i } =
|
|
6838
|
+
const { onEvent: n } = X(), { updateTransaction: i } = Me(), { setShouldDisableDrawerScroll: a } = Ot(), { common: o, transactions: r } = T(), [s, c] = g.useState(!1), d = async () => {
|
|
6842
6839
|
await i({ ...e, merchant_guid: "" }), n(F.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
|
|
6843
6840
|
transaction_guid: e.guid
|
|
6844
6841
|
});
|
|
@@ -6878,7 +6875,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6878
6875
|
)
|
|
6879
6876
|
] });
|
|
6880
6877
|
}, fg = x(Cg), bg = ({ transaction: e }) => {
|
|
6881
|
-
const { onEvent: n } = X(), { updateTransaction: i } =
|
|
6878
|
+
const { onEvent: n } = X(), { updateTransaction: i } = Me(), { setShouldDisableDrawerScroll: a } = Ot(), { common: o, transactions: r } = T(), [s, c] = g.useState(!1), d = e.is_hidden, _ = async () => {
|
|
6882
6879
|
await i({ ...e, is_hidden: !e.is_hidden }), n(
|
|
6883
6880
|
d ? q.ON_TRANSACTION_UNHIDDEN : q.ON_TRANSACTION_HIDDEN
|
|
6884
6881
|
);
|
|
@@ -6967,7 +6964,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6967
6964
|
] })
|
|
6968
6965
|
] });
|
|
6969
6966
|
}, Eg = ({ transaction: e }) => {
|
|
6970
|
-
const { onEvent: n } = X(), { updateTransaction: i } =
|
|
6967
|
+
const { onEvent: n } = X(), { updateTransaction: i } = Me(), { updateManualTransaction: a } = Ot(), { common: o, transactions: r } = T(), [s, c] = g.useState(!1), [d, _] = g.useState("");
|
|
6971
6968
|
g.useEffect(() => {
|
|
6972
6969
|
s && _(e.memo ? e.memo : "");
|
|
6973
6970
|
}, [s]);
|
|
@@ -7194,7 +7191,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7194
7191
|
) })
|
|
7195
7192
|
] });
|
|
7196
7193
|
}, xg = x(Tg), Ig = ({ transaction: e }) => {
|
|
7197
|
-
const { onEvent: n } = X(), { splitTransaction: i, unSplitTransaction: a } =
|
|
7194
|
+
const { onEvent: n } = X(), { splitTransaction: i, unSplitTransaction: a } = Me(), { common: o, transactions: r } = T(), { setShouldDisableDrawerScroll: s } = Ot(), { categories: c } = Ue(), d = {
|
|
7198
7195
|
...e,
|
|
7199
7196
|
amount: e.amount - 1,
|
|
7200
7197
|
guid: "",
|
|
@@ -7314,7 +7311,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7314
7311
|
)
|
|
7315
7312
|
] });
|
|
7316
7313
|
}, wg = x(Ig), vg = () => {
|
|
7317
|
-
const e = Se(), { onEvent: n } = X(), { addTag: i } =
|
|
7314
|
+
const e = Se(), { onEvent: n } = X(), { addTag: i } = Me(), { transactions: a } = T(), [o, r] = g.useState(!1), [s, c] = g.useState(""), [d, _] = g.useState(""), u = g.useRef(null);
|
|
7318
7315
|
g.useEffect(() => {
|
|
7319
7316
|
o && u?.current?.focus();
|
|
7320
7317
|
}, [o]);
|
|
@@ -7401,7 +7398,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7401
7398
|
}
|
|
7402
7399
|
) });
|
|
7403
7400
|
}, Rg = x(Ng), Og = ({ onTagChecked: e, selectedTags: n, tag: i }) => {
|
|
7404
|
-
const { onEvent: a } = X(), { removeTag: o, updateTag: r } =
|
|
7401
|
+
const { onEvent: a } = X(), { removeTag: o, updateTag: r } = Me(), { common: s, transactions: c } = T(), [d, _] = g.useState(!1), [u, h] = g.useState(!1), [m, p] = g.useState(""), [C, E] = g.useState(""), y = async () => {
|
|
7405
7402
|
a(q.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), i && await r({ ...i, name: m }), _(!1);
|
|
7406
7403
|
}, S = async () => {
|
|
7407
7404
|
a(q.ON_TRANSACTION_TAGS_TAG_DELETED), await o(i.guid), h(!1);
|
|
@@ -7495,7 +7492,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7495
7492
|
}
|
|
7496
7493
|
);
|
|
7497
7494
|
}, Lg = x(Og), Mg = ({ selectedTags: e, onTagChecked: n }) => {
|
|
7498
|
-
const { tags: i } =
|
|
7495
|
+
const { tags: i } = Me(), [a, o] = g.useState(""), r = i.filter(
|
|
7499
7496
|
(s) => s.name.toLowerCase().includes(a.toLowerCase())
|
|
7500
7497
|
);
|
|
7501
7498
|
return /* @__PURE__ */ l("div", { className: "mx-txn-tag-manager", children: [
|
|
@@ -7513,7 +7510,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7513
7510
|
] }, s.guid)) }) })
|
|
7514
7511
|
] });
|
|
7515
7512
|
}, kg = x(Mg), Gg = ({ transaction: e }) => {
|
|
7516
|
-
const { onEvent: n } = X(), { tags: i, updateTaggings: a, updateTransaction: o } =
|
|
7513
|
+
const { onEvent: n } = X(), { tags: i, updateTaggings: a, updateTransaction: o } = Me(), { common: r, transactions: s } = T(), { updateManualTransaction: c } = Ot(), [d, _] = g.useState(!1), [u, h] = g.useState(e.tags);
|
|
7517
7514
|
g.useEffect(() => {
|
|
7518
7515
|
h(e.tags);
|
|
7519
7516
|
}, [d, e]);
|
|
@@ -7568,7 +7565,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7568
7565
|
)
|
|
7569
7566
|
] });
|
|
7570
7567
|
}, Rc = x(Gg), Bg = ({ transaction: e }) => {
|
|
7571
|
-
const { updateTransaction: n } =
|
|
7568
|
+
const { updateTransaction: n } = Me(), { common: i, transactions: a } = T(), { onEvent: o } = X(), [r, s] = g.useState(!1), [c, d] = g.useState(""), _ = g.useRef(null);
|
|
7572
7569
|
g.useEffect(() => {
|
|
7573
7570
|
r && (d(e.description), _?.current?.focus());
|
|
7574
7571
|
}, [r]);
|
|
@@ -7619,7 +7616,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7619
7616
|
)
|
|
7620
7617
|
] }) });
|
|
7621
7618
|
}, Hg = x(Bg), Pg = ({ transaction: e }) => {
|
|
7622
|
-
const { updateTransaction: n } =
|
|
7619
|
+
const { updateTransaction: n } = Me(), { transactions: i } = T(), { onEvent: a } = X(), o = Se(), r = async () => {
|
|
7623
7620
|
a(F.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: e.guid }), await n({ ...e, is_flagged: !e.is_flagged });
|
|
7624
7621
|
};
|
|
7625
7622
|
return /* @__PURE__ */ t("div", { className: "mx-txn-transaction-flag", children: /* @__PURE__ */ t(
|
|
@@ -7823,7 +7820,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7823
7820
|
] })
|
|
7824
7821
|
] });
|
|
7825
7822
|
}, Yg = x(Kg), zg = ({ onClose: e, transaction: n }) => {
|
|
7826
|
-
const { addOrUpdateTransactionRule: i, updateTransaction: a } =
|
|
7823
|
+
const { addOrUpdateTransactionRule: i, updateTransaction: a } = Me(), { transactions: o } = T(), { categories: r } = Ue(), [s, c] = g.useState(""), d = g.useMemo(
|
|
7827
7824
|
() => r.find((u) => u.guid === s),
|
|
7828
7825
|
[s]
|
|
7829
7826
|
), _ = async (u) => {
|
|
@@ -7869,7 +7866,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7869
7866
|
showInsights: i = !1,
|
|
7870
7867
|
sx: a = {}
|
|
7871
7868
|
}) => {
|
|
7872
|
-
const { visibleAccounts: o, refreshAccounts: r } = ye(), { is_mobile_webview: s } = It(), { setSearchValue: c } =
|
|
7869
|
+
const { visibleAccounts: o, refreshAccounts: r } = ye(), { is_mobile_webview: s } = It(), { setSearchValue: c } = Cn(), { onEvent: d } = X(), { common: _, transactions: u } = T(), {
|
|
7873
7870
|
displayedDateRange: h,
|
|
7874
7871
|
isCopyLoaded: m,
|
|
7875
7872
|
isInitialized: p,
|
|
@@ -7885,7 +7882,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7885
7882
|
tags: k,
|
|
7886
7883
|
transactions: G,
|
|
7887
7884
|
updateTransaction: L
|
|
7888
|
-
} =
|
|
7885
|
+
} = Me(), {
|
|
7889
7886
|
manualTransaction: W,
|
|
7890
7887
|
isAmountValid: Y,
|
|
7891
7888
|
searchValue: se,
|
|
@@ -7894,7 +7891,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7894
7891
|
updateManualTransaction: xe
|
|
7895
7892
|
} = Ot(), { userProfile: ke } = Ct(), [fe, pe] = g.useState(""), [ze, K] = g.useState(""), [me, Q] = g.useState(!1), [Ae, Ce] = g.useState(!1), [ut, tn] = g.useState(!1);
|
|
7896
7893
|
g.useEffect(() => {
|
|
7897
|
-
const ht = o.filter((ni) => !ni.is_hidden), nr =
|
|
7894
|
+
const ht = o.filter((ni) => !ni.is_hidden), nr = Ye(we()), ir = $e(we());
|
|
7898
7895
|
y(ht), E(nr, ir), R({
|
|
7899
7896
|
accounts: ht.map((ni) => ni.guid),
|
|
7900
7897
|
custom: (ni) => !ni.accountIsClosed && !ni.accountIsHidden,
|
|
@@ -7914,7 +7911,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7914
7911
|
[o]
|
|
7915
7912
|
), j = ze ? G.find((ht) => ht.guid === ze) : void 0, Be = Y && !!W.payee && !!W.account_guid && !!W.category_guid, st = (ht) => {
|
|
7916
7913
|
E(ht[0], ht[1]);
|
|
7917
|
-
},
|
|
7914
|
+
}, bn = (ht) => {
|
|
7918
7915
|
ee(ht), R({
|
|
7919
7916
|
...w,
|
|
7920
7917
|
searchTerm: ht
|
|
@@ -7966,7 +7963,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7966
7963
|
/* @__PURE__ */ t(O, { mt: 16, children: /* @__PURE__ */ t(
|
|
7967
7964
|
Aa,
|
|
7968
7965
|
{
|
|
7969
|
-
onChange:
|
|
7966
|
+
onChange: bn,
|
|
7970
7967
|
placeholder: u.action_bar_search_placeholder,
|
|
7971
7968
|
searchValue: se
|
|
7972
7969
|
}
|
|
@@ -8202,7 +8199,7 @@ const wc = ({ transaction: e }) => {
|
|
|
8202
8199
|
] });
|
|
8203
8200
|
}), Lc = x(
|
|
8204
8201
|
({ onDeleted: e, recurringTransaction: n }) => {
|
|
8205
|
-
const { recurring: i } = T(), { selectedAccountGuids: a } = ue(), { onEvent: o } = X(), { deleteRepeatingTransaction: r } = ot(), { setFilter: s, transactions: c } =
|
|
8202
|
+
const { recurring: i } = T(), { selectedAccountGuids: a } = ue(), { onEvent: o } = X(), { deleteRepeatingTransaction: r } = ot(), { setFilter: s, transactions: c } = Me(), { amount: d, description: _, merchant_guid: u } = n, [h, m] = g.useState(!1), [p, C] = g.useState("");
|
|
8206
8203
|
g.useEffect(() => {
|
|
8207
8204
|
s({
|
|
8208
8205
|
accounts: a,
|
|
@@ -8454,7 +8451,7 @@ const wc = ({ transaction: e }) => {
|
|
|
8454
8451
|
label: n,
|
|
8455
8452
|
onAddRecurringTransaction: i = () => null
|
|
8456
8453
|
}) => {
|
|
8457
|
-
const { recurring: a } = T(), { filter: o, setFilter: r, transactions: s } =
|
|
8454
|
+
const { recurring: a } = T(), { filter: o, setFilter: r, transactions: s } = Me(), { addRepeatingTransaction: c } = ot(), { user: d } = Ct(), [_, u] = g.useState(!1), [h, m] = g.useState(""), [p, C] = g.useState(Ee.EveryMonth), [E, y] = g.useState(1), [S, I] = g.useState(15), v = g.useMemo(
|
|
8458
8455
|
() => s.find((M) => M.guid === h),
|
|
8459
8456
|
[h, s]
|
|
8460
8457
|
), w = () => {
|
|
@@ -8695,13 +8692,13 @@ const wc = ({ transaction: e }) => {
|
|
|
8695
8692
|
gr(/* @__PURE__ */ new Date()) * Ei + Wr
|
|
8696
8693
|
), s = (d) => {
|
|
8697
8694
|
r(gr(d) * Ei + Wr), a({
|
|
8698
|
-
start:
|
|
8695
|
+
start: Ye(d),
|
|
8699
8696
|
end: $e(d)
|
|
8700
8697
|
}), n(F.RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT);
|
|
8701
8698
|
}, c = /* @__PURE__ */ t(
|
|
8702
8699
|
Co,
|
|
8703
8700
|
{
|
|
8704
|
-
minDate:
|
|
8701
|
+
minDate: Ye(/* @__PURE__ */ new Date()),
|
|
8705
8702
|
onMonthChange: s,
|
|
8706
8703
|
showDaysOutsideCurrentMonth: !0,
|
|
8707
8704
|
slots: {
|
|
@@ -8989,18 +8986,18 @@ const wc = ({ transaction: e }) => {
|
|
|
8989
8986
|
}, G = () => {
|
|
8990
8987
|
const W = qt(s.start, 1);
|
|
8991
8988
|
E({
|
|
8992
|
-
start:
|
|
8989
|
+
start: Ye(W),
|
|
8993
8990
|
end: $e(W)
|
|
8994
8991
|
});
|
|
8995
8992
|
}, L = () => {
|
|
8996
8993
|
const W = Bt(s.start, 1);
|
|
8997
8994
|
E({
|
|
8998
|
-
start:
|
|
8995
|
+
start: Ye(W),
|
|
8999
8996
|
end: $e(W)
|
|
9000
8997
|
});
|
|
9001
8998
|
};
|
|
9002
|
-
return /* @__PURE__ */ l(
|
|
9003
|
-
/* @__PURE__ */ t(
|
|
8999
|
+
return /* @__PURE__ */ l(In, { container: !0, sx: { pt: 16, px: 24, spacing: 24 }, children: [
|
|
9000
|
+
/* @__PURE__ */ t(In, { md: !0, sm: 12, width: "100%", children: /* @__PURE__ */ l(b, { sx: { gap: 16 }, children: [
|
|
9004
9001
|
/* @__PURE__ */ l(b, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
9005
9002
|
/* @__PURE__ */ t(at, { sx: { px: 24 }, children: A(
|
|
9006
9003
|
e.header_title,
|
|
@@ -9080,7 +9077,7 @@ const wc = ({ transaction: e }) => {
|
|
|
9080
9077
|
)
|
|
9081
9078
|
] })
|
|
9082
9079
|
] }) }),
|
|
9083
|
-
n && /* @__PURE__ */ t(
|
|
9080
|
+
n && /* @__PURE__ */ t(In, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
9084
9081
|
/* @__PURE__ */ t(Pc, {}),
|
|
9085
9082
|
/* @__PURE__ */ t(
|
|
9086
9083
|
xi,
|
|
@@ -9096,14 +9093,14 @@ const wc = ({ transaction: e }) => {
|
|
|
9096
9093
|
] }) })
|
|
9097
9094
|
] });
|
|
9098
9095
|
}), P2 = x(({ onBackClick: e, sx: n = {} }) => {
|
|
9099
|
-
const { accounts: i } = ye(), { recurring: a } = T(), { isCopyLoaded: o, isInitialized: r, selectedAccountGuids: s, setSelectedAccounts: c } = ue(), { isDataLoaded: d, loadRepeatingTransactions: _, setDateRange: u } = ot(), { setFilter: h } =
|
|
9096
|
+
const { accounts: i } = ye(), { recurring: a } = T(), { isCopyLoaded: o, isInitialized: r, selectedAccountGuids: s, setSelectedAccounts: c } = ue(), { isDataLoaded: d, loadRepeatingTransactions: _, setDateRange: u } = ot(), { setFilter: h } = Me(), { onEvent: m } = X(), [p, C] = g.useState(!1);
|
|
9100
9097
|
return g.useEffect(() => {
|
|
9101
9098
|
c(i);
|
|
9102
9099
|
}, [i]), g.useEffect(() => {
|
|
9103
9100
|
r && (h({
|
|
9104
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9101
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9105
9102
|
accounts: s
|
|
9106
|
-
}), u({ start:
|
|
9103
|
+
}), u({ start: Ye(/* @__PURE__ */ new Date()), end: $e(/* @__PURE__ */ new Date()) }), _().finally());
|
|
9107
9104
|
}, [r]), o ? /* @__PURE__ */ l(
|
|
9108
9105
|
ft,
|
|
9109
9106
|
{
|
|
@@ -9123,9 +9120,9 @@ const wc = ({ transaction: e }) => {
|
|
|
9123
9120
|
title: a.title,
|
|
9124
9121
|
children: [
|
|
9125
9122
|
r && d ? /* @__PURE__ */ t(nm, {}) : /* @__PURE__ */ l(b, { direction: "column", p: 48, spacing: 24, children: [
|
|
9126
|
-
/* @__PURE__ */ t(
|
|
9127
|
-
/* @__PURE__ */ t(
|
|
9128
|
-
/* @__PURE__ */ t(
|
|
9123
|
+
/* @__PURE__ */ t(Sn, { height: 100, variant: "rounded", width: "100%" }),
|
|
9124
|
+
/* @__PURE__ */ t(Sn, { height: 100, variant: "rounded", width: "100%" }),
|
|
9125
|
+
/* @__PURE__ */ t(Sn, { height: 600, variant: "rounded", width: "100%" })
|
|
9129
9126
|
] }),
|
|
9130
9127
|
/* @__PURE__ */ t(
|
|
9131
9128
|
de,
|
|
@@ -9142,7 +9139,7 @@ const wc = ({ transaction: e }) => {
|
|
|
9142
9139
|
}
|
|
9143
9140
|
) : /* @__PURE__ */ t(_e, {});
|
|
9144
9141
|
}), im = x(() => {
|
|
9145
|
-
const { recurring: e } = T(), { availableWidth: n } =
|
|
9142
|
+
const { recurring: e } = T(), { availableWidth: n } = pn(), { selectedDay: i, selectedDayRecurrences: a, setSelectedDay: o, upcomingRecurrences: r } = ot(), s = n < 750;
|
|
9146
9143
|
return /* @__PURE__ */ l(b, { flexDirection: s ? "column" : "row", width: "100%", children: [
|
|
9147
9144
|
/* @__PURE__ */ t(Pc, {}),
|
|
9148
9145
|
!s && /* @__PURE__ */ t(P, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
@@ -9162,12 +9159,12 @@ const wc = ({ transaction: e }) => {
|
|
|
9162
9159
|
] });
|
|
9163
9160
|
}), F2 = x(
|
|
9164
9161
|
({ onPrimaryCtaClick: e, sx: n }) => {
|
|
9165
|
-
const { accounts: i } = ye(), { recurring: a } = T(), { setFilter: o } =
|
|
9162
|
+
const { accounts: i } = ye(), { recurring: a } = T(), { setFilter: o } = Me(), { isDataLoaded: r, loadRepeatingTransactions: s } = ot(), { isCopyLoaded: c, isInitialized: d, setSelectedAccounts: _, selectedAccountGuids: u } = ue();
|
|
9166
9163
|
return g.useEffect(() => {
|
|
9167
9164
|
d && _(i);
|
|
9168
9165
|
}, [d]), g.useEffect(() => {
|
|
9169
9166
|
u.length > 0 && (o({
|
|
9170
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9167
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9171
9168
|
accounts: u
|
|
9172
9169
|
}), s().finally());
|
|
9173
9170
|
}, [u]), !c || !d ? /* @__PURE__ */ t(_e, {}) : /* @__PURE__ */ t(
|
|
@@ -9271,14 +9268,14 @@ const wc = ({ transaction: e }) => {
|
|
|
9271
9268
|
paidExpenseTotal: y,
|
|
9272
9269
|
setDateRange: S,
|
|
9273
9270
|
upcomingExpenseTotal: I
|
|
9274
|
-
} = ot(), { setFilter: v } =
|
|
9271
|
+
} = ot(), { setFilter: v } = Me(), { recurring: w, budgets: N } = T();
|
|
9275
9272
|
g.useEffect(() => {
|
|
9276
9273
|
h(r);
|
|
9277
9274
|
}, [r]), g.useEffect(() => {
|
|
9278
9275
|
_ && (v({
|
|
9279
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9276
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9280
9277
|
accounts: u
|
|
9281
|
-
}), S({ start:
|
|
9278
|
+
}), S({ start: Ye(/* @__PURE__ */ new Date()), end: $e(/* @__PURE__ */ new Date()) }), m().finally(), i(!0));
|
|
9282
9279
|
}, [_]), g.useEffect(() => {
|
|
9283
9280
|
n && a(F.RECURRING_TRANSACTIONS_LOAD_WIDGET, {
|
|
9284
9281
|
state: p.length > 0 ? "default" : "zeroState"
|
|
@@ -9427,7 +9424,7 @@ class Kr {
|
|
|
9427
9424
|
deleteRepeatingTransaction = async (n) => this.fetchInstance.delete(`${B.REPEATING_TRANSACTIONS}/${n}`).then((i) => i);
|
|
9428
9425
|
}
|
|
9429
9426
|
const Yr = (e) => lo(e.expectedDate, {
|
|
9430
|
-
start:
|
|
9427
|
+
start: Ye(we()),
|
|
9431
9428
|
end: $e(we())
|
|
9432
9429
|
}), zn = (e, n) => e + n.amount;
|
|
9433
9430
|
class cm {
|
|
@@ -9436,7 +9433,7 @@ class cm {
|
|
|
9436
9433
|
transactions = [];
|
|
9437
9434
|
repeatingTransactions = [];
|
|
9438
9435
|
selectedDay;
|
|
9439
|
-
dateRange = { start:
|
|
9436
|
+
dateRange = { start: Ye(we()), end: $e(we()) };
|
|
9440
9437
|
isDataLoaded = !1;
|
|
9441
9438
|
constructor(n) {
|
|
9442
9439
|
this.globalStore = n, this.api = new Kr(n.endpoint, n.sessionToken), Pe(this);
|
|
@@ -9910,7 +9907,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
9910
9907
|
/* @__PURE__ */ t(P, {})
|
|
9911
9908
|
] });
|
|
9912
9909
|
}, jr = x(bm), la = (e, n) => (i) => i.accountGuid === e.guid && (bo(i.expectedDate) || rn(i.expectedDate, n.start)) && et(i.expectedDate, n.end), ym = () => {
|
|
9913
|
-
const { availableWidth: e } =
|
|
9910
|
+
const { availableWidth: e } = pn(), { cashflow: n } = T(), { upcomingExpenses: i, upcomingIncome: a } = ot(), { dateRange: o, selectedCashAccounts: r } = Ci();
|
|
9914
9911
|
return /* @__PURE__ */ l(b, { children: [
|
|
9915
9912
|
/* @__PURE__ */ l(b, { direction: e < 400 ? "column" : "row", justifyContent: "space-between", children: [
|
|
9916
9913
|
/* @__PURE__ */ t(f, { bold: !0, sx: { fontSize: 15, mb: 12, whiteSpace: "normal" }, children: n.accounts_breakdown }),
|
|
@@ -9982,7 +9979,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
9982
9979
|
}) })
|
|
9983
9980
|
] });
|
|
9984
9981
|
}, Em = x(ym), Sm = () => {
|
|
9985
|
-
const { availableWidth: e } =
|
|
9982
|
+
const { availableWidth: e } = pn(), n = Se(), { cashflow: i } = T(), { upcomingExpenses: a, upcomingIncome: o } = ot(), { dateRange: r, selectedCashAccounts: s } = Ci(), c = [
|
|
9986
9983
|
{
|
|
9987
9984
|
field: "account",
|
|
9988
9985
|
flex: 1.5,
|
|
@@ -10116,7 +10113,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10116
10113
|
"& .MuiDataGrid-columnHeader .MuiIconButton-root": {
|
|
10117
10114
|
color: n.palette.primary.main,
|
|
10118
10115
|
"&:hover": {
|
|
10119
|
-
backgroundColor:
|
|
10116
|
+
backgroundColor: wn(n.palette.primary.main, 0.1)
|
|
10120
10117
|
}
|
|
10121
10118
|
},
|
|
10122
10119
|
"& .MuiDataGrid-sortIcon": {
|
|
@@ -10284,7 +10281,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10284
10281
|
]
|
|
10285
10282
|
}
|
|
10286
10283
|
), $r = (e, n) => (i) => i.accountGuid && e.includes(i.accountGuid) && (bo(i.expectedDate) || rn(i.expectedDate, n.start)) && et(i.expectedDate, n.end), Im = () => {
|
|
10287
|
-
const { availableWidth: e } =
|
|
10284
|
+
const { availableWidth: e } = pn(), { cashflow: n } = T(), { upcomingExpenses: i, upcomingIncome: a } = ot(), { selectedAccountGuids: o } = ue(), { dateRange: r, selectedCashAccounts: s } = Ci(), { userProfile: c } = Ct(), [d, _] = g.useState(!1), u = g.useMemo(
|
|
10288
10285
|
() => i.filter($r(o, r)),
|
|
10289
10286
|
[r, o, i]
|
|
10290
10287
|
), h = g.useMemo(
|
|
@@ -10381,7 +10378,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10381
10378
|
return /* @__PURE__ */ l(b, { children: [
|
|
10382
10379
|
/* @__PURE__ */ t(Zt, { pb: 12, children: i.welcome_title }),
|
|
10383
10380
|
/* @__PURE__ */ t(
|
|
10384
|
-
|
|
10381
|
+
hn,
|
|
10385
10382
|
{
|
|
10386
10383
|
color: a.palette.primary.light,
|
|
10387
10384
|
pb: 8,
|
|
@@ -10464,7 +10461,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10464
10461
|
transform: rotate(360deg);
|
|
10465
10462
|
}
|
|
10466
10463
|
`, Lm = () => {
|
|
10467
|
-
const { addRepeatingTransaction: e, repeatingTransactions: n } = ot(), { cashflow: i, common: a } = T(), { completeOnboarding: o } = wo(), { isDirty: r } = Ci(), { isMobile: s } = be(), { isCopyLoaded: c, setDisplayedDate: d } = ue(), { filter: _, setFilter: u, transactions: h } =
|
|
10464
|
+
const { addRepeatingTransaction: e, repeatingTransactions: n } = ot(), { cashflow: i, common: a } = T(), { completeOnboarding: o } = wo(), { isDirty: r } = Ci(), { isMobile: s } = be(), { isCopyLoaded: c, setDisplayedDate: d } = ue(), { filter: _, setFilter: u, transactions: h } = Me(), m = Se(), [p, C] = Tt(!0), [E, y] = g.useState(Ee.EveryMonth), [S, I] = g.useState(1), [v, w] = g.useState(15), [N, R] = Tt(!1), [M, k] = Tt(1), [G, L] = Tt([]), [W, Y] = Tt(""), se = g.useMemo(
|
|
10468
10465
|
() => h.find((fe) => fe.guid === W),
|
|
10469
10466
|
[W, h]
|
|
10470
10467
|
), ee = !!n.filter(
|
|
@@ -10472,7 +10469,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10472
10469
|
).length, ge = async () => {
|
|
10473
10470
|
k(2), d(
|
|
10474
10471
|
// Beginning of the month, 90 days before today
|
|
10475
|
-
|
|
10472
|
+
Ye(Nt(we(), 90)),
|
|
10476
10473
|
we()
|
|
10477
10474
|
), u({ ..._, custom: Ri }), k(3);
|
|
10478
10475
|
}, xe = async () => {
|
|
@@ -10647,7 +10644,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10647
10644
|
setSelectedAccounts: o,
|
|
10648
10645
|
shouldDisableNextDate: r,
|
|
10649
10646
|
shouldDisablePrevDate: s
|
|
10650
|
-
} = ue(), { onEvent: c } = X(), { visibleCashAccounts: d } = ye(), { setFilter: _ } =
|
|
10647
|
+
} = ue(), { onEvent: c } = X(), { visibleCashAccounts: d } = ye(), { setFilter: _ } = Me(), { userProfile: u } = Ct(), { dateRange: h, setSelectedCashAccounts: m } = Ci(), { loadRepeatingTransactions: p, setDateRange: C } = ot(), { cashflow: E } = T(), { isCopyLoaded: y, isInitialized: S } = ue(), [I, v] = g.useState(!1);
|
|
10651
10648
|
return g.useEffect(() => {
|
|
10652
10649
|
S && (C(h), p().finally());
|
|
10653
10650
|
}, [S]), g.useEffect(() => {
|
|
@@ -10657,7 +10654,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10657
10654
|
(R) => a.includes(R.guid) && w.includes(R.guid)
|
|
10658
10655
|
);
|
|
10659
10656
|
m(N), _({
|
|
10660
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
10657
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
10661
10658
|
accounts: N.map((R) => R.guid)
|
|
10662
10659
|
});
|
|
10663
10660
|
}, [d, i]), !y || !S ? /* @__PURE__ */ t(_e, {}) : u?.has_completed_cash_flow_onboarding ? /* @__PURE__ */ l(
|
|
@@ -10822,12 +10819,12 @@ function Hm(e, n, i = 0) {
|
|
|
10822
10819
|
payoffDuration: d ? "Stagnant" : Wd(_, { format: ["years", "months"] }) || "0 months"
|
|
10823
10820
|
};
|
|
10824
10821
|
}
|
|
10825
|
-
const
|
|
10822
|
+
const fn = () => {
|
|
10826
10823
|
if (!g.useContext(ti))
|
|
10827
10824
|
throw new Error("useCateUiStore() must be used within the GlobalDataContext");
|
|
10828
10825
|
return ya().uiStore;
|
|
10829
10826
|
}, Pm = ({ debts: e, onClickCta: n, sx: i }) => {
|
|
10830
|
-
const a = ln(), { isMobile: o } = be(), { debts: r } = T(), { selectedDebtPriority: s } =
|
|
10827
|
+
const a = ln(), { isMobile: o } = be(), { debts: r } = T(), { selectedDebtPriority: s } = fn(), { monthlyCashFlowProfile: c } = dt(), { payoffDate: d, payoffSavings: _, payoffDuration: u } = g.useMemo(() => {
|
|
10831
10828
|
const h = c?.extra_payment ?? 0;
|
|
10832
10829
|
return Hm(e, s, h);
|
|
10833
10830
|
}, [e, s, c]);
|
|
@@ -10939,7 +10936,7 @@ const bn = () => {
|
|
|
10939
10936
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
10940
10937
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
10941
10938
|
/* @__PURE__ */ t(
|
|
10942
|
-
|
|
10939
|
+
En,
|
|
10943
10940
|
{
|
|
10944
10941
|
sx: {
|
|
10945
10942
|
display: "flex",
|
|
@@ -10995,7 +10992,7 @@ const bn = () => {
|
|
|
10995
10992
|
] }),
|
|
10996
10993
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
10997
10994
|
/* @__PURE__ */ t(
|
|
10998
|
-
|
|
10995
|
+
En,
|
|
10999
10996
|
{
|
|
11000
10997
|
sx: {
|
|
11001
10998
|
width: 20,
|
|
@@ -11025,7 +11022,7 @@ const bn = () => {
|
|
|
11025
11022
|
] }),
|
|
11026
11023
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, py: 14, children: [
|
|
11027
11024
|
/* @__PURE__ */ t(
|
|
11028
|
-
|
|
11025
|
+
En,
|
|
11029
11026
|
{
|
|
11030
11027
|
sx: {
|
|
11031
11028
|
width: 20,
|
|
@@ -11066,7 +11063,7 @@ const bn = () => {
|
|
|
11066
11063
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
11067
11064
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11068
11065
|
/* @__PURE__ */ t(
|
|
11069
|
-
|
|
11066
|
+
En,
|
|
11070
11067
|
{
|
|
11071
11068
|
sx: {
|
|
11072
11069
|
display: "flex",
|
|
@@ -11122,7 +11119,7 @@ const bn = () => {
|
|
|
11122
11119
|
] }),
|
|
11123
11120
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11124
11121
|
/* @__PURE__ */ t(
|
|
11125
|
-
|
|
11122
|
+
En,
|
|
11126
11123
|
{
|
|
11127
11124
|
sx: {
|
|
11128
11125
|
width: 20,
|
|
@@ -11174,7 +11171,7 @@ const bn = () => {
|
|
|
11174
11171
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
11175
11172
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11176
11173
|
/* @__PURE__ */ t(
|
|
11177
|
-
|
|
11174
|
+
En,
|
|
11178
11175
|
{
|
|
11179
11176
|
sx: {
|
|
11180
11177
|
display: "flex",
|
|
@@ -11250,7 +11247,7 @@ const bn = () => {
|
|
|
11250
11247
|
return isNaN(i) ? 0 : i;
|
|
11251
11248
|
}, Vo = (e, n) => {
|
|
11252
11249
|
const i = [];
|
|
11253
|
-
let a =
|
|
11250
|
+
let a = Ye(n?.start ?? Bt(/* @__PURE__ */ new Date(), 5));
|
|
11254
11251
|
const o = n?.end ?? /* @__PURE__ */ new Date();
|
|
11255
11252
|
for (; et(a, o); )
|
|
11256
11253
|
i.push({
|
|
@@ -11271,7 +11268,7 @@ const bn = () => {
|
|
|
11271
11268
|
const n = [], i = e.filter(
|
|
11272
11269
|
(r) => r.top_level_category_guid !== D.INCOME && r.top_level_category_guid !== D.TRANSFER && r.total > 0
|
|
11273
11270
|
);
|
|
11274
|
-
let a =
|
|
11271
|
+
let a = Ye(Bt(/* @__PURE__ */ new Date(), 5));
|
|
11275
11272
|
const o = $e(/* @__PURE__ */ new Date());
|
|
11276
11273
|
for (; et(a, o); )
|
|
11277
11274
|
n.push({
|
|
@@ -11328,7 +11325,7 @@ const bn = () => {
|
|
|
11328
11325
|
},
|
|
11329
11326
|
children: [
|
|
11330
11327
|
/* @__PURE__ */ t(
|
|
11331
|
-
|
|
11328
|
+
mn,
|
|
11332
11329
|
{
|
|
11333
11330
|
sx: { pb: 0 },
|
|
11334
11331
|
title: /* @__PURE__ */ t(at, { sx: { pb: 4 }, children: le(/* @__PURE__ */ new Date(), ae.MONTH_LONG) })
|
|
@@ -11359,7 +11356,7 @@ const bn = () => {
|
|
|
11359
11356
|
/* @__PURE__ */ t(f, { variant: "Small", children: _?.name })
|
|
11360
11357
|
] }),
|
|
11361
11358
|
/* @__PURE__ */ l(b, { gap: 8, mb: 24, mt: 4, children: [
|
|
11362
|
-
/* @__PURE__ */ t(
|
|
11359
|
+
/* @__PURE__ */ t(hn, { children: i.name || i.feed_name }),
|
|
11363
11360
|
/* @__PURE__ */ l(b, { direction: "row", justifyContent: "space-between", children: [
|
|
11364
11361
|
/* @__PURE__ */ t(f, { bold: s, variant: "Body", children: o }),
|
|
11365
11362
|
/* @__PURE__ */ t(f, { bold: !0, variant: "Body", children: H(r, "0,0.00") })
|
|
@@ -11503,7 +11500,7 @@ const Yc = ({
|
|
|
11503
11500
|
}
|
|
11504
11501
|
);
|
|
11505
11502
|
}, ip = () => {
|
|
11506
|
-
const e = ln(), { debts: n } = T(), { selectedDebtChartData: i } =
|
|
11503
|
+
const e = ln(), { debts: n } = T(), { selectedDebtChartData: i } = fn();
|
|
11507
11504
|
return /* @__PURE__ */ l(Z, { children: [
|
|
11508
11505
|
/* @__PURE__ */ l(
|
|
11509
11506
|
St,
|
|
@@ -11514,7 +11511,7 @@ const Yc = ({
|
|
|
11514
11511
|
}
|
|
11515
11512
|
},
|
|
11516
11513
|
children: [
|
|
11517
|
-
/* @__PURE__ */ t(
|
|
11514
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 0 }, title: /* @__PURE__ */ t(at, { sx: { pb: 4 }, children: n.details_chart_title }) }),
|
|
11518
11515
|
/* @__PURE__ */ t(Ht, { sx: { p: 0 }, children: /* @__PURE__ */ t(Yc, { debts: [i], height: 250 }) })
|
|
11519
11516
|
]
|
|
11520
11517
|
}
|
|
@@ -11530,7 +11527,7 @@ const Yc = ({
|
|
|
11530
11527
|
)
|
|
11531
11528
|
] });
|
|
11532
11529
|
}, ap = x(ip), op = () => {
|
|
11533
|
-
const e = ln(), { onEvent: n } = X(), { debts: i } = T(), { selectedDebtChartData: a, showCompleted: o, showError: r } =
|
|
11530
|
+
const e = ln(), { onEvent: n } = X(), { debts: i } = T(), { selectedDebtChartData: a, showCompleted: o, showError: r } = fn();
|
|
11534
11531
|
return g.useEffect(() => n(F.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ t(oe, { children: r || o ? /* @__PURE__ */ t(
|
|
11535
11532
|
f,
|
|
11536
11533
|
{
|
|
@@ -11789,7 +11786,7 @@ const Yc = ({
|
|
|
11789
11786
|
}
|
|
11790
11787
|
);
|
|
11791
11788
|
}), dp = () => {
|
|
11792
|
-
const { onEvent: e } = X(), { selectedDebtChartData: n } =
|
|
11789
|
+
const { onEvent: e } = X(), { selectedDebtChartData: n } = fn();
|
|
11793
11790
|
return g.useEffect(() => e(F.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ l(b, { bgcolor: "background.paper", children: [
|
|
11794
11791
|
n?.goal && /* @__PURE__ */ l(Z, { children: [
|
|
11795
11792
|
/* @__PURE__ */ t(jc, { goal: n.goal }),
|
|
@@ -11809,7 +11806,7 @@ const Yc = ({
|
|
|
11809
11806
|
] })
|
|
11810
11807
|
] });
|
|
11811
11808
|
}, up = x(dp), _p = ({ setTabValue: e, sx: n }) => {
|
|
11812
|
-
const { debts: i } = T(), { showError: a, showCompleted: o } =
|
|
11809
|
+
const { debts: i } = T(), { showError: a, showCompleted: o } = fn();
|
|
11813
11810
|
return g.useEffect(() => {
|
|
11814
11811
|
a && e(1);
|
|
11815
11812
|
}, [a]), !a && !o ? /* @__PURE__ */ t(Z, {}) : /* @__PURE__ */ l(Te, { gap: 16, children: [
|
|
@@ -11854,7 +11851,7 @@ const Yc = ({
|
|
|
11854
11851
|
) })
|
|
11855
11852
|
] });
|
|
11856
11853
|
}, hp = x(_p), gp = () => {
|
|
11857
|
-
const { debts: e } = T(), { showError: n, showCompleted: i } =
|
|
11854
|
+
const { debts: e } = T(), { showError: n, showCompleted: i } = fn(), [a, o] = g.useState(0);
|
|
11858
11855
|
return /* @__PURE__ */ l(Z, { children: [
|
|
11859
11856
|
(n || i) && /* @__PURE__ */ t(hp, { setTabValue: o, sx: { mt: -24 } }),
|
|
11860
11857
|
/* @__PURE__ */ l(
|
|
@@ -11890,7 +11887,7 @@ const Yc = ({
|
|
|
11890
11887
|
/* @__PURE__ */ t(Dn, { index: 1, name: "debt-details", value: a, children: /* @__PURE__ */ t(up, {}) })
|
|
11891
11888
|
] });
|
|
11892
11889
|
}, mp = x(gp), pp = ({ isOpen: e, onClose: n, sx: i }) => {
|
|
11893
|
-
const { debts: a } = T(), { showError: o, showCompleted: r } =
|
|
11890
|
+
const { debts: a } = T(), { showError: o, showCompleted: r } = fn(), s = o || r ? /* @__PURE__ */ t(Z, {}) : /* @__PURE__ */ t(ap, {});
|
|
11894
11891
|
return /* @__PURE__ */ t(
|
|
11895
11892
|
de,
|
|
11896
11893
|
{
|
|
@@ -12205,7 +12202,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12205
12202
|
}
|
|
12206
12203
|
);
|
|
12207
12204
|
}, vp = x(({ buttonEl: e, onClose: n }) => {
|
|
12208
|
-
const { onEvent: i } = X(), { debts: a } = T(), { selectedDebtPriority: o, setSelectedDebtPriority: r } =
|
|
12205
|
+
const { onEvent: i } = X(), { debts: a } = T(), { selectedDebtPriority: o, setSelectedDebtPriority: r } = fn(), s = !!e, c = [
|
|
12209
12206
|
{
|
|
12210
12207
|
priority: an.HIGHEST_INTEREST,
|
|
12211
12208
|
text: a.priority_sort_highest_interest
|
|
@@ -12264,7 +12261,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12264
12261
|
}
|
|
12265
12262
|
);
|
|
12266
12263
|
}), Dp = x(() => {
|
|
12267
|
-
const { onEvent: e } = X(), { debts: n } = T(), { selectedDebtPriority: i } =
|
|
12264
|
+
const { onEvent: e } = X(), { debts: n } = T(), { selectedDebtPriority: i } = fn(), [a, o] = g.useState(null), r = (_) => {
|
|
12268
12265
|
o(_.currentTarget), e(F.DEBTS_CLICK_PRIORITIZE);
|
|
12269
12266
|
}, s = () => {
|
|
12270
12267
|
o(null);
|
|
@@ -12329,7 +12326,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12329
12326
|
}
|
|
12330
12327
|
);
|
|
12331
12328
|
}), Op = ({ onBackClick: e, sx: n }) => {
|
|
12332
|
-
const [i, a] = g.useState(!1), [o, r] = g.useState(!1), [s, c] = g.useState(!1), [d, _] = g.useState(""), { isDesktop: u, isMobile: h } = be(), { debts: m } = T(), { onEvent: p } = X(), { isCopyLoaded: C, isInitialized: E, setSelectedAccounts: y } = ue(), { setSelectedAccount: S } = Ut(), { selectedDebtPriority: I, setSelectedDebtChartData: v } =
|
|
12329
|
+
const [i, a] = g.useState(!1), [o, r] = g.useState(!1), [s, c] = g.useState(!1), [d, _] = g.useState(""), { isDesktop: u, isMobile: h } = be(), { debts: m } = T(), { onEvent: p } = X(), { isCopyLoaded: C, isInitialized: E, setSelectedAccounts: y } = ue(), { setSelectedAccount: S } = Ut(), { selectedDebtPriority: I, setSelectedDebtChartData: v } = fn(), { visibleDebtAccounts: w } = ye(), { goalsLoaded: N, loadGoals: R, monthlyCashFlowProfile: M } = dt(), { debts: k } = ya(), G = g.useMemo(() => {
|
|
12333
12330
|
const ge = M?.extra_payment ?? 0;
|
|
12334
12331
|
return Np(k, I, ge);
|
|
12335
12332
|
}, [k, I, M]);
|
|
@@ -13120,13 +13117,13 @@ const qc = ({
|
|
|
13120
13117
|
nextIconButton: {
|
|
13121
13118
|
sx: {
|
|
13122
13119
|
color: "primary.main",
|
|
13123
|
-
"&:hover": { bgcolor:
|
|
13120
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13124
13121
|
}
|
|
13125
13122
|
},
|
|
13126
13123
|
previousIconButton: {
|
|
13127
13124
|
sx: {
|
|
13128
13125
|
color: "primary.main",
|
|
13129
|
-
"&:hover": { bgcolor:
|
|
13126
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13130
13127
|
}
|
|
13131
13128
|
}
|
|
13132
13129
|
},
|
|
@@ -13138,7 +13135,7 @@ const qc = ({
|
|
|
13138
13135
|
width: "100%",
|
|
13139
13136
|
"& .MuiIconButton-edgeEnd": {
|
|
13140
13137
|
color: "primary.main",
|
|
13141
|
-
"&:hover": { bgcolor:
|
|
13138
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13142
13139
|
}
|
|
13143
13140
|
},
|
|
13144
13141
|
value: s ? new Date(s * 1e3) : /* @__PURE__ */ new Date()
|
|
@@ -13270,7 +13267,7 @@ const qc = ({
|
|
|
13270
13267
|
poor: 110,
|
|
13271
13268
|
good: 100
|
|
13272
13269
|
}
|
|
13273
|
-
},
|
|
13270
|
+
}, Ke = {
|
|
13274
13271
|
GOOD: "Good",
|
|
13275
13272
|
FAIR: "Fair",
|
|
13276
13273
|
OFF_TRACK: "Off Track",
|
|
@@ -13278,14 +13275,14 @@ const qc = ({
|
|
|
13278
13275
|
}, li = ({
|
|
13279
13276
|
title: e,
|
|
13280
13277
|
description: n,
|
|
13281
|
-
cardState: i =
|
|
13278
|
+
cardState: i = Ke.MISSING,
|
|
13282
13279
|
stateTitle: a
|
|
13283
13280
|
}) => {
|
|
13284
13281
|
const o = {
|
|
13285
|
-
[
|
|
13286
|
-
[
|
|
13287
|
-
[
|
|
13288
|
-
[
|
|
13282
|
+
[Ke.GOOD]: { backgroundColor: "success.lighter", color: "success.main" },
|
|
13283
|
+
[Ke.FAIR]: { backgroundColor: "warning.lighter", color: "warning.main" },
|
|
13284
|
+
[Ke.OFF_TRACK]: { backgroundColor: "error.lighter", color: "error.main" },
|
|
13285
|
+
[Ke.MISSING]: { backgroundColor: "divider", color: "text.secondary" }
|
|
13289
13286
|
}[i];
|
|
13290
13287
|
return /* @__PURE__ */ l(
|
|
13291
13288
|
b,
|
|
@@ -13327,16 +13324,16 @@ const qc = ({
|
|
|
13327
13324
|
}, n1 = () => {
|
|
13328
13325
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_spend: i } = n, a = (c) => {
|
|
13329
13326
|
const { good: d, poor: _ } = Mi.spendToIncomeRatio;
|
|
13330
|
-
let u =
|
|
13331
|
-
return c !== null && (c < d ? (u =
|
|
13327
|
+
let u = Ke.MISSING, h = i.ratio_missing_description, m = n.key_indicators_missing;
|
|
13328
|
+
return c !== null && (c < d ? (u = Ke.GOOD, h = A(i.ratio_good_description, c), m = n.key_indicators_good) : c >= d && c < _ ? (u = Ke.FAIR, h = A(i.ratio_fair_description, c), m = n.key_indicators_fair) : c >= _ && (u = Ke.OFF_TRACK, h = A(i.ratio_off_track_description, c), m = n.key_indicators_off_track)), {
|
|
13332
13329
|
cardState: u,
|
|
13333
13330
|
description: h,
|
|
13334
13331
|
title: i.ratio_card_title,
|
|
13335
13332
|
stateTitle: m
|
|
13336
13333
|
};
|
|
13337
13334
|
}, o = (c) => {
|
|
13338
|
-
let d =
|
|
13339
|
-
return c !== null && (c === 0 ? (d =
|
|
13335
|
+
let d = Ke.MISSING, _ = i.count_missing_description, u = n.key_indicators_missing;
|
|
13336
|
+
return c !== null && (c === 0 ? (d = Ke.GOOD, _ = i.count_good_description, u = n.key_indicators_good) : c >= 1 && (d = Ke.OFF_TRACK, _ = i.count_off_track_description, u = n.key_indicators_off_track)), {
|
|
13340
13337
|
cardState: d,
|
|
13341
13338
|
description: _,
|
|
13342
13339
|
title: i.count_card_title,
|
|
@@ -13374,8 +13371,8 @@ const qc = ({
|
|
|
13374
13371
|
}, i1 = () => {
|
|
13375
13372
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_save: i } = n, a = (c) => {
|
|
13376
13373
|
const { good: d, poor: _ } = Mi.daysOfCashOnHand;
|
|
13377
|
-
let u =
|
|
13378
|
-
return c !== null && (c >= d ? (u =
|
|
13374
|
+
let u = Ke.MISSING, h = i.days_of_cash_missing_description, m = n.key_indicators_missing;
|
|
13375
|
+
return c !== null && (c >= d ? (u = Ke.GOOD, h = A(i.days_of_cash_good_description, c), m = n.key_indicators_good) : c < d && c >= _ ? (u = Ke.FAIR, h = A(i.days_of_cash_fair_description, c), m = n.key_indicators_fair) : c < _ && (u = Ke.OFF_TRACK, h = A(i.days_of_cash_off_track_description, c), m = n.key_indicators_off_track)), {
|
|
13379
13376
|
cardState: u,
|
|
13380
13377
|
description: h,
|
|
13381
13378
|
title: i.days_of_cash_title,
|
|
@@ -13383,11 +13380,11 @@ const qc = ({
|
|
|
13383
13380
|
};
|
|
13384
13381
|
}, o = (c) => {
|
|
13385
13382
|
const { good: d, poor: _ } = Mi.emergencySavings;
|
|
13386
|
-
let u =
|
|
13387
|
-
return c !== null && (c >= d ? (u =
|
|
13383
|
+
let u = Ke.MISSING, h = i.emergency_savings_missing_description, m = n.key_indicators_missing;
|
|
13384
|
+
return c !== null && (c >= d ? (u = Ke.GOOD, h = i.emergency_savings_good_description, m = n.key_indicators_good) : c < d && c >= _ ? (u = Ke.FAIR, h = A(
|
|
13388
13385
|
i.emergency_savings_fair_description,
|
|
13389
13386
|
H(c, "0,0.00")
|
|
13390
|
-
), m = n.key_indicators_fair) : c < _ && (u =
|
|
13387
|
+
), m = n.key_indicators_fair) : c < _ && (u = Ke.OFF_TRACK, h = i.emergency_savings_off_track_description, m = n.key_indicators_off_track)), {
|
|
13391
13388
|
cardState: u,
|
|
13392
13389
|
description: h,
|
|
13393
13390
|
title: i.emergency_savings_title,
|
|
@@ -13425,8 +13422,8 @@ const qc = ({
|
|
|
13425
13422
|
}, a1 = () => {
|
|
13426
13423
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_borrow: i } = n, { user: a } = Ct(), o = (d) => {
|
|
13427
13424
|
const { good: _, poor: u } = Mi.debtToIncomeRatio;
|
|
13428
|
-
let h =
|
|
13429
|
-
return d != null && (d <= _ ? (h =
|
|
13425
|
+
let h = Ke.MISSING, m = i.manage_debit_missing_description, p = n.key_indicators_missing;
|
|
13426
|
+
return d != null && (d <= _ ? (h = Ke.GOOD, m = i.manage_debit_good_description, p = n.key_indicators_good) : d > _ && d <= u ? (h = Ke.FAIR, m = A(i.manage_debit_fair_description, d), p = n.key_indicators_fair) : d > u && (h = Ke.OFF_TRACK, m = A(
|
|
13430
13427
|
i.manage_debit_off_track_description,
|
|
13431
13428
|
d
|
|
13432
13429
|
), p = n.key_indicators_off_track)), {
|
|
@@ -13437,8 +13434,8 @@ const qc = ({
|
|
|
13437
13434
|
};
|
|
13438
13435
|
}, r = (d) => {
|
|
13439
13436
|
const { good: _, poor: u } = Mi.creditScore;
|
|
13440
|
-
let h =
|
|
13441
|
-
return d !== null && (d >= _ ? (h =
|
|
13437
|
+
let h = Ke.MISSING, m = i.credit_score_missing_description, p = n.key_indicators_missing;
|
|
13438
|
+
return d !== null && (d >= _ ? (h = Ke.GOOD, m = A(i.credit_score_good_description, d), p = n.key_indicators_good) : d < _ && d >= u ? (h = Ke.FAIR, m = A(i.credit_score_fair_description, d), p = n.key_indicators_fair) : d < u && (h = Ke.OFF_TRACK, m = A(
|
|
13442
13439
|
i.credit_score_off_track_description,
|
|
13443
13440
|
d
|
|
13444
13441
|
), p = n.key_indicators_off_track)), {
|
|
@@ -13768,14 +13765,14 @@ const c1 = (e, n) => {
|
|
|
13768
13765
|
let C = /* @__PURE__ */ t(co, {});
|
|
13769
13766
|
return e.track_type === z.DEBT_TRACK ? C = /* @__PURE__ */ t(Ws, {}) : e.track_type === z.RETIREMENT_TRACK && (C = /* @__PURE__ */ t(Us, {})), /* @__PURE__ */ t(St, { elevation: 2, children: /* @__PURE__ */ l(tc, { disabled: !i, onClick: i, children: [
|
|
13770
13767
|
/* @__PURE__ */ t(
|
|
13771
|
-
|
|
13768
|
+
mn,
|
|
13772
13769
|
{
|
|
13773
13770
|
avatar: /* @__PURE__ */ t(Pt, { sx: { bgcolor: c, color: d, height: 48, width: 48 }, variant: "rounded", children: C }),
|
|
13774
13771
|
subheader: /* @__PURE__ */ t(f, { variant: n || s ? "H3" : "H2", children: `${H(e.current_amount, s ? "0,0" : "0,0.00")} / ${l1(
|
|
13775
13772
|
m,
|
|
13776
13773
|
s
|
|
13777
13774
|
)}` }),
|
|
13778
|
-
title: /* @__PURE__ */ t(
|
|
13775
|
+
title: /* @__PURE__ */ t(hn, { color: "text.secondary", fontWeight: 400, variant: "Body", children: e.name })
|
|
13779
13776
|
}
|
|
13780
13777
|
),
|
|
13781
13778
|
/* @__PURE__ */ t(Ht, { sx: { pt: 0 }, children: /* @__PURE__ */ l(b, { gap: 6, children: [
|
|
@@ -14031,9 +14028,9 @@ const c1 = (e, n) => {
|
|
|
14031
14028
|
/* @__PURE__ */ t(f, { color: "text.secondary", variant: "Small", children: a.ongoing_title }),
|
|
14032
14029
|
/* @__PURE__ */ t(g1, { trackType: e })
|
|
14033
14030
|
] }),
|
|
14034
|
-
c.length > 0 ? /* @__PURE__ */ t(
|
|
14031
|
+
c.length > 0 ? /* @__PURE__ */ t(In, { container: !0, spacing: 24, children: c.map((u, h, m) => (
|
|
14035
14032
|
// Goal should be full width in mobile or if it's the first goal (unless there are 2)
|
|
14036
|
-
/* @__PURE__ */ t(
|
|
14033
|
+
/* @__PURE__ */ t(In, { xs: i || h === 0 && m.length !== 2 ? 12 : 6, children: /* @__PURE__ */ t(Qc, { goal: u, onClick: () => r(u) }, u.guid) }, h)
|
|
14037
14034
|
)) }) : /* @__PURE__ */ l(
|
|
14038
14035
|
b,
|
|
14039
14036
|
{
|
|
@@ -14904,7 +14901,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14904
14901
|
return e.track_type === z.DEBT_TRACK ? d = /* @__PURE__ */ t(Ws, {}) : e.track_type === z.RETIREMENT_TRACK && (d = /* @__PURE__ */ t(Us, {})), /* @__PURE__ */ l(b, { alignItems: "center", direction: "row", spacing: 12, sx: { py: 12 }, children: [
|
|
14905
14902
|
/* @__PURE__ */ t(Pt, { sx: { bgcolor: a, color: o, height: 32, width: 32 }, variant: "rounded", children: d }),
|
|
14906
14903
|
/* @__PURE__ */ l(O, { sx: { width: "100%" }, children: [
|
|
14907
|
-
/* @__PURE__ */ t(
|
|
14904
|
+
/* @__PURE__ */ t(hn, { fontSize: 15, fontWeight: 600, variant: "body1", children: e.name }),
|
|
14908
14905
|
e.projected_to_complete_at && /* @__PURE__ */ t(f, { color: "text.secondary", variant: "XSmall", children: s })
|
|
14909
14906
|
] }),
|
|
14910
14907
|
/* @__PURE__ */ t(
|
|
@@ -14920,7 +14917,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14920
14917
|
)
|
|
14921
14918
|
] });
|
|
14922
14919
|
}), w1 = "data:image/png;base64,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", v1 = "data:image/png;base64,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", D1 = x(({ header: e, subText: n, sx: i }) => {
|
|
14923
|
-
const { goals: a } = T(), { availableWidth: o } =
|
|
14920
|
+
const { goals: a } = T(), { availableWidth: o } = pn(), r = o >= 600, c = Se().palette.mode === "dark";
|
|
14924
14921
|
return /* @__PURE__ */ l(
|
|
14925
14922
|
b,
|
|
14926
14923
|
{
|
|
@@ -14936,7 +14933,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14936
14933
|
r && /* @__PURE__ */ t(O, { children: /* @__PURE__ */ t("img", { alt: a.create_goals_header, src: c ? v1 : w1 }) }),
|
|
14937
14934
|
/* @__PURE__ */ l(b, { sx: { alignItems: r ? "flex-start" : "center" }, children: [
|
|
14938
14935
|
/* @__PURE__ */ t(ld, { size: 32 }),
|
|
14939
|
-
/* @__PURE__ */ t(
|
|
14936
|
+
/* @__PURE__ */ t(hn, { fontSize: 15, fontWeight: 600, children: e }),
|
|
14940
14937
|
/* @__PURE__ */ t(
|
|
14941
14938
|
f,
|
|
14942
14939
|
{
|
|
@@ -15634,7 +15631,7 @@ const Q1 = ({
|
|
|
15634
15631
|
onMouseLeave: o,
|
|
15635
15632
|
selectedData: r
|
|
15636
15633
|
}) => {
|
|
15637
|
-
const { isMobile: s } = be(), { availableWidth: c } =
|
|
15634
|
+
const { isMobile: s } = be(), { availableWidth: c } = pn(), d = Xe(), _ = c - 320, u = e.map((C) => ({
|
|
15638
15635
|
x: On(Ve(C.x), "MMM"),
|
|
15639
15636
|
y: C.y
|
|
15640
15637
|
})), h = r ? { index: e.findIndex((C) => C.x === r.x) } : void 0, m = n ? { index: e.findIndex((C) => C.x === n.x) } : void 0, p = (C) => ({
|
|
@@ -15784,7 +15781,7 @@ const Q1 = ({
|
|
|
15784
15781
|
}), cC = (e, n) => [...e, ...n], rs = (e) => {
|
|
15785
15782
|
if (e && e.length > 0)
|
|
15786
15783
|
return e[e.length - 1];
|
|
15787
|
-
}, lC = (e, n) => e.year_month - n.year_month, dC = () => Array.from({ length: cl }, (e, n) => Math.floor(
|
|
15784
|
+
}, lC = (e, n) => e.year_month - n.year_month, dC = () => Array.from({ length: cl }, (e, n) => Math.floor(Ye(Bt(/* @__PURE__ */ new Date(), n)).getTime() / 1e3)).sort(), uC = (e, n, i) => !e.length || !n.length ? [] : dC().reduceRight((o, r) => {
|
|
15788
15785
|
const s = n.filter(
|
|
15789
15786
|
({ year_month: u }) => u === parseInt(On(Ve(r), "yyyyMM"))
|
|
15790
15787
|
), c = e.map((u) => {
|
|
@@ -16928,13 +16925,13 @@ const ll = x(() => {
|
|
|
16928
16925
|
nextIconButton: {
|
|
16929
16926
|
sx: {
|
|
16930
16927
|
color: "primary.main",
|
|
16931
|
-
"&:hover": { backgroundColor:
|
|
16928
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16932
16929
|
}
|
|
16933
16930
|
},
|
|
16934
16931
|
previousIconButton: {
|
|
16935
16932
|
sx: {
|
|
16936
16933
|
color: "primary.main",
|
|
16937
|
-
"&:hover": { backgroundColor:
|
|
16934
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16938
16935
|
}
|
|
16939
16936
|
}
|
|
16940
16937
|
},
|
|
@@ -16942,7 +16939,7 @@ const ll = x(() => {
|
|
|
16942
16939
|
width: "100%",
|
|
16943
16940
|
"& .MuiIconButton-edgeEnd": {
|
|
16944
16941
|
color: "primary.main",
|
|
16945
|
-
"&:hover": { backgroundColor:
|
|
16942
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16946
16943
|
}
|
|
16947
16944
|
},
|
|
16948
16945
|
value: N()
|
|
@@ -17102,7 +17099,7 @@ const HC = ({
|
|
|
17102
17099
|
"& .MuiDataGrid-columnHeader .MuiIconButton-root": {
|
|
17103
17100
|
color: a.palette.primary.main,
|
|
17104
17101
|
"&:hover": {
|
|
17105
|
-
backgroundColor:
|
|
17102
|
+
backgroundColor: wn(a.palette.primary.main, 0.1)
|
|
17106
17103
|
}
|
|
17107
17104
|
},
|
|
17108
17105
|
"& .MuiDataGrid-sortIcon": {
|
|
@@ -17522,7 +17519,7 @@ const HC = ({
|
|
|
17522
17519
|
);
|
|
17523
17520
|
}
|
|
17524
17521
|
), jC = x(({ rule: e }) => {
|
|
17525
|
-
const { categories: n } = Ue(), { setSelectedGuid: i } =
|
|
17522
|
+
const { categories: n } = Ue(), { setSelectedGuid: i } = Cn(), { deleteTransactionRule: a, setSelectedRule: o } = bt(), { isDesktop: r, isTablet: s } = be(), [c, d] = g.useState(!1), _ = () => {
|
|
17526
17523
|
d(!1), i(null), o(void 0);
|
|
17527
17524
|
}, u = async () => {
|
|
17528
17525
|
await a(), _();
|
|
@@ -17600,7 +17597,7 @@ const HC = ({
|
|
|
17600
17597
|
Co,
|
|
17601
17598
|
{
|
|
17602
17599
|
maxDate: $e(/* @__PURE__ */ new Date()),
|
|
17603
|
-
minDate:
|
|
17600
|
+
minDate: Ye(/* @__PURE__ */ new Date()),
|
|
17604
17601
|
onChange: (S) => {
|
|
17605
17602
|
m(S.getDate());
|
|
17606
17603
|
},
|
|
@@ -18228,7 +18225,7 @@ const HC = ({
|
|
|
18228
18225
|
}
|
|
18229
18226
|
)
|
|
18230
18227
|
] }),
|
|
18231
|
-
/* @__PURE__ */ t(
|
|
18228
|
+
/* @__PURE__ */ t(hn, { color: "text.primary", sx: { mt: 24, whiteSpace: { sm: "nowrap", xs: "wrap" } }, children: r })
|
|
18232
18229
|
] });
|
|
18233
18230
|
}, Gt = ({
|
|
18234
18231
|
altImage: e,
|
|
@@ -20967,7 +20964,7 @@ const HC = ({
|
|
|
20967
20964
|
return /* @__PURE__ */ t(de, { isOpen: i, onClose: o, title: e.request_support, children: /* @__PURE__ */ l(O, { sx: { px: 24 }, children: [
|
|
20968
20965
|
/* @__PURE__ */ t(b, { sx: { alignItems: "center", pb: 24, pt: 80 }, children: /* @__PURE__ */ t(V, { color: "success", fill: !0, name: "check_circle", size: 64 }) }),
|
|
20969
20966
|
/* @__PURE__ */ l(b, { sx: { alignItems: "center", gap: 16, pb: 48 }, children: [
|
|
20970
|
-
/* @__PURE__ */ t(
|
|
20967
|
+
/* @__PURE__ */ t(hn, { children: e.request_support_success }),
|
|
20971
20968
|
/* @__PURE__ */ t(ie, { align: "center", variant: "Body", children: e.request_support_submit_success_message }),
|
|
20972
20969
|
/* @__PURE__ */ t(f, { bold: !0, variant: "Body", children: n })
|
|
20973
20970
|
] }),
|
|
@@ -21580,7 +21577,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21580
21577
|
isOpen: i,
|
|
21581
21578
|
onClose: a
|
|
21582
21579
|
}) => {
|
|
21583
|
-
const { onEvent: o } = X(), { selectedAccountGuids: r } = ue(), { common: s } = T(), { setFilter: c, sortedTransactions: d } =
|
|
21580
|
+
const { onEvent: o } = X(), { selectedAccountGuids: r } = ue(), { common: s } = T(), { setFilter: c, sortedTransactions: d } = Me(), [_, u] = g.useState(""), h = g.useMemo(
|
|
21584
21581
|
() => d.find((p) => p.guid === _),
|
|
21585
21582
|
[_, d]
|
|
21586
21583
|
);
|
|
@@ -21608,7 +21605,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21608
21605
|
}
|
|
21609
21606
|
);
|
|
21610
21607
|
}, fl = x(Uf), Vf = ({ onBackClick: e, sx: n }) => {
|
|
21611
|
-
const { onEvent: i } = X(), { isDesktop: a, isTablet: o, isMobile: r } = be(), { visibleAccounts: s } = ye(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: d, getCategoryName: _ } = Ue(), { sortedTransactions: u } =
|
|
21608
|
+
const { onEvent: i } = X(), { isDesktop: a, isTablet: o, isMobile: r } = be(), { visibleAccounts: s } = ye(), { loadMonthlyCategoryTotals: c, monthlyCategoryTotals: d, getCategoryName: _ } = Ue(), { sortedTransactions: u } = Me(), { selectedDateRange: h, setSelectedDateRange: m } = gi(), { isCopyLoaded: p, isInitialized: C, selectedAccounts: E, setSelectedAccounts: y } = ue(), { trends: S } = T(), [I, v] = g.useState(!1), [w, N] = g.useState(!1), [R, M] = g.useState("Chart"), [k, G] = g.useState(""), [L, W] = g.useState(window.innerHeight), se = L - (r ? 315 : 345);
|
|
21612
21609
|
g.useEffect(() => {
|
|
21613
21610
|
const Q = () => W(window.innerHeight);
|
|
21614
21611
|
return window.addEventListener("resize", Q), () => window.removeEventListener("resize", Q);
|
|
@@ -21782,7 +21779,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21782
21779
|
secondaryLabel: o,
|
|
21783
21780
|
shouldDisplayPercentage: r
|
|
21784
21781
|
}) => {
|
|
21785
|
-
const { availableWidth: s } =
|
|
21782
|
+
const { availableWidth: s } = pn(), c = g.useRef(null), d = g.useRef(null), _ = _i(Number(Math.abs(a)), {
|
|
21786
21783
|
style: "percent",
|
|
21787
21784
|
minimumIntegerDigits: 1
|
|
21788
21785
|
}), u = s === 288 && H(n, "0,0.00").length > 10 ? H(n, "0,0") : H(n, "0,0.00"), h = i === "spending" ? a > 0 : a >= 0, m = i === "spending" ? "error.main" : "success.main", p = i === "spending" ? "success.main" : "text.secondary", C = c?.current, E = d?.current, y = C && E ? C.scrollWidth > E.clientWidth - jf : !1;
|
|
@@ -22120,8 +22117,8 @@ const Jo = {
|
|
|
22120
22117
|
(e, n) => ({
|
|
22121
22118
|
...e,
|
|
22122
22119
|
[bl(n)]: {
|
|
22123
|
-
action:
|
|
22124
|
-
category:
|
|
22120
|
+
action: xn.MICRO_BEAT_CLICKED,
|
|
22121
|
+
category: Tn.BEAT_INTERACTION,
|
|
22125
22122
|
label: er(n),
|
|
22126
22123
|
value: Yt
|
|
22127
22124
|
}
|
|
@@ -22131,8 +22128,8 @@ const Jo = {
|
|
|
22131
22128
|
(e, n) => ({
|
|
22132
22129
|
...e,
|
|
22133
22130
|
[yl(n)]: {
|
|
22134
|
-
action:
|
|
22135
|
-
category:
|
|
22131
|
+
action: xn.MICRO_BEAT_DISPLAYED,
|
|
22132
|
+
category: Tn.BEAT_INTERACTION,
|
|
22136
22133
|
label: er(n),
|
|
22137
22134
|
value: Yt
|
|
22138
22135
|
}
|
|
@@ -22142,18 +22139,18 @@ const Jo = {
|
|
|
22142
22139
|
(e, n) => ({
|
|
22143
22140
|
...e,
|
|
22144
22141
|
[El(n)]: {
|
|
22145
|
-
action:
|
|
22146
|
-
category:
|
|
22142
|
+
action: xn.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
22143
|
+
category: Tn.BEAT_INTERACTION,
|
|
22147
22144
|
label: er(n),
|
|
22148
22145
|
value: Yt
|
|
22149
22146
|
}
|
|
22150
22147
|
}),
|
|
22151
22148
|
{}
|
|
22152
|
-
),
|
|
22149
|
+
), An = {
|
|
22153
22150
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
22154
22151
|
MICRO_WIDGET: "Micro Widget",
|
|
22155
22152
|
VIEW_MORE: "View More"
|
|
22156
|
-
},
|
|
22153
|
+
}, Tn = {
|
|
22157
22154
|
MICRO_WIDGET_INTERACTION: "Micro Widget Interaction",
|
|
22158
22155
|
BEAT_INTERACTION: "Beat Interaction"
|
|
22159
22156
|
}, zt = {
|
|
@@ -22165,7 +22162,7 @@ const Jo = {
|
|
|
22165
22162
|
ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
|
|
22166
22163
|
}, Sl = {
|
|
22167
22164
|
ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
|
|
22168
|
-
},
|
|
22165
|
+
}, xn = {
|
|
22169
22166
|
CONTROL_BACKWARD: "Control Backward",
|
|
22170
22167
|
CONTROL_FORWARD: "Control Forward",
|
|
22171
22168
|
MICRO_BEAT_CLICKED: "Micro Beat Clicked",
|
|
@@ -22179,21 +22176,21 @@ const Jo = {
|
|
|
22179
22176
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
22180
22177
|
}, fs = {
|
|
22181
22178
|
[kn.MICRO_WIDGET_CAROUSEL]: {
|
|
22182
|
-
label:
|
|
22179
|
+
label: An.MICRO_WIDGET,
|
|
22183
22180
|
name: kn.MICRO_WIDGET_CAROUSEL,
|
|
22184
22181
|
path: Cs.INSIGHTS_MICRO_WIDGET,
|
|
22185
22182
|
value: Yt
|
|
22186
22183
|
},
|
|
22187
22184
|
// zero state
|
|
22188
22185
|
[kn.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
22189
|
-
label:
|
|
22186
|
+
label: An.MICRO_WIDGET,
|
|
22190
22187
|
name: kn.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
22191
22188
|
path: Cs.INSIGHTS_MICRO_WIDGET,
|
|
22192
22189
|
value: Yt
|
|
22193
22190
|
},
|
|
22194
22191
|
// no relevant cards
|
|
22195
22192
|
[kn.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS]: {
|
|
22196
|
-
label:
|
|
22193
|
+
label: An.MICRO_WIDGET,
|
|
22197
22194
|
name: kn.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS,
|
|
22198
22195
|
path: "/micro-widget",
|
|
22199
22196
|
value: Yt
|
|
@@ -22201,40 +22198,40 @@ const Jo = {
|
|
|
22201
22198
|
}, bs = {
|
|
22202
22199
|
// carousel control interaction events - clicks and swipes
|
|
22203
22200
|
[zt.ON_CAROUSEL_BACK_CLICK]: {
|
|
22204
|
-
action:
|
|
22205
|
-
category:
|
|
22206
|
-
label:
|
|
22201
|
+
action: xn.CONTROL_BACKWARD,
|
|
22202
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22203
|
+
label: An.CAROUSEL_CONTROL,
|
|
22207
22204
|
value: Yt
|
|
22208
22205
|
},
|
|
22209
22206
|
[zt.ON_CAROUSEL_FORWARD_CLICK]: {
|
|
22210
|
-
action:
|
|
22211
|
-
category:
|
|
22212
|
-
label:
|
|
22207
|
+
action: xn.CONTROL_FORWARD,
|
|
22208
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22209
|
+
label: An.CAROUSEL_CONTROL,
|
|
22213
22210
|
value: Yt
|
|
22214
22211
|
},
|
|
22215
22212
|
[zt.ON_CAROUSEL_BACK_SWIPE]: {
|
|
22216
|
-
action:
|
|
22217
|
-
category:
|
|
22218
|
-
label:
|
|
22213
|
+
action: xn.SWIPE_BACKWARD,
|
|
22214
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22215
|
+
label: An.CAROUSEL_CONTROL,
|
|
22219
22216
|
value: Yt
|
|
22220
22217
|
},
|
|
22221
22218
|
[zt.ON_CAROUSEL_FORWARD_SWIPE]: {
|
|
22222
|
-
action:
|
|
22223
|
-
category:
|
|
22224
|
-
label:
|
|
22219
|
+
action: xn.SWIPE_FORWARD,
|
|
22220
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22221
|
+
label: An.CAROUSEL_CONTROL,
|
|
22225
22222
|
value: Yt
|
|
22226
22223
|
},
|
|
22227
22224
|
// read more card events
|
|
22228
22225
|
[zt.ON_VIEW_MORE_CLICKED]: {
|
|
22229
|
-
action:
|
|
22230
|
-
category:
|
|
22231
|
-
label:
|
|
22226
|
+
action: xn.MICRO_BEAT_CLICKED,
|
|
22227
|
+
category: Tn.BEAT_INTERACTION,
|
|
22228
|
+
label: An.VIEW_MORE,
|
|
22232
22229
|
value: Yt
|
|
22233
22230
|
},
|
|
22234
22231
|
[Sl.ON_VIEW_MORE_VIEWED]: {
|
|
22235
|
-
action:
|
|
22236
|
-
category:
|
|
22237
|
-
label:
|
|
22232
|
+
action: xn.MICRO_BEAT_DISPLAYED,
|
|
22233
|
+
category: Tn.BEAT_INTERACTION,
|
|
22234
|
+
label: An.VIEW_MORE,
|
|
22238
22235
|
value: Yt
|
|
22239
22236
|
},
|
|
22240
22237
|
...Jf(),
|
|
@@ -22389,7 +22386,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
22389
22386
|
},
|
|
22390
22387
|
children: [
|
|
22391
22388
|
/* @__PURE__ */ t(
|
|
22392
|
-
|
|
22389
|
+
mn,
|
|
22393
22390
|
{
|
|
22394
22391
|
avatar: u && s,
|
|
22395
22392
|
subheader: d && R,
|
|
@@ -22448,7 +22445,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
22448
22445
|
size: 16
|
|
22449
22446
|
}
|
|
22450
22447
|
);
|
|
22451
|
-
}, s0 = (e) =>
|
|
22448
|
+
}, s0 = (e) => gn({
|
|
22452
22449
|
marginTop: e.Spacing.XTiny,
|
|
22453
22450
|
"& .kyper-categoryicon": {
|
|
22454
22451
|
display: "flex"
|
|
@@ -23856,7 +23853,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23856
23853
|
},
|
|
23857
23854
|
children: /* @__PURE__ */ t(uo, {})
|
|
23858
23855
|
}
|
|
23859
|
-
),
|
|
23856
|
+
), yn = new i0(), A0 = ({
|
|
23860
23857
|
allowSingleCardPeeking: e,
|
|
23861
23858
|
areBeatsLoading: n,
|
|
23862
23859
|
beats: i = [],
|
|
@@ -23887,15 +23884,15 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23887
23884
|
visibleCardsCount: R = 1,
|
|
23888
23885
|
widthOverrides: M
|
|
23889
23886
|
}) => {
|
|
23890
|
-
const k = Xe(), [G, L] = Tt("STANDARD"), [W, Y] = Tt(!1), se = Xu([_],
|
|
23887
|
+
const k = Xe(), [G, L] = Tt("STANDARD"), [W, Y] = Tt(!1), se = Xu([_], yn), ee = qu([u], yn);
|
|
23891
23888
|
g.useEffect(() => {
|
|
23892
|
-
|
|
23893
|
-
}, [r, I, c,
|
|
23889
|
+
yn.isInitialized || yn.initialize(r, I, c);
|
|
23890
|
+
}, [r, I, c, yn.isInitialized]), g.useEffect(() => {
|
|
23894
23891
|
const ke = window.innerHeight;
|
|
23895
23892
|
ke < 180 ? L("STANDARD") : ke >= 180 && ke < 200 ? L("LARGE") : ke >= 200 && ke < 248 ? L("XLARGE") : ke >= 248 && L("XXLARGE");
|
|
23896
23893
|
}, [window.innerHeight]), g.useEffect(() => {
|
|
23897
|
-
Y(!n &&
|
|
23898
|
-
}, [n,
|
|
23894
|
+
Y(!n && yn.isInitialized);
|
|
23895
|
+
}, [n, yn.isInitialized]);
|
|
23899
23896
|
const ge = {
|
|
23900
23897
|
showCTAColocatedWithText: o,
|
|
23901
23898
|
heightOverrides: s,
|
|
@@ -23914,8 +23911,8 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23914
23911
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
23915
23912
|
/* @__PURE__ */ l(Cd, { theme: k, children: [
|
|
23916
23913
|
/* @__PURE__ */ t(eu, {}),
|
|
23917
|
-
/* @__PURE__ */ t(a0, { onEvent: se, onPageview: ee, store:
|
|
23918
|
-
(n || !
|
|
23914
|
+
/* @__PURE__ */ t(a0, { onEvent: se, onPageview: ee, store: yn, children: /* @__PURE__ */ l(E0, { heightOverrides: s, widthOverrides: M, children: [
|
|
23915
|
+
(n || !yn.isInitialized) && /* @__PURE__ */ t(S0, {}),
|
|
23919
23916
|
W && E && /* @__PURE__ */ t(
|
|
23920
23917
|
y0,
|
|
23921
23918
|
{
|
|
@@ -24151,7 +24148,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
24151
24148
|
}
|
|
24152
24149
|
return s;
|
|
24153
24150
|
}, M0 = ({ selectedDateRange: e, totals: n }) => {
|
|
24154
|
-
const i = Xe(), { trends: a } = T(), { availableHeight: o } =
|
|
24151
|
+
const i = Xe(), { trends: a } = T(), { availableHeight: o } = pn(), { isSmallMobile: r, isMobile: s, isSmallTablet: c, isTablet: d } = be(), _ = [i.palette.chart?.chart1, i.palette.chart?.chart2], u = O0(n, e), h = L0(u, a), [m, p] = g.useState(0), y = s || r ? 195 : c || d ? 458 : m;
|
|
24155
24152
|
return g.useEffect(() => {
|
|
24156
24153
|
o > 0 && m === 0 && p(o - 54);
|
|
24157
24154
|
}, [o, m]), /* @__PURE__ */ t(
|
|
@@ -24175,7 +24172,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
24175
24172
|
}
|
|
24176
24173
|
);
|
|
24177
24174
|
}, k0 = x(M0), G0 = ({ onBackClick: e, onInsightCardClick: n, sx: i }) => {
|
|
24178
|
-
const { onEvent: a } = X(), o = Xe(), { isLargeDesktop: r, isDesktop: s, isMobile: c } = be(), { visibleAccounts: d } = ye(), { loadMonthlyCategoryTotals: _, monthlyCategoryTotals: u } = Ue(), { setFilter: h, sortedTransactions: m } =
|
|
24175
|
+
const { onEvent: a } = X(), o = Xe(), { isLargeDesktop: r, isDesktop: s, isMobile: c } = be(), { visibleAccounts: d } = ye(), { loadMonthlyCategoryTotals: _, monthlyCategoryTotals: u } = Ue(), { setFilter: h, sortedTransactions: m } = Me(), { selectedDateRange: p, setSelectedCategoryData: C, setSelectedDateRange: E } = gi(), {
|
|
24179
24176
|
isCopyLoaded: y,
|
|
24180
24177
|
isInitialized: S,
|
|
24181
24178
|
selectedAccounts: I,
|
|
@@ -24362,7 +24359,7 @@ class B0 {
|
|
|
24362
24359
|
if (!this.selectedCategoryData?.transactions || this.selectedCategoryData.transactions.length === 0)
|
|
24363
24360
|
return [];
|
|
24364
24361
|
const n = [];
|
|
24365
|
-
let i =
|
|
24362
|
+
let i = Ye(this.selectedDateRange.start);
|
|
24366
24363
|
const a = this.selectedDateRange.end;
|
|
24367
24364
|
for (; et(i, a); ) {
|
|
24368
24365
|
const o = this.selectedCategoryData.transactions.filter((r) => {
|
|
@@ -24452,7 +24449,7 @@ class F0 {
|
|
|
24452
24449
|
selectedAccountGuids = this.selectedAccounts.map((n) => n.guid);
|
|
24453
24450
|
displayedDate = /* @__PURE__ */ new Date();
|
|
24454
24451
|
displayedDateRange = {
|
|
24455
|
-
start:
|
|
24452
|
+
start: Ye(this.displayedDate),
|
|
24456
24453
|
end: $e(this.displayedDate)
|
|
24457
24454
|
};
|
|
24458
24455
|
constructor(n) {
|
|
@@ -24616,7 +24613,7 @@ const Va = ({
|
|
|
24616
24613
|
(a) => a.member_guid === i.guid && i.successfully_aggregated_at && a.guid !== n.guid
|
|
24617
24614
|
);
|
|
24618
24615
|
}, V0 = () => {
|
|
24619
|
-
const [e, n] = g.useState(!1), [i, a] = g.useState(!1), [o, r] = g.useState(!1), [s, c] = g.useState({}), { selectedAccount: d } = Ut(), { mergeAccounts: _, updateAccount: u } = ye(), { accounts: h } = T(), m = U0(), { onEvent: p } = X(), { modifyTransactionByAccountGuid: C } =
|
|
24616
|
+
const [e, n] = g.useState(!1), [i, a] = g.useState(!1), [o, r] = g.useState(!1), [s, c] = g.useState({}), { selectedAccount: d } = Ut(), { mergeAccounts: _, updateAccount: u } = ye(), { accounts: h } = T(), m = U0(), { onEvent: p } = X(), { modifyTransactionByAccountGuid: C } = Me(), E = async (S) => {
|
|
24620
24617
|
await u({
|
|
24621
24618
|
...d,
|
|
24622
24619
|
...S
|
|
@@ -25013,7 +25010,7 @@ const Va = ({
|
|
|
25013
25010
|
"& .MuiPickersArrowSwitcher-button": {
|
|
25014
25011
|
color: "primary.lighter",
|
|
25015
25012
|
"&:hover": {
|
|
25016
|
-
backgroundColor: (y) =>
|
|
25013
|
+
backgroundColor: (y) => wn(y.palette.primary.light, 0.1)
|
|
25017
25014
|
}
|
|
25018
25015
|
}
|
|
25019
25016
|
},
|
|
@@ -25162,7 +25159,7 @@ const Va = ({
|
|
|
25162
25159
|
)
|
|
25163
25160
|
] });
|
|
25164
25161
|
}, eb = x(J0), tb = () => {
|
|
25165
|
-
const [e, n] = g.useState(""), { onEvent: i } = X(), { selectedAccount: a } = Ut(), { accounts: o } = T(), { setFilter: r, sortedTransactions: s } =
|
|
25162
|
+
const [e, n] = g.useState(""), { onEvent: i } = X(), { selectedAccount: a } = Ut(), { accounts: o } = T(), { setFilter: r, sortedTransactions: s } = Me(), c = g.useMemo(
|
|
25166
25163
|
() => s.find((d) => d.guid === e),
|
|
25167
25164
|
[e, s]
|
|
25168
25165
|
);
|
|
@@ -25253,7 +25250,7 @@ const Va = ({
|
|
|
25253
25250
|
{
|
|
25254
25251
|
"aria-label": v,
|
|
25255
25252
|
subheader: /* @__PURE__ */ t(Ft, { component: "h2", sx: { backgroundColor: "transparent", px: 24 }, children: /* @__PURE__ */ l(
|
|
25256
|
-
|
|
25253
|
+
Le,
|
|
25257
25254
|
{
|
|
25258
25255
|
component: "span",
|
|
25259
25256
|
direction: "row",
|
|
@@ -25264,7 +25261,7 @@ const Va = ({
|
|
|
25264
25261
|
]
|
|
25265
25262
|
}
|
|
25266
25263
|
) }),
|
|
25267
|
-
children: /* @__PURE__ */ t(
|
|
25264
|
+
children: /* @__PURE__ */ t(Le, { children: S.map((w, N, R) => {
|
|
25268
25265
|
const M = N === R.length - 1;
|
|
25269
25266
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
25270
25267
|
/* @__PURE__ */ t(
|
|
@@ -25310,7 +25307,7 @@ const Va = ({
|
|
|
25310
25307
|
{
|
|
25311
25308
|
"aria-label": i.account_type_accounts[S[0]?.account_type],
|
|
25312
25309
|
subheader: /* @__PURE__ */ t(Ft, { component: "h2", sx: { backgroundColor: "transparent", px: 24 }, children: /* @__PURE__ */ l(
|
|
25313
|
-
|
|
25310
|
+
Le,
|
|
25314
25311
|
{
|
|
25315
25312
|
component: "span",
|
|
25316
25313
|
direction: "row",
|
|
@@ -25321,7 +25318,7 @@ const Va = ({
|
|
|
25321
25318
|
]
|
|
25322
25319
|
}
|
|
25323
25320
|
) }),
|
|
25324
|
-
children: /* @__PURE__ */ t(
|
|
25321
|
+
children: /* @__PURE__ */ t(Le, { children: S.map((v) => {
|
|
25325
25322
|
const w = a.indexOf(v) === a.length - 1, N = S.indexOf(v) === S.length - 1;
|
|
25326
25323
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
25327
25324
|
/* @__PURE__ */ t(
|
|
@@ -26553,7 +26550,7 @@ const Nb = ({
|
|
|
26553
26550
|
shouldShowZeroState: o,
|
|
26554
26551
|
unavailableWidth: r = 24
|
|
26555
26552
|
}) => {
|
|
26556
|
-
const { onEvent: s } = X(), { setSelectedBudget: c } = _t(), { isLoadingCategoryTotals: d } = Ue(), { isInitialized: _ } = ue(), { accounts: u } = T(), { availableWidth: h } =
|
|
26553
|
+
const { onEvent: s } = X(), { setSelectedBudget: c } = _t(), { isLoadingCategoryTotals: d } = Ue(), { isInitialized: _ } = ue(), { accounts: u } = T(), { availableWidth: h } = pn(), { isMobile: m } = be(), [p, C] = g.useState(!1), E = g.useMemo(() => h - r, [h]), y = (I) => {
|
|
26557
26554
|
c(I), s(F.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
26558
26555
|
budget_category: I.category.name,
|
|
26559
26556
|
click_type: "bubble"
|
|
@@ -26725,7 +26722,7 @@ const Nb = ({
|
|
|
26725
26722
|
return g.useEffect(() => {
|
|
26726
26723
|
s(n);
|
|
26727
26724
|
}, [n]), g.useEffect(() => {
|
|
26728
|
-
u && !o && m(h,
|
|
26725
|
+
u && !o && m(h, Ye(/* @__PURE__ */ new Date()), $e(/* @__PURE__ */ new Date())).then(
|
|
26729
26726
|
() => {
|
|
26730
26727
|
r().finally();
|
|
26731
26728
|
}
|
|
@@ -26814,7 +26811,7 @@ const Nb = ({
|
|
|
26814
26811
|
)
|
|
26815
26812
|
] }) });
|
|
26816
26813
|
}), Fb = x(({ category: e, parentBudget: n }) => {
|
|
26817
|
-
const { budgets: i, common: a } = T(), { setExpandedGuid: o, setOnSelect: r } =
|
|
26814
|
+
const { budgets: i, common: a } = T(), { setExpandedGuid: o, setOnSelect: r } = Cn(), { addBudget: s } = _t(), [c, d] = g.useState(!1), [_, u] = g.useState(!1), [h, m] = g.useState(""), [p, C] = g.useState(void 0);
|
|
26818
26815
|
g.useEffect(() => {
|
|
26819
26816
|
r((S) => {
|
|
26820
26817
|
const I = e.subCategories.find((v) => v.guid === S);
|
|
@@ -26866,7 +26863,7 @@ const Nb = ({
|
|
|
26866
26863
|
)
|
|
26867
26864
|
] });
|
|
26868
26865
|
}), Wb = x(({ budget: e }) => {
|
|
26869
|
-
const { category: n, subBudgets: i } = e, { budgets: a, common: o } = T(), { deleteBudget: r, selectedSubBudget: s, setSelectedSubBudget: c, updateBudget: d } = _t(), { filter: _, setFilter: u } =
|
|
26866
|
+
const { category: n, subBudgets: i } = e, { budgets: a, common: o } = T(), { deleteBudget: r, selectedSubBudget: s, setSelectedSubBudget: c, updateBudget: d } = _t(), { filter: _, setFilter: u } = Me(), [h, m] = g.useState(!1), [p, C] = g.useState(!1), [E, y] = g.useState("");
|
|
26870
26867
|
g.useEffect(() => {
|
|
26871
26868
|
s && (y(`${s.amount}`), u({
|
|
26872
26869
|
..._,
|
|
@@ -26951,7 +26948,7 @@ const Nb = ({
|
|
|
26951
26948
|
sortedTransactions: c,
|
|
26952
26949
|
sortedTransactionsWithSplits: d,
|
|
26953
26950
|
tags: _
|
|
26954
|
-
} =
|
|
26951
|
+
} = Me(), [u, h] = g.useState(0), [m, p] = g.useState(""), C = g.useMemo(
|
|
26955
26952
|
() => c.find((I) => I.guid === m),
|
|
26956
26953
|
[m, c]
|
|
26957
26954
|
), E = (I, v) => {
|
|
@@ -27010,7 +27007,7 @@ const Nb = ({
|
|
|
27010
27007
|
setAlert: c,
|
|
27011
27008
|
setSelectedBudget: d,
|
|
27012
27009
|
updateBudget: _
|
|
27013
|
-
} = _t(), { setFilter: u } =
|
|
27010
|
+
} = _t(), { setFilter: u } = Me(), [h, m] = g.useState(!1), [p, C] = g.useState(!1), [E, y] = g.useState(!1), [S, I] = g.useState("");
|
|
27014
27011
|
g.useEffect(() => {
|
|
27015
27012
|
r && !s && (I(`${r.amount}`), m(!0), u({
|
|
27016
27013
|
accounts: e,
|
|
@@ -27118,14 +27115,14 @@ const Nb = ({
|
|
|
27118
27115
|
});
|
|
27119
27116
|
};
|
|
27120
27117
|
return /* @__PURE__ */ l(St, { elevation: 2, children: [
|
|
27121
|
-
/* @__PURE__ */ t(
|
|
27118
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ t(at, { children: n.budget_categories_title }) }),
|
|
27122
27119
|
/* @__PURE__ */ t(Ht, { sx: { p: 0, ":last-child": { p: 0 } }, children: /* @__PURE__ */ t(oe, { children: i.map((r) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
27123
27120
|
/* @__PURE__ */ t(Kb, { budget: r, onClick: o }),
|
|
27124
27121
|
/* @__PURE__ */ t(P, {})
|
|
27125
27122
|
] }, r.guid)) }) })
|
|
27126
27123
|
] });
|
|
27127
27124
|
}), zb = x(() => {
|
|
27128
|
-
const e = Se(), { onEvent: n } = X(), { visibleAccounts: i } = ye(), { budgets: a, common: o, recurring: r } = T(), { incomeCategories: s, spendCategories: c } = Ue(), { detailedBudgets: d, totalBudgeted: _ } = _t(), { incomeTotal: u } = ot(), { setFilter: h } =
|
|
27125
|
+
const e = Se(), { onEvent: n } = X(), { visibleAccounts: i } = ye(), { budgets: a, common: o, recurring: r } = T(), { incomeCategories: s, spendCategories: c } = Ue(), { detailedBudgets: d, totalBudgeted: _ } = _t(), { incomeTotal: u } = ot(), { setFilter: h } = Me(), [m, p] = g.useState(!1), [C, E] = g.useMemo(() => {
|
|
27129
27126
|
const v = c.reduce((M, k) => M + k.totalAmount, 0);
|
|
27130
27127
|
let w = v / _;
|
|
27131
27128
|
w > 1 && (w = 1);
|
|
@@ -27161,7 +27158,7 @@ const Nb = ({
|
|
|
27161
27158
|
}), p(!0), n(F.BUDGETS_CLICK_EDIT_INCOME);
|
|
27162
27159
|
};
|
|
27163
27160
|
return /* @__PURE__ */ l(St, { elevation: 2, sx: { overflow: "visible" }, children: [
|
|
27164
|
-
/* @__PURE__ */ t(
|
|
27161
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ t(at, { children: a.overview_title }) }),
|
|
27165
27162
|
/* @__PURE__ */ t(Ht, { sx: { pt: 12, px: 24 }, children: /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
27166
27163
|
/* @__PURE__ */ l(b, { gap: 8, children: [
|
|
27167
27164
|
/* @__PURE__ */ t(f, { bold: !0, sx: { mb: 8 }, variant: "Body", children: a.spending_title }),
|
|
@@ -27233,7 +27230,7 @@ const Nb = ({
|
|
|
27233
27230
|
Y(!0), a(F.BUDGETS_CLICK_ADD);
|
|
27234
27231
|
}, xe = () => {
|
|
27235
27232
|
Y(!1);
|
|
27236
|
-
}, ke = rn(p.end,
|
|
27233
|
+
}, ke = rn(p.end, Ye(/* @__PURE__ */ new Date()));
|
|
27237
27234
|
return !c || !d || !C ? /* @__PURE__ */ t(_e, {}) : /* @__PURE__ */ l(
|
|
27238
27235
|
ft,
|
|
27239
27236
|
{
|
|
@@ -27463,21 +27460,21 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
27463
27460
|
() => c.filter((u) => u.location === qi.RightSide),
|
|
27464
27461
|
[c]
|
|
27465
27462
|
);
|
|
27466
|
-
return /* @__PURE__ */ l(
|
|
27467
|
-
/* @__PURE__ */ t(
|
|
27468
|
-
/* @__PURE__ */ l(
|
|
27463
|
+
return /* @__PURE__ */ l(In, { container: !0, spacing: a ? 0 : 24, sx: { overflow: "scroll" }, children: [
|
|
27464
|
+
/* @__PURE__ */ t(In, { xs: 12, children: o.isInitialized && /* @__PURE__ */ t(Zb, {}) }),
|
|
27465
|
+
/* @__PURE__ */ l(In, { lg: 8, xs: 12, children: [
|
|
27469
27466
|
/* @__PURE__ */ t(jb, {}),
|
|
27470
27467
|
n && /* @__PURE__ */ l(b, { direction: "column", spacing: 24, children: [
|
|
27471
|
-
/* @__PURE__ */ t(
|
|
27472
|
-
/* @__PURE__ */ t(
|
|
27473
|
-
/* @__PURE__ */ t(
|
|
27468
|
+
/* @__PURE__ */ t(Sn, { height: 100, variant: "rounded", width: "100%" }),
|
|
27469
|
+
/* @__PURE__ */ t(Sn, { height: 300, variant: "rounded", width: "100%" }),
|
|
27470
|
+
/* @__PURE__ */ t(Sn, { height: 300, variant: "rounded", width: "100%" })
|
|
27474
27471
|
] }),
|
|
27475
27472
|
!n && /* @__PURE__ */ t(b, { direction: "column", spacing: 24, children: i ? d.map((u) => /* @__PURE__ */ t(g.Fragment, { children: u.component }, u.index)) : c.map((u) => /* @__PURE__ */ t(g.Fragment, { children: u.component }, u.index)) })
|
|
27476
27473
|
] }),
|
|
27477
|
-
i && /* @__PURE__ */ t(
|
|
27478
|
-
/* @__PURE__ */ t(
|
|
27479
|
-
/* @__PURE__ */ t(
|
|
27480
|
-
/* @__PURE__ */ t(
|
|
27474
|
+
i && /* @__PURE__ */ t(In, { lg: 4, children: n ? /* @__PURE__ */ l(b, { direction: "column", spacing: 24, children: [
|
|
27475
|
+
/* @__PURE__ */ t(Sn, { height: 200, variant: "rounded", width: "100%" }),
|
|
27476
|
+
/* @__PURE__ */ t(Sn, { height: 100, variant: "rounded", width: "100%" }),
|
|
27477
|
+
/* @__PURE__ */ t(Sn, { height: 300, variant: "rounded", width: "100%" })
|
|
27481
27478
|
] }) : /* @__PURE__ */ t(b, { direction: "column", spacing: 24, children: _.map((u) => /* @__PURE__ */ t(g.Fragment, { children: u.component }, u.index)) }) })
|
|
27482
27479
|
] });
|
|
27483
27480
|
}, b4 = x(Qb), tr = ({ sx: e = {} }) => {
|
|
@@ -28117,7 +28114,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28117
28114
|
onClose: d,
|
|
28118
28115
|
title: _.overview.investment_details,
|
|
28119
28116
|
children: [
|
|
28120
|
-
/* @__PURE__ */ l(
|
|
28117
|
+
/* @__PURE__ */ l(Le, { sx: { gap: 8, p: 24 }, children: [
|
|
28121
28118
|
/* @__PURE__ */ t(
|
|
28122
28119
|
Et,
|
|
28123
28120
|
{
|
|
@@ -28128,7 +28125,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28128
28125
|
),
|
|
28129
28126
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "Small", children: e.accounts.memberName }),
|
|
28130
28127
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "H2", children: e.accounts.user_name || e.accounts.name }),
|
|
28131
|
-
/* @__PURE__ */ l(
|
|
28128
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", flexDirection: "row", justifyContent: "space-between" }, children: [
|
|
28132
28129
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: _.overview.current_balance }),
|
|
28133
28130
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: e.accounts.balance?.toLocaleString("en-US", {
|
|
28134
28131
|
currency: "USD",
|
|
@@ -28139,7 +28136,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28139
28136
|
] })
|
|
28140
28137
|
] }),
|
|
28141
28138
|
/* @__PURE__ */ l(
|
|
28142
|
-
|
|
28139
|
+
Le,
|
|
28143
28140
|
{
|
|
28144
28141
|
sx: {
|
|
28145
28142
|
bgcolor: "background.default",
|
|
@@ -28180,10 +28177,10 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28180
28177
|
borderColor: "border.main"
|
|
28181
28178
|
}
|
|
28182
28179
|
],
|
|
28183
|
-
children: /* @__PURE__ */ l(
|
|
28180
|
+
children: /* @__PURE__ */ l(Le, { sx: { flexDirection: "row", width: "100%" }, children: [
|
|
28184
28181
|
/* @__PURE__ */ t("div", { style: { width: 24 } }),
|
|
28185
28182
|
/* @__PURE__ */ l(
|
|
28186
|
-
|
|
28183
|
+
Le,
|
|
28187
28184
|
{
|
|
28188
28185
|
sx: [
|
|
28189
28186
|
{
|
|
@@ -28201,21 +28198,21 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28201
28198
|
],
|
|
28202
28199
|
children: [
|
|
28203
28200
|
/* @__PURE__ */ t(
|
|
28204
|
-
|
|
28201
|
+
Le,
|
|
28205
28202
|
{
|
|
28206
28203
|
sx: {
|
|
28207
28204
|
alignItems: "center",
|
|
28208
28205
|
flexDirection: "row",
|
|
28209
28206
|
gap: 12
|
|
28210
28207
|
},
|
|
28211
|
-
children: /* @__PURE__ */ l(
|
|
28208
|
+
children: /* @__PURE__ */ l(Le, { sx: { overflow: "hidden", width: 98 }, children: [
|
|
28212
28209
|
/* @__PURE__ */ t(f, { sx: { fontWeight: 600 }, variant: "Body", children: p.holding }),
|
|
28213
28210
|
/* @__PURE__ */ t(f, { variant: "XSmall", children: p.description })
|
|
28214
28211
|
] })
|
|
28215
28212
|
}
|
|
28216
28213
|
),
|
|
28217
28214
|
/* @__PURE__ */ l(
|
|
28218
|
-
|
|
28215
|
+
Le,
|
|
28219
28216
|
{
|
|
28220
28217
|
sx: {
|
|
28221
28218
|
alignItems: "center",
|
|
@@ -28225,14 +28222,14 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28225
28222
|
justifyContent: "flex-end"
|
|
28226
28223
|
},
|
|
28227
28224
|
children: [
|
|
28228
|
-
/* @__PURE__ */ l(
|
|
28225
|
+
/* @__PURE__ */ l(Le, { children: [
|
|
28229
28226
|
/* @__PURE__ */ t(f, { sx: { fontWeight: 600, textAlign: "right" }, variant: "Body", children: p.marketValue?.toLocaleString("en-US", {
|
|
28230
28227
|
currency: "USD",
|
|
28231
28228
|
maximumFractionDigits: 2,
|
|
28232
28229
|
minimumFractionDigits: 2,
|
|
28233
28230
|
style: "currency"
|
|
28234
28231
|
}) }),
|
|
28235
|
-
/* @__PURE__ */ l(
|
|
28232
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", gap: 2, flexDirection: "row" }, children: [
|
|
28236
28233
|
p.totalGainLoss !== 0 && /* @__PURE__ */ t(
|
|
28237
28234
|
pt,
|
|
28238
28235
|
{
|
|
@@ -28292,7 +28289,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28292
28289
|
}
|
|
28293
28290
|
),
|
|
28294
28291
|
/* @__PURE__ */ t(Pi, { children: /* @__PURE__ */ l(
|
|
28295
|
-
|
|
28292
|
+
Le,
|
|
28296
28293
|
{
|
|
28297
28294
|
sx: {
|
|
28298
28295
|
alignItems: "center",
|
|
@@ -28301,10 +28298,10 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28301
28298
|
pl: 24
|
|
28302
28299
|
},
|
|
28303
28300
|
children: [
|
|
28304
|
-
/* @__PURE__ */ t(
|
|
28305
|
-
/* @__PURE__ */ l(
|
|
28301
|
+
/* @__PURE__ */ t(Le, { sx: { width: 32 } }),
|
|
28302
|
+
/* @__PURE__ */ l(Le, { sx: { flex: 1 }, children: [
|
|
28306
28303
|
/* @__PURE__ */ l(
|
|
28307
|
-
|
|
28304
|
+
Le,
|
|
28308
28305
|
{
|
|
28309
28306
|
sx: {
|
|
28310
28307
|
alignItems: "center",
|
|
@@ -28322,7 +28319,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28322
28319
|
}
|
|
28323
28320
|
),
|
|
28324
28321
|
/* @__PURE__ */ l(
|
|
28325
|
-
|
|
28322
|
+
Le,
|
|
28326
28323
|
{
|
|
28327
28324
|
sx: {
|
|
28328
28325
|
alignItems: "center",
|
|
@@ -28334,7 +28331,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28334
28331
|
children: [
|
|
28335
28332
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "Body", children: _.overview.cost_basis_header }),
|
|
28336
28333
|
/* @__PURE__ */ l(
|
|
28337
|
-
|
|
28334
|
+
Le,
|
|
28338
28335
|
{
|
|
28339
28336
|
direction: "row",
|
|
28340
28337
|
sx: {
|
|
@@ -28608,8 +28605,8 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28608
28605
|
}, 0), ze = () => {
|
|
28609
28606
|
o(!1);
|
|
28610
28607
|
};
|
|
28611
|
-
return C ? /* @__PURE__ */ l(
|
|
28612
|
-
!!ge.length && /* @__PURE__ */ l(
|
|
28608
|
+
return C ? /* @__PURE__ */ l(Le, { sx: { alignItems: "center", gap: 48, pt: 48, width: "100%" }, children: [
|
|
28609
|
+
!!ge.length && /* @__PURE__ */ l(Le, { sx: { alignItems: "center" }, children: [
|
|
28613
28610
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, children: p.overview.total_portfolio }),
|
|
28614
28611
|
/* @__PURE__ */ t(Zt, { children: xe.toLocaleString("en-US", {
|
|
28615
28612
|
currency: "USD",
|
|
@@ -28617,7 +28614,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28617
28614
|
minimumFractionDigits: 2,
|
|
28618
28615
|
style: "currency"
|
|
28619
28616
|
}) }),
|
|
28620
|
-
/* @__PURE__ */ l(
|
|
28617
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
|
|
28621
28618
|
/* @__PURE__ */ t(
|
|
28622
28619
|
pt,
|
|
28623
28620
|
{
|
|
@@ -28669,7 +28666,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28669
28666
|
overflow: "hidden"
|
|
28670
28667
|
},
|
|
28671
28668
|
children: /* @__PURE__ */ l(
|
|
28672
|
-
|
|
28669
|
+
Le,
|
|
28673
28670
|
{
|
|
28674
28671
|
sx: {
|
|
28675
28672
|
border: 1,
|
|
@@ -28682,7 +28679,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28682
28679
|
},
|
|
28683
28680
|
children: [
|
|
28684
28681
|
/* @__PURE__ */ l(
|
|
28685
|
-
|
|
28682
|
+
Le,
|
|
28686
28683
|
{
|
|
28687
28684
|
sx: {
|
|
28688
28685
|
alignItems: "center",
|
|
@@ -28702,7 +28699,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28702
28699
|
size: 32
|
|
28703
28700
|
}
|
|
28704
28701
|
),
|
|
28705
|
-
/* @__PURE__ */ l(
|
|
28702
|
+
/* @__PURE__ */ l(Le, { sx: { overflow: "hidden", pl: 13, pr: 13 }, children: [
|
|
28706
28703
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: K.memberName }),
|
|
28707
28704
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: K.user_name || K.name })
|
|
28708
28705
|
] })
|
|
@@ -28710,7 +28707,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28710
28707
|
}
|
|
28711
28708
|
),
|
|
28712
28709
|
/* @__PURE__ */ l(
|
|
28713
|
-
|
|
28710
|
+
Le,
|
|
28714
28711
|
{
|
|
28715
28712
|
sx: {
|
|
28716
28713
|
alignItems: "center",
|
|
@@ -28721,7 +28718,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28721
28718
|
},
|
|
28722
28719
|
children: [
|
|
28723
28720
|
/* @__PURE__ */ l(
|
|
28724
|
-
|
|
28721
|
+
Le,
|
|
28725
28722
|
{
|
|
28726
28723
|
sx: {
|
|
28727
28724
|
alignItems: "center",
|
|
@@ -28737,7 +28734,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28737
28734
|
children: [
|
|
28738
28735
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary", fontSize: 11 }, variant: "Small", children: p.overview.total_gain_Loss }),
|
|
28739
28736
|
/* @__PURE__ */ l(
|
|
28740
|
-
|
|
28737
|
+
Le,
|
|
28741
28738
|
{
|
|
28742
28739
|
sx: {
|
|
28743
28740
|
alignItems: "center",
|
|
@@ -28792,7 +28789,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28792
28789
|
}
|
|
28793
28790
|
),
|
|
28794
28791
|
/* @__PURE__ */ l(
|
|
28795
|
-
|
|
28792
|
+
Le,
|
|
28796
28793
|
{
|
|
28797
28794
|
sx: {
|
|
28798
28795
|
alignItems: "center",
|
|
@@ -28851,7 +28848,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28851
28848
|
],
|
|
28852
28849
|
children: [
|
|
28853
28850
|
/* @__PURE__ */ l(
|
|
28854
|
-
|
|
28851
|
+
Le,
|
|
28855
28852
|
{
|
|
28856
28853
|
sx: {
|
|
28857
28854
|
alignItems: "center",
|
|
@@ -28870,18 +28867,18 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28870
28867
|
size: 32
|
|
28871
28868
|
}
|
|
28872
28869
|
),
|
|
28873
|
-
/* @__PURE__ */ l(
|
|
28870
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "flex-start" }, children: [
|
|
28874
28871
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: K.memberName }),
|
|
28875
28872
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: K.user_name || K.name })
|
|
28876
28873
|
] })
|
|
28877
28874
|
]
|
|
28878
28875
|
}
|
|
28879
28876
|
),
|
|
28880
|
-
/* @__PURE__ */ l(
|
|
28881
|
-
/* @__PURE__ */ l(
|
|
28877
|
+
/* @__PURE__ */ l(Le, { sx: { flexDirection: "row" }, children: [
|
|
28878
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "flex-end", pb: 14, pl: 24, pr: 24, pt: 14 }, children: [
|
|
28882
28879
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: p.overview.total_gain_Loss }),
|
|
28883
28880
|
/* @__PURE__ */ l(
|
|
28884
|
-
|
|
28881
|
+
Le,
|
|
28885
28882
|
{
|
|
28886
28883
|
sx: {
|
|
28887
28884
|
alignItems: "center",
|
|
@@ -28933,7 +28930,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28933
28930
|
}
|
|
28934
28931
|
)
|
|
28935
28932
|
] }),
|
|
28936
|
-
/* @__PURE__ */ t(
|
|
28933
|
+
/* @__PURE__ */ t(Le, { sx: { alignItems: "flex-end", gap: 12, pb: 14, pl: 16, pr: 16, pt: 14 }, children: /* @__PURE__ */ l(Le, { sx: { alignItems: "flex-end" }, children: [
|
|
28937
28934
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: p.overview.total_value }),
|
|
28938
28935
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: Ae?.toLocaleString("en-US", {
|
|
28939
28936
|
currency: "USD",
|
|
@@ -29245,7 +29242,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29245
29242
|
g.useEffect(() => {
|
|
29246
29243
|
c(
|
|
29247
29244
|
a,
|
|
29248
|
-
|
|
29245
|
+
Ye(/* @__PURE__ */ new Date()),
|
|
29249
29246
|
$e(/* @__PURE__ */ new Date())
|
|
29250
29247
|
).finally();
|
|
29251
29248
|
}, [a]);
|
|
@@ -29472,7 +29469,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29472
29469
|
e.palette.chartMono.chartMono1,
|
|
29473
29470
|
e.palette.chartMono.chartMono6
|
|
29474
29471
|
], vy = () => {
|
|
29475
|
-
const e = ln(), { clientConfig: n } = It(), { categories: i, dateRangeCategoryTotals: a, loadDateRangeCategoryTotals: o } = Ue(), { goals: r, spending: s } = T(), { displayedDateRange: c, selectedAccounts: d, selectedAccountGuids: _ } = ue(), { setFilter: u, sortedTransactions: h } =
|
|
29472
|
+
const e = ln(), { clientConfig: n } = It(), { categories: i, dateRangeCategoryTotals: a, loadDateRangeCategoryTotals: o } = Ue(), { goals: r, spending: s } = T(), { displayedDateRange: c, selectedAccounts: d, selectedAccountGuids: _ } = ue(), { setFilter: u, sortedTransactions: h } = Me(), m = n?.master?.deep_link_params?.account_guids, p = n?.master?.deep_link_params?.view, [C, E] = g.useState(""), [y, S] = g.useState(p === "income" ? 1 : 0), [I, v] = g.useState(""), [w, N] = g.useState(!1);
|
|
29476
29473
|
g.useEffect(() => {
|
|
29477
29474
|
o(
|
|
29478
29475
|
d,
|
|
@@ -29590,7 +29587,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29590
29587
|
g.useEffect(() => {
|
|
29591
29588
|
c(i);
|
|
29592
29589
|
}, [i]), g.useEffect(() => {
|
|
29593
|
-
u && Array.isArray(u) && u.length === 2 ? s(u[0], u[1]) : s(
|
|
29590
|
+
u && Array.isArray(u) && u.length === 2 ? s(u[0], u[1]) : s(Ye(we()), $e(we())), m(!0), d(F.SPENDING_VIEW);
|
|
29594
29591
|
}, []);
|
|
29595
29592
|
const p = (C) => {
|
|
29596
29593
|
s(C[0], C[1]);
|
|
@@ -29849,7 +29846,7 @@ export {
|
|
|
29849
29846
|
_t as useBudgetsStore,
|
|
29850
29847
|
wo as useCashflowStore,
|
|
29851
29848
|
Ue as useCategoryStore,
|
|
29852
|
-
|
|
29849
|
+
Cn as useCategoryUiStore,
|
|
29853
29850
|
Xu as useCombineEvents,
|
|
29854
29851
|
qu as useCombinePageviews,
|
|
29855
29852
|
ya as useDebtStore,
|
|
@@ -29871,10 +29868,10 @@ export {
|
|
|
29871
29868
|
ot as useRecurringTransactionsStore,
|
|
29872
29869
|
be as useScreenSize,
|
|
29873
29870
|
bt as useSettingsStore,
|
|
29874
|
-
|
|
29871
|
+
Me as useTransactionStore,
|
|
29875
29872
|
Ot as useTransactionsUiStore,
|
|
29876
29873
|
gi as useTrendsStore,
|
|
29877
29874
|
Ct as useUserStore,
|
|
29878
|
-
|
|
29875
|
+
pn as useWidgetContainerProvider
|
|
29879
29876
|
};
|
|
29880
29877
|
//# sourceMappingURL=index.es.js.map
|