@mx-cartographer/experiences 6.26.3-alpha.sms8 → 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
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,
|
|
@@ -5460,30 +5460,22 @@ const Ac = (e, n) => {
|
|
|
5460
5460
|
}, fh = (e) => {
|
|
5461
5461
|
let n = e.parent_guid ? "Split: " : "";
|
|
5462
5462
|
return n += e.is_hidden ? "(Excluded) " : "", n += e.description, n;
|
|
5463
|
-
}, bh = (e, n) => e.tags.map((i) => n.filter((o) => o.guid === i)[0]?.name ?? "").join(" "), yh = "uncategorized", Eh = ({
|
|
5464
|
-
filter: e,
|
|
5465
|
-
expandedSplits: n,
|
|
5466
|
-
sortColumn: i,
|
|
5467
|
-
sortDirection: a,
|
|
5468
|
-
tags: o,
|
|
5469
|
-
transactions: r
|
|
5470
|
-
}) => {
|
|
5471
|
-
console.log("exp transactions", r);
|
|
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) => {
|
|
5472
5464
|
const s = Sh(e, o, r);
|
|
5473
5465
|
console.log("exp filteredTransactions", s);
|
|
5474
5466
|
const c = Ah(s, i, a);
|
|
5475
|
-
return
|
|
5467
|
+
return n.forEach((d) => {
|
|
5476
5468
|
const _ = c.findIndex((h) => h.guid === d), u = r.filter((h) => h.parent_guid === d);
|
|
5477
5469
|
c.splice(_ + 1, 0, ...u);
|
|
5478
|
-
}),
|
|
5470
|
+
}), c;
|
|
5479
5471
|
}, Sh = (e, n, i) => {
|
|
5480
5472
|
const {
|
|
5481
5473
|
accounts: a = [],
|
|
5482
|
-
dateRange: o
|
|
5474
|
+
dateRange: o,
|
|
5483
5475
|
custom: r = () => !0,
|
|
5484
5476
|
searchTerm: s = ""
|
|
5485
5477
|
} = e;
|
|
5486
|
-
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) => {
|
|
5487
5479
|
if (s === yh && c.has_been_split)
|
|
5488
5480
|
return !1;
|
|
5489
5481
|
if (/^spl/i.test(s) && (c.has_been_split || c.parent_guid))
|
|
@@ -5532,7 +5524,7 @@ const Tc = {
|
|
|
5532
5524
|
tags: []
|
|
5533
5525
|
};
|
|
5534
5526
|
let vh = class {
|
|
5535
|
-
beginDate =
|
|
5527
|
+
beginDate = Ye(/* @__PURE__ */ new Date());
|
|
5536
5528
|
endDate = $e(/* @__PURE__ */ new Date());
|
|
5537
5529
|
expandedSplits = [];
|
|
5538
5530
|
isInitialized = !1;
|
|
@@ -5597,25 +5589,25 @@ class Dh {
|
|
|
5597
5589
|
transactions: a
|
|
5598
5590
|
} = {}) => {
|
|
5599
5591
|
await Promise.all([
|
|
5600
|
-
this.loadAssociatedBeats(
|
|
5592
|
+
this.loadAssociatedBeats(Ye(/* @__PURE__ */ new Date()), n),
|
|
5601
5593
|
this.loadTags(),
|
|
5602
5594
|
this.loadTaggings(),
|
|
5603
5595
|
this.loadTransactionRules(i),
|
|
5604
5596
|
// By default loads 90 days of transactions
|
|
5605
|
-
this.loadTransactions(this.cachedStartDate,
|
|
5597
|
+
this.loadTransactions(this.cachedStartDate, vn(), a)
|
|
5606
5598
|
]), J(() => {
|
|
5607
5599
|
this.uiStore.setIsInitialized(!0);
|
|
5608
5600
|
});
|
|
5609
5601
|
};
|
|
5610
5602
|
get sortedTransactions() {
|
|
5611
|
-
return
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5603
|
+
return Eh(
|
|
5604
|
+
this.filter,
|
|
5605
|
+
this.uiStore.expandedSplits,
|
|
5606
|
+
this.sortColumn,
|
|
5607
|
+
this.sortDirection,
|
|
5608
|
+
this.tags,
|
|
5609
|
+
this.transactions
|
|
5610
|
+
);
|
|
5619
5611
|
}
|
|
5620
5612
|
get sortedTransactionsWithSplits() {
|
|
5621
5613
|
return mh(this.sortedTransactions, this.rawTransactions);
|
|
@@ -5673,7 +5665,7 @@ class Dh {
|
|
|
5673
5665
|
const i = n ?? await this.api.getTransactionRules();
|
|
5674
5666
|
J(() => this.transactionRules = i);
|
|
5675
5667
|
};
|
|
5676
|
-
loadTransactions = async (n = this.cachedStartDate, i =
|
|
5668
|
+
loadTransactions = async (n = this.cachedStartDate, i = vn(), a) => {
|
|
5677
5669
|
this.setIsLoading(!0), this.rawTransactions = [];
|
|
5678
5670
|
try {
|
|
5679
5671
|
const o = a ?? await this.api.getTransactionsByDateRange(Fe(n), Fe(i));
|
|
@@ -5712,7 +5704,7 @@ class Dh {
|
|
|
5712
5704
|
}
|
|
5713
5705
|
};
|
|
5714
5706
|
setFilter = (n) => {
|
|
5715
|
-
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(() => {
|
|
5716
5708
|
n.dateRange && (this.cachedStartDate = n.dateRange.start);
|
|
5717
5709
|
});
|
|
5718
5710
|
};
|
|
@@ -5778,7 +5770,7 @@ class Dh {
|
|
|
5778
5770
|
const Ot = () => {
|
|
5779
5771
|
if (!g.useContext(ti))
|
|
5780
5772
|
throw new Error("useTransactionsUiStore() must be used within the GlobalDataContext");
|
|
5781
|
-
return
|
|
5773
|
+
return Me().uiStore;
|
|
5782
5774
|
};
|
|
5783
5775
|
function Nh() {
|
|
5784
5776
|
return window.opener && window.opener.location ? window.opener.location.toString() : document.referrer;
|
|
@@ -5795,7 +5787,7 @@ function Oh(e) {
|
|
|
5795
5787
|
});
|
|
5796
5788
|
}
|
|
5797
5789
|
const Lh = ({ transaction: e, onClick: n }) => {
|
|
5798
|
-
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]);
|
|
5799
5791
|
return (
|
|
5800
5792
|
//TODO: implement common/components/ListItemRow.tsx
|
|
5801
5793
|
/* @__PURE__ */ l(
|
|
@@ -5887,54 +5879,52 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
5887
5879
|
width: c = "100%",
|
|
5888
5880
|
zeroState: d = /* @__PURE__ */ t(kh, {})
|
|
5889
5881
|
}) => {
|
|
5890
|
-
const { isLoading: _, sortedTransactions: u } =
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
if (N?.has_been_split) {
|
|
5895
|
-
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);
|
|
5896
5886
|
return;
|
|
5897
5887
|
}
|
|
5898
|
-
|
|
5899
|
-
account_guid:
|
|
5900
|
-
transaction_guid:
|
|
5901
|
-
}), a?.(
|
|
5902
|
-
},
|
|
5903
|
-
count:
|
|
5904
|
-
getScrollElement: () =>
|
|
5905
|
-
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),
|
|
5906
5896
|
overscan: 5
|
|
5907
5897
|
});
|
|
5908
|
-
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(
|
|
5909
5899
|
O,
|
|
5910
5900
|
{
|
|
5911
5901
|
height: (
|
|
5912
5902
|
// set the height to auto when there are no transactions so the zero state isn't set to 0
|
|
5913
|
-
|
|
5903
|
+
I.getVirtualItems().length === 0 ? "auto" : I.getTotalSize()
|
|
5914
5904
|
),
|
|
5915
5905
|
position: "relative",
|
|
5916
5906
|
width: "100%",
|
|
5917
5907
|
children: [
|
|
5918
5908
|
(_ || r) && i,
|
|
5919
|
-
!_ && !r &&
|
|
5920
|
-
!_ && !r &&
|
|
5921
|
-
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);
|
|
5922
5912
|
return /* @__PURE__ */ l(
|
|
5923
5913
|
O,
|
|
5924
5914
|
{
|
|
5925
5915
|
sx: {
|
|
5926
|
-
height:
|
|
5916
|
+
height: M,
|
|
5927
5917
|
position: "absolute",
|
|
5928
|
-
transform: `translateY(${
|
|
5918
|
+
transform: `translateY(${v.start}px)`,
|
|
5929
5919
|
width: "100%"
|
|
5930
5920
|
},
|
|
5931
5921
|
children: [
|
|
5932
|
-
|
|
5933
|
-
/* @__PURE__ */ t(Mo, { onClick:
|
|
5934
|
-
/* @__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 } })
|
|
5935
5925
|
]
|
|
5936
5926
|
},
|
|
5937
|
-
|
|
5927
|
+
w.guid
|
|
5938
5928
|
);
|
|
5939
5929
|
})
|
|
5940
5930
|
]
|
|
@@ -5944,7 +5934,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
5944
5934
|
`${e.row.account}`,
|
|
5945
5935
|
e.row.number && ` | ${e.row.number}`
|
|
5946
5936
|
] }), Ph = (e) => {
|
|
5947
|
-
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;
|
|
5948
5938
|
return /* @__PURE__ */ l(b, { alignItems: "flex-end", tabIndex: e.tabIndex, children: [
|
|
5949
5939
|
/* @__PURE__ */ l(f, { color: s ? "success.main" : "text.primary", variant: "Small", children: [
|
|
5950
5940
|
s ? "+" : "",
|
|
@@ -6013,7 +6003,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
6013
6003
|
onCategoryClick: n,
|
|
6014
6004
|
onRowClick: i
|
|
6015
6005
|
}) => {
|
|
6016
|
-
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();
|
|
6017
6007
|
g.useEffect(() => () => c(), []);
|
|
6018
6008
|
const _ = g.useMemo(
|
|
6019
6009
|
() => s.map((m) => ({
|
|
@@ -6099,7 +6089,7 @@ const Lh = ({ transaction: e, onClick: n }) => {
|
|
|
6099
6089
|
}
|
|
6100
6090
|
}
|
|
6101
6091
|
) });
|
|
6102
|
-
}, jh = x(zh),
|
|
6092
|
+
}, jh = x(zh), Cn = () => {
|
|
6103
6093
|
if (!g.useContext(ti))
|
|
6104
6094
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
6105
6095
|
return Ue().uiStore;
|
|
@@ -6124,7 +6114,7 @@ const $h = ({
|
|
|
6124
6114
|
isOpen: a,
|
|
6125
6115
|
type: o
|
|
6126
6116
|
}) => {
|
|
6127
|
-
const [r, s] = g.useState(e), { categories: c } = T(), { setShouldDisableDrawerScroll: d } =
|
|
6117
|
+
const [r, s] = g.useState(e), { categories: c } = T(), { setShouldDisableDrawerScroll: d } = Cn();
|
|
6128
6118
|
let _ = "", u = [];
|
|
6129
6119
|
const h = o === "delete";
|
|
6130
6120
|
switch (o) {
|
|
@@ -6169,7 +6159,7 @@ const $h = ({
|
|
|
6169
6159
|
}
|
|
6170
6160
|
);
|
|
6171
6161
|
}, ko = x($h), Xh = ({ parentCategory: e }) => {
|
|
6172
|
-
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) => {
|
|
6173
6163
|
await a(u.trim(), e.guid), r(Xt.ON_SUBCATEGORY_ADDED), i(!1);
|
|
6174
6164
|
}, d = async () => {
|
|
6175
6165
|
r(Xt.ON_SUBCATEGORY_ADD_CLICK), s(!0), i(!0);
|
|
@@ -6244,7 +6234,7 @@ const $h = ({
|
|
|
6244
6234
|
showSelected: s,
|
|
6245
6235
|
unselectable: c,
|
|
6246
6236
|
unselectableText: d
|
|
6247
|
-
} =
|
|
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);
|
|
6248
6238
|
return /* @__PURE__ */ l(
|
|
6249
6239
|
$,
|
|
6250
6240
|
{
|
|
@@ -6319,7 +6309,7 @@ const $h = ({
|
|
|
6319
6309
|
}
|
|
6320
6310
|
);
|
|
6321
6311
|
}, ng = x(tg), ig = ({ categories: e, parentCategory: n }) => {
|
|
6322
|
-
const { expandedGuid: i, searchValue: a } =
|
|
6312
|
+
const { expandedGuid: i, searchValue: a } = Cn(), o = n.guid === i, r = !!a;
|
|
6323
6313
|
return /* @__PURE__ */ t(
|
|
6324
6314
|
ei,
|
|
6325
6315
|
{
|
|
@@ -6345,7 +6335,7 @@ const $h = ({
|
|
|
6345
6335
|
}
|
|
6346
6336
|
);
|
|
6347
6337
|
}, ag = x(ig), og = ({ category: e, subCategories: n }) => {
|
|
6348
|
-
const { expandedGuid: i, searchValue: a, setExpandedGuid: o } =
|
|
6338
|
+
const { expandedGuid: i, searchValue: a, setExpandedGuid: o } = Cn(), { onEvent: r } = X(), s = e.guid === i, c = () => {
|
|
6349
6339
|
const d = e.guid !== i ? e.guid : null;
|
|
6350
6340
|
o(d), r(d ? Xt.ON_CATEGORY_EXPANDED : Xt.ON_CATEGORY_COLLAPSED);
|
|
6351
6341
|
};
|
|
@@ -6384,7 +6374,7 @@ const $h = ({
|
|
|
6384
6374
|
/* @__PURE__ */ t(ag, { categories: n, parentCategory: e })
|
|
6385
6375
|
] });
|
|
6386
6376
|
}, xc = x(og), rg = () => {
|
|
6387
|
-
const { categories: e } = Ue(), { searchValue: n } =
|
|
6377
|
+
const { categories: e } = Ue(), { searchValue: n } = Cn(), { categories: i } = T(), o = ((r, s = "") => r.reduce((c, d) => {
|
|
6388
6378
|
if (d.parent_guid === null) {
|
|
6389
6379
|
const u = [
|
|
6390
6380
|
{
|
|
@@ -6424,7 +6414,7 @@ const $h = ({
|
|
|
6424
6414
|
setShowSelected: p,
|
|
6425
6415
|
setUnselectable: C,
|
|
6426
6416
|
setUnselectableText: E
|
|
6427
|
-
} =
|
|
6417
|
+
} = Cn();
|
|
6428
6418
|
return g.useEffect(() => {
|
|
6429
6419
|
n && u(n);
|
|
6430
6420
|
}), g.useEffect(() => {
|
|
@@ -6511,7 +6501,7 @@ const $h = ({
|
|
|
6511
6501
|
}, Pr = (e) => {
|
|
6512
6502
|
const n = [], i = we();
|
|
6513
6503
|
for (let a = 0; a <= Br; a++) {
|
|
6514
|
-
const o =
|
|
6504
|
+
const o = Ye(Bt(i, Br - a)), s = e.filter(
|
|
6515
6505
|
(c) => c.year_month === Number(On(o, "yyyyMM"))
|
|
6516
6506
|
).reduce((c, d) => c + d.total, 0);
|
|
6517
6507
|
n.push({
|
|
@@ -6613,7 +6603,7 @@ class gg {
|
|
|
6613
6603
|
}
|
|
6614
6604
|
};
|
|
6615
6605
|
loadMonthlyCategoryTotals = async (n = this.globalStore.globalUiStore.selectedAccounts, i, a) => {
|
|
6616
|
-
const o = Fe(
|
|
6606
|
+
const o = Fe(Ye(i ?? Bt(/* @__PURE__ */ new Date(), 11))), r = Fe($e(a ?? /* @__PURE__ */ new Date()));
|
|
6617
6607
|
try {
|
|
6618
6608
|
const s = await this.api.getMonthlyCategoryTotals(o, r, n);
|
|
6619
6609
|
J(() => {
|
|
@@ -6631,7 +6621,7 @@ class gg {
|
|
|
6631
6621
|
Fe(a),
|
|
6632
6622
|
n
|
|
6633
6623
|
), r = await this.api.getMonthlyCategoryTotals(
|
|
6634
|
-
Fe(
|
|
6624
|
+
Fe(Ye(Bt(a, 11))),
|
|
6635
6625
|
Fe($e(a)),
|
|
6636
6626
|
n
|
|
6637
6627
|
);
|
|
@@ -6663,7 +6653,7 @@ class gg {
|
|
|
6663
6653
|
getCategoryName = (n) => this.categories.find((a) => a.guid === n)?.name ?? fa[n];
|
|
6664
6654
|
}
|
|
6665
6655
|
const wc = ({ transaction: e }) => {
|
|
6666
|
-
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) => {
|
|
6667
6657
|
await i({ ...e, category_guid: u }), y && await n(u, e), h(""), o(F.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
6668
6658
|
transaction_guid: e.guid
|
|
6669
6659
|
});
|
|
@@ -6748,7 +6738,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6748
6738
|
)
|
|
6749
6739
|
] });
|
|
6750
6740
|
}, vc = ({ transaction: e }) => {
|
|
6751
|
-
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) => {
|
|
6752
6742
|
u(Fe(p));
|
|
6753
6743
|
}, m = async () => {
|
|
6754
6744
|
if (e.is_manual && !e.guid) {
|
|
@@ -6805,7 +6795,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6805
6795
|
)
|
|
6806
6796
|
] });
|
|
6807
6797
|
}, mg = ({ transaction: e }) => {
|
|
6808
|
-
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 () => {
|
|
6809
6799
|
await i(e.guid), n(q.ON_TRANSACTION_DELETE_DELETED);
|
|
6810
6800
|
};
|
|
6811
6801
|
return /* @__PURE__ */ l(O, { className: "mx-txn-delete", children: [
|
|
@@ -6845,7 +6835,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6845
6835
|
)
|
|
6846
6836
|
] });
|
|
6847
6837
|
}, pg = x(mg), Cg = ({ transaction: e }) => {
|
|
6848
|
-
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 () => {
|
|
6849
6839
|
await i({ ...e, merchant_guid: "" }), n(F.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
|
|
6850
6840
|
transaction_guid: e.guid
|
|
6851
6841
|
});
|
|
@@ -6885,7 +6875,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6885
6875
|
)
|
|
6886
6876
|
] });
|
|
6887
6877
|
}, fg = x(Cg), bg = ({ transaction: e }) => {
|
|
6888
|
-
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 () => {
|
|
6889
6879
|
await i({ ...e, is_hidden: !e.is_hidden }), n(
|
|
6890
6880
|
d ? q.ON_TRANSACTION_UNHIDDEN : q.ON_TRANSACTION_HIDDEN
|
|
6891
6881
|
);
|
|
@@ -6974,7 +6964,7 @@ const wc = ({ transaction: e }) => {
|
|
|
6974
6964
|
] })
|
|
6975
6965
|
] });
|
|
6976
6966
|
}, Eg = ({ transaction: e }) => {
|
|
6977
|
-
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("");
|
|
6978
6968
|
g.useEffect(() => {
|
|
6979
6969
|
s && _(e.memo ? e.memo : "");
|
|
6980
6970
|
}, [s]);
|
|
@@ -7201,7 +7191,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7201
7191
|
) })
|
|
7202
7192
|
] });
|
|
7203
7193
|
}, xg = x(Tg), Ig = ({ transaction: e }) => {
|
|
7204
|
-
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 = {
|
|
7205
7195
|
...e,
|
|
7206
7196
|
amount: e.amount - 1,
|
|
7207
7197
|
guid: "",
|
|
@@ -7321,7 +7311,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7321
7311
|
)
|
|
7322
7312
|
] });
|
|
7323
7313
|
}, wg = x(Ig), vg = () => {
|
|
7324
|
-
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);
|
|
7325
7315
|
g.useEffect(() => {
|
|
7326
7316
|
o && u?.current?.focus();
|
|
7327
7317
|
}, [o]);
|
|
@@ -7408,7 +7398,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7408
7398
|
}
|
|
7409
7399
|
) });
|
|
7410
7400
|
}, Rg = x(Ng), Og = ({ onTagChecked: e, selectedTags: n, tag: i }) => {
|
|
7411
|
-
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 () => {
|
|
7412
7402
|
a(q.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), i && await r({ ...i, name: m }), _(!1);
|
|
7413
7403
|
}, S = async () => {
|
|
7414
7404
|
a(q.ON_TRANSACTION_TAGS_TAG_DELETED), await o(i.guid), h(!1);
|
|
@@ -7502,7 +7492,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7502
7492
|
}
|
|
7503
7493
|
);
|
|
7504
7494
|
}, Lg = x(Og), Mg = ({ selectedTags: e, onTagChecked: n }) => {
|
|
7505
|
-
const { tags: i } =
|
|
7495
|
+
const { tags: i } = Me(), [a, o] = g.useState(""), r = i.filter(
|
|
7506
7496
|
(s) => s.name.toLowerCase().includes(a.toLowerCase())
|
|
7507
7497
|
);
|
|
7508
7498
|
return /* @__PURE__ */ l("div", { className: "mx-txn-tag-manager", children: [
|
|
@@ -7520,7 +7510,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7520
7510
|
] }, s.guid)) }) })
|
|
7521
7511
|
] });
|
|
7522
7512
|
}, kg = x(Mg), Gg = ({ transaction: e }) => {
|
|
7523
|
-
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);
|
|
7524
7514
|
g.useEffect(() => {
|
|
7525
7515
|
h(e.tags);
|
|
7526
7516
|
}, [d, e]);
|
|
@@ -7575,7 +7565,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7575
7565
|
)
|
|
7576
7566
|
] });
|
|
7577
7567
|
}, Rc = x(Gg), Bg = ({ transaction: e }) => {
|
|
7578
|
-
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);
|
|
7579
7569
|
g.useEffect(() => {
|
|
7580
7570
|
r && (d(e.description), _?.current?.focus());
|
|
7581
7571
|
}, [r]);
|
|
@@ -7626,7 +7616,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7626
7616
|
)
|
|
7627
7617
|
] }) });
|
|
7628
7618
|
}, Hg = x(Bg), Pg = ({ transaction: e }) => {
|
|
7629
|
-
const { updateTransaction: n } =
|
|
7619
|
+
const { updateTransaction: n } = Me(), { transactions: i } = T(), { onEvent: a } = X(), o = Se(), r = async () => {
|
|
7630
7620
|
a(F.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: e.guid }), await n({ ...e, is_flagged: !e.is_flagged });
|
|
7631
7621
|
};
|
|
7632
7622
|
return /* @__PURE__ */ t("div", { className: "mx-txn-transaction-flag", children: /* @__PURE__ */ t(
|
|
@@ -7830,7 +7820,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7830
7820
|
] })
|
|
7831
7821
|
] });
|
|
7832
7822
|
}, Yg = x(Kg), zg = ({ onClose: e, transaction: n }) => {
|
|
7833
|
-
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(
|
|
7834
7824
|
() => r.find((u) => u.guid === s),
|
|
7835
7825
|
[s]
|
|
7836
7826
|
), _ = async (u) => {
|
|
@@ -7876,7 +7866,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7876
7866
|
showInsights: i = !1,
|
|
7877
7867
|
sx: a = {}
|
|
7878
7868
|
}) => {
|
|
7879
|
-
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(), {
|
|
7880
7870
|
displayedDateRange: h,
|
|
7881
7871
|
isCopyLoaded: m,
|
|
7882
7872
|
isInitialized: p,
|
|
@@ -7892,7 +7882,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7892
7882
|
tags: k,
|
|
7893
7883
|
transactions: G,
|
|
7894
7884
|
updateTransaction: L
|
|
7895
|
-
} =
|
|
7885
|
+
} = Me(), {
|
|
7896
7886
|
manualTransaction: W,
|
|
7897
7887
|
isAmountValid: Y,
|
|
7898
7888
|
searchValue: se,
|
|
@@ -7901,7 +7891,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7901
7891
|
updateManualTransaction: xe
|
|
7902
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);
|
|
7903
7893
|
g.useEffect(() => {
|
|
7904
|
-
const ht = o.filter((ni) => !ni.is_hidden), nr =
|
|
7894
|
+
const ht = o.filter((ni) => !ni.is_hidden), nr = Ye(we()), ir = $e(we());
|
|
7905
7895
|
y(ht), E(nr, ir), R({
|
|
7906
7896
|
accounts: ht.map((ni) => ni.guid),
|
|
7907
7897
|
custom: (ni) => !ni.accountIsClosed && !ni.accountIsHidden,
|
|
@@ -7921,7 +7911,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7921
7911
|
[o]
|
|
7922
7912
|
), j = ze ? G.find((ht) => ht.guid === ze) : void 0, Be = Y && !!W.payee && !!W.account_guid && !!W.category_guid, st = (ht) => {
|
|
7923
7913
|
E(ht[0], ht[1]);
|
|
7924
|
-
},
|
|
7914
|
+
}, bn = (ht) => {
|
|
7925
7915
|
ee(ht), R({
|
|
7926
7916
|
...w,
|
|
7927
7917
|
searchTerm: ht
|
|
@@ -7973,7 +7963,7 @@ const wc = ({ transaction: e }) => {
|
|
|
7973
7963
|
/* @__PURE__ */ t(O, { mt: 16, children: /* @__PURE__ */ t(
|
|
7974
7964
|
Aa,
|
|
7975
7965
|
{
|
|
7976
|
-
onChange:
|
|
7966
|
+
onChange: bn,
|
|
7977
7967
|
placeholder: u.action_bar_search_placeholder,
|
|
7978
7968
|
searchValue: se
|
|
7979
7969
|
}
|
|
@@ -8209,7 +8199,7 @@ const wc = ({ transaction: e }) => {
|
|
|
8209
8199
|
] });
|
|
8210
8200
|
}), Lc = x(
|
|
8211
8201
|
({ onDeleted: e, recurringTransaction: n }) => {
|
|
8212
|
-
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("");
|
|
8213
8203
|
g.useEffect(() => {
|
|
8214
8204
|
s({
|
|
8215
8205
|
accounts: a,
|
|
@@ -8461,7 +8451,7 @@ const wc = ({ transaction: e }) => {
|
|
|
8461
8451
|
label: n,
|
|
8462
8452
|
onAddRecurringTransaction: i = () => null
|
|
8463
8453
|
}) => {
|
|
8464
|
-
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(
|
|
8465
8455
|
() => s.find((M) => M.guid === h),
|
|
8466
8456
|
[h, s]
|
|
8467
8457
|
), w = () => {
|
|
@@ -8702,13 +8692,13 @@ const wc = ({ transaction: e }) => {
|
|
|
8702
8692
|
gr(/* @__PURE__ */ new Date()) * Ei + Wr
|
|
8703
8693
|
), s = (d) => {
|
|
8704
8694
|
r(gr(d) * Ei + Wr), a({
|
|
8705
|
-
start:
|
|
8695
|
+
start: Ye(d),
|
|
8706
8696
|
end: $e(d)
|
|
8707
8697
|
}), n(F.RECURRING_TRANSACTIONS_CLICK_CALENDAR_RIGHT);
|
|
8708
8698
|
}, c = /* @__PURE__ */ t(
|
|
8709
8699
|
Co,
|
|
8710
8700
|
{
|
|
8711
|
-
minDate:
|
|
8701
|
+
minDate: Ye(/* @__PURE__ */ new Date()),
|
|
8712
8702
|
onMonthChange: s,
|
|
8713
8703
|
showDaysOutsideCurrentMonth: !0,
|
|
8714
8704
|
slots: {
|
|
@@ -8996,18 +8986,18 @@ const wc = ({ transaction: e }) => {
|
|
|
8996
8986
|
}, G = () => {
|
|
8997
8987
|
const W = qt(s.start, 1);
|
|
8998
8988
|
E({
|
|
8999
|
-
start:
|
|
8989
|
+
start: Ye(W),
|
|
9000
8990
|
end: $e(W)
|
|
9001
8991
|
});
|
|
9002
8992
|
}, L = () => {
|
|
9003
8993
|
const W = Bt(s.start, 1);
|
|
9004
8994
|
E({
|
|
9005
|
-
start:
|
|
8995
|
+
start: Ye(W),
|
|
9006
8996
|
end: $e(W)
|
|
9007
8997
|
});
|
|
9008
8998
|
};
|
|
9009
|
-
return /* @__PURE__ */ l(
|
|
9010
|
-
/* @__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: [
|
|
9011
9001
|
/* @__PURE__ */ l(b, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
9012
9002
|
/* @__PURE__ */ t(at, { sx: { px: 24 }, children: A(
|
|
9013
9003
|
e.header_title,
|
|
@@ -9087,7 +9077,7 @@ const wc = ({ transaction: e }) => {
|
|
|
9087
9077
|
)
|
|
9088
9078
|
] })
|
|
9089
9079
|
] }) }),
|
|
9090
|
-
n && /* @__PURE__ */ t(
|
|
9080
|
+
n && /* @__PURE__ */ t(In, { sx: { minWidth: 450 }, xs: "auto", children: /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
9091
9081
|
/* @__PURE__ */ t(Pc, {}),
|
|
9092
9082
|
/* @__PURE__ */ t(
|
|
9093
9083
|
xi,
|
|
@@ -9103,14 +9093,14 @@ const wc = ({ transaction: e }) => {
|
|
|
9103
9093
|
] }) })
|
|
9104
9094
|
] });
|
|
9105
9095
|
}), P2 = x(({ onBackClick: e, sx: n = {} }) => {
|
|
9106
|
-
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);
|
|
9107
9097
|
return g.useEffect(() => {
|
|
9108
9098
|
c(i);
|
|
9109
9099
|
}, [i]), g.useEffect(() => {
|
|
9110
9100
|
r && (h({
|
|
9111
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9101
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9112
9102
|
accounts: s
|
|
9113
|
-
}), u({ start:
|
|
9103
|
+
}), u({ start: Ye(/* @__PURE__ */ new Date()), end: $e(/* @__PURE__ */ new Date()) }), _().finally());
|
|
9114
9104
|
}, [r]), o ? /* @__PURE__ */ l(
|
|
9115
9105
|
ft,
|
|
9116
9106
|
{
|
|
@@ -9130,9 +9120,9 @@ const wc = ({ transaction: e }) => {
|
|
|
9130
9120
|
title: a.title,
|
|
9131
9121
|
children: [
|
|
9132
9122
|
r && d ? /* @__PURE__ */ t(nm, {}) : /* @__PURE__ */ l(b, { direction: "column", p: 48, spacing: 24, children: [
|
|
9133
|
-
/* @__PURE__ */ t(
|
|
9134
|
-
/* @__PURE__ */ t(
|
|
9135
|
-
/* @__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%" })
|
|
9136
9126
|
] }),
|
|
9137
9127
|
/* @__PURE__ */ t(
|
|
9138
9128
|
de,
|
|
@@ -9149,7 +9139,7 @@ const wc = ({ transaction: e }) => {
|
|
|
9149
9139
|
}
|
|
9150
9140
|
) : /* @__PURE__ */ t(_e, {});
|
|
9151
9141
|
}), im = x(() => {
|
|
9152
|
-
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;
|
|
9153
9143
|
return /* @__PURE__ */ l(b, { flexDirection: s ? "column" : "row", width: "100%", children: [
|
|
9154
9144
|
/* @__PURE__ */ t(Pc, {}),
|
|
9155
9145
|
!s && /* @__PURE__ */ t(P, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
@@ -9169,12 +9159,12 @@ const wc = ({ transaction: e }) => {
|
|
|
9169
9159
|
] });
|
|
9170
9160
|
}), F2 = x(
|
|
9171
9161
|
({ onPrimaryCtaClick: e, sx: n }) => {
|
|
9172
|
-
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();
|
|
9173
9163
|
return g.useEffect(() => {
|
|
9174
9164
|
d && _(i);
|
|
9175
9165
|
}, [d]), g.useEffect(() => {
|
|
9176
9166
|
u.length > 0 && (o({
|
|
9177
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9167
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9178
9168
|
accounts: u
|
|
9179
9169
|
}), s().finally());
|
|
9180
9170
|
}, [u]), !c || !d ? /* @__PURE__ */ t(_e, {}) : /* @__PURE__ */ t(
|
|
@@ -9278,14 +9268,14 @@ const wc = ({ transaction: e }) => {
|
|
|
9278
9268
|
paidExpenseTotal: y,
|
|
9279
9269
|
setDateRange: S,
|
|
9280
9270
|
upcomingExpenseTotal: I
|
|
9281
|
-
} = ot(), { setFilter: v } =
|
|
9271
|
+
} = ot(), { setFilter: v } = Me(), { recurring: w, budgets: N } = T();
|
|
9282
9272
|
g.useEffect(() => {
|
|
9283
9273
|
h(r);
|
|
9284
9274
|
}, [r]), g.useEffect(() => {
|
|
9285
9275
|
_ && (v({
|
|
9286
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
9276
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
9287
9277
|
accounts: u
|
|
9288
|
-
}), S({ start:
|
|
9278
|
+
}), S({ start: Ye(/* @__PURE__ */ new Date()), end: $e(/* @__PURE__ */ new Date()) }), m().finally(), i(!0));
|
|
9289
9279
|
}, [_]), g.useEffect(() => {
|
|
9290
9280
|
n && a(F.RECURRING_TRANSACTIONS_LOAD_WIDGET, {
|
|
9291
9281
|
state: p.length > 0 ? "default" : "zeroState"
|
|
@@ -9434,7 +9424,7 @@ class Kr {
|
|
|
9434
9424
|
deleteRepeatingTransaction = async (n) => this.fetchInstance.delete(`${B.REPEATING_TRANSACTIONS}/${n}`).then((i) => i);
|
|
9435
9425
|
}
|
|
9436
9426
|
const Yr = (e) => lo(e.expectedDate, {
|
|
9437
|
-
start:
|
|
9427
|
+
start: Ye(we()),
|
|
9438
9428
|
end: $e(we())
|
|
9439
9429
|
}), zn = (e, n) => e + n.amount;
|
|
9440
9430
|
class cm {
|
|
@@ -9443,7 +9433,7 @@ class cm {
|
|
|
9443
9433
|
transactions = [];
|
|
9444
9434
|
repeatingTransactions = [];
|
|
9445
9435
|
selectedDay;
|
|
9446
|
-
dateRange = { start:
|
|
9436
|
+
dateRange = { start: Ye(we()), end: $e(we()) };
|
|
9447
9437
|
isDataLoaded = !1;
|
|
9448
9438
|
constructor(n) {
|
|
9449
9439
|
this.globalStore = n, this.api = new Kr(n.endpoint, n.sessionToken), Pe(this);
|
|
@@ -9917,7 +9907,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
9917
9907
|
/* @__PURE__ */ t(P, {})
|
|
9918
9908
|
] });
|
|
9919
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 = () => {
|
|
9920
|
-
const { availableWidth: e } =
|
|
9910
|
+
const { availableWidth: e } = pn(), { cashflow: n } = T(), { upcomingExpenses: i, upcomingIncome: a } = ot(), { dateRange: o, selectedCashAccounts: r } = Ci();
|
|
9921
9911
|
return /* @__PURE__ */ l(b, { children: [
|
|
9922
9912
|
/* @__PURE__ */ l(b, { direction: e < 400 ? "column" : "row", justifyContent: "space-between", children: [
|
|
9923
9913
|
/* @__PURE__ */ t(f, { bold: !0, sx: { fontSize: 15, mb: 12, whiteSpace: "normal" }, children: n.accounts_breakdown }),
|
|
@@ -9989,7 +9979,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
9989
9979
|
}) })
|
|
9990
9980
|
] });
|
|
9991
9981
|
}, Em = x(ym), Sm = () => {
|
|
9992
|
-
const { availableWidth: e } =
|
|
9982
|
+
const { availableWidth: e } = pn(), n = Se(), { cashflow: i } = T(), { upcomingExpenses: a, upcomingIncome: o } = ot(), { dateRange: r, selectedCashAccounts: s } = Ci(), c = [
|
|
9993
9983
|
{
|
|
9994
9984
|
field: "account",
|
|
9995
9985
|
flex: 1.5,
|
|
@@ -10123,7 +10113,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10123
10113
|
"& .MuiDataGrid-columnHeader .MuiIconButton-root": {
|
|
10124
10114
|
color: n.palette.primary.main,
|
|
10125
10115
|
"&:hover": {
|
|
10126
|
-
backgroundColor:
|
|
10116
|
+
backgroundColor: wn(n.palette.primary.main, 0.1)
|
|
10127
10117
|
}
|
|
10128
10118
|
},
|
|
10129
10119
|
"& .MuiDataGrid-sortIcon": {
|
|
@@ -10291,7 +10281,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10291
10281
|
]
|
|
10292
10282
|
}
|
|
10293
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 = () => {
|
|
10294
|
-
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(
|
|
10295
10285
|
() => i.filter($r(o, r)),
|
|
10296
10286
|
[r, o, i]
|
|
10297
10287
|
), h = g.useMemo(
|
|
@@ -10388,7 +10378,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10388
10378
|
return /* @__PURE__ */ l(b, { children: [
|
|
10389
10379
|
/* @__PURE__ */ t(Zt, { pb: 12, children: i.welcome_title }),
|
|
10390
10380
|
/* @__PURE__ */ t(
|
|
10391
|
-
|
|
10381
|
+
hn,
|
|
10392
10382
|
{
|
|
10393
10383
|
color: a.palette.primary.light,
|
|
10394
10384
|
pb: 8,
|
|
@@ -10471,7 +10461,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10471
10461
|
transform: rotate(360deg);
|
|
10472
10462
|
}
|
|
10473
10463
|
`, Lm = () => {
|
|
10474
|
-
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(
|
|
10475
10465
|
() => h.find((fe) => fe.guid === W),
|
|
10476
10466
|
[W, h]
|
|
10477
10467
|
), ee = !!n.filter(
|
|
@@ -10479,7 +10469,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10479
10469
|
).length, ge = async () => {
|
|
10480
10470
|
k(2), d(
|
|
10481
10471
|
// Beginning of the month, 90 days before today
|
|
10482
|
-
|
|
10472
|
+
Ye(Nt(we(), 90)),
|
|
10483
10473
|
we()
|
|
10484
10474
|
), u({ ..._, custom: Ri }), k(3);
|
|
10485
10475
|
}, xe = async () => {
|
|
@@ -10654,7 +10644,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10654
10644
|
setSelectedAccounts: o,
|
|
10655
10645
|
shouldDisableNextDate: r,
|
|
10656
10646
|
shouldDisablePrevDate: s
|
|
10657
|
-
} = 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);
|
|
10658
10648
|
return g.useEffect(() => {
|
|
10659
10649
|
S && (C(h), p().finally());
|
|
10660
10650
|
}, [S]), g.useEffect(() => {
|
|
@@ -10664,7 +10654,7 @@ const fm = ({ recurrence: e }) => /* @__PURE__ */ l(Z, { children: [
|
|
|
10664
10654
|
(R) => a.includes(R.guid) && w.includes(R.guid)
|
|
10665
10655
|
);
|
|
10666
10656
|
m(N), _({
|
|
10667
|
-
dateRange: { start: Nt(we(), 90), end:
|
|
10657
|
+
dateRange: { start: Nt(we(), 90), end: vn() },
|
|
10668
10658
|
accounts: N.map((R) => R.guid)
|
|
10669
10659
|
});
|
|
10670
10660
|
}, [d, i]), !y || !S ? /* @__PURE__ */ t(_e, {}) : u?.has_completed_cash_flow_onboarding ? /* @__PURE__ */ l(
|
|
@@ -10829,12 +10819,12 @@ function Hm(e, n, i = 0) {
|
|
|
10829
10819
|
payoffDuration: d ? "Stagnant" : Wd(_, { format: ["years", "months"] }) || "0 months"
|
|
10830
10820
|
};
|
|
10831
10821
|
}
|
|
10832
|
-
const
|
|
10822
|
+
const fn = () => {
|
|
10833
10823
|
if (!g.useContext(ti))
|
|
10834
10824
|
throw new Error("useCateUiStore() must be used within the GlobalDataContext");
|
|
10835
10825
|
return ya().uiStore;
|
|
10836
10826
|
}, Pm = ({ debts: e, onClickCta: n, sx: i }) => {
|
|
10837
|
-
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(() => {
|
|
10838
10828
|
const h = c?.extra_payment ?? 0;
|
|
10839
10829
|
return Hm(e, s, h);
|
|
10840
10830
|
}, [e, s, c]);
|
|
@@ -10946,7 +10936,7 @@ const bn = () => {
|
|
|
10946
10936
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
10947
10937
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
10948
10938
|
/* @__PURE__ */ t(
|
|
10949
|
-
|
|
10939
|
+
En,
|
|
10950
10940
|
{
|
|
10951
10941
|
sx: {
|
|
10952
10942
|
display: "flex",
|
|
@@ -11002,7 +10992,7 @@ const bn = () => {
|
|
|
11002
10992
|
] }),
|
|
11003
10993
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11004
10994
|
/* @__PURE__ */ t(
|
|
11005
|
-
|
|
10995
|
+
En,
|
|
11006
10996
|
{
|
|
11007
10997
|
sx: {
|
|
11008
10998
|
width: 20,
|
|
@@ -11032,7 +11022,7 @@ const bn = () => {
|
|
|
11032
11022
|
] }),
|
|
11033
11023
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, py: 14, children: [
|
|
11034
11024
|
/* @__PURE__ */ t(
|
|
11035
|
-
|
|
11025
|
+
En,
|
|
11036
11026
|
{
|
|
11037
11027
|
sx: {
|
|
11038
11028
|
width: 20,
|
|
@@ -11073,7 +11063,7 @@ const bn = () => {
|
|
|
11073
11063
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
11074
11064
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11075
11065
|
/* @__PURE__ */ t(
|
|
11076
|
-
|
|
11066
|
+
En,
|
|
11077
11067
|
{
|
|
11078
11068
|
sx: {
|
|
11079
11069
|
display: "flex",
|
|
@@ -11129,7 +11119,7 @@ const bn = () => {
|
|
|
11129
11119
|
] }),
|
|
11130
11120
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11131
11121
|
/* @__PURE__ */ t(
|
|
11132
|
-
|
|
11122
|
+
En,
|
|
11133
11123
|
{
|
|
11134
11124
|
sx: {
|
|
11135
11125
|
width: 20,
|
|
@@ -11181,7 +11171,7 @@ const bn = () => {
|
|
|
11181
11171
|
/* @__PURE__ */ l(Te, { bgcolor: a.palette.background.paper, mb: 24, children: [
|
|
11182
11172
|
/* @__PURE__ */ l(Te, { alignItems: "center", flexDirection: "row", pl: 24, children: [
|
|
11183
11173
|
/* @__PURE__ */ t(
|
|
11184
|
-
|
|
11174
|
+
En,
|
|
11185
11175
|
{
|
|
11186
11176
|
sx: {
|
|
11187
11177
|
display: "flex",
|
|
@@ -11257,7 +11247,7 @@ const bn = () => {
|
|
|
11257
11247
|
return isNaN(i) ? 0 : i;
|
|
11258
11248
|
}, Vo = (e, n) => {
|
|
11259
11249
|
const i = [];
|
|
11260
|
-
let a =
|
|
11250
|
+
let a = Ye(n?.start ?? Bt(/* @__PURE__ */ new Date(), 5));
|
|
11261
11251
|
const o = n?.end ?? /* @__PURE__ */ new Date();
|
|
11262
11252
|
for (; et(a, o); )
|
|
11263
11253
|
i.push({
|
|
@@ -11278,7 +11268,7 @@ const bn = () => {
|
|
|
11278
11268
|
const n = [], i = e.filter(
|
|
11279
11269
|
(r) => r.top_level_category_guid !== D.INCOME && r.top_level_category_guid !== D.TRANSFER && r.total > 0
|
|
11280
11270
|
);
|
|
11281
|
-
let a =
|
|
11271
|
+
let a = Ye(Bt(/* @__PURE__ */ new Date(), 5));
|
|
11282
11272
|
const o = $e(/* @__PURE__ */ new Date());
|
|
11283
11273
|
for (; et(a, o); )
|
|
11284
11274
|
n.push({
|
|
@@ -11335,7 +11325,7 @@ const bn = () => {
|
|
|
11335
11325
|
},
|
|
11336
11326
|
children: [
|
|
11337
11327
|
/* @__PURE__ */ t(
|
|
11338
|
-
|
|
11328
|
+
mn,
|
|
11339
11329
|
{
|
|
11340
11330
|
sx: { pb: 0 },
|
|
11341
11331
|
title: /* @__PURE__ */ t(at, { sx: { pb: 4 }, children: le(/* @__PURE__ */ new Date(), ae.MONTH_LONG) })
|
|
@@ -11366,7 +11356,7 @@ const bn = () => {
|
|
|
11366
11356
|
/* @__PURE__ */ t(f, { variant: "Small", children: _?.name })
|
|
11367
11357
|
] }),
|
|
11368
11358
|
/* @__PURE__ */ l(b, { gap: 8, mb: 24, mt: 4, children: [
|
|
11369
|
-
/* @__PURE__ */ t(
|
|
11359
|
+
/* @__PURE__ */ t(hn, { children: i.name || i.feed_name }),
|
|
11370
11360
|
/* @__PURE__ */ l(b, { direction: "row", justifyContent: "space-between", children: [
|
|
11371
11361
|
/* @__PURE__ */ t(f, { bold: s, variant: "Body", children: o }),
|
|
11372
11362
|
/* @__PURE__ */ t(f, { bold: !0, variant: "Body", children: H(r, "0,0.00") })
|
|
@@ -11510,7 +11500,7 @@ const Yc = ({
|
|
|
11510
11500
|
}
|
|
11511
11501
|
);
|
|
11512
11502
|
}, ip = () => {
|
|
11513
|
-
const e = ln(), { debts: n } = T(), { selectedDebtChartData: i } =
|
|
11503
|
+
const e = ln(), { debts: n } = T(), { selectedDebtChartData: i } = fn();
|
|
11514
11504
|
return /* @__PURE__ */ l(Z, { children: [
|
|
11515
11505
|
/* @__PURE__ */ l(
|
|
11516
11506
|
St,
|
|
@@ -11521,7 +11511,7 @@ const Yc = ({
|
|
|
11521
11511
|
}
|
|
11522
11512
|
},
|
|
11523
11513
|
children: [
|
|
11524
|
-
/* @__PURE__ */ t(
|
|
11514
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 0 }, title: /* @__PURE__ */ t(at, { sx: { pb: 4 }, children: n.details_chart_title }) }),
|
|
11525
11515
|
/* @__PURE__ */ t(Ht, { sx: { p: 0 }, children: /* @__PURE__ */ t(Yc, { debts: [i], height: 250 }) })
|
|
11526
11516
|
]
|
|
11527
11517
|
}
|
|
@@ -11537,7 +11527,7 @@ const Yc = ({
|
|
|
11537
11527
|
)
|
|
11538
11528
|
] });
|
|
11539
11529
|
}, ap = x(ip), op = () => {
|
|
11540
|
-
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();
|
|
11541
11531
|
return g.useEffect(() => n(F.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ t(oe, { children: r || o ? /* @__PURE__ */ t(
|
|
11542
11532
|
f,
|
|
11543
11533
|
{
|
|
@@ -11796,7 +11786,7 @@ const Yc = ({
|
|
|
11796
11786
|
}
|
|
11797
11787
|
);
|
|
11798
11788
|
}), dp = () => {
|
|
11799
|
-
const { onEvent: e } = X(), { selectedDebtChartData: n } =
|
|
11789
|
+
const { onEvent: e } = X(), { selectedDebtChartData: n } = fn();
|
|
11800
11790
|
return g.useEffect(() => e(F.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ l(b, { bgcolor: "background.paper", children: [
|
|
11801
11791
|
n?.goal && /* @__PURE__ */ l(Z, { children: [
|
|
11802
11792
|
/* @__PURE__ */ t(jc, { goal: n.goal }),
|
|
@@ -11816,7 +11806,7 @@ const Yc = ({
|
|
|
11816
11806
|
] })
|
|
11817
11807
|
] });
|
|
11818
11808
|
}, up = x(dp), _p = ({ setTabValue: e, sx: n }) => {
|
|
11819
|
-
const { debts: i } = T(), { showError: a, showCompleted: o } =
|
|
11809
|
+
const { debts: i } = T(), { showError: a, showCompleted: o } = fn();
|
|
11820
11810
|
return g.useEffect(() => {
|
|
11821
11811
|
a && e(1);
|
|
11822
11812
|
}, [a]), !a && !o ? /* @__PURE__ */ t(Z, {}) : /* @__PURE__ */ l(Te, { gap: 16, children: [
|
|
@@ -11861,7 +11851,7 @@ const Yc = ({
|
|
|
11861
11851
|
) })
|
|
11862
11852
|
] });
|
|
11863
11853
|
}, hp = x(_p), gp = () => {
|
|
11864
|
-
const { debts: e } = T(), { showError: n, showCompleted: i } =
|
|
11854
|
+
const { debts: e } = T(), { showError: n, showCompleted: i } = fn(), [a, o] = g.useState(0);
|
|
11865
11855
|
return /* @__PURE__ */ l(Z, { children: [
|
|
11866
11856
|
(n || i) && /* @__PURE__ */ t(hp, { setTabValue: o, sx: { mt: -24 } }),
|
|
11867
11857
|
/* @__PURE__ */ l(
|
|
@@ -11897,7 +11887,7 @@ const Yc = ({
|
|
|
11897
11887
|
/* @__PURE__ */ t(Dn, { index: 1, name: "debt-details", value: a, children: /* @__PURE__ */ t(up, {}) })
|
|
11898
11888
|
] });
|
|
11899
11889
|
}, mp = x(gp), pp = ({ isOpen: e, onClose: n, sx: i }) => {
|
|
11900
|
-
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, {});
|
|
11901
11891
|
return /* @__PURE__ */ t(
|
|
11902
11892
|
de,
|
|
11903
11893
|
{
|
|
@@ -12212,7 +12202,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12212
12202
|
}
|
|
12213
12203
|
);
|
|
12214
12204
|
}, vp = x(({ buttonEl: e, onClose: n }) => {
|
|
12215
|
-
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 = [
|
|
12216
12206
|
{
|
|
12217
12207
|
priority: an.HIGHEST_INTEREST,
|
|
12218
12208
|
text: a.priority_sort_highest_interest
|
|
@@ -12271,7 +12261,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12271
12261
|
}
|
|
12272
12262
|
);
|
|
12273
12263
|
}), Dp = x(() => {
|
|
12274
|
-
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 = (_) => {
|
|
12275
12265
|
o(_.currentTarget), e(F.DEBTS_CLICK_PRIORITIZE);
|
|
12276
12266
|
}, s = () => {
|
|
12277
12267
|
o(null);
|
|
@@ -12336,7 +12326,7 @@ const Kt = (e) => /* @__PURE__ */ t(f, { fontWeight: 600, variant: "Small", chil
|
|
|
12336
12326
|
}
|
|
12337
12327
|
);
|
|
12338
12328
|
}), Op = ({ onBackClick: e, sx: n }) => {
|
|
12339
|
-
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(() => {
|
|
12340
12330
|
const ge = M?.extra_payment ?? 0;
|
|
12341
12331
|
return Np(k, I, ge);
|
|
12342
12332
|
}, [k, I, M]);
|
|
@@ -13127,13 +13117,13 @@ const qc = ({
|
|
|
13127
13117
|
nextIconButton: {
|
|
13128
13118
|
sx: {
|
|
13129
13119
|
color: "primary.main",
|
|
13130
|
-
"&:hover": { bgcolor:
|
|
13120
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13131
13121
|
}
|
|
13132
13122
|
},
|
|
13133
13123
|
previousIconButton: {
|
|
13134
13124
|
sx: {
|
|
13135
13125
|
color: "primary.main",
|
|
13136
|
-
"&:hover": { bgcolor:
|
|
13126
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13137
13127
|
}
|
|
13138
13128
|
}
|
|
13139
13129
|
},
|
|
@@ -13145,7 +13135,7 @@ const qc = ({
|
|
|
13145
13135
|
width: "100%",
|
|
13146
13136
|
"& .MuiIconButton-edgeEnd": {
|
|
13147
13137
|
color: "primary.main",
|
|
13148
|
-
"&:hover": { bgcolor:
|
|
13138
|
+
"&:hover": { bgcolor: wn(a.palette.primary.light, 0.1) }
|
|
13149
13139
|
}
|
|
13150
13140
|
},
|
|
13151
13141
|
value: s ? new Date(s * 1e3) : /* @__PURE__ */ new Date()
|
|
@@ -13277,7 +13267,7 @@ const qc = ({
|
|
|
13277
13267
|
poor: 110,
|
|
13278
13268
|
good: 100
|
|
13279
13269
|
}
|
|
13280
|
-
},
|
|
13270
|
+
}, Ke = {
|
|
13281
13271
|
GOOD: "Good",
|
|
13282
13272
|
FAIR: "Fair",
|
|
13283
13273
|
OFF_TRACK: "Off Track",
|
|
@@ -13285,14 +13275,14 @@ const qc = ({
|
|
|
13285
13275
|
}, li = ({
|
|
13286
13276
|
title: e,
|
|
13287
13277
|
description: n,
|
|
13288
|
-
cardState: i =
|
|
13278
|
+
cardState: i = Ke.MISSING,
|
|
13289
13279
|
stateTitle: a
|
|
13290
13280
|
}) => {
|
|
13291
13281
|
const o = {
|
|
13292
|
-
[
|
|
13293
|
-
[
|
|
13294
|
-
[
|
|
13295
|
-
[
|
|
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" }
|
|
13296
13286
|
}[i];
|
|
13297
13287
|
return /* @__PURE__ */ l(
|
|
13298
13288
|
b,
|
|
@@ -13334,16 +13324,16 @@ const qc = ({
|
|
|
13334
13324
|
}, n1 = () => {
|
|
13335
13325
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_spend: i } = n, a = (c) => {
|
|
13336
13326
|
const { good: d, poor: _ } = Mi.spendToIncomeRatio;
|
|
13337
|
-
let u =
|
|
13338
|
-
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)), {
|
|
13339
13329
|
cardState: u,
|
|
13340
13330
|
description: h,
|
|
13341
13331
|
title: i.ratio_card_title,
|
|
13342
13332
|
stateTitle: m
|
|
13343
13333
|
};
|
|
13344
13334
|
}, o = (c) => {
|
|
13345
|
-
let d =
|
|
13346
|
-
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)), {
|
|
13347
13337
|
cardState: d,
|
|
13348
13338
|
description: _,
|
|
13349
13339
|
title: i.count_card_title,
|
|
@@ -13381,8 +13371,8 @@ const qc = ({
|
|
|
13381
13371
|
}, i1 = () => {
|
|
13382
13372
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_save: i } = n, a = (c) => {
|
|
13383
13373
|
const { good: d, poor: _ } = Mi.daysOfCashOnHand;
|
|
13384
|
-
let u =
|
|
13385
|
-
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)), {
|
|
13386
13376
|
cardState: u,
|
|
13387
13377
|
description: h,
|
|
13388
13378
|
title: i.days_of_cash_title,
|
|
@@ -13390,11 +13380,11 @@ const qc = ({
|
|
|
13390
13380
|
};
|
|
13391
13381
|
}, o = (c) => {
|
|
13392
13382
|
const { good: d, poor: _ } = Mi.emergencySavings;
|
|
13393
|
-
let u =
|
|
13394
|
-
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(
|
|
13395
13385
|
i.emergency_savings_fair_description,
|
|
13396
13386
|
H(c, "0,0.00")
|
|
13397
|
-
), 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)), {
|
|
13398
13388
|
cardState: u,
|
|
13399
13389
|
description: h,
|
|
13400
13390
|
title: i.emergency_savings_title,
|
|
@@ -13432,8 +13422,8 @@ const qc = ({
|
|
|
13432
13422
|
}, a1 = () => {
|
|
13433
13423
|
const { getHealthScore: e } = Ea(), { finstrong: n } = T(), { key_indicators_borrow: i } = n, { user: a } = Ct(), o = (d) => {
|
|
13434
13424
|
const { good: _, poor: u } = Mi.debtToIncomeRatio;
|
|
13435
|
-
let h =
|
|
13436
|
-
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(
|
|
13437
13427
|
i.manage_debit_off_track_description,
|
|
13438
13428
|
d
|
|
13439
13429
|
), p = n.key_indicators_off_track)), {
|
|
@@ -13444,8 +13434,8 @@ const qc = ({
|
|
|
13444
13434
|
};
|
|
13445
13435
|
}, r = (d) => {
|
|
13446
13436
|
const { good: _, poor: u } = Mi.creditScore;
|
|
13447
|
-
let h =
|
|
13448
|
-
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(
|
|
13449
13439
|
i.credit_score_off_track_description,
|
|
13450
13440
|
d
|
|
13451
13441
|
), p = n.key_indicators_off_track)), {
|
|
@@ -13775,14 +13765,14 @@ const c1 = (e, n) => {
|
|
|
13775
13765
|
let C = /* @__PURE__ */ t(co, {});
|
|
13776
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: [
|
|
13777
13767
|
/* @__PURE__ */ t(
|
|
13778
|
-
|
|
13768
|
+
mn,
|
|
13779
13769
|
{
|
|
13780
13770
|
avatar: /* @__PURE__ */ t(Pt, { sx: { bgcolor: c, color: d, height: 48, width: 48 }, variant: "rounded", children: C }),
|
|
13781
13771
|
subheader: /* @__PURE__ */ t(f, { variant: n || s ? "H3" : "H2", children: `${H(e.current_amount, s ? "0,0" : "0,0.00")} / ${l1(
|
|
13782
13772
|
m,
|
|
13783
13773
|
s
|
|
13784
13774
|
)}` }),
|
|
13785
|
-
title: /* @__PURE__ */ t(
|
|
13775
|
+
title: /* @__PURE__ */ t(hn, { color: "text.secondary", fontWeight: 400, variant: "Body", children: e.name })
|
|
13786
13776
|
}
|
|
13787
13777
|
),
|
|
13788
13778
|
/* @__PURE__ */ t(Ht, { sx: { pt: 0 }, children: /* @__PURE__ */ l(b, { gap: 6, children: [
|
|
@@ -14038,9 +14028,9 @@ const c1 = (e, n) => {
|
|
|
14038
14028
|
/* @__PURE__ */ t(f, { color: "text.secondary", variant: "Small", children: a.ongoing_title }),
|
|
14039
14029
|
/* @__PURE__ */ t(g1, { trackType: e })
|
|
14040
14030
|
] }),
|
|
14041
|
-
c.length > 0 ? /* @__PURE__ */ t(
|
|
14031
|
+
c.length > 0 ? /* @__PURE__ */ t(In, { container: !0, spacing: 24, children: c.map((u, h, m) => (
|
|
14042
14032
|
// Goal should be full width in mobile or if it's the first goal (unless there are 2)
|
|
14043
|
-
/* @__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)
|
|
14044
14034
|
)) }) : /* @__PURE__ */ l(
|
|
14045
14035
|
b,
|
|
14046
14036
|
{
|
|
@@ -14911,7 +14901,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14911
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: [
|
|
14912
14902
|
/* @__PURE__ */ t(Pt, { sx: { bgcolor: a, color: o, height: 32, width: 32 }, variant: "rounded", children: d }),
|
|
14913
14903
|
/* @__PURE__ */ l(O, { sx: { width: "100%" }, children: [
|
|
14914
|
-
/* @__PURE__ */ t(
|
|
14904
|
+
/* @__PURE__ */ t(hn, { fontSize: 15, fontWeight: 600, variant: "body1", children: e.name }),
|
|
14915
14905
|
e.projected_to_complete_at && /* @__PURE__ */ t(f, { color: "text.secondary", variant: "XSmall", children: s })
|
|
14916
14906
|
] }),
|
|
14917
14907
|
/* @__PURE__ */ t(
|
|
@@ -14927,7 +14917,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14927
14917
|
)
|
|
14928
14918
|
] });
|
|
14929
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 }) => {
|
|
14930
|
-
const { goals: a } = T(), { availableWidth: o } =
|
|
14920
|
+
const { goals: a } = T(), { availableWidth: o } = pn(), r = o >= 600, c = Se().palette.mode === "dark";
|
|
14931
14921
|
return /* @__PURE__ */ l(
|
|
14932
14922
|
b,
|
|
14933
14923
|
{
|
|
@@ -14943,7 +14933,7 @@ const I1 = x(({ goal: e }) => {
|
|
|
14943
14933
|
r && /* @__PURE__ */ t(O, { children: /* @__PURE__ */ t("img", { alt: a.create_goals_header, src: c ? v1 : w1 }) }),
|
|
14944
14934
|
/* @__PURE__ */ l(b, { sx: { alignItems: r ? "flex-start" : "center" }, children: [
|
|
14945
14935
|
/* @__PURE__ */ t(ld, { size: 32 }),
|
|
14946
|
-
/* @__PURE__ */ t(
|
|
14936
|
+
/* @__PURE__ */ t(hn, { fontSize: 15, fontWeight: 600, children: e }),
|
|
14947
14937
|
/* @__PURE__ */ t(
|
|
14948
14938
|
f,
|
|
14949
14939
|
{
|
|
@@ -15641,7 +15631,7 @@ const Q1 = ({
|
|
|
15641
15631
|
onMouseLeave: o,
|
|
15642
15632
|
selectedData: r
|
|
15643
15633
|
}) => {
|
|
15644
|
-
const { isMobile: s } = be(), { availableWidth: c } =
|
|
15634
|
+
const { isMobile: s } = be(), { availableWidth: c } = pn(), d = Xe(), _ = c - 320, u = e.map((C) => ({
|
|
15645
15635
|
x: On(Ve(C.x), "MMM"),
|
|
15646
15636
|
y: C.y
|
|
15647
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) => ({
|
|
@@ -15791,7 +15781,7 @@ const Q1 = ({
|
|
|
15791
15781
|
}), cC = (e, n) => [...e, ...n], rs = (e) => {
|
|
15792
15782
|
if (e && e.length > 0)
|
|
15793
15783
|
return e[e.length - 1];
|
|
15794
|
-
}, 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) => {
|
|
15795
15785
|
const s = n.filter(
|
|
15796
15786
|
({ year_month: u }) => u === parseInt(On(Ve(r), "yyyyMM"))
|
|
15797
15787
|
), c = e.map((u) => {
|
|
@@ -16935,13 +16925,13 @@ const ll = x(() => {
|
|
|
16935
16925
|
nextIconButton: {
|
|
16936
16926
|
sx: {
|
|
16937
16927
|
color: "primary.main",
|
|
16938
|
-
"&:hover": { backgroundColor:
|
|
16928
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16939
16929
|
}
|
|
16940
16930
|
},
|
|
16941
16931
|
previousIconButton: {
|
|
16942
16932
|
sx: {
|
|
16943
16933
|
color: "primary.main",
|
|
16944
|
-
"&:hover": { backgroundColor:
|
|
16934
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16945
16935
|
}
|
|
16946
16936
|
}
|
|
16947
16937
|
},
|
|
@@ -16949,7 +16939,7 @@ const ll = x(() => {
|
|
|
16949
16939
|
width: "100%",
|
|
16950
16940
|
"& .MuiIconButton-edgeEnd": {
|
|
16951
16941
|
color: "primary.main",
|
|
16952
|
-
"&:hover": { backgroundColor:
|
|
16942
|
+
"&:hover": { backgroundColor: wn(i.palette.primary.light, 0.1) }
|
|
16953
16943
|
}
|
|
16954
16944
|
},
|
|
16955
16945
|
value: N()
|
|
@@ -17109,7 +17099,7 @@ const HC = ({
|
|
|
17109
17099
|
"& .MuiDataGrid-columnHeader .MuiIconButton-root": {
|
|
17110
17100
|
color: a.palette.primary.main,
|
|
17111
17101
|
"&:hover": {
|
|
17112
|
-
backgroundColor:
|
|
17102
|
+
backgroundColor: wn(a.palette.primary.main, 0.1)
|
|
17113
17103
|
}
|
|
17114
17104
|
},
|
|
17115
17105
|
"& .MuiDataGrid-sortIcon": {
|
|
@@ -17529,7 +17519,7 @@ const HC = ({
|
|
|
17529
17519
|
);
|
|
17530
17520
|
}
|
|
17531
17521
|
), jC = x(({ rule: e }) => {
|
|
17532
|
-
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), _ = () => {
|
|
17533
17523
|
d(!1), i(null), o(void 0);
|
|
17534
17524
|
}, u = async () => {
|
|
17535
17525
|
await a(), _();
|
|
@@ -17607,7 +17597,7 @@ const HC = ({
|
|
|
17607
17597
|
Co,
|
|
17608
17598
|
{
|
|
17609
17599
|
maxDate: $e(/* @__PURE__ */ new Date()),
|
|
17610
|
-
minDate:
|
|
17600
|
+
minDate: Ye(/* @__PURE__ */ new Date()),
|
|
17611
17601
|
onChange: (S) => {
|
|
17612
17602
|
m(S.getDate());
|
|
17613
17603
|
},
|
|
@@ -18235,7 +18225,7 @@ const HC = ({
|
|
|
18235
18225
|
}
|
|
18236
18226
|
)
|
|
18237
18227
|
] }),
|
|
18238
|
-
/* @__PURE__ */ t(
|
|
18228
|
+
/* @__PURE__ */ t(hn, { color: "text.primary", sx: { mt: 24, whiteSpace: { sm: "nowrap", xs: "wrap" } }, children: r })
|
|
18239
18229
|
] });
|
|
18240
18230
|
}, Gt = ({
|
|
18241
18231
|
altImage: e,
|
|
@@ -20974,7 +20964,7 @@ const HC = ({
|
|
|
20974
20964
|
return /* @__PURE__ */ t(de, { isOpen: i, onClose: o, title: e.request_support, children: /* @__PURE__ */ l(O, { sx: { px: 24 }, children: [
|
|
20975
20965
|
/* @__PURE__ */ t(b, { sx: { alignItems: "center", pb: 24, pt: 80 }, children: /* @__PURE__ */ t(V, { color: "success", fill: !0, name: "check_circle", size: 64 }) }),
|
|
20976
20966
|
/* @__PURE__ */ l(b, { sx: { alignItems: "center", gap: 16, pb: 48 }, children: [
|
|
20977
|
-
/* @__PURE__ */ t(
|
|
20967
|
+
/* @__PURE__ */ t(hn, { children: e.request_support_success }),
|
|
20978
20968
|
/* @__PURE__ */ t(ie, { align: "center", variant: "Body", children: e.request_support_submit_success_message }),
|
|
20979
20969
|
/* @__PURE__ */ t(f, { bold: !0, variant: "Body", children: n })
|
|
20980
20970
|
] }),
|
|
@@ -21587,7 +21577,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21587
21577
|
isOpen: i,
|
|
21588
21578
|
onClose: a
|
|
21589
21579
|
}) => {
|
|
21590
|
-
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(
|
|
21591
21581
|
() => d.find((p) => p.guid === _),
|
|
21592
21582
|
[_, d]
|
|
21593
21583
|
);
|
|
@@ -21615,7 +21605,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21615
21605
|
}
|
|
21616
21606
|
);
|
|
21617
21607
|
}, fl = x(Uf), Vf = ({ onBackClick: e, sx: n }) => {
|
|
21618
|
-
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);
|
|
21619
21609
|
g.useEffect(() => {
|
|
21620
21610
|
const Q = () => W(window.innerHeight);
|
|
21621
21611
|
return window.addEventListener("resize", Q), () => window.removeEventListener("resize", Q);
|
|
@@ -21789,7 +21779,7 @@ const Mf = (e) => e.reduce((i, a) => {
|
|
|
21789
21779
|
secondaryLabel: o,
|
|
21790
21780
|
shouldDisplayPercentage: r
|
|
21791
21781
|
}) => {
|
|
21792
|
-
const { availableWidth: s } =
|
|
21782
|
+
const { availableWidth: s } = pn(), c = g.useRef(null), d = g.useRef(null), _ = _i(Number(Math.abs(a)), {
|
|
21793
21783
|
style: "percent",
|
|
21794
21784
|
minimumIntegerDigits: 1
|
|
21795
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;
|
|
@@ -22127,8 +22117,8 @@ const Jo = {
|
|
|
22127
22117
|
(e, n) => ({
|
|
22128
22118
|
...e,
|
|
22129
22119
|
[bl(n)]: {
|
|
22130
|
-
action:
|
|
22131
|
-
category:
|
|
22120
|
+
action: xn.MICRO_BEAT_CLICKED,
|
|
22121
|
+
category: Tn.BEAT_INTERACTION,
|
|
22132
22122
|
label: er(n),
|
|
22133
22123
|
value: Yt
|
|
22134
22124
|
}
|
|
@@ -22138,8 +22128,8 @@ const Jo = {
|
|
|
22138
22128
|
(e, n) => ({
|
|
22139
22129
|
...e,
|
|
22140
22130
|
[yl(n)]: {
|
|
22141
|
-
action:
|
|
22142
|
-
category:
|
|
22131
|
+
action: xn.MICRO_BEAT_DISPLAYED,
|
|
22132
|
+
category: Tn.BEAT_INTERACTION,
|
|
22143
22133
|
label: er(n),
|
|
22144
22134
|
value: Yt
|
|
22145
22135
|
}
|
|
@@ -22149,18 +22139,18 @@ const Jo = {
|
|
|
22149
22139
|
(e, n) => ({
|
|
22150
22140
|
...e,
|
|
22151
22141
|
[El(n)]: {
|
|
22152
|
-
action:
|
|
22153
|
-
category:
|
|
22142
|
+
action: xn.MICRO_BEAT_DISPLAYED_FIRST_TIME,
|
|
22143
|
+
category: Tn.BEAT_INTERACTION,
|
|
22154
22144
|
label: er(n),
|
|
22155
22145
|
value: Yt
|
|
22156
22146
|
}
|
|
22157
22147
|
}),
|
|
22158
22148
|
{}
|
|
22159
|
-
),
|
|
22149
|
+
), An = {
|
|
22160
22150
|
CAROUSEL_CONTROL: "Carousel Control",
|
|
22161
22151
|
MICRO_WIDGET: "Micro Widget",
|
|
22162
22152
|
VIEW_MORE: "View More"
|
|
22163
|
-
},
|
|
22153
|
+
}, Tn = {
|
|
22164
22154
|
MICRO_WIDGET_INTERACTION: "Micro Widget Interaction",
|
|
22165
22155
|
BEAT_INTERACTION: "Beat Interaction"
|
|
22166
22156
|
}, zt = {
|
|
@@ -22172,7 +22162,7 @@ const Jo = {
|
|
|
22172
22162
|
ON_VIEW_MORE_CLICKED: "onViewMoreClicked"
|
|
22173
22163
|
}, Sl = {
|
|
22174
22164
|
ON_VIEW_MORE_VIEWED: "onViewMoreCardView"
|
|
22175
|
-
},
|
|
22165
|
+
}, xn = {
|
|
22176
22166
|
CONTROL_BACKWARD: "Control Backward",
|
|
22177
22167
|
CONTROL_FORWARD: "Control Forward",
|
|
22178
22168
|
MICRO_BEAT_CLICKED: "Micro Beat Clicked",
|
|
@@ -22186,21 +22176,21 @@ const Jo = {
|
|
|
22186
22176
|
MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS: "Micro Widget Carousel No Relevant Insights"
|
|
22187
22177
|
}, fs = {
|
|
22188
22178
|
[kn.MICRO_WIDGET_CAROUSEL]: {
|
|
22189
|
-
label:
|
|
22179
|
+
label: An.MICRO_WIDGET,
|
|
22190
22180
|
name: kn.MICRO_WIDGET_CAROUSEL,
|
|
22191
22181
|
path: Cs.INSIGHTS_MICRO_WIDGET,
|
|
22192
22182
|
value: Yt
|
|
22193
22183
|
},
|
|
22194
22184
|
// zero state
|
|
22195
22185
|
[kn.MICRO_WIDGET_CAROUSEL_ZERO_STATE]: {
|
|
22196
|
-
label:
|
|
22186
|
+
label: An.MICRO_WIDGET,
|
|
22197
22187
|
name: kn.MICRO_WIDGET_CAROUSEL_ZERO_STATE,
|
|
22198
22188
|
path: Cs.INSIGHTS_MICRO_WIDGET,
|
|
22199
22189
|
value: Yt
|
|
22200
22190
|
},
|
|
22201
22191
|
// no relevant cards
|
|
22202
22192
|
[kn.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS]: {
|
|
22203
|
-
label:
|
|
22193
|
+
label: An.MICRO_WIDGET,
|
|
22204
22194
|
name: kn.MICRO_WIDGET_CAROUSEL_NO_RELEVANT_INSIGHTS,
|
|
22205
22195
|
path: "/micro-widget",
|
|
22206
22196
|
value: Yt
|
|
@@ -22208,40 +22198,40 @@ const Jo = {
|
|
|
22208
22198
|
}, bs = {
|
|
22209
22199
|
// carousel control interaction events - clicks and swipes
|
|
22210
22200
|
[zt.ON_CAROUSEL_BACK_CLICK]: {
|
|
22211
|
-
action:
|
|
22212
|
-
category:
|
|
22213
|
-
label:
|
|
22201
|
+
action: xn.CONTROL_BACKWARD,
|
|
22202
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22203
|
+
label: An.CAROUSEL_CONTROL,
|
|
22214
22204
|
value: Yt
|
|
22215
22205
|
},
|
|
22216
22206
|
[zt.ON_CAROUSEL_FORWARD_CLICK]: {
|
|
22217
|
-
action:
|
|
22218
|
-
category:
|
|
22219
|
-
label:
|
|
22207
|
+
action: xn.CONTROL_FORWARD,
|
|
22208
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22209
|
+
label: An.CAROUSEL_CONTROL,
|
|
22220
22210
|
value: Yt
|
|
22221
22211
|
},
|
|
22222
22212
|
[zt.ON_CAROUSEL_BACK_SWIPE]: {
|
|
22223
|
-
action:
|
|
22224
|
-
category:
|
|
22225
|
-
label:
|
|
22213
|
+
action: xn.SWIPE_BACKWARD,
|
|
22214
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22215
|
+
label: An.CAROUSEL_CONTROL,
|
|
22226
22216
|
value: Yt
|
|
22227
22217
|
},
|
|
22228
22218
|
[zt.ON_CAROUSEL_FORWARD_SWIPE]: {
|
|
22229
|
-
action:
|
|
22230
|
-
category:
|
|
22231
|
-
label:
|
|
22219
|
+
action: xn.SWIPE_FORWARD,
|
|
22220
|
+
category: Tn.MICRO_WIDGET_INTERACTION,
|
|
22221
|
+
label: An.CAROUSEL_CONTROL,
|
|
22232
22222
|
value: Yt
|
|
22233
22223
|
},
|
|
22234
22224
|
// read more card events
|
|
22235
22225
|
[zt.ON_VIEW_MORE_CLICKED]: {
|
|
22236
|
-
action:
|
|
22237
|
-
category:
|
|
22238
|
-
label:
|
|
22226
|
+
action: xn.MICRO_BEAT_CLICKED,
|
|
22227
|
+
category: Tn.BEAT_INTERACTION,
|
|
22228
|
+
label: An.VIEW_MORE,
|
|
22239
22229
|
value: Yt
|
|
22240
22230
|
},
|
|
22241
22231
|
[Sl.ON_VIEW_MORE_VIEWED]: {
|
|
22242
|
-
action:
|
|
22243
|
-
category:
|
|
22244
|
-
label:
|
|
22232
|
+
action: xn.MICRO_BEAT_DISPLAYED,
|
|
22233
|
+
category: Tn.BEAT_INTERACTION,
|
|
22234
|
+
label: An.VIEW_MORE,
|
|
22245
22235
|
value: Yt
|
|
22246
22236
|
},
|
|
22247
22237
|
...Jf(),
|
|
@@ -22396,7 +22386,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
22396
22386
|
},
|
|
22397
22387
|
children: [
|
|
22398
22388
|
/* @__PURE__ */ t(
|
|
22399
|
-
|
|
22389
|
+
mn,
|
|
22400
22390
|
{
|
|
22401
22391
|
avatar: u && s,
|
|
22402
22392
|
subheader: d && R,
|
|
@@ -22455,7 +22445,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
22455
22445
|
size: 16
|
|
22456
22446
|
}
|
|
22457
22447
|
);
|
|
22458
|
-
}, s0 = (e) =>
|
|
22448
|
+
}, s0 = (e) => gn({
|
|
22459
22449
|
marginTop: e.Spacing.XTiny,
|
|
22460
22450
|
"& .kyper-categoryicon": {
|
|
22461
22451
|
display: "flex"
|
|
@@ -23863,7 +23853,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23863
23853
|
},
|
|
23864
23854
|
children: /* @__PURE__ */ t(uo, {})
|
|
23865
23855
|
}
|
|
23866
|
-
),
|
|
23856
|
+
), yn = new i0(), A0 = ({
|
|
23867
23857
|
allowSingleCardPeeking: e,
|
|
23868
23858
|
areBeatsLoading: n,
|
|
23869
23859
|
beats: i = [],
|
|
@@ -23894,15 +23884,15 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23894
23884
|
visibleCardsCount: R = 1,
|
|
23895
23885
|
widthOverrides: M
|
|
23896
23886
|
}) => {
|
|
23897
|
-
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);
|
|
23898
23888
|
g.useEffect(() => {
|
|
23899
|
-
|
|
23900
|
-
}, [r, I, c,
|
|
23889
|
+
yn.isInitialized || yn.initialize(r, I, c);
|
|
23890
|
+
}, [r, I, c, yn.isInitialized]), g.useEffect(() => {
|
|
23901
23891
|
const ke = window.innerHeight;
|
|
23902
23892
|
ke < 180 ? L("STANDARD") : ke >= 180 && ke < 200 ? L("LARGE") : ke >= 200 && ke < 248 ? L("XLARGE") : ke >= 248 && L("XXLARGE");
|
|
23903
23893
|
}, [window.innerHeight]), g.useEffect(() => {
|
|
23904
|
-
Y(!n &&
|
|
23905
|
-
}, [n,
|
|
23894
|
+
Y(!n && yn.isInitialized);
|
|
23895
|
+
}, [n, yn.isInitialized]);
|
|
23906
23896
|
const ge = {
|
|
23907
23897
|
showCTAColocatedWithText: o,
|
|
23908
23898
|
heightOverrides: s,
|
|
@@ -23921,8 +23911,8 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
23921
23911
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
23922
23912
|
/* @__PURE__ */ l(Cd, { theme: k, children: [
|
|
23923
23913
|
/* @__PURE__ */ t(eu, {}),
|
|
23924
|
-
/* @__PURE__ */ t(a0, { onEvent: se, onPageview: ee, store:
|
|
23925
|
-
(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, {}),
|
|
23926
23916
|
W && E && /* @__PURE__ */ t(
|
|
23927
23917
|
y0,
|
|
23928
23918
|
{
|
|
@@ -24158,7 +24148,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
24158
24148
|
}
|
|
24159
24149
|
return s;
|
|
24160
24150
|
}, M0 = ({ selectedDateRange: e, totals: n }) => {
|
|
24161
|
-
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;
|
|
24162
24152
|
return g.useEffect(() => {
|
|
24163
24153
|
o > 0 && m === 0 && p(o - 54);
|
|
24164
24154
|
}, [o, m]), /* @__PURE__ */ t(
|
|
@@ -24182,7 +24172,7 @@ const Ui = g.createContext(null), a0 = ({
|
|
|
24182
24172
|
}
|
|
24183
24173
|
);
|
|
24184
24174
|
}, k0 = x(M0), G0 = ({ onBackClick: e, onInsightCardClick: n, sx: i }) => {
|
|
24185
|
-
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(), {
|
|
24186
24176
|
isCopyLoaded: y,
|
|
24187
24177
|
isInitialized: S,
|
|
24188
24178
|
selectedAccounts: I,
|
|
@@ -24369,7 +24359,7 @@ class B0 {
|
|
|
24369
24359
|
if (!this.selectedCategoryData?.transactions || this.selectedCategoryData.transactions.length === 0)
|
|
24370
24360
|
return [];
|
|
24371
24361
|
const n = [];
|
|
24372
|
-
let i =
|
|
24362
|
+
let i = Ye(this.selectedDateRange.start);
|
|
24373
24363
|
const a = this.selectedDateRange.end;
|
|
24374
24364
|
for (; et(i, a); ) {
|
|
24375
24365
|
const o = this.selectedCategoryData.transactions.filter((r) => {
|
|
@@ -24459,7 +24449,7 @@ class F0 {
|
|
|
24459
24449
|
selectedAccountGuids = this.selectedAccounts.map((n) => n.guid);
|
|
24460
24450
|
displayedDate = /* @__PURE__ */ new Date();
|
|
24461
24451
|
displayedDateRange = {
|
|
24462
|
-
start:
|
|
24452
|
+
start: Ye(this.displayedDate),
|
|
24463
24453
|
end: $e(this.displayedDate)
|
|
24464
24454
|
};
|
|
24465
24455
|
constructor(n) {
|
|
@@ -24623,7 +24613,7 @@ const Va = ({
|
|
|
24623
24613
|
(a) => a.member_guid === i.guid && i.successfully_aggregated_at && a.guid !== n.guid
|
|
24624
24614
|
);
|
|
24625
24615
|
}, V0 = () => {
|
|
24626
|
-
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) => {
|
|
24627
24617
|
await u({
|
|
24628
24618
|
...d,
|
|
24629
24619
|
...S
|
|
@@ -25020,7 +25010,7 @@ const Va = ({
|
|
|
25020
25010
|
"& .MuiPickersArrowSwitcher-button": {
|
|
25021
25011
|
color: "primary.lighter",
|
|
25022
25012
|
"&:hover": {
|
|
25023
|
-
backgroundColor: (y) =>
|
|
25013
|
+
backgroundColor: (y) => wn(y.palette.primary.light, 0.1)
|
|
25024
25014
|
}
|
|
25025
25015
|
}
|
|
25026
25016
|
},
|
|
@@ -25169,7 +25159,7 @@ const Va = ({
|
|
|
25169
25159
|
)
|
|
25170
25160
|
] });
|
|
25171
25161
|
}, eb = x(J0), tb = () => {
|
|
25172
|
-
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(
|
|
25173
25163
|
() => s.find((d) => d.guid === e),
|
|
25174
25164
|
[e, s]
|
|
25175
25165
|
);
|
|
@@ -25260,7 +25250,7 @@ const Va = ({
|
|
|
25260
25250
|
{
|
|
25261
25251
|
"aria-label": v,
|
|
25262
25252
|
subheader: /* @__PURE__ */ t(Ft, { component: "h2", sx: { backgroundColor: "transparent", px: 24 }, children: /* @__PURE__ */ l(
|
|
25263
|
-
|
|
25253
|
+
Le,
|
|
25264
25254
|
{
|
|
25265
25255
|
component: "span",
|
|
25266
25256
|
direction: "row",
|
|
@@ -25271,7 +25261,7 @@ const Va = ({
|
|
|
25271
25261
|
]
|
|
25272
25262
|
}
|
|
25273
25263
|
) }),
|
|
25274
|
-
children: /* @__PURE__ */ t(
|
|
25264
|
+
children: /* @__PURE__ */ t(Le, { children: S.map((w, N, R) => {
|
|
25275
25265
|
const M = N === R.length - 1;
|
|
25276
25266
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
25277
25267
|
/* @__PURE__ */ t(
|
|
@@ -25317,7 +25307,7 @@ const Va = ({
|
|
|
25317
25307
|
{
|
|
25318
25308
|
"aria-label": i.account_type_accounts[S[0]?.account_type],
|
|
25319
25309
|
subheader: /* @__PURE__ */ t(Ft, { component: "h2", sx: { backgroundColor: "transparent", px: 24 }, children: /* @__PURE__ */ l(
|
|
25320
|
-
|
|
25310
|
+
Le,
|
|
25321
25311
|
{
|
|
25322
25312
|
component: "span",
|
|
25323
25313
|
direction: "row",
|
|
@@ -25328,7 +25318,7 @@ const Va = ({
|
|
|
25328
25318
|
]
|
|
25329
25319
|
}
|
|
25330
25320
|
) }),
|
|
25331
|
-
children: /* @__PURE__ */ t(
|
|
25321
|
+
children: /* @__PURE__ */ t(Le, { children: S.map((v) => {
|
|
25332
25322
|
const w = a.indexOf(v) === a.length - 1, N = S.indexOf(v) === S.length - 1;
|
|
25333
25323
|
return /* @__PURE__ */ l(g.Fragment, { children: [
|
|
25334
25324
|
/* @__PURE__ */ t(
|
|
@@ -26560,7 +26550,7 @@ const Nb = ({
|
|
|
26560
26550
|
shouldShowZeroState: o,
|
|
26561
26551
|
unavailableWidth: r = 24
|
|
26562
26552
|
}) => {
|
|
26563
|
-
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) => {
|
|
26564
26554
|
c(I), s(F.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
26565
26555
|
budget_category: I.category.name,
|
|
26566
26556
|
click_type: "bubble"
|
|
@@ -26732,7 +26722,7 @@ const Nb = ({
|
|
|
26732
26722
|
return g.useEffect(() => {
|
|
26733
26723
|
s(n);
|
|
26734
26724
|
}, [n]), g.useEffect(() => {
|
|
26735
|
-
u && !o && m(h,
|
|
26725
|
+
u && !o && m(h, Ye(/* @__PURE__ */ new Date()), $e(/* @__PURE__ */ new Date())).then(
|
|
26736
26726
|
() => {
|
|
26737
26727
|
r().finally();
|
|
26738
26728
|
}
|
|
@@ -26821,7 +26811,7 @@ const Nb = ({
|
|
|
26821
26811
|
)
|
|
26822
26812
|
] }) });
|
|
26823
26813
|
}), Fb = x(({ category: e, parentBudget: n }) => {
|
|
26824
|
-
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);
|
|
26825
26815
|
g.useEffect(() => {
|
|
26826
26816
|
r((S) => {
|
|
26827
26817
|
const I = e.subCategories.find((v) => v.guid === S);
|
|
@@ -26873,7 +26863,7 @@ const Nb = ({
|
|
|
26873
26863
|
)
|
|
26874
26864
|
] });
|
|
26875
26865
|
}), Wb = x(({ budget: e }) => {
|
|
26876
|
-
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("");
|
|
26877
26867
|
g.useEffect(() => {
|
|
26878
26868
|
s && (y(`${s.amount}`), u({
|
|
26879
26869
|
..._,
|
|
@@ -26958,7 +26948,7 @@ const Nb = ({
|
|
|
26958
26948
|
sortedTransactions: c,
|
|
26959
26949
|
sortedTransactionsWithSplits: d,
|
|
26960
26950
|
tags: _
|
|
26961
|
-
} =
|
|
26951
|
+
} = Me(), [u, h] = g.useState(0), [m, p] = g.useState(""), C = g.useMemo(
|
|
26962
26952
|
() => c.find((I) => I.guid === m),
|
|
26963
26953
|
[m, c]
|
|
26964
26954
|
), E = (I, v) => {
|
|
@@ -27017,7 +27007,7 @@ const Nb = ({
|
|
|
27017
27007
|
setAlert: c,
|
|
27018
27008
|
setSelectedBudget: d,
|
|
27019
27009
|
updateBudget: _
|
|
27020
|
-
} = _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("");
|
|
27021
27011
|
g.useEffect(() => {
|
|
27022
27012
|
r && !s && (I(`${r.amount}`), m(!0), u({
|
|
27023
27013
|
accounts: e,
|
|
@@ -27125,14 +27115,14 @@ const Nb = ({
|
|
|
27125
27115
|
});
|
|
27126
27116
|
};
|
|
27127
27117
|
return /* @__PURE__ */ l(St, { elevation: 2, children: [
|
|
27128
|
-
/* @__PURE__ */ t(
|
|
27118
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ t(at, { children: n.budget_categories_title }) }),
|
|
27129
27119
|
/* @__PURE__ */ t(Ht, { sx: { p: 0, ":last-child": { p: 0 } }, children: /* @__PURE__ */ t(oe, { children: i.map((r) => /* @__PURE__ */ l(g.Fragment, { children: [
|
|
27130
27120
|
/* @__PURE__ */ t(Kb, { budget: r, onClick: o }),
|
|
27131
27121
|
/* @__PURE__ */ t(P, {})
|
|
27132
27122
|
] }, r.guid)) }) })
|
|
27133
27123
|
] });
|
|
27134
27124
|
}), zb = x(() => {
|
|
27135
|
-
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(() => {
|
|
27136
27126
|
const v = c.reduce((M, k) => M + k.totalAmount, 0);
|
|
27137
27127
|
let w = v / _;
|
|
27138
27128
|
w > 1 && (w = 1);
|
|
@@ -27168,7 +27158,7 @@ const Nb = ({
|
|
|
27168
27158
|
}), p(!0), n(F.BUDGETS_CLICK_EDIT_INCOME);
|
|
27169
27159
|
};
|
|
27170
27160
|
return /* @__PURE__ */ l(St, { elevation: 2, sx: { overflow: "visible" }, children: [
|
|
27171
|
-
/* @__PURE__ */ t(
|
|
27161
|
+
/* @__PURE__ */ t(mn, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ t(at, { children: a.overview_title }) }),
|
|
27172
27162
|
/* @__PURE__ */ t(Ht, { sx: { pt: 12, px: 24 }, children: /* @__PURE__ */ l(b, { gap: 24, children: [
|
|
27173
27163
|
/* @__PURE__ */ l(b, { gap: 8, children: [
|
|
27174
27164
|
/* @__PURE__ */ t(f, { bold: !0, sx: { mb: 8 }, variant: "Body", children: a.spending_title }),
|
|
@@ -27240,7 +27230,7 @@ const Nb = ({
|
|
|
27240
27230
|
Y(!0), a(F.BUDGETS_CLICK_ADD);
|
|
27241
27231
|
}, xe = () => {
|
|
27242
27232
|
Y(!1);
|
|
27243
|
-
}, ke = rn(p.end,
|
|
27233
|
+
}, ke = rn(p.end, Ye(/* @__PURE__ */ new Date()));
|
|
27244
27234
|
return !c || !d || !C ? /* @__PURE__ */ t(_e, {}) : /* @__PURE__ */ l(
|
|
27245
27235
|
ft,
|
|
27246
27236
|
{
|
|
@@ -27470,21 +27460,21 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
27470
27460
|
() => c.filter((u) => u.location === qi.RightSide),
|
|
27471
27461
|
[c]
|
|
27472
27462
|
);
|
|
27473
|
-
return /* @__PURE__ */ l(
|
|
27474
|
-
/* @__PURE__ */ t(
|
|
27475
|
-
/* @__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: [
|
|
27476
27466
|
/* @__PURE__ */ t(jb, {}),
|
|
27477
27467
|
n && /* @__PURE__ */ l(b, { direction: "column", spacing: 24, children: [
|
|
27478
|
-
/* @__PURE__ */ t(
|
|
27479
|
-
/* @__PURE__ */ t(
|
|
27480
|
-
/* @__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%" })
|
|
27481
27471
|
] }),
|
|
27482
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)) })
|
|
27483
27473
|
] }),
|
|
27484
|
-
i && /* @__PURE__ */ t(
|
|
27485
|
-
/* @__PURE__ */ t(
|
|
27486
|
-
/* @__PURE__ */ t(
|
|
27487
|
-
/* @__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%" })
|
|
27488
27478
|
] }) : /* @__PURE__ */ t(b, { direction: "column", spacing: 24, children: _.map((u) => /* @__PURE__ */ t(g.Fragment, { children: u.component }, u.index)) }) })
|
|
27489
27479
|
] });
|
|
27490
27480
|
}, b4 = x(Qb), tr = ({ sx: e = {} }) => {
|
|
@@ -28124,7 +28114,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28124
28114
|
onClose: d,
|
|
28125
28115
|
title: _.overview.investment_details,
|
|
28126
28116
|
children: [
|
|
28127
|
-
/* @__PURE__ */ l(
|
|
28117
|
+
/* @__PURE__ */ l(Le, { sx: { gap: 8, p: 24 }, children: [
|
|
28128
28118
|
/* @__PURE__ */ t(
|
|
28129
28119
|
Et,
|
|
28130
28120
|
{
|
|
@@ -28135,7 +28125,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28135
28125
|
),
|
|
28136
28126
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "Small", children: e.accounts.memberName }),
|
|
28137
28127
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "H2", children: e.accounts.user_name || e.accounts.name }),
|
|
28138
|
-
/* @__PURE__ */ l(
|
|
28128
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", flexDirection: "row", justifyContent: "space-between" }, children: [
|
|
28139
28129
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: _.overview.current_balance }),
|
|
28140
28130
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: e.accounts.balance?.toLocaleString("en-US", {
|
|
28141
28131
|
currency: "USD",
|
|
@@ -28146,7 +28136,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28146
28136
|
] })
|
|
28147
28137
|
] }),
|
|
28148
28138
|
/* @__PURE__ */ l(
|
|
28149
|
-
|
|
28139
|
+
Le,
|
|
28150
28140
|
{
|
|
28151
28141
|
sx: {
|
|
28152
28142
|
bgcolor: "background.default",
|
|
@@ -28187,10 +28177,10 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28187
28177
|
borderColor: "border.main"
|
|
28188
28178
|
}
|
|
28189
28179
|
],
|
|
28190
|
-
children: /* @__PURE__ */ l(
|
|
28180
|
+
children: /* @__PURE__ */ l(Le, { sx: { flexDirection: "row", width: "100%" }, children: [
|
|
28191
28181
|
/* @__PURE__ */ t("div", { style: { width: 24 } }),
|
|
28192
28182
|
/* @__PURE__ */ l(
|
|
28193
|
-
|
|
28183
|
+
Le,
|
|
28194
28184
|
{
|
|
28195
28185
|
sx: [
|
|
28196
28186
|
{
|
|
@@ -28208,21 +28198,21 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28208
28198
|
],
|
|
28209
28199
|
children: [
|
|
28210
28200
|
/* @__PURE__ */ t(
|
|
28211
|
-
|
|
28201
|
+
Le,
|
|
28212
28202
|
{
|
|
28213
28203
|
sx: {
|
|
28214
28204
|
alignItems: "center",
|
|
28215
28205
|
flexDirection: "row",
|
|
28216
28206
|
gap: 12
|
|
28217
28207
|
},
|
|
28218
|
-
children: /* @__PURE__ */ l(
|
|
28208
|
+
children: /* @__PURE__ */ l(Le, { sx: { overflow: "hidden", width: 98 }, children: [
|
|
28219
28209
|
/* @__PURE__ */ t(f, { sx: { fontWeight: 600 }, variant: "Body", children: p.holding }),
|
|
28220
28210
|
/* @__PURE__ */ t(f, { variant: "XSmall", children: p.description })
|
|
28221
28211
|
] })
|
|
28222
28212
|
}
|
|
28223
28213
|
),
|
|
28224
28214
|
/* @__PURE__ */ l(
|
|
28225
|
-
|
|
28215
|
+
Le,
|
|
28226
28216
|
{
|
|
28227
28217
|
sx: {
|
|
28228
28218
|
alignItems: "center",
|
|
@@ -28232,14 +28222,14 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28232
28222
|
justifyContent: "flex-end"
|
|
28233
28223
|
},
|
|
28234
28224
|
children: [
|
|
28235
|
-
/* @__PURE__ */ l(
|
|
28225
|
+
/* @__PURE__ */ l(Le, { children: [
|
|
28236
28226
|
/* @__PURE__ */ t(f, { sx: { fontWeight: 600, textAlign: "right" }, variant: "Body", children: p.marketValue?.toLocaleString("en-US", {
|
|
28237
28227
|
currency: "USD",
|
|
28238
28228
|
maximumFractionDigits: 2,
|
|
28239
28229
|
minimumFractionDigits: 2,
|
|
28240
28230
|
style: "currency"
|
|
28241
28231
|
}) }),
|
|
28242
|
-
/* @__PURE__ */ l(
|
|
28232
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", gap: 2, flexDirection: "row" }, children: [
|
|
28243
28233
|
p.totalGainLoss !== 0 && /* @__PURE__ */ t(
|
|
28244
28234
|
pt,
|
|
28245
28235
|
{
|
|
@@ -28299,7 +28289,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28299
28289
|
}
|
|
28300
28290
|
),
|
|
28301
28291
|
/* @__PURE__ */ t(Pi, { children: /* @__PURE__ */ l(
|
|
28302
|
-
|
|
28292
|
+
Le,
|
|
28303
28293
|
{
|
|
28304
28294
|
sx: {
|
|
28305
28295
|
alignItems: "center",
|
|
@@ -28308,10 +28298,10 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28308
28298
|
pl: 24
|
|
28309
28299
|
},
|
|
28310
28300
|
children: [
|
|
28311
|
-
/* @__PURE__ */ t(
|
|
28312
|
-
/* @__PURE__ */ l(
|
|
28301
|
+
/* @__PURE__ */ t(Le, { sx: { width: 32 } }),
|
|
28302
|
+
/* @__PURE__ */ l(Le, { sx: { flex: 1 }, children: [
|
|
28313
28303
|
/* @__PURE__ */ l(
|
|
28314
|
-
|
|
28304
|
+
Le,
|
|
28315
28305
|
{
|
|
28316
28306
|
sx: {
|
|
28317
28307
|
alignItems: "center",
|
|
@@ -28329,7 +28319,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28329
28319
|
}
|
|
28330
28320
|
),
|
|
28331
28321
|
/* @__PURE__ */ l(
|
|
28332
|
-
|
|
28322
|
+
Le,
|
|
28333
28323
|
{
|
|
28334
28324
|
sx: {
|
|
28335
28325
|
alignItems: "center",
|
|
@@ -28341,7 +28331,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28341
28331
|
children: [
|
|
28342
28332
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary" }, variant: "Body", children: _.overview.cost_basis_header }),
|
|
28343
28333
|
/* @__PURE__ */ l(
|
|
28344
|
-
|
|
28334
|
+
Le,
|
|
28345
28335
|
{
|
|
28346
28336
|
direction: "row",
|
|
28347
28337
|
sx: {
|
|
@@ -28615,8 +28605,8 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28615
28605
|
}, 0), ze = () => {
|
|
28616
28606
|
o(!1);
|
|
28617
28607
|
};
|
|
28618
|
-
return C ? /* @__PURE__ */ l(
|
|
28619
|
-
!!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: [
|
|
28620
28610
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, children: p.overview.total_portfolio }),
|
|
28621
28611
|
/* @__PURE__ */ t(Zt, { children: xe.toLocaleString("en-US", {
|
|
28622
28612
|
currency: "USD",
|
|
@@ -28624,7 +28614,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28624
28614
|
minimumFractionDigits: 2,
|
|
28625
28615
|
style: "currency"
|
|
28626
28616
|
}) }),
|
|
28627
|
-
/* @__PURE__ */ l(
|
|
28617
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "center", flexDirection: "row", gap: 8 }, children: [
|
|
28628
28618
|
/* @__PURE__ */ t(
|
|
28629
28619
|
pt,
|
|
28630
28620
|
{
|
|
@@ -28676,7 +28666,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28676
28666
|
overflow: "hidden"
|
|
28677
28667
|
},
|
|
28678
28668
|
children: /* @__PURE__ */ l(
|
|
28679
|
-
|
|
28669
|
+
Le,
|
|
28680
28670
|
{
|
|
28681
28671
|
sx: {
|
|
28682
28672
|
border: 1,
|
|
@@ -28689,7 +28679,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28689
28679
|
},
|
|
28690
28680
|
children: [
|
|
28691
28681
|
/* @__PURE__ */ l(
|
|
28692
|
-
|
|
28682
|
+
Le,
|
|
28693
28683
|
{
|
|
28694
28684
|
sx: {
|
|
28695
28685
|
alignItems: "center",
|
|
@@ -28709,7 +28699,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28709
28699
|
size: 32
|
|
28710
28700
|
}
|
|
28711
28701
|
),
|
|
28712
|
-
/* @__PURE__ */ l(
|
|
28702
|
+
/* @__PURE__ */ l(Le, { sx: { overflow: "hidden", pl: 13, pr: 13 }, children: [
|
|
28713
28703
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: K.memberName }),
|
|
28714
28704
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: K.user_name || K.name })
|
|
28715
28705
|
] })
|
|
@@ -28717,7 +28707,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28717
28707
|
}
|
|
28718
28708
|
),
|
|
28719
28709
|
/* @__PURE__ */ l(
|
|
28720
|
-
|
|
28710
|
+
Le,
|
|
28721
28711
|
{
|
|
28722
28712
|
sx: {
|
|
28723
28713
|
alignItems: "center",
|
|
@@ -28728,7 +28718,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28728
28718
|
},
|
|
28729
28719
|
children: [
|
|
28730
28720
|
/* @__PURE__ */ l(
|
|
28731
|
-
|
|
28721
|
+
Le,
|
|
28732
28722
|
{
|
|
28733
28723
|
sx: {
|
|
28734
28724
|
alignItems: "center",
|
|
@@ -28744,7 +28734,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28744
28734
|
children: [
|
|
28745
28735
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary", fontSize: 11 }, variant: "Small", children: p.overview.total_gain_Loss }),
|
|
28746
28736
|
/* @__PURE__ */ l(
|
|
28747
|
-
|
|
28737
|
+
Le,
|
|
28748
28738
|
{
|
|
28749
28739
|
sx: {
|
|
28750
28740
|
alignItems: "center",
|
|
@@ -28799,7 +28789,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28799
28789
|
}
|
|
28800
28790
|
),
|
|
28801
28791
|
/* @__PURE__ */ l(
|
|
28802
|
-
|
|
28792
|
+
Le,
|
|
28803
28793
|
{
|
|
28804
28794
|
sx: {
|
|
28805
28795
|
alignItems: "center",
|
|
@@ -28858,7 +28848,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28858
28848
|
],
|
|
28859
28849
|
children: [
|
|
28860
28850
|
/* @__PURE__ */ l(
|
|
28861
|
-
|
|
28851
|
+
Le,
|
|
28862
28852
|
{
|
|
28863
28853
|
sx: {
|
|
28864
28854
|
alignItems: "center",
|
|
@@ -28877,18 +28867,18 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28877
28867
|
size: 32
|
|
28878
28868
|
}
|
|
28879
28869
|
),
|
|
28880
|
-
/* @__PURE__ */ l(
|
|
28870
|
+
/* @__PURE__ */ l(Le, { sx: { alignItems: "flex-start" }, children: [
|
|
28881
28871
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: K.memberName }),
|
|
28882
28872
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: K.user_name || K.name })
|
|
28883
28873
|
] })
|
|
28884
28874
|
]
|
|
28885
28875
|
}
|
|
28886
28876
|
),
|
|
28887
|
-
/* @__PURE__ */ l(
|
|
28888
|
-
/* @__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: [
|
|
28889
28879
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: p.overview.total_gain_Loss }),
|
|
28890
28880
|
/* @__PURE__ */ l(
|
|
28891
|
-
|
|
28881
|
+
Le,
|
|
28892
28882
|
{
|
|
28893
28883
|
sx: {
|
|
28894
28884
|
alignItems: "center",
|
|
@@ -28940,7 +28930,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
28940
28930
|
}
|
|
28941
28931
|
)
|
|
28942
28932
|
] }),
|
|
28943
|
-
/* @__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: [
|
|
28944
28934
|
/* @__PURE__ */ t(f, { sx: { color: "text.secondary" }, variant: "XSmall", children: p.overview.total_value }),
|
|
28945
28935
|
/* @__PURE__ */ t(f, { sx: { color: "text.primary", fontWeight: 600 }, variant: "Body", children: Ae?.toLocaleString("en-US", {
|
|
28946
28936
|
currency: "USD",
|
|
@@ -29252,7 +29242,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29252
29242
|
g.useEffect(() => {
|
|
29253
29243
|
c(
|
|
29254
29244
|
a,
|
|
29255
|
-
|
|
29245
|
+
Ye(/* @__PURE__ */ new Date()),
|
|
29256
29246
|
$e(/* @__PURE__ */ new Date())
|
|
29257
29247
|
).finally();
|
|
29258
29248
|
}, [a]);
|
|
@@ -29479,7 +29469,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29479
29469
|
e.palette.chartMono.chartMono1,
|
|
29480
29470
|
e.palette.chartMono.chartMono6
|
|
29481
29471
|
], vy = () => {
|
|
29482
|
-
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);
|
|
29483
29473
|
g.useEffect(() => {
|
|
29484
29474
|
o(
|
|
29485
29475
|
d,
|
|
@@ -29597,7 +29587,7 @@ const Qb = ({ widgets: e, isLoading: n }) => {
|
|
|
29597
29587
|
g.useEffect(() => {
|
|
29598
29588
|
c(i);
|
|
29599
29589
|
}, [i]), g.useEffect(() => {
|
|
29600
|
-
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);
|
|
29601
29591
|
}, []);
|
|
29602
29592
|
const p = (C) => {
|
|
29603
29593
|
s(C[0], C[1]);
|
|
@@ -29856,7 +29846,7 @@ export {
|
|
|
29856
29846
|
_t as useBudgetsStore,
|
|
29857
29847
|
wo as useCashflowStore,
|
|
29858
29848
|
Ue as useCategoryStore,
|
|
29859
|
-
|
|
29849
|
+
Cn as useCategoryUiStore,
|
|
29860
29850
|
Xu as useCombineEvents,
|
|
29861
29851
|
qu as useCombinePageviews,
|
|
29862
29852
|
ya as useDebtStore,
|
|
@@ -29878,10 +29868,10 @@ export {
|
|
|
29878
29868
|
ot as useRecurringTransactionsStore,
|
|
29879
29869
|
be as useScreenSize,
|
|
29880
29870
|
bt as useSettingsStore,
|
|
29881
|
-
|
|
29871
|
+
Me as useTransactionStore,
|
|
29882
29872
|
Ot as useTransactionsUiStore,
|
|
29883
29873
|
gi as useTrendsStore,
|
|
29884
29874
|
Ct as useUserStore,
|
|
29885
|
-
|
|
29875
|
+
pn as useWidgetContainerProvider
|
|
29886
29876
|
};
|
|
29887
29877
|
//# sourceMappingURL=index.es.js.map
|