@mx-cartographer/experiences 4.2.5-alpha-sab1 → 4.3.0-alpha.bb2
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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as e, jsxs as c, Fragment as Y } from "react/jsx-runtime";
|
|
2
|
-
import u, { useMemo as
|
|
2
|
+
import u, { useMemo as Ga, useRef as co, useEffect as at, useState as Ne } from "react";
|
|
3
3
|
import { observer as p } from "mobx-react-lite";
|
|
4
4
|
import Q from "@mui/material/Box";
|
|
5
|
-
import
|
|
5
|
+
import S from "@mui/material/Divider";
|
|
6
6
|
import aA from "@mui/material/List";
|
|
7
7
|
import Xe from "@mui/material/ListSubheader";
|
|
8
8
|
import Ui from "@mui/system/Stack";
|
|
9
|
-
import { AccountsIcon as Ma, P as J, Icon as j, useTokens as UA, Text as v, H2 as $t, CategoryIcon as Pe, DialogHeader as Ba, DialogFooter as Ya, Drawer as Va, Footer as Ua, DateRangePicker as Wi, H3 as FA, H1 as
|
|
9
|
+
import { AccountsIcon as Ma, P as J, Icon as j, useTokens as UA, Text as v, H2 as $t, CategoryIcon as Pe, DialogHeader as Ba, DialogFooter as Ya, Drawer as Va, Footer as Ua, DateRangePicker as Wi, H3 as FA, H1 as Ge, TextField as st, IconWeight as ne, MerchantLogo as dt, CategoryIconVariants as lo, InstitutionLogo as Qe, THEMES as ki, createMXTheme as Wa } from "@mxenabled/mxui";
|
|
10
10
|
import ka from "bowser";
|
|
11
11
|
import { getUnixTime as CA } from "date-fns/getUnixTime";
|
|
12
12
|
import { intlFormat as Ka } from "date-fns/intlFormat";
|
|
@@ -16,7 +16,7 @@ import sA from "@mui/material/Button";
|
|
|
16
16
|
import Dt from "@mui/material/Tooltip";
|
|
17
17
|
import KA from "@mui/material/IconButton";
|
|
18
18
|
import $n from "@mui/material/FormControlLabel";
|
|
19
|
-
import
|
|
19
|
+
import K from "@mui/material/ListItem";
|
|
20
20
|
import cA from "@mui/material/ListItemButton";
|
|
21
21
|
import oA from "@mui/material/ListItemText";
|
|
22
22
|
import fo from "@mui/material/Popover";
|
|
@@ -35,10 +35,10 @@ import { fromUnixTime as wA } from "date-fns/fromUnixTime";
|
|
|
35
35
|
import yA from "@mui/material/styles/useTheme";
|
|
36
36
|
import Tt from "@mui/material/useMediaQuery";
|
|
37
37
|
import { css as he, keyframes as Fa } from "@mxenabled/cssinjs";
|
|
38
|
-
import { addDays as
|
|
38
|
+
import { addDays as Se } from "date-fns/addDays";
|
|
39
39
|
import { eachDayOfInterval as Za } from "date-fns/eachDayOfInterval";
|
|
40
40
|
import { eachWeekOfInterval as Ja } from "date-fns/eachWeekOfInterval";
|
|
41
|
-
import { endOfMonth as
|
|
41
|
+
import { endOfMonth as GA } from "date-fns/endOfMonth";
|
|
42
42
|
import { format as te } from "date-fns/format";
|
|
43
43
|
import { isSameMonth as _a } from "date-fns/isSameMonth";
|
|
44
44
|
import { startOfMonth as XA } from "date-fns/startOfMonth";
|
|
@@ -80,12 +80,12 @@ import we from "@mui/material/Avatar";
|
|
|
80
80
|
import zA from "@mui/material/ListItemAvatar";
|
|
81
81
|
import fe from "@mui/material/ListItemIcon";
|
|
82
82
|
import { ChevronRight as ve, Payments as zs, NoteStack as ws, Person as Ls, CheckCircle as Ds, Icon as _i, ExpandLess as xs, ExpandMore as Xs, AccountBalance as Qs, AddBox as Eo } from "@mxenabled/mx-icons";
|
|
83
|
-
import { makeAutoObservable as LA, runInAction as
|
|
83
|
+
import { makeAutoObservable as LA, runInAction as W, reaction as Os, observable as Ts } from "mobx";
|
|
84
84
|
import { differenceInDays as qs } from "date-fns/differenceInDays";
|
|
85
85
|
import pn from "@mui/icons-material/ChevronRight";
|
|
86
86
|
import Ii from "@mui/icons-material/ExpandMore";
|
|
87
87
|
import { DataGridPro as An } from "@mui/x-data-grid-pro";
|
|
88
|
-
import { intervalToDuration as js, formatDuration as Ns, getDate as $i, fromUnixTime as Kt, startOfMonth as Ar, format as
|
|
88
|
+
import { intervalToDuration as js, formatDuration as Ns, getDate as $i, fromUnixTime as Kt, startOfMonth as Ar, format as Ss, differenceInMonths as Gs, isSameDay as Ms, subDays as Bs, startOfToday as Ys, endOfToday as Vs } from "date-fns";
|
|
89
89
|
import { getMonth as mt } from "date-fns/getMonth";
|
|
90
90
|
import Je from "@mui/material/Alert";
|
|
91
91
|
import vo from "@mui/material/Snackbar";
|
|
@@ -217,7 +217,7 @@ const Cc = async (A, t, n = "1.0.0", i = "Experiences") => {
|
|
|
217
217
|
USER_FEATURES: "user_features",
|
|
218
218
|
USER_PROFILES: "user_profiles",
|
|
219
219
|
WIDGET_URLS: "widget_urls"
|
|
220
|
-
},
|
|
220
|
+
}, G = {
|
|
221
221
|
ACCOUNTS_CLICK_ACCOUNT: "accounts_widget_click_account",
|
|
222
222
|
ACCOUNTS_CLICK_CONNECT: "accounts_widget_click_connect_accounts",
|
|
223
223
|
ACCOUNTS_CLICK_FILTER: "accounts_widget_click_filter_accounts",
|
|
@@ -769,7 +769,7 @@ const D8 = {
|
|
|
769
769
|
[b.UNCATEGORIZED]: "category",
|
|
770
770
|
UNKNOWN: "help"
|
|
771
771
|
}, or = 9999999999e-2;
|
|
772
|
-
var hn = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(hn || {}),
|
|
772
|
+
var hn = /* @__PURE__ */ ((A) => (A.CAD = "CAD", A.USD = "USD", A))(hn || {}), U = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.EveryWeek = 1] = "EveryWeek", A[A.EveryOtherWeek = 2] = "EveryOtherWeek", A[A.EveryMonth = 3] = "EveryMonth", A[A.EveryOtherMonth = 4] = "EveryOtherMonth", A[A.EveryQuarter = 5] = "EveryQuarter", A[A.EveryOtherQuarter = 6] = "EveryOtherQuarter", A[A.EveryYear = 7] = "EveryYear", A))(U || {});
|
|
773
773
|
const X8 = [
|
|
774
774
|
{ id: 0, copy: "frequency_unknown" },
|
|
775
775
|
{ id: 1, copy: "frequency_every_week" },
|
|
@@ -946,10 +946,10 @@ const T = (A, t, n) => {
|
|
|
946
946
|
for (; DA(t, dA()); )
|
|
947
947
|
t = ut(t, 1);
|
|
948
948
|
return t;
|
|
949
|
-
},
|
|
949
|
+
}, Sc = (A) => {
|
|
950
950
|
const t = Oo(A);
|
|
951
951
|
return ut(t, 1);
|
|
952
|
-
},
|
|
952
|
+
}, Gc = (A) => Wt(A, 1), Yt = (A) => {
|
|
953
953
|
const t = wA(A);
|
|
954
954
|
return new Date(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate());
|
|
955
955
|
}, Dn = (A) => nA(wA(A), eA.DAY_OF_WEEK_MONTH_DAY), To = (A) => A ? nA(wA(A), eA.MONTH_YEAR) : "";
|
|
@@ -1097,7 +1097,7 @@ const Vn = (A, t) => A.reduce((n, i) => (n[i.guid] = t?.includes(i.guid), n), {}
|
|
|
1097
1097
|
handleClose: f,
|
|
1098
1098
|
showAccountNumbers: h
|
|
1099
1099
|
}) => {
|
|
1100
|
-
const I =
|
|
1100
|
+
const I = Ga(() => Bc(A), [A]), E = A.length < 1, R = !!t, C = Object.values(d).every((P) => !!P);
|
|
1101
1101
|
return /* @__PURE__ */ e(
|
|
1102
1102
|
fo,
|
|
1103
1103
|
{
|
|
@@ -1159,7 +1159,7 @@ const Vn = (A, t) => A.reduce((n, i) => (n[i.guid] = t?.includes(i.guid), n), {}
|
|
|
1159
1159
|
}
|
|
1160
1160
|
},
|
|
1161
1161
|
children: [
|
|
1162
|
-
/* @__PURE__ */ e(
|
|
1162
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ e(
|
|
1163
1163
|
$n,
|
|
1164
1164
|
{
|
|
1165
1165
|
control: /* @__PURE__ */ e(
|
|
@@ -1190,7 +1190,7 @@ const Vn = (A, t) => A.reduce((n, i) => (n[i.guid] = t?.includes(i.guid), n), {}
|
|
|
1190
1190
|
const m = I[P], L = m.every(
|
|
1191
1191
|
(z) => d[z.guid]
|
|
1192
1192
|
);
|
|
1193
|
-
return /* @__PURE__ */ e(
|
|
1193
|
+
return /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ e(
|
|
1194
1194
|
aA,
|
|
1195
1195
|
{
|
|
1196
1196
|
"aria-label": y(n.accountTypeAccounts, P),
|
|
@@ -1225,7 +1225,7 @@ const Vn = (A, t) => A.reduce((n, i) => (n[i.guid] = t?.includes(i.guid), n), {}
|
|
|
1225
1225
|
children: m.map((z) => {
|
|
1226
1226
|
const w = d[z.guid], D = `${z.name}${h && z.accountNumber ? ` *${z.accountNumber.slice(-4)}` : ""}`;
|
|
1227
1227
|
return /* @__PURE__ */ e(
|
|
1228
|
-
|
|
1228
|
+
K,
|
|
1229
1229
|
{
|
|
1230
1230
|
className: "mx-cmn-account-options-container",
|
|
1231
1231
|
disableGutters: !0,
|
|
@@ -1578,7 +1578,7 @@ const Yc = (A, t) => {
|
|
|
1578
1578
|
}), Fc = (A, t) => A + t, Zc = (A, t) => Math.abs(t) > A ? Math.abs(t) : A, Jc = (A, t) => [...A, t.value], Ir = (A, t, n) => {
|
|
1579
1579
|
const i = A && t ? n / 2 : n;
|
|
1580
1580
|
return A ? i : 0;
|
|
1581
|
-
}, _c = (A, t, n, i) => A / (t < 0 ? -n : t) * i || 0,
|
|
1581
|
+
}, _c = (A, t, n, i) => A / (t < 0 ? -n : t) * i || 0, S8 = ({
|
|
1582
1582
|
average: A,
|
|
1583
1583
|
barWidth: t = "8%",
|
|
1584
1584
|
color: n,
|
|
@@ -1757,9 +1757,9 @@ const rd = ({
|
|
|
1757
1757
|
h(t), E(n), t && l(t);
|
|
1758
1758
|
}, [t, n]);
|
|
1759
1759
|
const R = u.useMemo(() => {
|
|
1760
|
-
const z = Ja({ start: XA(d), end:
|
|
1760
|
+
const z = Ja({ start: XA(d), end: GA(d) }), w = [];
|
|
1761
1761
|
for (let D = 0; D < z.length; D++) {
|
|
1762
|
-
const X = z[D], x = Za({ start: X, end:
|
|
1762
|
+
const X = z[D], x = Za({ start: X, end: Se(X, 6) }), N = [];
|
|
1763
1763
|
for (let M = 0; M < x.length; M++)
|
|
1764
1764
|
N.push(x[M]);
|
|
1765
1765
|
w.push(N);
|
|
@@ -2109,7 +2109,7 @@ const rd = ({
|
|
|
2109
2109
|
}
|
|
2110
2110
|
)
|
|
2111
2111
|
] });
|
|
2112
|
-
}, Pt = u.createContext(null),
|
|
2112
|
+
}, Pt = u.createContext(null), G8 = ({
|
|
2113
2113
|
children: A,
|
|
2114
2114
|
globalStore: t,
|
|
2115
2115
|
onEvent: n,
|
|
@@ -2125,8 +2125,8 @@ const rd = ({
|
|
|
2125
2125
|
},
|
|
2126
2126
|
children: A
|
|
2127
2127
|
}
|
|
2128
|
-
),
|
|
2129
|
-
|
|
2128
|
+
), So = u.createContext(null), Go = ({ children: A, availableHeight: t, availableWidth: n }) => /* @__PURE__ */ e(
|
|
2129
|
+
So.Provider,
|
|
2130
2130
|
{
|
|
2131
2131
|
value: {
|
|
2132
2132
|
availableHeight: t,
|
|
@@ -2140,8 +2140,8 @@ const rd = ({
|
|
|
2140
2140
|
if (!t)
|
|
2141
2141
|
throw new Error(`${A}() must be used within the GlobalDataContext`);
|
|
2142
2142
|
return t;
|
|
2143
|
-
}, gA = () => WA("useAccountStore").globalStore.accountStore, ZA = () => WA("useBudgetsStore").globalStore.budgetsStore, yi = () => WA("useCashflowStore").globalStore.cashflowStore, qA = () => WA("useCategoryStore").globalStore.categoryStore, Mo = () => WA("useConnectStore").globalStore.connectStore, Bo = () => WA("useDebtsStore").globalStore.debtsStore, xn = () => WA("useGlobalStore").globalStore, bA = () => WA("useGlobalUiStore").globalStore.globalUiStore, H = () => WA("globalCopyStore").globalStore.copyStore.copy, Ae = () => WA("useGoalStore").globalStore.goalStore, Id = () => WA("useHelpStore").globalStore.helpStore, Ed = () => WA("useMerchantStore").globalStore.merchantStore, vd = () => WA("useNetWorthStore").globalStore.netWorthStore, Yo = () => WA("useNotificationStore").globalStore.notificationStore, kA = () => WA("useRecurringActivityStore").globalStore.recurringActivityStore, M8 = () => WA("useSettingsStore").globalStore.settingsStore, RA = () => WA("useTransactionStore").globalStore.transactionStore, Ct = () => WA("useUserStore").globalStore.userStore,
|
|
2144
|
-
const t = u.useContext(
|
|
2143
|
+
}, gA = () => WA("useAccountStore").globalStore.accountStore, ZA = () => WA("useBudgetsStore").globalStore.budgetsStore, yi = () => WA("useCashflowStore").globalStore.cashflowStore, qA = () => WA("useCategoryStore").globalStore.categoryStore, Mo = () => WA("useConnectStore").globalStore.connectStore, Bo = () => WA("useDebtsStore").globalStore.debtsStore, xn = () => WA("useGlobalStore").globalStore, bA = () => WA("useGlobalUiStore").globalStore.globalUiStore, H = () => WA("globalCopyStore").globalStore.copyStore.copy, Ae = () => WA("useGoalStore").globalStore.goalStore, Id = () => WA("useHelpStore").globalStore.helpStore, Ed = () => WA("useMerchantStore").globalStore.merchantStore, vd = () => WA("useNetWorthStore").globalStore.netWorthStore, Yo = () => WA("useNotificationStore").globalStore.notificationStore, kA = () => WA("useRecurringActivityStore").globalStore.recurringActivityStore, M8 = () => WA("useSettingsStore").globalStore.settingsStore, RA = () => WA("useTransactionStore").globalStore.transactionStore, Ct = () => WA("useUserStore").globalStore.userStore, F = () => ({ onEvent: WA().onEvent }), B8 = () => ({ onPageView: WA().onPageView }), Rd = (A = "useWidgetContainerContext") => {
|
|
2144
|
+
const t = u.useContext(So);
|
|
2145
2145
|
if (!t)
|
|
2146
2146
|
throw new Error(`${A}() must be used within the WidgetContainerContext`);
|
|
2147
2147
|
return t;
|
|
@@ -2206,9 +2206,9 @@ const rd = ({
|
|
|
2206
2206
|
/* @__PURE__ */ e(v, { variant: "Small", children: `${n.length}-month total` }),
|
|
2207
2207
|
/* @__PURE__ */ e(xA, { amount: l, bold: !0, formatString: "0,0", variant: "body2" })
|
|
2208
2208
|
] }),
|
|
2209
|
-
/* @__PURE__ */ e(
|
|
2209
|
+
/* @__PURE__ */ e(S, { sx: { my: 16, width: "100%" } }),
|
|
2210
2210
|
/* @__PURE__ */ e(NA, { container: !0, children: n.map((f, h) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
2211
|
-
h > 0 && h % 3 === 0 && /* @__PURE__ */ e(
|
|
2211
|
+
h > 0 && h % 3 === 0 && /* @__PURE__ */ e(S, { sx: { my: 16, width: "100%" } }),
|
|
2212
2212
|
/* @__PURE__ */ e(NA, { item: !0, xs: 4, children: /* @__PURE__ */ c(Q, { alignItems: "center", display: "flex", flexDirection: "column", children: [
|
|
2213
2213
|
/* @__PURE__ */ e(v, { color: o.palette.text.secondary, variant: "XSmall", children: f.x }),
|
|
2214
2214
|
/* @__PURE__ */ e(
|
|
@@ -2299,31 +2299,31 @@ const rd = ({
|
|
|
2299
2299
|
isAreaHovered: !1,
|
|
2300
2300
|
cursorPos: { x: 0, y: 0 }
|
|
2301
2301
|
}), { hoveredSeriesId: C, hoveredAreaData: P, isAreaHovered: m, cursorPos: L } = E, z = m && C && P, w = !z, D = [...r, ...o], X = D[0]?.dataset.length ?? 0, x = D.flatMap((Z) => Z.dataset.map((mA) => mA.x)), N = D.flatMap((Z) => Z.dataset.map((mA) => mA.y)), M = r[0]?.dataset?.map(
|
|
2302
|
-
(Z, mA) => r.reduce((
|
|
2303
|
-
) ?? [0], AA = Math.max(...M),
|
|
2302
|
+
(Z, mA) => r.reduce((SA, Ue) => SA + Ue.dataset[mA]?.y || 0, 0)
|
|
2303
|
+
) ?? [0], AA = Math.max(...M), k = Math.max(
|
|
2304
2304
|
...o.flatMap((Z) => Z.dataset.map((mA) => mA.y))
|
|
2305
|
-
), $ = Math.floor(Math.min(...N) / 100) * 100, iA = Math.ceil(Math.max(AA,
|
|
2305
|
+
), $ = Math.floor(Math.min(...N) / 100) * 100, iA = Math.ceil(Math.max(AA, k) / 100) * 100, tA = r.map((Z, mA) => ({
|
|
2306
2306
|
id: `stacked-${mA}`,
|
|
2307
2307
|
guid: Z.category_guid,
|
|
2308
2308
|
top_level_guid: Z.top_level_category_guid,
|
|
2309
2309
|
area: !0,
|
|
2310
2310
|
color: r[mA].category_color ?? d.palette.primary.main,
|
|
2311
|
-
data: Z.dataset.map((
|
|
2311
|
+
data: Z.dataset.map((SA) => SA.y),
|
|
2312
2312
|
label: r[mA].category_name,
|
|
2313
2313
|
stack: "total",
|
|
2314
2314
|
type: "line",
|
|
2315
2315
|
highlightScope: { highlight: "item" },
|
|
2316
|
-
valueFormatter: (
|
|
2316
|
+
valueFormatter: (SA) => T(SA, "0,0")
|
|
2317
2317
|
})), vA = o.map((Z, mA) => ({
|
|
2318
2318
|
id: `unstacked-${mA}`,
|
|
2319
2319
|
guid: Z.category_guid,
|
|
2320
2320
|
top_level_guid: Z.top_level_category_guid,
|
|
2321
2321
|
area: !1,
|
|
2322
2322
|
color: Z.category_color,
|
|
2323
|
-
data: Z.dataset.map((
|
|
2323
|
+
data: Z.dataset.map((SA) => SA.y),
|
|
2324
2324
|
label: Z.category_name,
|
|
2325
2325
|
type: "line",
|
|
2326
|
-
valueFormatter: (
|
|
2326
|
+
valueFormatter: (SA) => T(SA, "0,0")
|
|
2327
2327
|
})), lA = [...tA, ...vA], pA = [
|
|
2328
2328
|
...tA.map(({ guid: Z, top_level_guid: mA }) => ({
|
|
2329
2329
|
guid: Z,
|
|
@@ -2334,10 +2334,10 @@ const rd = ({
|
|
|
2334
2334
|
top_level_guid: mA
|
|
2335
2335
|
}))
|
|
2336
2336
|
], re = (Z) => {
|
|
2337
|
-
const
|
|
2337
|
+
const SA = Z.startsWith("stacked-") ? r[parseInt(Z.split("-")[1])] : o[parseInt(Z.split("-")[1])];
|
|
2338
2338
|
return {
|
|
2339
|
-
guid:
|
|
2340
|
-
topLevelGuid:
|
|
2339
|
+
guid: SA?.category_guid,
|
|
2340
|
+
topLevelGuid: SA?.top_level_category_guid
|
|
2341
2341
|
};
|
|
2342
2342
|
}, ge = (Z) => {
|
|
2343
2343
|
I(Z), n?.(Z ?? "");
|
|
@@ -2347,14 +2347,14 @@ const rd = ({
|
|
|
2347
2347
|
const Z = re(String(C)).guid;
|
|
2348
2348
|
Z && i?.(Z);
|
|
2349
2349
|
}, ee = (Z) => {
|
|
2350
|
-
const mA = String(Z?.seriesId),
|
|
2351
|
-
if (
|
|
2350
|
+
const mA = String(Z?.seriesId), SA = re(mA).guid, Ue = lA.find((Ot) => Ot.id === mA), Gn = Ue && Z?.dataIndex !== void 0, Mn = Ue && Z?.dataIndex === void 0;
|
|
2351
|
+
if (Gn)
|
|
2352
2352
|
R({
|
|
2353
2353
|
hoveredSeriesId: mA,
|
|
2354
2354
|
hoveredAreaData: null,
|
|
2355
2355
|
isAreaHovered: !1,
|
|
2356
2356
|
cursorPos: L
|
|
2357
|
-
}), t?.(
|
|
2357
|
+
}), t?.(SA);
|
|
2358
2358
|
else if (Mn) {
|
|
2359
2359
|
const Ot = Ue?.data.map((Bn, Yn) => ({
|
|
2360
2360
|
x: x[Yn],
|
|
@@ -2365,7 +2365,7 @@ const rd = ({
|
|
|
2365
2365
|
hoveredAreaData: Ot,
|
|
2366
2366
|
isAreaHovered: !0,
|
|
2367
2367
|
cursorPos: L
|
|
2368
|
-
}), A?.(
|
|
2368
|
+
}), A?.(SA);
|
|
2369
2369
|
} else
|
|
2370
2370
|
R({
|
|
2371
2371
|
hoveredSeriesId: null,
|
|
@@ -2375,8 +2375,8 @@ const rd = ({
|
|
|
2375
2375
|
});
|
|
2376
2376
|
}, Ve = (Z) => {
|
|
2377
2377
|
const mA = Z.currentTarget.getBoundingClientRect();
|
|
2378
|
-
R((
|
|
2379
|
-
...
|
|
2378
|
+
R((SA) => ({
|
|
2379
|
+
...SA,
|
|
2380
2380
|
cursorPos: {
|
|
2381
2381
|
x: Z.clientX - mA.left,
|
|
2382
2382
|
y: Z.clientY - mA.top
|
|
@@ -2398,10 +2398,10 @@ const rd = ({
|
|
|
2398
2398
|
'& [class*="MuiLineElement-series-unstacked-"]': {
|
|
2399
2399
|
strokeWidth: 3
|
|
2400
2400
|
},
|
|
2401
|
-
...h && tA.reduce((Z, mA,
|
|
2402
|
-
const Ue = `.MuiAreaElement-series-stacked-${
|
|
2401
|
+
...h && tA.reduce((Z, mA, SA) => {
|
|
2402
|
+
const Ue = `.MuiAreaElement-series-stacked-${SA}`;
|
|
2403
2403
|
return Z[Ue] = {
|
|
2404
|
-
opacity: tA[
|
|
2404
|
+
opacity: tA[SA].guid === h ? 0.9 : 0.2
|
|
2405
2405
|
}, Z;
|
|
2406
2406
|
}, {})
|
|
2407
2407
|
};
|
|
@@ -2671,7 +2671,7 @@ const rd = ({
|
|
|
2671
2671
|
calendarActions: A,
|
|
2672
2672
|
color: t = "primary",
|
|
2673
2673
|
copy: n,
|
|
2674
|
-
range: i = [XA(dA()),
|
|
2674
|
+
range: i = [XA(dA()), GA(Rt())],
|
|
2675
2675
|
shouldShrinkToIcon: r = !0,
|
|
2676
2676
|
toolTipContent: o = "",
|
|
2677
2677
|
variant: a = "outlined"
|
|
@@ -2696,24 +2696,24 @@ const rd = ({
|
|
|
2696
2696
|
(a === "timeframebuttons" || a === "timeframetabs") && A.onRangeChanged(N());
|
|
2697
2697
|
}, [D]);
|
|
2698
2698
|
const N = () => {
|
|
2699
|
-
const $ =
|
|
2700
|
-
return [
|
|
2699
|
+
const $ = GA(Rt());
|
|
2700
|
+
return [GA(De($, D)), $];
|
|
2701
2701
|
}, M = ($) => {
|
|
2702
2702
|
const iA = [...h], tA = h[0], vA = h[1], lA = $ === "previous";
|
|
2703
2703
|
if (E === n.dateRangePickerCopy.dateRangeThisMonth)
|
|
2704
|
-
iA[0] = lA ? De(tA, 1) : Ee(tA, 1), iA[1] =
|
|
2704
|
+
iA[0] = lA ? De(tA, 1) : Ee(tA, 1), iA[1] = GA(lA ? De(vA, 1) : Ee(vA, 1));
|
|
2705
2705
|
else if (E === n.dateRangePickerCopy.dateRangeYTD || E === n.dateRangePickerCopy.dateRangeLastYear)
|
|
2706
2706
|
iA[0] = lA ? Ji(Zi(tA), 1) : Wt(Zi(tA), 1), iA[1] = lA ? Ji(Fi(tA), 1) : Wt(Fi(tA), 1);
|
|
2707
2707
|
else {
|
|
2708
2708
|
const pA = Ps(vA, tA);
|
|
2709
|
-
iA[0] = $ === "previous" ? Oe(tA, pA) :
|
|
2709
|
+
iA[0] = $ === "previous" ? Oe(tA, pA) : Se(tA, pA), iA[1] = $ === "previous" ? Oe(vA, pA) : Se(vA, pA);
|
|
2710
2710
|
}
|
|
2711
2711
|
I(iA), A.onRangeChanged(iA);
|
|
2712
2712
|
}, AA = () => {
|
|
2713
2713
|
I(C), w(
|
|
2714
2714
|
E === n.dateRangePickerCopy.dateRangeThisMonth || E === n.dateRangePickerCopy.dateRangeLastMonth
|
|
2715
2715
|
), A.onRangeChanged(C);
|
|
2716
|
-
},
|
|
2716
|
+
}, k = ($) => {
|
|
2717
2717
|
X($);
|
|
2718
2718
|
};
|
|
2719
2719
|
return /* @__PURE__ */ c(Q, { className: "mx-cmn-date-range-selector", m: 4, children: [
|
|
@@ -2816,7 +2816,7 @@ const rd = ({
|
|
|
2816
2816
|
children: x.buttons.map(($) => /* @__PURE__ */ e(
|
|
2817
2817
|
hi,
|
|
2818
2818
|
{
|
|
2819
|
-
onClick: () =>
|
|
2819
|
+
onClick: () => k($.value),
|
|
2820
2820
|
sx: {
|
|
2821
2821
|
fontSize: 15,
|
|
2822
2822
|
fontWeight: 600,
|
|
@@ -2851,7 +2851,7 @@ const rd = ({
|
|
|
2851
2851
|
qe,
|
|
2852
2852
|
{
|
|
2853
2853
|
indicatorColor: "primary",
|
|
2854
|
-
onChange: ($, iA) =>
|
|
2854
|
+
onChange: ($, iA) => k(iA),
|
|
2855
2855
|
textColor: "primary",
|
|
2856
2856
|
value: D,
|
|
2857
2857
|
variant: "fullWidth",
|
|
@@ -3098,7 +3098,7 @@ const bt = ({
|
|
|
3098
3098
|
title: a ? /* @__PURE__ */ e(FA, { sx: { pb: 4 }, children: a }) : null
|
|
3099
3099
|
}
|
|
3100
3100
|
),
|
|
3101
|
-
/* @__PURE__ */ e(Te, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ e(
|
|
3101
|
+
/* @__PURE__ */ e(Te, { ref: s, sx: { p: 0 }, children: /* @__PURE__ */ e(Go, { availableHeight: d, availableWidth: l, children: t }) })
|
|
3102
3102
|
] });
|
|
3103
3103
|
}, zd = ({
|
|
3104
3104
|
accountOptions: A,
|
|
@@ -3115,8 +3115,8 @@ const bt = ({
|
|
|
3115
3115
|
sx: h = {},
|
|
3116
3116
|
title: I = ""
|
|
3117
3117
|
}) => {
|
|
3118
|
-
const [E, { height: R, width: C }] = Wo(), { onEvent: P } =
|
|
3119
|
-
d && (d(), P(
|
|
3118
|
+
const [E, { height: R, width: C }] = Wo(), { onEvent: P } = F(), { isDesktop: m, isMobile: L, isTablet: z } = QA(), { displayedDateRange: w, selectedAccountGuids: D, setSelectedAccountGuids: X } = bA(), { common: x } = H(), N = () => {
|
|
3119
|
+
d && (d(), P(G.WIDGET_BACK_CLICK));
|
|
3120
3120
|
}, M = {
|
|
3121
3121
|
accountFilterOptionsCopy: {
|
|
3122
3122
|
accountTypeAccounts: x.account_filter.account_type_accounts,
|
|
@@ -3149,7 +3149,7 @@ const bt = ({
|
|
|
3149
3149
|
dateRangeEditTitle: x.date_range_picker.edit_title,
|
|
3150
3150
|
dateRangeNextAria: x.date_range_picker.next_aria,
|
|
3151
3151
|
dateRangePreviousAria: x.date_range_picker.previous_aria
|
|
3152
|
-
},
|
|
3152
|
+
}, k = r ? r.start : w.start, $ = r ? r.end : w.end;
|
|
3153
3153
|
return /* @__PURE__ */ c(
|
|
3154
3154
|
ze,
|
|
3155
3155
|
{
|
|
@@ -3176,7 +3176,7 @@ const bt = ({
|
|
|
3176
3176
|
{
|
|
3177
3177
|
calendarActions: n,
|
|
3178
3178
|
copy: AA,
|
|
3179
|
-
range: [
|
|
3179
|
+
range: [k, $],
|
|
3180
3180
|
shouldShrinkToIcon: !1,
|
|
3181
3181
|
variant: o
|
|
3182
3182
|
}
|
|
@@ -3221,7 +3221,7 @@ const bt = ({
|
|
|
3221
3221
|
p: m ? 48 : 24,
|
|
3222
3222
|
pb: 0
|
|
3223
3223
|
},
|
|
3224
|
-
title: m || z ? /* @__PURE__ */ e(
|
|
3224
|
+
title: m || z ? /* @__PURE__ */ e(Ge, { children: I }) : /* @__PURE__ */ c(g, { alignItems: "center", flexDirection: "row", children: [
|
|
3225
3225
|
L && d && /* @__PURE__ */ e(
|
|
3226
3226
|
KA,
|
|
3227
3227
|
{
|
|
@@ -3235,21 +3235,21 @@ const bt = ({
|
|
|
3235
3235
|
] })
|
|
3236
3236
|
}
|
|
3237
3237
|
),
|
|
3238
|
-
s && /* @__PURE__ */ e(
|
|
3238
|
+
s && /* @__PURE__ */ e(S, { sx: { mt: m ? 48 : 24 } }),
|
|
3239
3239
|
n && (L || z) && /* @__PURE__ */ c(g, { gap: 24, justifyContent: "center", sx: { mt: 16 }, children: [
|
|
3240
|
-
f && /* @__PURE__ */ e(
|
|
3240
|
+
f && /* @__PURE__ */ e(S, {}),
|
|
3241
3241
|
/* @__PURE__ */ e(
|
|
3242
3242
|
Er,
|
|
3243
3243
|
{
|
|
3244
3244
|
calendarActions: n,
|
|
3245
3245
|
copy: AA,
|
|
3246
|
-
range: [
|
|
3246
|
+
range: [k, $],
|
|
3247
3247
|
shouldShrinkToIcon: !1,
|
|
3248
3248
|
variant: o
|
|
3249
3249
|
}
|
|
3250
3250
|
)
|
|
3251
3251
|
] }),
|
|
3252
|
-
/* @__PURE__ */ e(Te, { ref: E, sx: { p: 0 }, children: /* @__PURE__ */ e(
|
|
3252
|
+
/* @__PURE__ */ e(Te, { ref: E, sx: { p: 0 }, children: /* @__PURE__ */ e(Go, { availableHeight: R, availableWidth: C, children: i }) })
|
|
3253
3253
|
]
|
|
3254
3254
|
}
|
|
3255
3255
|
);
|
|
@@ -3566,10 +3566,10 @@ const vr = "connect_widget", Rr = "connections_widget", Ld = ({
|
|
|
3566
3566
|
}
|
|
3567
3567
|
)
|
|
3568
3568
|
] });
|
|
3569
|
-
return n ? /* @__PURE__ */ e(
|
|
3569
|
+
return n ? /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(cA, { onClick: n, children: [
|
|
3570
3570
|
r,
|
|
3571
3571
|
/* @__PURE__ */ e(fe, { children: /* @__PURE__ */ e(j, { name: "chevron_right", size: 24 }) })
|
|
3572
|
-
] }) }) : /* @__PURE__ */ e(
|
|
3572
|
+
] }) }) : /* @__PURE__ */ e(K, { disableGutters: !1, disablePadding: !1, children: r });
|
|
3573
3573
|
}, Rn = ({
|
|
3574
3574
|
body: A,
|
|
3575
3575
|
iconName: t = "info",
|
|
@@ -3619,7 +3619,7 @@ const vr = "connect_widget", Rr = "connections_widget", Ld = ({
|
|
|
3619
3619
|
}, E = () => {
|
|
3620
3620
|
h(!1), o();
|
|
3621
3621
|
};
|
|
3622
|
-
return /* @__PURE__ */ c(
|
|
3622
|
+
return /* @__PURE__ */ c(K, { children: [
|
|
3623
3623
|
/* @__PURE__ */ c(cA, { onClick: () => h(!t), children: [
|
|
3624
3624
|
/* @__PURE__ */ e(
|
|
3625
3625
|
oA,
|
|
@@ -3662,8 +3662,8 @@ const vr = "connect_widget", Rr = "connections_widget", Ld = ({
|
|
|
3662
3662
|
onClick: n,
|
|
3663
3663
|
sx: i = {}
|
|
3664
3664
|
}) => {
|
|
3665
|
-
const { onEvent: r } =
|
|
3666
|
-
return n ? /* @__PURE__ */ e(
|
|
3665
|
+
const { onEvent: r } = F();
|
|
3666
|
+
return n ? /* @__PURE__ */ e(K, { sx: { bgcolor: "background.paper", ...i }, children: /* @__PURE__ */ e(
|
|
3667
3667
|
cA,
|
|
3668
3668
|
{
|
|
3669
3669
|
onClick: () => {
|
|
@@ -3672,7 +3672,7 @@ const vr = "connect_widget", Rr = "connections_widget", Ld = ({
|
|
|
3672
3672
|
children: A
|
|
3673
3673
|
}
|
|
3674
3674
|
) }) : /* @__PURE__ */ e(
|
|
3675
|
-
|
|
3675
|
+
K,
|
|
3676
3676
|
{
|
|
3677
3677
|
disableGutters: !1,
|
|
3678
3678
|
disablePadding: !1,
|
|
@@ -3690,14 +3690,14 @@ class Qd {
|
|
|
3690
3690
|
LA(this);
|
|
3691
3691
|
}
|
|
3692
3692
|
initialize = async (t, n) => {
|
|
3693
|
-
this.api = new In(t, n), await this.getCopy(this.featureNamespace),
|
|
3693
|
+
this.api = new In(t, n), await this.getCopy(this.featureNamespace), W(() => {
|
|
3694
3694
|
this.isInitialized = !0;
|
|
3695
3695
|
});
|
|
3696
3696
|
};
|
|
3697
3697
|
getCopy = async (t, n = "") => {
|
|
3698
3698
|
try {
|
|
3699
3699
|
const i = await this.api.getGlobalCopy(t, n);
|
|
3700
|
-
|
|
3700
|
+
W(() => {
|
|
3701
3701
|
this.copy = i[t];
|
|
3702
3702
|
});
|
|
3703
3703
|
} catch (i) {
|
|
@@ -3733,7 +3733,7 @@ class Od {
|
|
|
3733
3733
|
loadAppData = async () => {
|
|
3734
3734
|
try {
|
|
3735
3735
|
const t = await this.api.getAppData();
|
|
3736
|
-
|
|
3736
|
+
W(() => {
|
|
3737
3737
|
this.appData = t;
|
|
3738
3738
|
});
|
|
3739
3739
|
} catch (t) {
|
|
@@ -3754,7 +3754,7 @@ class Td {
|
|
|
3754
3754
|
};
|
|
3755
3755
|
loadBeats = async () => {
|
|
3756
3756
|
const t = await this.api.getBeats();
|
|
3757
|
-
|
|
3757
|
+
W(() => {
|
|
3758
3758
|
this.beats = t;
|
|
3759
3759
|
});
|
|
3760
3760
|
};
|
|
@@ -3833,12 +3833,12 @@ const br = (A, t) => !A && !t ? 0 : !A && t ? 101 : t / A * 100, pr = (A, t) =>
|
|
|
3833
3833
|
if (i)
|
|
3834
3834
|
return ii(i.subBudgets, t);
|
|
3835
3835
|
};
|
|
3836
|
-
class
|
|
3836
|
+
class Sd {
|
|
3837
3837
|
api = new gr("/", "");
|
|
3838
3838
|
categoryApi = new un("/", "");
|
|
3839
3839
|
globalStore;
|
|
3840
3840
|
alert = "";
|
|
3841
|
-
dateRange = { start: XA(dA()), end:
|
|
3841
|
+
dateRange = { start: XA(dA()), end: GA(dA()) };
|
|
3842
3842
|
budgets = [];
|
|
3843
3843
|
selectedBudget;
|
|
3844
3844
|
selectedSubBudget;
|
|
@@ -3884,7 +3884,7 @@ class Gd {
|
|
|
3884
3884
|
addBudget = async (t, n, i = null) => {
|
|
3885
3885
|
try {
|
|
3886
3886
|
const r = await this.api.addBudget(t, n, i);
|
|
3887
|
-
|
|
3887
|
+
W(() => {
|
|
3888
3888
|
this.budgets.push(r);
|
|
3889
3889
|
});
|
|
3890
3890
|
} catch (r) {
|
|
@@ -3893,7 +3893,7 @@ class Gd {
|
|
|
3893
3893
|
};
|
|
3894
3894
|
deleteBudget = async (t) => {
|
|
3895
3895
|
try {
|
|
3896
|
-
await this.api.deleteBudget(t),
|
|
3896
|
+
await this.api.deleteBudget(t), W(() => {
|
|
3897
3897
|
const n = this.budgets.findIndex((i) => i.guid === t);
|
|
3898
3898
|
n >= 0 && this.budgets.splice(n, 1);
|
|
3899
3899
|
});
|
|
@@ -3904,7 +3904,7 @@ class Gd {
|
|
|
3904
3904
|
loadBudgets = async () => {
|
|
3905
3905
|
try {
|
|
3906
3906
|
const t = await this.api.getBudgets();
|
|
3907
|
-
|
|
3907
|
+
W(() => {
|
|
3908
3908
|
this.budgets = t;
|
|
3909
3909
|
});
|
|
3910
3910
|
} catch (t) {
|
|
@@ -3935,7 +3935,7 @@ class Gd {
|
|
|
3935
3935
|
updateBudget = async (t) => {
|
|
3936
3936
|
try {
|
|
3937
3937
|
const n = await this.api.updateBudget(t);
|
|
3938
|
-
|
|
3938
|
+
W(() => {
|
|
3939
3939
|
const i = this.budgets.findIndex((r) => r.guid === t.guid);
|
|
3940
3940
|
i >= 0 && (this.budgets[i] = n);
|
|
3941
3941
|
});
|
|
@@ -3948,7 +3948,7 @@ const xt = () => {
|
|
|
3948
3948
|
if (!u.useContext(Pt))
|
|
3949
3949
|
throw new Error("useCashflowUiStore() must be used within the GlobalDataContext");
|
|
3950
3950
|
return yi().uiStore;
|
|
3951
|
-
},
|
|
3951
|
+
}, Gd = ({ remaining: A }) => {
|
|
3952
3952
|
const { cashflow: t } = H();
|
|
3953
3953
|
return /* @__PURE__ */ c(Y, { children: [
|
|
3954
3954
|
/* @__PURE__ */ e(
|
|
@@ -3965,7 +3965,7 @@ const xt = () => {
|
|
|
3965
3965
|
/* @__PURE__ */ e(v, { bold: !0, sx: { flexGrow: 1, fontSize: 12 }, children: t.remaining_cash }),
|
|
3966
3966
|
/* @__PURE__ */ e(xA, { amount: A, bold: !0, sx: { fontSize: 12 } })
|
|
3967
3967
|
] });
|
|
3968
|
-
}, zi = p(
|
|
3968
|
+
}, zi = p(Gd), Md = ({ onAddIncomeClick: A }) => {
|
|
3969
3969
|
const t = yA(), { availableWidth: n } = gt(), { cashAccounts: i, cashBalance: r } = gA(), { selectedAccountGuids: o } = bA(), { cashflow: a } = H(), { userProfile: s } = Ct(), {
|
|
3970
3970
|
daysUntilNextIncome: d,
|
|
3971
3971
|
expensesTilNextIncome: l,
|
|
@@ -4042,12 +4042,12 @@ const xt = () => {
|
|
|
4042
4042
|
) }),
|
|
4043
4043
|
/* @__PURE__ */ e(xA, { amount: r, bold: !0, variant: "XSmall" })
|
|
4044
4044
|
] }),
|
|
4045
|
-
/* @__PURE__ */ e(
|
|
4045
|
+
/* @__PURE__ */ e(S, {}),
|
|
4046
4046
|
/* @__PURE__ */ c(g, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
4047
4047
|
/* @__PURE__ */ e(v, { variant: "Small", children: y(a.expenses_due, l.length) }),
|
|
4048
4048
|
/* @__PURE__ */ e(xA, { amount: m, bold: !0, symbol: "-", variant: "XSmall" })
|
|
4049
4049
|
] }),
|
|
4050
|
-
/* @__PURE__ */ e(
|
|
4050
|
+
/* @__PURE__ */ e(S, {}),
|
|
4051
4051
|
/* @__PURE__ */ e(
|
|
4052
4052
|
g,
|
|
4053
4053
|
{
|
|
@@ -4062,7 +4062,7 @@ const xt = () => {
|
|
|
4062
4062
|
children: /* @__PURE__ */ e(zi, { remaining: L })
|
|
4063
4063
|
}
|
|
4064
4064
|
),
|
|
4065
|
-
/* @__PURE__ */ e(
|
|
4065
|
+
/* @__PURE__ */ e(S, {}),
|
|
4066
4066
|
z ? /* @__PURE__ */ c(g, { direction: "row", justifyContent: "space-between", p: 16, children: [
|
|
4067
4067
|
/* @__PURE__ */ e(v, { variant: "Small", children: a.next_paycheck }),
|
|
4068
4068
|
/* @__PURE__ */ e(v, { bold: !0, variant: "XSmall", children: y(a.days, d) })
|
|
@@ -4186,7 +4186,7 @@ class Hr {
|
|
|
4186
4186
|
updateTag = async (t) => this.fetchInstance.put(`${O.TAGS}/${t.guid}`, t).then((n) => n.tag);
|
|
4187
4187
|
updateTransaction = async (t) => this.fetchInstance.put(`${O.TRANSACTIONS}/${t.guid}`, t).then((n) => n.transaction);
|
|
4188
4188
|
}
|
|
4189
|
-
var
|
|
4189
|
+
var Gt = /* @__PURE__ */ ((A) => (A[A.Category = 0] = "Category", A[A.Date = 1] = "Date", A[A.Memo = 2] = "Memo", A[A.Tags = 3] = "Tags", A))(Gt || {}), cn = /* @__PURE__ */ ((A) => (A[A.SplitTransaction = 0] = "SplitTransaction", A[A.HideTransaction = 1] = "HideTransaction", A[A.MerchantLogo = 2] = "MerchantLogo", A))(cn || {});
|
|
4190
4190
|
const Vd = [
|
|
4191
4191
|
0,
|
|
4192
4192
|
1,
|
|
@@ -4572,7 +4572,7 @@ const Vd = [
|
|
|
4572
4572
|
const n = A.toLowerCase().split(" "), i = t?.toString().toLowerCase() ?? "";
|
|
4573
4573
|
return n.every((r) => i.indexOf(r) > -1);
|
|
4574
4574
|
};
|
|
4575
|
-
var jA = /* @__PURE__ */ ((A) => (A[A.Expense = 0] = "Expense", A[A.Income = 1] = "Income", A))(jA || {}), MA = /* @__PURE__ */ ((A) => (A[A.Paid = 0] = "Paid", A[A.Missed = 1] = "Missed", A[A.Upcoming = 2] = "Upcoming", A))(MA || {}), _d = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.CORRECT = 1] = "CORRECT", A[A.INCORRECT = 2] = "INCORRECT", A))(_d || {}), $d = /* @__PURE__ */ ((A) => (A.Missed = "Missed", A.Paid = "Paid", A.Upcoming = "Upcoming expense", A.Income = "Income", A))($d || {}), Al = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.Subscription = 1] = "Subscription", A[A.Bill = 2] = "Bill", A))(Al || {}),
|
|
4575
|
+
var jA = /* @__PURE__ */ ((A) => (A[A.Expense = 0] = "Expense", A[A.Income = 1] = "Income", A))(jA || {}), MA = /* @__PURE__ */ ((A) => (A[A.Paid = 0] = "Paid", A[A.Missed = 1] = "Missed", A[A.Upcoming = 2] = "Upcoming", A))(MA || {}), _d = /* @__PURE__ */ ((A) => (A[A.UNKNOWN = 0] = "UNKNOWN", A[A.CORRECT = 1] = "CORRECT", A[A.INCORRECT = 2] = "INCORRECT", A))(_d || {}), $d = /* @__PURE__ */ ((A) => (A.Missed = "Missed", A.Paid = "Paid", A.Upcoming = "Upcoming expense", A.Income = "Income", A))($d || {}), Al = /* @__PURE__ */ ((A) => (A[A.Unknown = 0] = "Unknown", A[A.Subscription = 1] = "Subscription", A[A.Bill = 2] = "Bill", A))(Al || {}), V = /* @__PURE__ */ ((A) => (A[A.DEBT_TRACK = 1] = "DEBT_TRACK", A[A.SAVINGS_TRACK = 2] = "SAVINGS_TRACK", A[A.RETIREMENT_TRACK = 3] = "RETIREMENT_TRACK", A[A.EMERGENCY_FUND_TRACK = 4] = "EMERGENCY_FUND_TRACK", A))(V || {}), oi = /* @__PURE__ */ ((A) => (A[A.SAVE_AMOUNT = 1] = "SAVE_AMOUNT", A[A.KEEP_BALANCE_BELOW = 2] = "KEEP_BALANCE_BELOW", A[A.KEEP_BALANCE_ABOVE = 3] = "KEEP_BALANCE_ABOVE", A[A.ACTION = 4] = "ACTION", A))(oi || {}), ce = /* @__PURE__ */ ((A) => (A[A.AUTOMOBILE = 1] = "AUTOMOBILE", A[A.COLLEGE = 2] = "COLLEGE", A[A.HOUSE = 3] = "HOUSE", A[A.RECREATIONAL_VEHICLE = 4] = "RECREATIONAL_VEHICLE", A[A.VACATION = 5] = "VACATION", A[A.ELECTRONIC = 6] = "ELECTRONIC", A[A.OTHER = 7] = "OTHER", A[A.RETIREMENT = 8] = "RETIREMENT", A[A.EMERGENCY_FUND = 9] = "EMERGENCY_FUND", A[A.SETUP_BUDGETS = 10] = "SETUP_BUDGETS", A[A.START_MONEY_MANAGEMENT = 11] = "START_MONEY_MANAGEMENT", A[A.CREDIT_CARD = 12] = "CREDIT_CARD", A[A.LINE_OF_CREDIT = 13] = "LINE_OF_CREDIT", A[A.LOANS = 14] = "LOANS", A))(ce || {}), VA = /* @__PURE__ */ ((A) => (A[A.BudgetExceeded = 1] = "BudgetExceeded", A[A.BudgetOffTarget = 2] = "BudgetOffTarget", A[A.DebtPaymentReminder = 3] = "DebtPaymentReminder", A[A.GuideMeStepComplete = 4] = "GuideMeStepComplete", A[A.GuideMeOffTarget = 5] = "GuideMeOffTarget", A[A.AccountBalanceLow = 6] = "AccountBalanceLow", A[A.AccountDepositLarge = 7] = "AccountDepositLarge", A[A.TransactionExpenseLarge = 8] = "TransactionExpenseLarge", A[A.TransactionFeeCharge = 9] = "TransactionFeeCharge", A[A.SystemNotification = 10] = "SystemNotification", A[A.ApiNotification = 11] = "ApiNotification", A[A.UserSummary = 12] = "UserSummary", A[A.Offer = 13] = "Offer", A[A.PasswordResetToken = 14] = "PasswordResetToken", A[A.PasswordChanged = 15] = "PasswordChanged", A[A.EmailVerification = 16] = "EmailVerification", A[A.EmailVerified = 17] = "EmailVerified", A[A.WelcomeNewUser = 18] = "WelcomeNewUser", A[A.DeviceCreated = 19] = "DeviceCreated", A[A.DeviceDeleted = 20] = "DeviceDeleted", A[A.SmsVerification = 21] = "SmsVerification", A[A.AccountNearingZero = 22] = "AccountNearingZero", A[A.InternationalTransaction = 23] = "InternationalTransaction", A[A.GoalProgress = 25] = "GoalProgress", A[A.DuplicatePayment = 29] = "DuplicatePayment", A))(VA || {}), de = /* @__PURE__ */ ((A) => (A[A.CREDIT = 1] = "CREDIT", A[A.DEBIT = 2] = "DEBIT", A))(de || {}), wi = /* @__PURE__ */ ((A) => (A[A.POSTED = 1] = "POSTED", A[A.PENDING = 2] = "PENDING", A))(wi || {}), el = /* @__PURE__ */ ((A) => (A.Desktop = "Desktop", A.Mobile = "Mobile", A))(el || {});
|
|
4576
4576
|
const Ko = {
|
|
4577
4577
|
account_guid: "",
|
|
4578
4578
|
amount: 0,
|
|
@@ -4604,7 +4604,7 @@ const Ko = {
|
|
|
4604
4604
|
};
|
|
4605
4605
|
let tl = class {
|
|
4606
4606
|
beginDate = XA(/* @__PURE__ */ new Date());
|
|
4607
|
-
endDate =
|
|
4607
|
+
endDate = GA(/* @__PURE__ */ new Date());
|
|
4608
4608
|
expandedSplits = [];
|
|
4609
4609
|
isInitialized = !1;
|
|
4610
4610
|
height = 550;
|
|
@@ -4704,7 +4704,7 @@ class nl {
|
|
|
4704
4704
|
};
|
|
4705
4705
|
addTransaction = async (t) => {
|
|
4706
4706
|
const n = await this.api.addTransaction(t);
|
|
4707
|
-
n &&
|
|
4707
|
+
n && W(
|
|
4708
4708
|
() => this.transactions = this.augmentTransactions([n, ...this.transactions])
|
|
4709
4709
|
);
|
|
4710
4710
|
};
|
|
@@ -4716,19 +4716,19 @@ class nl {
|
|
|
4716
4716
|
);
|
|
4717
4717
|
loadAssociatedBeats = async (t) => {
|
|
4718
4718
|
const n = t ? Ei(t, { representation: "date" }) : void 0, i = await this.beatApi.getBeatsWithAssociatedTransaction(n);
|
|
4719
|
-
|
|
4719
|
+
W(() => this.associatedBeats = i);
|
|
4720
4720
|
};
|
|
4721
4721
|
loadTags = async () => {
|
|
4722
4722
|
const t = await this.api.getTags();
|
|
4723
|
-
|
|
4723
|
+
W(() => this.tags = t);
|
|
4724
4724
|
};
|
|
4725
4725
|
loadTaggings = async () => {
|
|
4726
4726
|
const t = await this.api.getTaggings();
|
|
4727
|
-
|
|
4727
|
+
W(() => this.taggings = t);
|
|
4728
4728
|
};
|
|
4729
4729
|
loadTransactionRules = async () => {
|
|
4730
4730
|
const t = await this.api.getTransactionRules();
|
|
4731
|
-
|
|
4731
|
+
W(() => this.transactionRules = t);
|
|
4732
4732
|
};
|
|
4733
4733
|
loadTransactions = async (t = this.cachedStartDate, n = Rt()) => {
|
|
4734
4734
|
this.setIsLoading(!0), this.transactions = [];
|
|
@@ -4737,7 +4737,7 @@ class nl {
|
|
|
4737
4737
|
CA(t),
|
|
4738
4738
|
CA(n)
|
|
4739
4739
|
);
|
|
4740
|
-
|
|
4740
|
+
W(() => {
|
|
4741
4741
|
this.transactions = this.augmentTransactions(i);
|
|
4742
4742
|
});
|
|
4743
4743
|
} catch (i) {
|
|
@@ -4763,7 +4763,7 @@ class nl {
|
|
|
4763
4763
|
const n = this.transactions.findIndex((i) => i.guid === t);
|
|
4764
4764
|
if (n >= 0) {
|
|
4765
4765
|
const i = [...this.transactions];
|
|
4766
|
-
i.splice(n, 1),
|
|
4766
|
+
i.splice(n, 1), W(() => this.transactions = i);
|
|
4767
4767
|
}
|
|
4768
4768
|
};
|
|
4769
4769
|
setFilter = (t) => {
|
|
@@ -4782,7 +4782,7 @@ class nl {
|
|
|
4782
4782
|
r.push(s);
|
|
4783
4783
|
}
|
|
4784
4784
|
const o = this.transactions.findIndex((a) => a.guid === t.guid);
|
|
4785
|
-
o >= 0 &&
|
|
4785
|
+
o >= 0 && W(
|
|
4786
4786
|
() => this.transactions = this.augmentTransactions([
|
|
4787
4787
|
...this.transactions.slice(0, o),
|
|
4788
4788
|
i,
|
|
@@ -4800,7 +4800,7 @@ class nl {
|
|
|
4800
4800
|
s >= 0 && i.splice(s, 1);
|
|
4801
4801
|
});
|
|
4802
4802
|
const r = i.findIndex((a) => a.guid === t), o = i[r];
|
|
4803
|
-
o.has_been_split = !1, r >= 0 &&
|
|
4803
|
+
o.has_been_split = !1, r >= 0 && W(
|
|
4804
4804
|
() => this.transactions = [
|
|
4805
4805
|
...i.slice(0, r),
|
|
4806
4806
|
o,
|
|
@@ -4824,7 +4824,7 @@ class nl {
|
|
|
4824
4824
|
};
|
|
4825
4825
|
updateTransaction = async (t) => {
|
|
4826
4826
|
const n = await this.api.updateTransaction(t), i = this.transactions.findIndex((r) => r.guid === t.guid);
|
|
4827
|
-
i >= 0 &&
|
|
4827
|
+
i >= 0 && W(
|
|
4828
4828
|
() => this.transactions = this.augmentTransactions([
|
|
4829
4829
|
...this.transactions.slice(0, i),
|
|
4830
4830
|
n,
|
|
@@ -4937,13 +4937,13 @@ const ue = () => {
|
|
|
4937
4937
|
width: a = "100%",
|
|
4938
4938
|
zeroState: s = /* @__PURE__ */ e(dl, {})
|
|
4939
4939
|
}) => {
|
|
4940
|
-
const { isLoading: d, sortedTransactions: l } = RA(), { setShowInsights: f, toggleSplit: h } = ue(), { onEvent: I } =
|
|
4940
|
+
const { isLoading: d, sortedTransactions: l } = RA(), { setShowInsights: f, toggleSplit: h } = ue(), { onEvent: I } = F(), E = (P) => {
|
|
4941
4941
|
const m = l.find((L) => L.guid === P);
|
|
4942
4942
|
if (m?.has_been_split) {
|
|
4943
4943
|
h(m.guid);
|
|
4944
4944
|
return;
|
|
4945
4945
|
}
|
|
4946
|
-
I(
|
|
4946
|
+
I(G.ACCOUNT_DETAILS_CLICK_TRANSACTION, {
|
|
4947
4947
|
account_guid: m?.account_guid,
|
|
4948
4948
|
transaction_guid: P
|
|
4949
4949
|
}), i?.(P);
|
|
@@ -4979,7 +4979,7 @@ const ue = () => {
|
|
|
4979
4979
|
children: [
|
|
4980
4980
|
L && /* @__PURE__ */ e(Di, { bgcolor: A, children: Dn(m.date) }),
|
|
4981
4981
|
/* @__PURE__ */ e(Li, { onClick: E, transaction: m }),
|
|
4982
|
-
/* @__PURE__ */ e(
|
|
4982
|
+
/* @__PURE__ */ e(S, { sx: { ml: z ? 24 : 0 } })
|
|
4983
4983
|
]
|
|
4984
4984
|
},
|
|
4985
4985
|
m.guid
|
|
@@ -5208,14 +5208,14 @@ const pl = ({
|
|
|
5208
5208
|
}
|
|
5209
5209
|
);
|
|
5210
5210
|
}, xi = p(pl), Hl = ({ parentCategory: A }) => {
|
|
5211
|
-
const [t, n] = u.useState(!1), { addCategory: i } = qA(), { categories: r } = H(), { onEvent: o } =
|
|
5211
|
+
const [t, n] = u.useState(!1), { addCategory: i } = qA(), { categories: r } = H(), { onEvent: o } = F(), { setShouldDisableDrawerScroll: a } = ft(), s = async (f) => {
|
|
5212
5212
|
await i(f.trim(), A.guid), o(ye.ON_SUBCATEGORY_ADDED), n(!1);
|
|
5213
5213
|
}, d = async () => {
|
|
5214
5214
|
o(ye.ON_SUBCATEGORY_ADD_CLICK), a(!0), n(!0);
|
|
5215
5215
|
}, l = () => {
|
|
5216
5216
|
n(!1), o(ye.ON_SUBCATEGORY_ADD_CANCEL_CLICK);
|
|
5217
5217
|
};
|
|
5218
|
-
return /* @__PURE__ */ c(
|
|
5218
|
+
return /* @__PURE__ */ c(K, { disableGutters: !0, disablePadding: !0, children: [
|
|
5219
5219
|
/* @__PURE__ */ e(cA, { onClick: d, sx: { ml: 60 }, children: /* @__PURE__ */ e(
|
|
5220
5220
|
oA,
|
|
5221
5221
|
{
|
|
@@ -5238,7 +5238,7 @@ const pl = ({
|
|
|
5238
5238
|
subCategory: t,
|
|
5239
5239
|
showRename: n
|
|
5240
5240
|
}) => {
|
|
5241
|
-
const { updateCategory: i } = qA(), { onEvent: r } =
|
|
5241
|
+
const { updateCategory: i } = qA(), { onEvent: r } = F(), o = async (s) => {
|
|
5242
5242
|
await i({ ...t, name: s }), r(ye.ON_SUBCATEGORY_SAVED), A(!1);
|
|
5243
5243
|
}, a = () => {
|
|
5244
5244
|
A(!1), r(ye.ON_SUBCATEGORY_EDIT_CANCEL_CLICK);
|
|
@@ -5259,7 +5259,7 @@ const pl = ({
|
|
|
5259
5259
|
setShowDelete: n,
|
|
5260
5260
|
subCategory: i
|
|
5261
5261
|
}) => {
|
|
5262
|
-
const { onEvent: r } =
|
|
5262
|
+
const { onEvent: r } = F(), { removeCategory: o } = qA(), a = () => {
|
|
5263
5263
|
n(!1), r(ye.ON_SUBCATEGORY_DELETE_CLICK);
|
|
5264
5264
|
}, s = async () => {
|
|
5265
5265
|
r(ye.ON_SUBCATEGORY_DELETED), await o(i.guid), n(!1);
|
|
@@ -5283,9 +5283,9 @@ const pl = ({
|
|
|
5283
5283
|
showSelected: a,
|
|
5284
5284
|
unselectable: s,
|
|
5285
5285
|
unselectableText: d
|
|
5286
|
-
} = ft(), { categories: l } = H(), { onEvent: f } =
|
|
5286
|
+
} = ft(), { categories: l } = H(), { onEvent: f } = F(), [h, I] = u.useState(!1), [E, R] = u.useState(!1), C = !!t.revision, P = t.guid === i, m = !s.some((z) => z === t.guid);
|
|
5287
5287
|
return /* @__PURE__ */ c(
|
|
5288
|
-
|
|
5288
|
+
K,
|
|
5289
5289
|
{
|
|
5290
5290
|
className: "mx-cat-subcategory-row",
|
|
5291
5291
|
disableGutters: !0,
|
|
@@ -5375,7 +5375,7 @@ const pl = ({
|
|
|
5375
5375
|
children: [
|
|
5376
5376
|
A.map((a) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
5377
5377
|
/* @__PURE__ */ e(xl, { parentCategory: t, subCategory: a }),
|
|
5378
|
-
/* @__PURE__ */ e(
|
|
5378
|
+
/* @__PURE__ */ e(S, { sx: { ml: 58 } })
|
|
5379
5379
|
] }, a.guid)),
|
|
5380
5380
|
!o && /* @__PURE__ */ e(ml, { parentCategory: t })
|
|
5381
5381
|
]
|
|
@@ -5384,12 +5384,12 @@ const pl = ({
|
|
|
5384
5384
|
}
|
|
5385
5385
|
);
|
|
5386
5386
|
}, Ql = p(Xl), Ol = ({ category: A, subCategories: t }) => {
|
|
5387
|
-
const { expandedGuid: n, searchValue: i, setExpandedGuid: r } = ft(), { onEvent: o } =
|
|
5387
|
+
const { expandedGuid: n, searchValue: i, setExpandedGuid: r } = ft(), { onEvent: o } = F(), a = A.guid === n, s = () => {
|
|
5388
5388
|
const d = A.guid !== n ? A.guid : null;
|
|
5389
5389
|
r(d), o(d ? ye.ON_CATEGORY_EXPANDED : ye.ON_CATEGORY_COLLAPSED);
|
|
5390
5390
|
};
|
|
5391
5391
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
5392
|
-
/* @__PURE__ */ e(
|
|
5392
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5393
5393
|
cA,
|
|
5394
5394
|
{
|
|
5395
5395
|
"aria-controls": `subcategories-${A.guid}`,
|
|
@@ -5411,7 +5411,7 @@ const pl = ({
|
|
|
5411
5411
|
},
|
|
5412
5412
|
A.guid
|
|
5413
5413
|
) }),
|
|
5414
|
-
/* @__PURE__ */ e(
|
|
5414
|
+
/* @__PURE__ */ e(S, { sx: { ml: 58 } }),
|
|
5415
5415
|
/* @__PURE__ */ e(Ql, { categories: t, parentCategory: A })
|
|
5416
5416
|
] });
|
|
5417
5417
|
}, Zo = p(Ol), Tl = () => {
|
|
@@ -5479,7 +5479,7 @@ const pl = ({
|
|
|
5479
5479
|
display: "flex",
|
|
5480
5480
|
flexDirection: "column",
|
|
5481
5481
|
width: "100%"
|
|
5482
|
-
}),
|
|
5482
|
+
}), Sl = p(jl), Gl = ({
|
|
5483
5483
|
id: A,
|
|
5484
5484
|
onClose: t,
|
|
5485
5485
|
title: n,
|
|
@@ -5496,10 +5496,10 @@ const pl = ({
|
|
|
5496
5496
|
isOpen: i,
|
|
5497
5497
|
onClose: t,
|
|
5498
5498
|
title: n,
|
|
5499
|
-
children: /* @__PURE__ */ e(
|
|
5499
|
+
children: /* @__PURE__ */ e(Sl, { ...r })
|
|
5500
5500
|
}
|
|
5501
5501
|
);
|
|
5502
|
-
}, Xi = p(
|
|
5502
|
+
}, Xi = p(Gl), Ml = 3, Lr = 12, Bl = (A, t, n) => A.filter((i) => !i.parent_guid).map(
|
|
5503
5503
|
(i) => Jo(
|
|
5504
5504
|
i,
|
|
5505
5505
|
t,
|
|
@@ -5620,7 +5620,7 @@ class Vl {
|
|
|
5620
5620
|
loadCategories = async () => {
|
|
5621
5621
|
try {
|
|
5622
5622
|
const t = await this.api.getCategories(), { default_categories: n } = this.globalStore.copyStore.copy.categories;
|
|
5623
|
-
|
|
5623
|
+
W(() => {
|
|
5624
5624
|
this.categories = t.map((i) => ({
|
|
5625
5625
|
...i,
|
|
5626
5626
|
name: n[i.guid] ? n[i.guid].replace(/&/g, "&") : i.name
|
|
@@ -5638,7 +5638,7 @@ class Vl {
|
|
|
5638
5638
|
CA(i),
|
|
5639
5639
|
t
|
|
5640
5640
|
);
|
|
5641
|
-
|
|
5641
|
+
W(() => {
|
|
5642
5642
|
this.dateRangeCategoryTotals = r, this.setIsLoadingCategoryTotals(!1);
|
|
5643
5643
|
});
|
|
5644
5644
|
} catch (r) {
|
|
@@ -5646,10 +5646,10 @@ class Vl {
|
|
|
5646
5646
|
}
|
|
5647
5647
|
};
|
|
5648
5648
|
loadMonthlyCategoryTotals = async (t = this.globalStore.accountStore.accounts, n, i) => {
|
|
5649
|
-
const r = CA(XA(n ?? De(/* @__PURE__ */ new Date(), 11))), o = CA(
|
|
5649
|
+
const r = CA(XA(n ?? De(/* @__PURE__ */ new Date(), 11))), o = CA(GA(i ?? /* @__PURE__ */ new Date()));
|
|
5650
5650
|
try {
|
|
5651
5651
|
const a = await this.api.getMonthlyCategoryTotals(r, o, t);
|
|
5652
|
-
|
|
5652
|
+
W(() => {
|
|
5653
5653
|
this.monthlyCategoryTotals = a;
|
|
5654
5654
|
});
|
|
5655
5655
|
} catch (a) {
|
|
@@ -5665,10 +5665,10 @@ class Vl {
|
|
|
5665
5665
|
t
|
|
5666
5666
|
), o = await this.api.getMonthlyCategoryTotals(
|
|
5667
5667
|
CA(XA(De(i, 11))),
|
|
5668
|
-
CA(
|
|
5668
|
+
CA(GA(i)),
|
|
5669
5669
|
t
|
|
5670
5670
|
);
|
|
5671
|
-
|
|
5671
|
+
W(() => {
|
|
5672
5672
|
this.dateRangeCategoryTotals = r, this.monthlyCategoryTotals = o, this.setIsLoadingCategoryTotals(!1);
|
|
5673
5673
|
});
|
|
5674
5674
|
} catch (r) {
|
|
@@ -5696,8 +5696,8 @@ class Vl {
|
|
|
5696
5696
|
getCategoryName = (t) => this.categories.find((i) => i.guid === t)?.name ?? wn[t];
|
|
5697
5697
|
}
|
|
5698
5698
|
const _o = ({ transaction: A }) => {
|
|
5699
|
-
const { addOrUpdateTransactionRule: t, updateTransaction: n } = RA(), { categories: i } = qA(), { onEvent: r } =
|
|
5700
|
-
await n({ ...A, category_guid: f }), P && await t(f, A), h(""), r(
|
|
5699
|
+
const { addOrUpdateTransactionRule: t, updateTransaction: n } = RA(), { categories: i } = qA(), { onEvent: r } = F(), { setShouldDisableDrawerScroll: o, updateManualTransaction: a } = ue(), { transactions: s } = H(), [d, l] = u.useState(!1), [f, h] = u.useState(""), I = async (P) => {
|
|
5700
|
+
await n({ ...A, category_guid: f }), P && await t(f, A), h(""), r(G.TRANSACTION_DETAILS_CLICK_CATEGORY, {
|
|
5701
5701
|
transaction_guid: A.guid
|
|
5702
5702
|
});
|
|
5703
5703
|
}, E = (P) => {
|
|
@@ -5719,7 +5719,7 @@ const _o = ({ transaction: A }) => {
|
|
|
5719
5719
|
[f]
|
|
5720
5720
|
);
|
|
5721
5721
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
5722
|
-
/* @__PURE__ */ e(
|
|
5722
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5723
5723
|
cA,
|
|
5724
5724
|
{
|
|
5725
5725
|
onClick: () => {
|
|
@@ -5781,17 +5781,17 @@ const _o = ({ transaction: A }) => {
|
|
|
5781
5781
|
)
|
|
5782
5782
|
] });
|
|
5783
5783
|
}, $o = ({ transaction: A }) => {
|
|
5784
|
-
const t = UA(), { onEvent: n } =
|
|
5784
|
+
const t = UA(), { onEvent: n } = F(), { updateTransaction: i } = RA(), { updateManualTransaction: r } = ue(), { common: o, transactions: a } = H(), [s, d] = u.useState(!1), [l, f] = u.useState(A.date), h = (E) => {
|
|
5785
5785
|
f(CA(E));
|
|
5786
5786
|
}, I = async () => {
|
|
5787
5787
|
if (A.is_manual && !A.guid) {
|
|
5788
5788
|
r({ ...A, date: l }), d(!1);
|
|
5789
5789
|
return;
|
|
5790
5790
|
}
|
|
5791
|
-
await i({ ...A, date: l }), n(
|
|
5791
|
+
await i({ ...A, date: l }), n(G.TRANSACTION_DETAILS_CLICK_DATE, { transaction_guid: A.guid }), d(!1);
|
|
5792
5792
|
};
|
|
5793
5793
|
return /* @__PURE__ */ c(Q, { className: "mx-txn-date-action", children: [
|
|
5794
|
-
/* @__PURE__ */ e(
|
|
5794
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5795
5795
|
cA,
|
|
5796
5796
|
{
|
|
5797
5797
|
onClick: () => {
|
|
@@ -5838,11 +5838,11 @@ const _o = ({ transaction: A }) => {
|
|
|
5838
5838
|
)
|
|
5839
5839
|
] });
|
|
5840
5840
|
}, Ul = ({ transaction: A }) => {
|
|
5841
|
-
const { onEvent: t } =
|
|
5841
|
+
const { onEvent: t } = F(), { removeTransaction: n } = RA(), { setShouldDisableDrawerScroll: i } = ue(), { common: r, transactions: o } = H(), [a, s] = u.useState(!1), d = async () => {
|
|
5842
5842
|
await n(A.guid), t(B.ON_TRANSACTION_DELETE_DELETED);
|
|
5843
5843
|
};
|
|
5844
5844
|
return /* @__PURE__ */ c(Q, { className: "mx-txn-delete", children: [
|
|
5845
|
-
A && /* @__PURE__ */ e(
|
|
5845
|
+
A && /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5846
5846
|
cA,
|
|
5847
5847
|
{
|
|
5848
5848
|
onClick: () => {
|
|
@@ -5878,13 +5878,13 @@ const _o = ({ transaction: A }) => {
|
|
|
5878
5878
|
)
|
|
5879
5879
|
] });
|
|
5880
5880
|
}, Wl = p(Ul), kl = ({ transaction: A }) => {
|
|
5881
|
-
const { onEvent: t } =
|
|
5882
|
-
await n({ ...A, merchant_guid: "" }), t(
|
|
5881
|
+
const { onEvent: t } = F(), { updateTransaction: n } = RA(), { setShouldDisableDrawerScroll: i } = ue(), { common: r, transactions: o } = H(), [a, s] = u.useState(!1), d = async () => {
|
|
5882
|
+
await n({ ...A, merchant_guid: "" }), t(G.TRANSACTION_DETAILS_CLICK_DELETE_LOGO, {
|
|
5883
5883
|
transaction_guid: A.guid
|
|
5884
5884
|
});
|
|
5885
5885
|
};
|
|
5886
5886
|
return /* @__PURE__ */ c(Q, { className: "mx-txn-delete-logo", children: [
|
|
5887
|
-
A && /* @__PURE__ */ e(
|
|
5887
|
+
A && /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5888
5888
|
cA,
|
|
5889
5889
|
{
|
|
5890
5890
|
onClick: () => {
|
|
@@ -5918,13 +5918,13 @@ const _o = ({ transaction: A }) => {
|
|
|
5918
5918
|
)
|
|
5919
5919
|
] });
|
|
5920
5920
|
}, Kl = p(kl), Fl = ({ transaction: A }) => {
|
|
5921
|
-
const { onEvent: t } =
|
|
5921
|
+
const { onEvent: t } = F(), { updateTransaction: n } = RA(), { setShouldDisableDrawerScroll: i } = ue(), { common: r, transactions: o } = H(), [a, s] = u.useState(!1), d = A.is_hidden, l = async () => {
|
|
5922
5922
|
await n({ ...A, is_hidden: !A.is_hidden }), t(
|
|
5923
5923
|
d ? B.ON_TRANSACTION_UNHIDDEN : B.ON_TRANSACTION_HIDDEN
|
|
5924
5924
|
);
|
|
5925
5925
|
};
|
|
5926
5926
|
return /* @__PURE__ */ c(Q, { className: "mx-txn-hide-transaction", children: [
|
|
5927
|
-
A && /* @__PURE__ */ e(
|
|
5927
|
+
A && /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
5928
5928
|
cA,
|
|
5929
5929
|
{
|
|
5930
5930
|
"aria-checked": d,
|
|
@@ -6000,14 +6000,14 @@ const _o = ({ transaction: A }) => {
|
|
|
6000
6000
|
),
|
|
6001
6001
|
/* @__PURE__ */ c(g, { overflow: "hidden'", children: [
|
|
6002
6002
|
/* @__PURE__ */ e(v, { bold: !0, mb: 4, truncate: !0, variant: "Body", children: n || o }),
|
|
6003
|
-
/* @__PURE__ */ c(
|
|
6003
|
+
/* @__PURE__ */ c(Ge, { color: i ? "success.main" : "text.primary", truncate: !0, children: [
|
|
6004
6004
|
i ? "+" : "",
|
|
6005
6005
|
T(t, "0,0.00")
|
|
6006
6006
|
] })
|
|
6007
6007
|
] })
|
|
6008
6008
|
] });
|
|
6009
6009
|
}, Jl = ({ transaction: A }) => {
|
|
6010
|
-
const { onEvent: t } =
|
|
6010
|
+
const { onEvent: t } = F(), { updateTransaction: n } = RA(), { updateManualTransaction: i } = ue(), { common: r, transactions: o } = H(), [a, s] = u.useState(!1), [d, l] = u.useState("");
|
|
6011
6011
|
u.useEffect(() => {
|
|
6012
6012
|
a && l(A.memo ? A.memo : "");
|
|
6013
6013
|
}, [a]);
|
|
@@ -6016,10 +6016,10 @@ const _o = ({ transaction: A }) => {
|
|
|
6016
6016
|
i({ ...A, memo: d }), s(!1);
|
|
6017
6017
|
return;
|
|
6018
6018
|
}
|
|
6019
|
-
await n({ ...A, memo: d }), t(
|
|
6019
|
+
await n({ ...A, memo: d }), t(G.TRANSACTION_DETAILS_CLICK_MEMO, { transaction_guid: A.guid }), s(!1);
|
|
6020
6020
|
};
|
|
6021
6021
|
return /* @__PURE__ */ c("div", { className: "mx-txn-memo-action", children: [
|
|
6022
|
-
/* @__PURE__ */ e(
|
|
6022
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
6023
6023
|
cA,
|
|
6024
6024
|
{
|
|
6025
6025
|
onClick: () => {
|
|
@@ -6082,7 +6082,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6082
6082
|
onUpdateAmount: i,
|
|
6083
6083
|
split: r
|
|
6084
6084
|
}) => {
|
|
6085
|
-
const o = UA(), { onEvent: a } =
|
|
6085
|
+
const o = UA(), { onEvent: a } = F(), { transactions: s } = H(), [d, l] = u.useState(`${r.amount}`), [f, h] = u.useState(!1), I = A === 0, E = (R) => {
|
|
6086
6086
|
isNaN(Number(R)) || (l(R), i(A, Number(R)));
|
|
6087
6087
|
};
|
|
6088
6088
|
return /* @__PURE__ */ c(
|
|
@@ -6184,7 +6184,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6184
6184
|
splits: r,
|
|
6185
6185
|
transaction: o
|
|
6186
6186
|
}) => {
|
|
6187
|
-
const a = UA(), { transactions: s } = H(), { onEvent: d } =
|
|
6187
|
+
const a = UA(), { transactions: s } = H(), { onEvent: d } = F(), [l, f] = u.useState("");
|
|
6188
6188
|
return u.useEffect(() => {
|
|
6189
6189
|
f(r.length <= 1 ? s.split_transaction_errors_min_splits : ""), f(
|
|
6190
6190
|
r[0].amount < 0 ? y(
|
|
@@ -6229,7 +6229,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6229
6229
|
) })
|
|
6230
6230
|
] });
|
|
6231
6231
|
}, ef = p(Af), tf = ({ transaction: A }) => {
|
|
6232
|
-
const { onEvent: t } =
|
|
6232
|
+
const { onEvent: t } = F(), { splitTransaction: n, unSplitTransaction: i } = RA(), { common: r, transactions: o } = H(), { setShouldDisableDrawerScroll: a } = ue(), { categories: s } = qA(), d = {
|
|
6233
6233
|
...A,
|
|
6234
6234
|
amount: A.amount - 1,
|
|
6235
6235
|
guid: "",
|
|
@@ -6249,29 +6249,29 @@ const _o = ({ transaction: A }) => {
|
|
|
6249
6249
|
M.push({ ...l }), M[0].amount -= 1, C(M);
|
|
6250
6250
|
}, m = (M) => {
|
|
6251
6251
|
if (M > 0) {
|
|
6252
|
-
const AA = R[M],
|
|
6253
|
-
|
|
6252
|
+
const AA = R[M], k = [...R];
|
|
6253
|
+
k.splice(M, 1), k[0].amount += AA.amount, C(k);
|
|
6254
6254
|
}
|
|
6255
6255
|
}, L = (M, AA) => {
|
|
6256
|
-
const
|
|
6257
|
-
|
|
6256
|
+
const k = [...R];
|
|
6257
|
+
k[M].amount = AA, k[0].amount = A.amount - k.reduce(
|
|
6258
6258
|
($, iA, tA) => $ + (tA !== 0 ? iA.amount : 0),
|
|
6259
6259
|
0
|
|
6260
|
-
), C(
|
|
6260
|
+
), C(k);
|
|
6261
6261
|
}, z = (M, AA) => {
|
|
6262
|
-
const
|
|
6263
|
-
$ && (
|
|
6264
|
-
...
|
|
6262
|
+
const k = [...R], $ = s.find((iA) => iA.guid === AA);
|
|
6263
|
+
$ && (k[M] = {
|
|
6264
|
+
...k[M],
|
|
6265
6265
|
category_guid: AA,
|
|
6266
6266
|
category: $.name,
|
|
6267
6267
|
top_level_category_guid: $.parent_guid || AA
|
|
6268
|
-
}, C(
|
|
6268
|
+
}, C(k));
|
|
6269
6269
|
}, w = () => {
|
|
6270
6270
|
if (A.parent_guid || A.has_been_split) {
|
|
6271
6271
|
E(!0);
|
|
6272
6272
|
return;
|
|
6273
6273
|
}
|
|
6274
|
-
C([{ ...d }, { ...l }]), t(
|
|
6274
|
+
C([{ ...d }, { ...l }]), t(G.TRANSACTION_DETAILS_CLICK_SPLIT, {
|
|
6275
6275
|
transaction_guid: A.guid
|
|
6276
6276
|
}), h(!0);
|
|
6277
6277
|
}, D = async () => {
|
|
@@ -6279,17 +6279,17 @@ const _o = ({ transaction: A }) => {
|
|
|
6279
6279
|
}, X = async () => {
|
|
6280
6280
|
t(B.ON_TRANSACTION_SPLIT_CANCEL_CLICK), C([{ ...d }, { ...l }]), h(!1);
|
|
6281
6281
|
}, x = async () => {
|
|
6282
|
-
t(
|
|
6282
|
+
t(G.TRANSACTION_DETAILS_CLICK_UNSPLIT, {
|
|
6283
6283
|
transaction_guid: A.guid
|
|
6284
6284
|
});
|
|
6285
6285
|
const M = A.parent_guid ?? A.guid;
|
|
6286
6286
|
await i(M);
|
|
6287
6287
|
}, N = u.useMemo(() => {
|
|
6288
|
-
const M = R.some((
|
|
6288
|
+
const M = R.some((k) => !k.category_guid), AA = R.some((k) => k.amount <= 0);
|
|
6289
6289
|
return M || AA;
|
|
6290
6290
|
}, [R]);
|
|
6291
6291
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
6292
|
-
A && /* @__PURE__ */ e(
|
|
6292
|
+
A && /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(cA, { onClick: w, children: [
|
|
6293
6293
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(we, { sx: { bgcolor: "border.light" }, variant: "rounded", children: /* @__PURE__ */ e(j, { name: "call_split", sx: { color: "text.primary" }, weight: ne.Dark }) }) }),
|
|
6294
6294
|
/* @__PURE__ */ e(
|
|
6295
6295
|
oA,
|
|
@@ -6349,7 +6349,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6349
6349
|
)
|
|
6350
6350
|
] });
|
|
6351
6351
|
}, nf = p(tf), rf = () => {
|
|
6352
|
-
const A = yA(), { onEvent: t } =
|
|
6352
|
+
const A = yA(), { onEvent: t } = F(), { addTag: n } = RA(), { transactions: i } = H(), [r, o] = u.useState(!1), [a, s] = u.useState(""), [d, l] = u.useState(""), f = u.useRef(null);
|
|
6353
6353
|
u.useEffect(() => {
|
|
6354
6354
|
r && f?.current?.focus();
|
|
6355
6355
|
}, [r]);
|
|
@@ -6436,7 +6436,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6436
6436
|
}
|
|
6437
6437
|
) });
|
|
6438
6438
|
}, sf = p(af), cf = ({ onTagChecked: A, selectedTags: t, tag: n }) => {
|
|
6439
|
-
const { onEvent: i } =
|
|
6439
|
+
const { onEvent: i } = F(), { removeTag: r, updateTag: o } = RA(), { common: a, transactions: s } = H(), [d, l] = u.useState(!1), [f, h] = u.useState(!1), [I, E] = u.useState(""), [R, C] = u.useState(""), P = async () => {
|
|
6440
6440
|
i(B.ON_TRANSACTION_TAGS_TAG_EDIT_SAVED), n && await o({ ...n, name: I }), l(!1);
|
|
6441
6441
|
}, m = async () => {
|
|
6442
6442
|
i(B.ON_TRANSACTION_TAGS_TAG_DELETED), await r(n.guid), h(!1);
|
|
@@ -6450,7 +6450,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6450
6450
|
i(B.ON_TRANSACTION_TAGS_TAG_DELETE_CLICK), h(!0);
|
|
6451
6451
|
};
|
|
6452
6452
|
return /* @__PURE__ */ c(
|
|
6453
|
-
|
|
6453
|
+
K,
|
|
6454
6454
|
{
|
|
6455
6455
|
className: "mx-txn-transaction-manager-row",
|
|
6456
6456
|
disableGutters: !0,
|
|
@@ -6544,11 +6544,11 @@ const _o = ({ transaction: A }) => {
|
|
|
6544
6544
|
/* @__PURE__ */ e(of, {}),
|
|
6545
6545
|
/* @__PURE__ */ e(me, { sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(aA, { children: o.map((a) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
6546
6546
|
/* @__PURE__ */ e(df, { onTagChecked: t, selectedTags: A, tag: a }),
|
|
6547
|
-
/* @__PURE__ */ e(
|
|
6547
|
+
/* @__PURE__ */ e(S, { sx: { ml: 24 } })
|
|
6548
6548
|
] }, a.guid)) }) })
|
|
6549
6549
|
] });
|
|
6550
6550
|
}, ff = p(lf), hf = ({ transaction: A }) => {
|
|
6551
|
-
const { onEvent: t } =
|
|
6551
|
+
const { onEvent: t } = F(), { tags: n, updateTaggings: i, updateTransaction: r } = RA(), { common: o, transactions: a } = H(), { updateManualTransaction: s } = ue(), [d, l] = u.useState(!1), [f, h] = u.useState(A.tags);
|
|
6552
6552
|
u.useEffect(() => {
|
|
6553
6553
|
h(A.tags);
|
|
6554
6554
|
}, [d, A]);
|
|
@@ -6560,7 +6560,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6560
6560
|
s({ ...A, tags: f }), l(!1);
|
|
6561
6561
|
return;
|
|
6562
6562
|
}
|
|
6563
|
-
await i(f, A.guid), await r({ ...A }), t(
|
|
6563
|
+
await i(f, A.guid), await r({ ...A }), t(G.TRANSACTION_DETAILS_CLICK_TAGS, { transaction_guid: A.guid }), l(!1);
|
|
6564
6564
|
}, R = u.useMemo(
|
|
6565
6565
|
() => A.tags.map(
|
|
6566
6566
|
(C, P, m) => `${n.find((L) => L.guid === C)?.name}${P < m.length - 1 ? " / " : ""}`
|
|
@@ -6568,7 +6568,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6568
6568
|
[n, A]
|
|
6569
6569
|
);
|
|
6570
6570
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
6571
|
-
/* @__PURE__ */ e(
|
|
6571
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(
|
|
6572
6572
|
cA,
|
|
6573
6573
|
{
|
|
6574
6574
|
onClick: () => {
|
|
@@ -6603,12 +6603,12 @@ const _o = ({ transaction: A }) => {
|
|
|
6603
6603
|
)
|
|
6604
6604
|
] });
|
|
6605
6605
|
}, ta = p(hf), uf = ({ transaction: A }) => {
|
|
6606
|
-
const { updateTransaction: t } = RA(), { common: n, transactions: i } = H(), { onEvent: r } =
|
|
6606
|
+
const { updateTransaction: t } = RA(), { common: n, transactions: i } = H(), { onEvent: r } = F(), [o, a] = u.useState(!1), [s, d] = u.useState(""), l = u.useRef(null);
|
|
6607
6607
|
u.useEffect(() => {
|
|
6608
6608
|
o && (d(A.description), l?.current?.focus());
|
|
6609
6609
|
}, [o]);
|
|
6610
6610
|
const f = async () => {
|
|
6611
|
-
r(
|
|
6611
|
+
r(G.TRANSACTION_DETAILS_CLICK_DESCRIPTION, {
|
|
6612
6612
|
transaction_guid: A.guid
|
|
6613
6613
|
}), await t({ ...A, description: s }), a(!1);
|
|
6614
6614
|
};
|
|
@@ -6654,8 +6654,8 @@ const _o = ({ transaction: A }) => {
|
|
|
6654
6654
|
)
|
|
6655
6655
|
] }) });
|
|
6656
6656
|
}, If = p(uf), Ef = ({ transaction: A }) => {
|
|
6657
|
-
const { updateTransaction: t } = RA(), { transactions: n } = H(), { onEvent: i } =
|
|
6658
|
-
i(
|
|
6657
|
+
const { updateTransaction: t } = RA(), { transactions: n } = H(), { onEvent: i } = F(), r = yA(), o = async () => {
|
|
6658
|
+
i(G.TRANSACTION_DETAILS_CLICK_FLAG, { transaction_guid: A.guid }), await t({ ...A, is_flagged: !A.is_flagged });
|
|
6659
6659
|
};
|
|
6660
6660
|
return /* @__PURE__ */ e("div", { className: "mx-txn-transaction-flag", children: /* @__PURE__ */ e(
|
|
6661
6661
|
hi,
|
|
@@ -6690,9 +6690,9 @@ const _o = ({ transaction: A }) => {
|
|
|
6690
6690
|
topActions: t = Vd,
|
|
6691
6691
|
transaction: n
|
|
6692
6692
|
}) => {
|
|
6693
|
-
const i = UA(), r = n?.number && n.number.length > 4, { onEvent: o } =
|
|
6693
|
+
const i = UA(), r = n?.number && n.number.length > 4, { onEvent: o } = F();
|
|
6694
6694
|
return u.useEffect(
|
|
6695
|
-
() => o(
|
|
6695
|
+
() => o(G.TRANSACTION_DETAILS_VIEW, { transaction_guid: n.guid }),
|
|
6696
6696
|
[]
|
|
6697
6697
|
), /* @__PURE__ */ e(Q, { className: "mx-txn-transaction-details", width: "100%", children: n && /* @__PURE__ */ c(g, { children: [
|
|
6698
6698
|
/* @__PURE__ */ c(g, { gap: i.Spacing.Small, p: i.Spacing.Large, children: [
|
|
@@ -6706,7 +6706,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6706
6706
|
) }),
|
|
6707
6707
|
/* @__PURE__ */ e(If, { transaction: n }),
|
|
6708
6708
|
/* @__PURE__ */ c(g, { direction: "row", justifyContent: "space-between", children: [
|
|
6709
|
-
/* @__PURE__ */ c(
|
|
6709
|
+
/* @__PURE__ */ c(Ge, { color: n.isIncome ? "success.main" : "text.primary", children: [
|
|
6710
6710
|
n.isIncome ? "+" : "",
|
|
6711
6711
|
T(n.amount, "0,0.00")
|
|
6712
6712
|
] }),
|
|
@@ -6728,11 +6728,11 @@ const _o = ({ transaction: A }) => {
|
|
|
6728
6728
|
)
|
|
6729
6729
|
] }),
|
|
6730
6730
|
/* @__PURE__ */ e(me, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ e(aA, { children: t.map((a, s) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
6731
|
-
a ===
|
|
6732
|
-
a ===
|
|
6733
|
-
a ===
|
|
6734
|
-
a ===
|
|
6735
|
-
/* @__PURE__ */ e(
|
|
6731
|
+
a === Gt.Category && /* @__PURE__ */ e(_o, { transaction: n }),
|
|
6732
|
+
a === Gt.Date && /* @__PURE__ */ e($o, { transaction: n }),
|
|
6733
|
+
a === Gt.Memo && /* @__PURE__ */ e(ea, { transaction: n }),
|
|
6734
|
+
a === Gt.Tags && /* @__PURE__ */ e(ta, { transaction: n }),
|
|
6735
|
+
/* @__PURE__ */ e(S, { variant: s < t.length - 1 ? "inset" : "fullWidth" })
|
|
6736
6736
|
] }, a)) }) }),
|
|
6737
6737
|
/* @__PURE__ */ e(v, { bold: !0, mb: 8, ml: 26, mt: 16, variant: "Body", children: "Actions" }),
|
|
6738
6738
|
/* @__PURE__ */ e(me, { square: !0, sx: { boxShadow: "none" }, children: /* @__PURE__ */ c(aA, { children: [
|
|
@@ -6740,7 +6740,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6740
6740
|
a === cn.SplitTransaction && /* @__PURE__ */ e(nf, { transaction: n }),
|
|
6741
6741
|
a === cn.HideTransaction && /* @__PURE__ */ e(Zl, { transaction: n }),
|
|
6742
6742
|
a === cn.MerchantLogo && /* @__PURE__ */ e(Kl, { transaction: n }),
|
|
6743
|
-
/* @__PURE__ */ e(
|
|
6743
|
+
/* @__PURE__ */ e(S, { variant: s < A.length - 1 ? "inset" : "fullWidth" })
|
|
6744
6744
|
] }, a)),
|
|
6745
6745
|
n.is_manual && /* @__PURE__ */ e(Wl, { transaction: n })
|
|
6746
6746
|
] }) })
|
|
@@ -6854,7 +6854,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6854
6854
|
}
|
|
6855
6855
|
)
|
|
6856
6856
|
] }),
|
|
6857
|
-
/* @__PURE__ */ e(
|
|
6857
|
+
/* @__PURE__ */ e(S, { light: !0 }),
|
|
6858
6858
|
/* @__PURE__ */ c(Q, { bgcolor: "background.paper", children: [
|
|
6859
6859
|
/* @__PURE__ */ e(_o, { transaction: i }),
|
|
6860
6860
|
/* @__PURE__ */ e($o, { transaction: i }),
|
|
@@ -6924,22 +6924,22 @@ const _o = ({ transaction: A }) => {
|
|
|
6924
6924
|
tags: m,
|
|
6925
6925
|
transactions: L,
|
|
6926
6926
|
updateTransaction: z
|
|
6927
|
-
} = RA(), { common: w, transactions: D } = H(), { userProfile: X } = Ct(), { onEvent: x } =
|
|
6927
|
+
} = RA(), { common: w, transactions: D } = H(), { userProfile: X } = Ct(), { onEvent: x } = F(), {
|
|
6928
6928
|
displayedDateRange: N,
|
|
6929
6929
|
isInitialized: M,
|
|
6930
6930
|
selectedAccountGuids: AA,
|
|
6931
|
-
selectedAccounts:
|
|
6931
|
+
selectedAccounts: k,
|
|
6932
6932
|
setDisplayedDate: $,
|
|
6933
6933
|
setSelectedAccounts: iA
|
|
6934
6934
|
} = bA(), [tA, vA] = u.useState(""), [lA, pA] = u.useState(""), [re, ge] = u.useState(!1), [Ye, HA] = u.useState(!1), [ee, Ve] = u.useState(!1);
|
|
6935
6935
|
u.useEffect(() => {
|
|
6936
6936
|
iA(r);
|
|
6937
6937
|
}, [r]), u.useEffect(() => {
|
|
6938
|
-
const YA = XA(dA()), Vi =
|
|
6938
|
+
const YA = XA(dA()), Vi = GA(dA());
|
|
6939
6939
|
$(YA, Vi), P({
|
|
6940
6940
|
dateRange: { start: YA, end: Vi },
|
|
6941
|
-
accounts:
|
|
6942
|
-
}), Ve(!0), x(
|
|
6941
|
+
accounts: k.map((Sa) => Sa.guid)
|
|
6942
|
+
}), Ve(!0), x(G.TRANSACTIONS_VIEW);
|
|
6943
6943
|
}, []), u.useEffect(() => {
|
|
6944
6944
|
ee && (P({
|
|
6945
6945
|
...R,
|
|
@@ -6952,15 +6952,15 @@ const _o = ({ transaction: A }) => {
|
|
|
6952
6952
|
const Qt = u.useMemo(
|
|
6953
6953
|
() => r.filter((YA) => YA.is_manual),
|
|
6954
6954
|
[r]
|
|
6955
|
-
), Z = lA ? L.find((YA) => YA.guid === lA) : void 0, mA = d && !!s.payee && !!s.account_guid && !!s.category_guid,
|
|
6955
|
+
), Z = lA ? L.find((YA) => YA.guid === lA) : void 0, mA = d && !!s.payee && !!s.account_guid && !!s.category_guid, SA = (YA) => {
|
|
6956
6956
|
$(YA[0], YA[1]);
|
|
6957
6957
|
}, Ue = (YA) => {
|
|
6958
6958
|
f(YA), P({
|
|
6959
6959
|
...R,
|
|
6960
6960
|
searchTerm: YA
|
|
6961
|
-
}), x(
|
|
6962
|
-
},
|
|
6963
|
-
Fo(L, m), x(
|
|
6961
|
+
}), x(G.TRANSACTIONS_CLICK_SEARCH, { search_term: YA });
|
|
6962
|
+
}, Gn = () => {
|
|
6963
|
+
Fo(L, m), x(G.TRANSACTIONS_CLICK_EXPORT);
|
|
6964
6964
|
}, Mn = () => {
|
|
6965
6965
|
Qt.length > 0 ? (I({
|
|
6966
6966
|
...Ko,
|
|
@@ -6969,7 +6969,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6969
6969
|
}), vA(
|
|
6970
6970
|
"addTransaction"
|
|
6971
6971
|
/* AddTransaction */
|
|
6972
|
-
), x(
|
|
6972
|
+
), x(G.TRANSACTIONS_CLICK_ADD)) : (ge(!0), x(G.TRANSACTIONS_ADD_MANUAL_ACCOUNT_MODAL));
|
|
6973
6973
|
}, Ot = async () => {
|
|
6974
6974
|
mA && await E(s), vA("");
|
|
6975
6975
|
}, Bn = () => {
|
|
@@ -6985,7 +6985,7 @@ const _o = ({ transaction: A }) => {
|
|
|
6985
6985
|
{
|
|
6986
6986
|
iconName: "open_in_new",
|
|
6987
6987
|
label: D.export_csv_btn,
|
|
6988
|
-
onClick:
|
|
6988
|
+
onClick: Gn
|
|
6989
6989
|
},
|
|
6990
6990
|
{
|
|
6991
6991
|
iconName: "add",
|
|
@@ -6994,9 +6994,9 @@ const _o = ({ transaction: A }) => {
|
|
|
6994
6994
|
}
|
|
6995
6995
|
],
|
|
6996
6996
|
calendarActions: {
|
|
6997
|
-
onRangeChanged:
|
|
6997
|
+
onRangeChanged: SA
|
|
6998
6998
|
},
|
|
6999
|
-
onAccountsFilterClick: () => x(
|
|
6999
|
+
onAccountsFilterClick: () => x(G.ACCOUNTS_CLICK_FILTER),
|
|
7000
7000
|
onBackClick: A,
|
|
7001
7001
|
sx: i,
|
|
7002
7002
|
title: D.transactions_title,
|
|
@@ -7030,7 +7030,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7030
7030
|
pA(YA), vA(
|
|
7031
7031
|
"transaction"
|
|
7032
7032
|
/* Transaction */
|
|
7033
|
-
), x(
|
|
7033
|
+
), x(G.TRANSACTIONS_CLICK_DETAILS, { transaction_guid: YA });
|
|
7034
7034
|
}
|
|
7035
7035
|
}
|
|
7036
7036
|
)
|
|
@@ -7123,19 +7123,19 @@ const _o = ({ transaction: A }) => {
|
|
|
7123
7123
|
start_date: CA(A.expectedDate)
|
|
7124
7124
|
}, i = `${Bt(A.expectedDate)}`, r = `${mt(A.expectedDate)}`, o = `${kt(A.expectedDate)}`;
|
|
7125
7125
|
switch (A.recurrenceType) {
|
|
7126
|
-
case
|
|
7126
|
+
case U.EveryWeek:
|
|
7127
7127
|
n.repeat_interval = "1", n.repeat_weekday = o;
|
|
7128
7128
|
break;
|
|
7129
|
-
case
|
|
7129
|
+
case U.EveryOtherWeek:
|
|
7130
7130
|
n.repeat_interval = "2", n.repeat_weekday = o;
|
|
7131
7131
|
break;
|
|
7132
|
-
case
|
|
7132
|
+
case U.EveryMonth:
|
|
7133
7133
|
n.repeat_day = i;
|
|
7134
7134
|
break;
|
|
7135
|
-
case
|
|
7135
|
+
case U.EveryQuarter:
|
|
7136
7136
|
n.repeat_day = i, n.repeat_interval = "3";
|
|
7137
7137
|
break;
|
|
7138
|
-
case
|
|
7138
|
+
case U.EveryYear:
|
|
7139
7139
|
n.repeat_day = i, n.repeat_month = r;
|
|
7140
7140
|
break;
|
|
7141
7141
|
}
|
|
@@ -7145,14 +7145,14 @@ const _o = ({ transaction: A }) => {
|
|
|
7145
7145
|
occurs_on: Ei(A.expectedDate, { representation: "date" }),
|
|
7146
7146
|
recurrence_type: A.recurrenceType
|
|
7147
7147
|
}), yf = ({ activity: A }) => {
|
|
7148
|
-
const { recurring: t } = H(), { cashflowSequences: n, scheduledPayments: i, updateCashflowSequence: r, updateScheduledPayment: o } = kA(), { onEvent: a } =
|
|
7149
|
-
{ id:
|
|
7150
|
-
{ id:
|
|
7151
|
-
{ id:
|
|
7152
|
-
{ id:
|
|
7153
|
-
{ id:
|
|
7154
|
-
{ id:
|
|
7155
|
-
{ id:
|
|
7148
|
+
const { recurring: t } = H(), { cashflowSequences: n, scheduledPayments: i, updateCashflowSequence: r, updateScheduledPayment: o } = kA(), { onEvent: a } = F(), [s, d] = u.useState(!1), l = A.activityType === jA.Income, f = [
|
|
7149
|
+
{ id: U.EveryWeek, label: t.frequency_every_week },
|
|
7150
|
+
{ id: U.EveryOtherWeek, label: t.frequency_every_other_week },
|
|
7151
|
+
{ id: U.EveryMonth, label: t.frequency_every_month },
|
|
7152
|
+
{ id: U.EveryOtherMonth, label: t.frequency_every_other_month },
|
|
7153
|
+
{ id: U.EveryQuarter, label: t.frequency_every_quarter },
|
|
7154
|
+
{ id: U.EveryOtherQuarter, label: t.frequency_every_other_quarter },
|
|
7155
|
+
{ id: U.EveryYear, label: t.frequency_every_year }
|
|
7156
7156
|
], h = async (R) => {
|
|
7157
7157
|
const C = { ...A, recurrenceType: R };
|
|
7158
7158
|
if (A.activityType === jA.Expense) {
|
|
@@ -7192,10 +7192,10 @@ const _o = ({ transaction: A }) => {
|
|
|
7192
7192
|
(R) => (
|
|
7193
7193
|
// Filter out every other month and every other quarter when income since cashflow
|
|
7194
7194
|
// sequence doesn't support them
|
|
7195
|
-
A.activityType === jA.Expense || R.id !==
|
|
7195
|
+
A.activityType === jA.Expense || R.id !== U.EveryOtherMonth && R.id !== U.EveryOtherQuarter
|
|
7196
7196
|
)
|
|
7197
7197
|
).map((R) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
7198
|
-
/* @__PURE__ */ e(
|
|
7198
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(cA, { onClick: () => h(R.id), children: [
|
|
7199
7199
|
/* @__PURE__ */ e(
|
|
7200
7200
|
oA,
|
|
7201
7201
|
{
|
|
@@ -7205,13 +7205,13 @@ const _o = ({ transaction: A }) => {
|
|
|
7205
7205
|
),
|
|
7206
7206
|
A.recurrenceType === R.id && /* @__PURE__ */ e(j, { color: "primary", fill: !0, name: "check_circle", size: 24 })
|
|
7207
7207
|
] }) }, R.id),
|
|
7208
|
-
/* @__PURE__ */ e(
|
|
7208
|
+
/* @__PURE__ */ e(S, {})
|
|
7209
7209
|
] }, R.id)) })
|
|
7210
7210
|
}
|
|
7211
7211
|
)
|
|
7212
7212
|
] });
|
|
7213
7213
|
}, zf = p(yf), wf = ({ activity: A }) => {
|
|
7214
|
-
const { recurring: t } = H(), { cashflowSequences: n, scheduledPayments: i, updateCashflowSequence: r, updateScheduledPayment: o } = kA(), { onEvent: a } =
|
|
7214
|
+
const { recurring: t } = H(), { cashflowSequences: n, scheduledPayments: i, updateCashflowSequence: r, updateScheduledPayment: o } = kA(), { onEvent: a } = F(), [s, d] = u.useState(!1), [l, f] = u.useState(A.expectedDate), h = A.activityType === jA.Income, I = () => {
|
|
7215
7215
|
f(A.expectedDate), d(!0), a(
|
|
7216
7216
|
h ? "recurring_transactions_widget_income_details_click_next_payment_due" : "recurring_transactions_widget_expense_details_click_next_payment_due",
|
|
7217
7217
|
{
|
|
@@ -7259,14 +7259,14 @@ const _o = ({ transaction: A }) => {
|
|
|
7259
7259
|
)
|
|
7260
7260
|
] });
|
|
7261
7261
|
}, Lf = p(wf), Df = ({ activity: A, onDeleted: t }) => {
|
|
7262
|
-
const { recurring: n } = H(), { categories: i } = qA(), { deleteCashflowSequence: r, deleteScheduledPayment: o, paidActivities: a } = kA(), { filter: s, setFilter: d, transactions: l } = RA(), { selectedAccountGuids: f } = bA(), { onEvent: h } =
|
|
7262
|
+
const { recurring: n } = H(), { categories: i } = qA(), { deleteCashflowSequence: r, deleteScheduledPayment: o, paidActivities: a } = kA(), { filter: s, setFilter: d, transactions: l } = RA(), { selectedAccountGuids: f } = bA(), { onEvent: h } = F(), [I, E] = u.useState(!1), [R, C] = u.useState(""), P = i.find((D) => D.guid === A.categoryGuid), m = A.activityType === jA.Income, L = u.useMemo(
|
|
7263
7263
|
() => l.find((D) => D.guid === R),
|
|
7264
7264
|
[R]
|
|
7265
7265
|
);
|
|
7266
7266
|
u.useEffect(() => {
|
|
7267
7267
|
d({
|
|
7268
7268
|
accounts: f,
|
|
7269
|
-
dateRange: { start: Oe(dA(), 90), end:
|
|
7269
|
+
dateRange: { start: Oe(dA(), 90), end: GA(dA()) }
|
|
7270
7270
|
});
|
|
7271
7271
|
}, []), u.useEffect(() => {
|
|
7272
7272
|
if (m && A.sequenceGuid) {
|
|
@@ -7301,7 +7301,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7301
7301
|
}
|
|
7302
7302
|
),
|
|
7303
7303
|
/* @__PURE__ */ e(v, { bold: !0, variant: "Body", children: A.name }),
|
|
7304
|
-
/* @__PURE__ */ c(
|
|
7304
|
+
/* @__PURE__ */ c(Ge, { color: m ? "success.main" : "text.primary", children: [
|
|
7305
7305
|
m ? "+" : "",
|
|
7306
7306
|
T(A.amount, "0,0.00")
|
|
7307
7307
|
] })
|
|
@@ -7316,7 +7316,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7316
7316
|
value: A.institution
|
|
7317
7317
|
}
|
|
7318
7318
|
),
|
|
7319
|
-
/* @__PURE__ */ e(
|
|
7319
|
+
/* @__PURE__ */ e(S, { color: "secondary", variant: "inset" })
|
|
7320
7320
|
] }),
|
|
7321
7321
|
P && /* @__PURE__ */ c(Y, { children: [
|
|
7322
7322
|
/* @__PURE__ */ e(
|
|
@@ -7327,12 +7327,12 @@ const _o = ({ transaction: A }) => {
|
|
|
7327
7327
|
value: P.name
|
|
7328
7328
|
}
|
|
7329
7329
|
),
|
|
7330
|
-
/* @__PURE__ */ e(
|
|
7330
|
+
/* @__PURE__ */ e(S, { color: "secondary", variant: "inset" })
|
|
7331
7331
|
] }),
|
|
7332
7332
|
/* @__PURE__ */ e(zf, { activity: A }),
|
|
7333
|
-
/* @__PURE__ */ e(
|
|
7333
|
+
/* @__PURE__ */ e(S, { color: "secondary", variant: "inset" }),
|
|
7334
7334
|
/* @__PURE__ */ e(Lf, { activity: A }),
|
|
7335
|
-
/* @__PURE__ */ e(
|
|
7335
|
+
/* @__PURE__ */ e(S, { color: "secondary" })
|
|
7336
7336
|
] }),
|
|
7337
7337
|
/* @__PURE__ */ e(
|
|
7338
7338
|
sA,
|
|
@@ -7378,22 +7378,22 @@ const _o = ({ transaction: A }) => {
|
|
|
7378
7378
|
}, Tn = (A) => A ? { margin: "0 0 -6px -4px" } : void 0, Qi = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ot, { size: t, sx: { ...Tn(A) }, children: /* @__PURE__ */ e(nc, { color: "primary", sx: { fontSize: t, ...On } }) }), Oi = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ot, { size: t, sx: { ...Tn(A) }, children: /* @__PURE__ */ e(ic, { sx: { color: "categories.income", fontSize: t, ...On } }) }), Ti = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ot, { size: t, sx: { ...Tn(A) }, children: /* @__PURE__ */ e(fn, { color: "error", sx: { fontSize: t, ...On } }) }), qi = ({ isOffset: A = !1, size: t = 16 }) => /* @__PURE__ */ e(ot, { size: t, sx: { ...Tn(A) }, children: /* @__PURE__ */ e(mn, { color: "success", sx: { fontSize: t, ...On } }) }), Qr = ({ copy: A, date: t, type: n }) => {
|
|
7379
7379
|
let i = t && bo(t) ? y(A.monthly_ordinal, te(t, "do")) : A.monthly;
|
|
7380
7380
|
switch (n) {
|
|
7381
|
-
case
|
|
7381
|
+
case U.EveryQuarter:
|
|
7382
7382
|
i = t ? y(A.quarterly_ordinal, te(t, "do")) : A.quarterly;
|
|
7383
7383
|
break;
|
|
7384
|
-
case
|
|
7384
|
+
case U.EveryWeek:
|
|
7385
7385
|
i = t ? y(A.weekly_ordinal, te(t, "do")) : A.weekly;
|
|
7386
7386
|
break;
|
|
7387
|
-
case
|
|
7387
|
+
case U.EveryYear:
|
|
7388
7388
|
i = t ? y(A.anually_ordinal, te(t, "do")) : A.anually;
|
|
7389
7389
|
break;
|
|
7390
|
-
case
|
|
7390
|
+
case U.EveryOtherWeek:
|
|
7391
7391
|
i = t ? y(A.every_other_week_ordinal, te(t, "do")) : A.every_other_week;
|
|
7392
7392
|
break;
|
|
7393
|
-
case
|
|
7393
|
+
case U.EveryOtherMonth:
|
|
7394
7394
|
i = t ? y(A.every_other_month_ordinal, te(t, "do")) : A.every_other_month;
|
|
7395
7395
|
break;
|
|
7396
|
-
case
|
|
7396
|
+
case U.EveryOtherQuarter:
|
|
7397
7397
|
i = t ? y(A.every_other_quarter_ordinal, te(t, "do")) : A.every_other_quarter;
|
|
7398
7398
|
break;
|
|
7399
7399
|
}
|
|
@@ -7442,7 +7442,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7442
7442
|
copy: r,
|
|
7443
7443
|
date: A.expectedDate,
|
|
7444
7444
|
type: A.recurrenceType
|
|
7445
|
-
} : { copy: r, date: null, type: A.recurrenceType })), /* @__PURE__ */ c(
|
|
7445
|
+
} : { copy: r, date: null, type: A.recurrenceType })), /* @__PURE__ */ c(K, { disableGutters: !0, disablePadding: !0, children: [
|
|
7446
7446
|
/* @__PURE__ */ c(cA, { onClick: () => {
|
|
7447
7447
|
a(A.sequenceGuid || A.scheduledPaymentGuid || ""), n(A);
|
|
7448
7448
|
}, children: [
|
|
@@ -7546,19 +7546,19 @@ const _o = ({ transaction: A }) => {
|
|
|
7546
7546
|
transaction_type: A.transaction_type
|
|
7547
7547
|
};
|
|
7548
7548
|
switch (t) {
|
|
7549
|
-
case
|
|
7549
|
+
case U.EveryWeek:
|
|
7550
7550
|
i.repeat_interval = "1", i.repeat_weekday = `${kt(n)}`;
|
|
7551
7551
|
break;
|
|
7552
|
-
case
|
|
7552
|
+
case U.EveryOtherWeek:
|
|
7553
7553
|
i.repeat_interval = "2", i.repeat_weekday = `${kt(n)}`;
|
|
7554
7554
|
break;
|
|
7555
|
-
case
|
|
7555
|
+
case U.EveryMonth:
|
|
7556
7556
|
i.repeat_day = `${Bt(n)}`;
|
|
7557
7557
|
break;
|
|
7558
|
-
case
|
|
7558
|
+
case U.EveryQuarter:
|
|
7559
7559
|
i.repeat_interval = "3", i.repeat_day = `${Bt(n)}`;
|
|
7560
7560
|
break;
|
|
7561
|
-
case
|
|
7561
|
+
case U.EveryYear:
|
|
7562
7562
|
i.repeat_day = `${Bt(n)}`, i.repeat_month = `${mt(n)}`;
|
|
7563
7563
|
break;
|
|
7564
7564
|
}
|
|
@@ -7581,18 +7581,18 @@ const _o = ({ transaction: A }) => {
|
|
|
7581
7581
|
merchant_guid: A.merchant_guid,
|
|
7582
7582
|
occurs_on: Ei(n, { representation: "date" }),
|
|
7583
7583
|
recurrence_day: 0,
|
|
7584
|
-
recurrence_type:
|
|
7584
|
+
recurrence_type: U.EveryMonth
|
|
7585
7585
|
};
|
|
7586
7586
|
switch (t) {
|
|
7587
|
-
case
|
|
7588
|
-
case
|
|
7587
|
+
case U.EveryWeek:
|
|
7588
|
+
case U.EveryOtherWeek:
|
|
7589
7589
|
i.recurrence_day = kt(n);
|
|
7590
7590
|
break;
|
|
7591
|
-
case
|
|
7592
|
-
case
|
|
7593
|
-
case
|
|
7594
|
-
case
|
|
7595
|
-
case
|
|
7591
|
+
case U.EveryMonth:
|
|
7592
|
+
case U.EveryOtherMonth:
|
|
7593
|
+
case U.EveryQuarter:
|
|
7594
|
+
case U.EveryOtherQuarter:
|
|
7595
|
+
case U.EveryYear:
|
|
7596
7596
|
i.recurrence_day = Bt(n);
|
|
7597
7597
|
break;
|
|
7598
7598
|
}
|
|
@@ -7630,42 +7630,42 @@ const _o = ({ transaction: A }) => {
|
|
|
7630
7630
|
transaction: a
|
|
7631
7631
|
}) => {
|
|
7632
7632
|
const { recurring: s } = H(), d = [
|
|
7633
|
-
{ id:
|
|
7634
|
-
{ id:
|
|
7635
|
-
{ id:
|
|
7636
|
-
{ id:
|
|
7637
|
-
{ id:
|
|
7638
|
-
{ id:
|
|
7639
|
-
{ id:
|
|
7633
|
+
{ id: U.EveryWeek, label: s.frequency_every_week },
|
|
7634
|
+
{ id: U.EveryOtherWeek, label: s.frequency_every_other_week },
|
|
7635
|
+
{ id: U.EveryMonth, label: s.frequency_every_month },
|
|
7636
|
+
{ id: U.EveryOtherMonth, label: s.frequency_every_other_month },
|
|
7637
|
+
{ id: U.EveryQuarter, label: s.frequency_every_quarter },
|
|
7638
|
+
{ id: U.EveryOtherQuarter, label: s.frequency_every_other_quarter },
|
|
7639
|
+
{ id: U.EveryYear, label: s.frequency_every_year }
|
|
7640
7640
|
];
|
|
7641
7641
|
u.useEffect(() => {
|
|
7642
7642
|
const f = wA(a.date);
|
|
7643
|
-
o(sr(f)), r(
|
|
7643
|
+
o(sr(f)), r(U.EveryMonth);
|
|
7644
7644
|
}, [a]);
|
|
7645
7645
|
const l = (f) => {
|
|
7646
7646
|
const h = wA(a.date);
|
|
7647
7647
|
switch (Number(f.target.value)) {
|
|
7648
|
-
case
|
|
7648
|
+
case U.EveryWeek:
|
|
7649
7649
|
o(Hi(h));
|
|
7650
7650
|
break;
|
|
7651
|
-
case
|
|
7651
|
+
case U.EveryOtherWeek:
|
|
7652
7652
|
o(jc(h));
|
|
7653
7653
|
break;
|
|
7654
|
-
case
|
|
7654
|
+
case U.EveryMonth:
|
|
7655
7655
|
o(sr(h));
|
|
7656
7656
|
break;
|
|
7657
|
-
case
|
|
7657
|
+
case U.EveryOtherMonth:
|
|
7658
7658
|
o(Nc(h));
|
|
7659
7659
|
break;
|
|
7660
|
-
case
|
|
7660
|
+
case U.EveryQuarter:
|
|
7661
7661
|
o(Oo(h));
|
|
7662
7662
|
break;
|
|
7663
|
-
case
|
|
7664
|
-
o(Gc(h));
|
|
7665
|
-
break;
|
|
7666
|
-
case V.EveryYear:
|
|
7663
|
+
case U.EveryOtherQuarter:
|
|
7667
7664
|
o(Sc(h));
|
|
7668
7665
|
break;
|
|
7666
|
+
case U.EveryYear:
|
|
7667
|
+
o(Gc(h));
|
|
7668
|
+
break;
|
|
7669
7669
|
}
|
|
7670
7670
|
r(Number(f.target.value));
|
|
7671
7671
|
};
|
|
@@ -7703,12 +7703,12 @@ const _o = ({ transaction: A }) => {
|
|
|
7703
7703
|
}
|
|
7704
7704
|
) })
|
|
7705
7705
|
] });
|
|
7706
|
-
}, sa = p(jf), ai = (A) => A.top_level_category_guid !== b.INCOME && A.transaction_type === de.DEBIT, Nf = (A, t) => ai(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description.toLowerCase().includes(t.toLowerCase()) || A.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, Jt = (A) => A.top_level_category_guid === b.INCOME || A.top_level_category_guid === b.TRANSFER && A.transaction_type === de.CREDIT, ca = (A, t) => Jt(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description?.toLowerCase().includes(t.toLowerCase()) || A.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1,
|
|
7706
|
+
}, sa = p(jf), ai = (A) => A.top_level_category_guid !== b.INCOME && A.transaction_type === de.DEBIT, Nf = (A, t) => ai(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description.toLowerCase().includes(t.toLowerCase()) || A.feed_description.toLowerCase().includes(t.toLowerCase()) : !1, Jt = (A) => A.top_level_category_guid === b.INCOME || A.top_level_category_guid === b.TRANSFER && A.transaction_type === de.CREDIT, ca = (A, t) => Jt(A) ? A.payee?.toLowerCase().includes(t.toLowerCase()) || A.description?.toLowerCase().includes(t.toLowerCase()) || A.feed_description?.toLowerCase().includes(t.toLowerCase()) : !1, Sf = ({
|
|
7707
7707
|
isIncome: A = !1,
|
|
7708
7708
|
label: t,
|
|
7709
7709
|
onAddActivity: n = () => null
|
|
7710
7710
|
}) => {
|
|
7711
|
-
const { recurring: i } = H(), { addCashflowEvent: r, addCashflowSequence: o, addScheduledPayment: a } = kA(), { filter: s, setFilter: d, transactions: l } = RA(), [f, h] = u.useState(!1), [I, E] = u.useState(""), [R, C] = u.useState(
|
|
7711
|
+
const { recurring: i } = H(), { addCashflowEvent: r, addCashflowSequence: o, addScheduledPayment: a } = kA(), { filter: s, setFilter: d, transactions: l } = RA(), [f, h] = u.useState(!1), [I, E] = u.useState(""), [R, C] = u.useState(U.EveryMonth), [P, m] = u.useState(null), L = u.useMemo(
|
|
7712
7712
|
() => l.find((X) => X.guid === I),
|
|
7713
7713
|
[I]
|
|
7714
7714
|
), z = () => {
|
|
@@ -7733,14 +7733,14 @@ const _o = ({ transaction: A }) => {
|
|
|
7733
7733
|
E(""), h(!1);
|
|
7734
7734
|
};
|
|
7735
7735
|
return /* @__PURE__ */ c(Q, { children: [
|
|
7736
|
-
/* @__PURE__ */ e(
|
|
7736
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ e(cA, { onClick: z, children: /* @__PURE__ */ e(oA, { children: /* @__PURE__ */ c(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
7737
7737
|
/* @__PURE__ */ c(g, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
7738
7738
|
/* @__PURE__ */ e(j, { fill: !0, name: "add_box", size: 24, sx: { color: "action.active" } }),
|
|
7739
7739
|
/* @__PURE__ */ e(v, { bold: !0, sx: { color: "action.active" }, variant: "Body", children: t })
|
|
7740
7740
|
] }),
|
|
7741
7741
|
/* @__PURE__ */ e(j, { name: "chevron_right", size: 24, sx: { color: "primary.light" } })
|
|
7742
7742
|
] }) }) }) }),
|
|
7743
|
-
/* @__PURE__ */ e(
|
|
7743
|
+
/* @__PURE__ */ e(S, {}),
|
|
7744
7744
|
/* @__PURE__ */ e(
|
|
7745
7745
|
fA,
|
|
7746
7746
|
{
|
|
@@ -7785,7 +7785,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7785
7785
|
}
|
|
7786
7786
|
)
|
|
7787
7787
|
] });
|
|
7788
|
-
}, da = p(
|
|
7788
|
+
}, da = p(Sf), Gf = (A, t, n) => t.map((i) => {
|
|
7789
7789
|
const r = n.find((a) => a.scheduled_payment_guid === i.guid), o = A.find((a) => a.guid === r?.account_guid);
|
|
7790
7790
|
return {
|
|
7791
7791
|
activityStatus: MA.Upcoming,
|
|
@@ -7802,24 +7802,24 @@ const _o = ({ transaction: A }) => {
|
|
|
7802
7802
|
scheduledPaymentGuid: i.guid
|
|
7803
7803
|
};
|
|
7804
7804
|
}), Mf = () => {
|
|
7805
|
-
const { recurring: A } = H(), { scheduledPayments: t } = kA(), { transactions: n } = RA(), { selectedAccounts: i } = bA(), { onEvent: r } =
|
|
7806
|
-
r(
|
|
7805
|
+
const { recurring: A } = H(), { scheduledPayments: t } = kA(), { transactions: n } = RA(), { selectedAccounts: i } = bA(), { onEvent: r } = F(), o = Gf(i, t, n), a = (d) => {
|
|
7806
|
+
r(G.RECURRING_ACTIVITY_CLICK_EXPENSE, {
|
|
7807
7807
|
transaction_guid: d.transactionGuid
|
|
7808
7808
|
});
|
|
7809
7809
|
}, s = () => {
|
|
7810
|
-
r(
|
|
7810
|
+
r(G.RECURRING_ACTIVITY_CLICK_ADD_EXPENSE);
|
|
7811
7811
|
};
|
|
7812
7812
|
return /* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
7813
7813
|
o.map((d, l) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
7814
7814
|
/* @__PURE__ */ e(Pn, { activity: d, onActivityClick: a, showOrdinal: !0 }),
|
|
7815
|
-
/* @__PURE__ */ e(
|
|
7815
|
+
/* @__PURE__ */ e(S, { variant: l < o.length - 1 ? "inset" : "fullWidth" })
|
|
7816
7816
|
] }, d.scheduledPaymentGuid)),
|
|
7817
7817
|
/* @__PURE__ */ e(da, { label: A.add_expense, onAddActivity: s })
|
|
7818
7818
|
] });
|
|
7819
7819
|
}, Bf = p(Mf), si = (A) => {
|
|
7820
7820
|
let t = A.user_name || A.feed_name || "";
|
|
7821
7821
|
return A.account_number && (t = `${t} *${A.account_number}`), t;
|
|
7822
|
-
}, ci = (A) => A ? A.repeat_interval === "1" ?
|
|
7822
|
+
}, ci = (A) => A ? A.repeat_interval === "1" ? U.EveryWeek : A.repeat_interval === "2" ? U.EveryOtherWeek : A.repeat_day && !A.repeat_month && !A.repeat_interval ? U.EveryMonth : A.repeat_day && A.repeat_interval === "3" ? U.EveryQuarter : A.repeat_day && A.repeat_month ? U.EveryYear : U.Unknown : U.Unknown, Yf = (A, t, n, i, r, o) => {
|
|
7823
7823
|
const a = t.filter((f) => {
|
|
7824
7824
|
const h = r.find((E) => E.guid === f.cashflow_sequence_guid), I = o.find((E) => E.guid === f.transaction_guid);
|
|
7825
7825
|
return h?.end_date === null && I;
|
|
@@ -7845,7 +7845,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7845
7845
|
}), s = i.filter(
|
|
7846
7846
|
(f) => yt(wA(f.expected_date), {
|
|
7847
7847
|
start: XA(dA()),
|
|
7848
|
-
end:
|
|
7848
|
+
end: Se(dA(), 30)
|
|
7849
7849
|
})
|
|
7850
7850
|
).filter((f) => {
|
|
7851
7851
|
const h = r.find((E) => E.guid === f.cashflow_sequence_guid), I = t.find(
|
|
@@ -7894,17 +7894,17 @@ const _o = ({ transaction: A }) => {
|
|
|
7894
7894
|
recurrenceDay: t.recurrence_day,
|
|
7895
7895
|
scheduledPaymentGuid: t.guid,
|
|
7896
7896
|
transactionGuid: ""
|
|
7897
|
-
}, d = t.recurrence_day, l = dA(), f = XA(dA()), h =
|
|
7897
|
+
}, d = t.recurrence_day, l = dA(), f = XA(dA()), h = Se(dA(), 30);
|
|
7898
7898
|
let I = f;
|
|
7899
7899
|
switch (t.recurrence_type) {
|
|
7900
|
-
case
|
|
7900
|
+
case U.EveryWeek:
|
|
7901
7901
|
for (I = Ai(I, d); DA(I, h); )
|
|
7902
7902
|
i.push({
|
|
7903
7903
|
...s,
|
|
7904
7904
|
expectedDate: I
|
|
7905
7905
|
}), I = Ai(I, d);
|
|
7906
7906
|
break;
|
|
7907
|
-
case
|
|
7907
|
+
case U.EveryOtherWeek:
|
|
7908
7908
|
if (DA(a, f))
|
|
7909
7909
|
for (I = Ht(a, 2); DA(I, h); )
|
|
7910
7910
|
zt(I, f) && i.push({
|
|
@@ -7927,7 +7927,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7927
7927
|
}), I = Ht(I, 2);
|
|
7928
7928
|
}
|
|
7929
7929
|
break;
|
|
7930
|
-
case
|
|
7930
|
+
case U.EveryMonth:
|
|
7931
7931
|
i.push({
|
|
7932
7932
|
...s,
|
|
7933
7933
|
expectedDate: ei(I, d)
|
|
@@ -7936,7 +7936,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7936
7936
|
expectedDate: Ee(ei(I, d), 1)
|
|
7937
7937
|
});
|
|
7938
7938
|
break;
|
|
7939
|
-
case
|
|
7939
|
+
case U.EveryOtherMonth:
|
|
7940
7940
|
DA(a, f) ? DA(Ee(a, 2), h) && i.push({
|
|
7941
7941
|
...s,
|
|
7942
7942
|
expectedDate: Ee(a, 2)
|
|
@@ -7945,7 +7945,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7945
7945
|
expectedDate: a
|
|
7946
7946
|
});
|
|
7947
7947
|
break;
|
|
7948
|
-
case
|
|
7948
|
+
case U.EveryQuarter:
|
|
7949
7949
|
DA(a, f) ? DA(ut(a, 1), h) && i.push({
|
|
7950
7950
|
...s,
|
|
7951
7951
|
expectedDate: ut(a, 1)
|
|
@@ -7954,7 +7954,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7954
7954
|
expectedDate: a
|
|
7955
7955
|
});
|
|
7956
7956
|
break;
|
|
7957
|
-
case
|
|
7957
|
+
case U.EveryOtherQuarter:
|
|
7958
7958
|
DA(a, f) ? DA(ut(a, 2), h) && i.push({
|
|
7959
7959
|
...s,
|
|
7960
7960
|
expectedDate: ut(a, 2)
|
|
@@ -7963,7 +7963,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7963
7963
|
expectedDate: a
|
|
7964
7964
|
});
|
|
7965
7965
|
break;
|
|
7966
|
-
case
|
|
7966
|
+
case U.EveryYear:
|
|
7967
7967
|
DA(a, f) ? DA(Wt(a, 1), h) && i.push({
|
|
7968
7968
|
...s,
|
|
7969
7969
|
expectedDate: Wt(a, 1)
|
|
@@ -7975,7 +7975,7 @@ const _o = ({ transaction: A }) => {
|
|
|
7975
7975
|
}
|
|
7976
7976
|
return i.forEach((E) => {
|
|
7977
7977
|
const R = n.find(
|
|
7978
|
-
(C) => C.scheduled_payment_guid === E.scheduledPaymentGuid && C.date > CA(Oe(E.expectedDate, 3)) && C.date < CA(
|
|
7978
|
+
(C) => C.scheduled_payment_guid === E.scheduledPaymentGuid && C.date > CA(Oe(E.expectedDate, 3)) && C.date < CA(Se(E.expectedDate, 3))
|
|
7979
7979
|
);
|
|
7980
7980
|
R ? (E.transactionGuid = R.guid, E.occurredOnDate = wA(R.date), E.activityStatus = MA.Paid) : DA(E.expectedDate, Oe(l, 3)) && (E.activityStatus = MA.Missed);
|
|
7981
7981
|
}), i;
|
|
@@ -7997,28 +7997,28 @@ const _o = ({ transaction: A }) => {
|
|
|
7997
7997
|
sequenceGuid: o.guid
|
|
7998
7998
|
};
|
|
7999
7999
|
}), Wf = () => {
|
|
8000
|
-
const { recurring: A } = H(), { selectedAccounts: t } = bA(), { cashflowEvents: n, cashflowSequences: i, projectedEvents: r } = kA(), { transactions: o } = RA(), { onEvent: a } =
|
|
8000
|
+
const { recurring: A } = H(), { selectedAccounts: t } = bA(), { cashflowEvents: n, cashflowSequences: i, projectedEvents: r } = kA(), { transactions: o } = RA(), { onEvent: a } = F(), s = Uf(
|
|
8001
8001
|
t,
|
|
8002
8002
|
n,
|
|
8003
8003
|
r,
|
|
8004
8004
|
i.filter((f) => !f.end_date),
|
|
8005
8005
|
o
|
|
8006
8006
|
), d = (f) => {
|
|
8007
|
-
a(
|
|
8007
|
+
a(G.RECURRING_ACTIVITY_CLICK_INCOME, {
|
|
8008
8008
|
transaction_guid: f.transactionGuid
|
|
8009
8009
|
});
|
|
8010
8010
|
}, l = () => {
|
|
8011
|
-
a(
|
|
8011
|
+
a(G.RECURRING_ACTIVITY_CLICK_ADD_INCOME);
|
|
8012
8012
|
};
|
|
8013
8013
|
return /* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
8014
8014
|
s.map((f, h) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
8015
8015
|
/* @__PURE__ */ e(Pn, { activity: f, onActivityClick: d, showOrdinal: !0 }),
|
|
8016
|
-
/* @__PURE__ */ e(
|
|
8016
|
+
/* @__PURE__ */ e(S, { variant: h < s.length - 1 ? "inset" : "fullWidth" })
|
|
8017
8017
|
] }, f.sequenceGuid)),
|
|
8018
8018
|
/* @__PURE__ */ e(da, { isIncome: !0, label: A.add_income, onAddActivity: l })
|
|
8019
8019
|
] });
|
|
8020
8020
|
}, ji = p(Wf), kf = () => {
|
|
8021
|
-
const [A, t] = u.useState(0), { onEvent: n } =
|
|
8021
|
+
const [A, t] = u.useState(0), { onEvent: n } = F(), { recurring: i } = H();
|
|
8022
8022
|
return /* @__PURE__ */ c(Q, { bgcolor: "background.default", height: "100%", children: [
|
|
8023
8023
|
/* @__PURE__ */ c(
|
|
8024
8024
|
qe,
|
|
@@ -8042,16 +8042,16 @@ const _o = ({ transaction: A }) => {
|
|
|
8042
8042
|
] });
|
|
8043
8043
|
}, la = p(kf), Nt = (A, t) => A + t.amount, Un = (A) => A.activityType === jA.Income && yt(A.expectedDate, {
|
|
8044
8044
|
start: XA(dA()),
|
|
8045
|
-
end:
|
|
8045
|
+
end: GA(dA())
|
|
8046
8046
|
}), an = (A) => A.activityType === jA.Expense && yt(A.expectedDate, {
|
|
8047
8047
|
start: XA(dA()),
|
|
8048
|
-
end:
|
|
8048
|
+
end: GA(dA())
|
|
8049
8049
|
}), Wn = (A) => A.occurredOnDate && yt(A.occurredOnDate, {
|
|
8050
8050
|
start: XA(/* @__PURE__ */ new Date()),
|
|
8051
|
-
end:
|
|
8051
|
+
end: Se(dA(), 30)
|
|
8052
8052
|
}) || yt(A.expectedDate, {
|
|
8053
8053
|
start: XA(/* @__PURE__ */ new Date()),
|
|
8054
|
-
end:
|
|
8054
|
+
end: Se(dA(), 30)
|
|
8055
8055
|
}), Kf = ({ day: A, outsideCurrentMonth: t, ...n }) => {
|
|
8056
8056
|
const { recurring: i } = H(), { selectedAccountGuids: r } = bA(), { activities: o, setSelectedDay: a } = kA(), d = u.useMemo(
|
|
8057
8057
|
() => o.filter((R) => r.includes(R.accountGuid || "")),
|
|
@@ -8128,14 +8128,14 @@ const _o = ({ transaction: A }) => {
|
|
|
8128
8128
|
}
|
|
8129
8129
|
);
|
|
8130
8130
|
}, Jf = p(Zf), Or = 58, _f = () => {
|
|
8131
|
-
const A = yA(), { onEvent: t } =
|
|
8131
|
+
const A = yA(), { onEvent: t } = F(), { selectedDay: n } = kA(), [i, r] = u.useState(
|
|
8132
8132
|
tr(/* @__PURE__ */ new Date()) * qt + Or
|
|
8133
8133
|
), o = (s) => {
|
|
8134
|
-
r(tr(s) * qt + Or), t(
|
|
8134
|
+
r(tr(s) * qt + Or), t(G.RECURRING_ACTIVITY_CLICK_CALENDAR_RIGHT);
|
|
8135
8135
|
}, a = /* @__PURE__ */ e(
|
|
8136
8136
|
Ri,
|
|
8137
8137
|
{
|
|
8138
|
-
maxDate:
|
|
8138
|
+
maxDate: GA(Ee(/* @__PURE__ */ new Date(), 1)),
|
|
8139
8139
|
minDate: XA(/* @__PURE__ */ new Date()),
|
|
8140
8140
|
onMonthChange: o,
|
|
8141
8141
|
showDaysOutsideCurrentMonth: !0,
|
|
@@ -8216,9 +8216,9 @@ const _o = ({ transaction: A }) => {
|
|
|
8216
8216
|
},
|
|
8217
8217
|
d.expectedDate.toString() + l
|
|
8218
8218
|
),
|
|
8219
|
-
/* @__PURE__ */ e(
|
|
8219
|
+
/* @__PURE__ */ e(S, { sx: { mx: 24 } })
|
|
8220
8220
|
] })) : s.map((d) => /* @__PURE__ */ c(Y, { children: [
|
|
8221
|
-
/* @__PURE__ */ e(
|
|
8221
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(
|
|
8222
8222
|
aA,
|
|
8223
8223
|
{
|
|
8224
8224
|
subheader: /* @__PURE__ */ e(Xe, { sx: { bgcolor: "background.paper", ml: 8, pb: 4, pt: 12 }, children: /* @__PURE__ */ e(v, { bold: !0, variant: "XSmall", children: nA(
|
|
@@ -8236,11 +8236,11 @@ const _o = ({ transaction: A }) => {
|
|
|
8236
8236
|
},
|
|
8237
8237
|
l.expectedDate.toString() + f
|
|
8238
8238
|
),
|
|
8239
|
-
f !== d.activities.length - 1 && /* @__PURE__ */ e(
|
|
8239
|
+
f !== d.activities.length - 1 && /* @__PURE__ */ e(S, { sx: { ml: 64, mr: 24 } })
|
|
8240
8240
|
] }))
|
|
8241
8241
|
}
|
|
8242
8242
|
) }, d.id),
|
|
8243
|
-
/* @__PURE__ */ e(
|
|
8243
|
+
/* @__PURE__ */ e(S, { sx: { mx: 24 } })
|
|
8244
8244
|
] })) })
|
|
8245
8245
|
] });
|
|
8246
8246
|
}, Mt = p(Ah), eh = ({
|
|
@@ -8285,14 +8285,14 @@ const _o = ({ transaction: A }) => {
|
|
|
8285
8285
|
selectedDayActivities: s,
|
|
8286
8286
|
setSelectedDay: d,
|
|
8287
8287
|
upcomingActivities: l
|
|
8288
|
-
} = kA(), [f, h] = u.useState(0), { onEvent: I } =
|
|
8289
|
-
h(
|
|
8288
|
+
} = kA(), [f, h] = u.useState(0), { onEvent: I } = F(), E = i.filter(Wn), R = o.filter(Wn), C = r.filter(Wn), P = E.filter(an).reduce(Nt, 0), m = R.filter(an).reduce(Nt, 0), L = C.filter(an).reduce(Nt, 0), z = E.filter(an).length, w = E.filter(Un).reduce(Nt, 0), D = R.filter(Un).reduce(Nt, 0), X = E.filter(Un).length, x = (AA, k) => {
|
|
8289
|
+
h(k);
|
|
8290
8290
|
}, N = (AA) => {
|
|
8291
|
-
I(
|
|
8291
|
+
I(G.RECURRING_ACTIVITY_CLICK_UPCOMING, {
|
|
8292
8292
|
transaction_guid: AA.transactionGuid
|
|
8293
8293
|
});
|
|
8294
8294
|
}, M = (AA) => {
|
|
8295
|
-
I(
|
|
8295
|
+
I(G.RECURRING_ACTIVITY_CLICK_PAID, {
|
|
8296
8296
|
transaction_guid: AA.transactionGuid
|
|
8297
8297
|
});
|
|
8298
8298
|
};
|
|
@@ -8367,7 +8367,7 @@ const _o = ({ transaction: A }) => {
|
|
|
8367
8367
|
] }) })
|
|
8368
8368
|
] });
|
|
8369
8369
|
}, nh = p(th), ih = ({ onBackClick: A, sx: t = {} }) => {
|
|
8370
|
-
const { accounts: n } = gA(), { recurring: i } = H(), { isInitialized: r, selectedAccountGuids: o, setSelectedAccounts: a } = bA(), { setFilter: s } = RA(), { isLoading: d } = kA(), { onEvent: l } =
|
|
8370
|
+
const { accounts: n } = gA(), { recurring: i } = H(), { isInitialized: r, selectedAccountGuids: o, setSelectedAccounts: a } = bA(), { setFilter: s } = RA(), { isLoading: d } = kA(), { onEvent: l } = F();
|
|
8371
8371
|
u.useEffect(() => {
|
|
8372
8372
|
a(n);
|
|
8373
8373
|
}, [n]), u.useEffect(() => {
|
|
@@ -8386,11 +8386,11 @@ const _o = ({ transaction: A }) => {
|
|
|
8386
8386
|
label: i.settings,
|
|
8387
8387
|
iconName: "settings",
|
|
8388
8388
|
onClick: () => {
|
|
8389
|
-
h(!0), l(
|
|
8389
|
+
h(!0), l(G.RECURRING_ACTIVITY_CLICK_SETTINGS);
|
|
8390
8390
|
}
|
|
8391
8391
|
}
|
|
8392
8392
|
],
|
|
8393
|
-
onAccountsFilterClick: () => l(
|
|
8393
|
+
onAccountsFilterClick: () => l(G.RECURRING_ACTIVITY_CLICK_FILTER),
|
|
8394
8394
|
onBackClick: A,
|
|
8395
8395
|
sx: t,
|
|
8396
8396
|
title: i.title,
|
|
@@ -8423,7 +8423,7 @@ const _o = ({ transaction: A }) => {
|
|
|
8423
8423
|
), { availableWidth: s } = gt(), d = s < 750;
|
|
8424
8424
|
return /* @__PURE__ */ c(g, { flexDirection: d ? "column" : "row", width: "100%", children: [
|
|
8425
8425
|
/* @__PURE__ */ e(fa, {}),
|
|
8426
|
-
!d && /* @__PURE__ */ e(
|
|
8426
|
+
!d && /* @__PURE__ */ e(S, { flexItem: !0, orientation: "vertical", sx: { my: 16, ml: 16 } }),
|
|
8427
8427
|
/* @__PURE__ */ e(
|
|
8428
8428
|
Mt,
|
|
8429
8429
|
{
|
|
@@ -8461,7 +8461,7 @@ const _o = ({ transaction: A }) => {
|
|
|
8461
8461
|
class sh {
|
|
8462
8462
|
globalStore;
|
|
8463
8463
|
api = new dr("/", "");
|
|
8464
|
-
cashflowApi = new
|
|
8464
|
+
cashflowApi = new Gr("/", "");
|
|
8465
8465
|
cashflowSequences = [];
|
|
8466
8466
|
cashflowEvents = [];
|
|
8467
8467
|
projectedEvents = [];
|
|
@@ -8473,7 +8473,7 @@ class sh {
|
|
|
8473
8473
|
this.globalStore = t, LA(this);
|
|
8474
8474
|
}
|
|
8475
8475
|
initialize = async (t, n) => {
|
|
8476
|
-
this.api = new dr(t, n), this.cashflowApi = new
|
|
8476
|
+
this.api = new dr(t, n), this.cashflowApi = new Gr(t, n), this.loadActivity();
|
|
8477
8477
|
};
|
|
8478
8478
|
get activities() {
|
|
8479
8479
|
return this.isLoading ? [] : Yf(
|
|
@@ -8514,7 +8514,7 @@ class sh {
|
|
|
8514
8514
|
addCashflowEvent = async (t) => {
|
|
8515
8515
|
try {
|
|
8516
8516
|
const n = await this.cashflowApi.addCashflowEvent(t);
|
|
8517
|
-
|
|
8517
|
+
W(() => {
|
|
8518
8518
|
this.cashflowEvents = [...this.cashflowEvents, n];
|
|
8519
8519
|
});
|
|
8520
8520
|
} catch (n) {
|
|
@@ -8535,7 +8535,7 @@ class sh {
|
|
|
8535
8535
|
await this.globalStore.transactionStore.updateTransaction({
|
|
8536
8536
|
...n,
|
|
8537
8537
|
scheduled_payment_guid: i.guid
|
|
8538
|
-
}),
|
|
8538
|
+
}), W(() => {
|
|
8539
8539
|
this.scheduledPayments = [...this.scheduledPayments, i];
|
|
8540
8540
|
});
|
|
8541
8541
|
} catch (i) {
|
|
@@ -8551,7 +8551,7 @@ class sh {
|
|
|
8551
8551
|
};
|
|
8552
8552
|
deleteScheduledPayment = async (t) => {
|
|
8553
8553
|
try {
|
|
8554
|
-
await this.api.deleteScheduledPayment(t),
|
|
8554
|
+
await this.api.deleteScheduledPayment(t), W(() => {
|
|
8555
8555
|
const n = this.scheduledPayments.findIndex((i) => i.guid === t);
|
|
8556
8556
|
n >= 0 && this.scheduledPayments.splice(n, 1);
|
|
8557
8557
|
});
|
|
@@ -8561,7 +8561,7 @@ class sh {
|
|
|
8561
8561
|
};
|
|
8562
8562
|
loadActivity = () => {
|
|
8563
8563
|
this.isLoading = !0, Promise.all([this.loadExpenseActivity(), this.loadIncomeActivity()]).finally(
|
|
8564
|
-
() =>
|
|
8564
|
+
() => W(() => {
|
|
8565
8565
|
this.isLoading = !1;
|
|
8566
8566
|
})
|
|
8567
8567
|
);
|
|
@@ -8574,7 +8574,7 @@ class sh {
|
|
|
8574
8574
|
};
|
|
8575
8575
|
loadCashflowSequences = async () => {
|
|
8576
8576
|
const t = await this.cashflowApi.getCashflowSequences();
|
|
8577
|
-
|
|
8577
|
+
W(() => {
|
|
8578
8578
|
this.cashflowSequences = t.filter(
|
|
8579
8579
|
(n) => n.transaction_type === de.CREDIT
|
|
8580
8580
|
);
|
|
@@ -8584,9 +8584,9 @@ class sh {
|
|
|
8584
8584
|
try {
|
|
8585
8585
|
const t = await this.cashflowApi.getProjectedCashflowEvents(
|
|
8586
8586
|
XA(dA()),
|
|
8587
|
-
|
|
8587
|
+
Se(dA(), 30)
|
|
8588
8588
|
);
|
|
8589
|
-
|
|
8589
|
+
W(() => {
|
|
8590
8590
|
this.projectedEvents = t.filter(
|
|
8591
8591
|
(n) => n.transaction_type === de.CREDIT
|
|
8592
8592
|
);
|
|
@@ -8599,9 +8599,9 @@ class sh {
|
|
|
8599
8599
|
try {
|
|
8600
8600
|
const t = await this.cashflowApi.getCashflowEventsByDateRange(
|
|
8601
8601
|
Oe(dA(), 90),
|
|
8602
|
-
|
|
8602
|
+
GA(dA())
|
|
8603
8603
|
);
|
|
8604
|
-
|
|
8604
|
+
W(() => {
|
|
8605
8605
|
this.cashflowEvents = t.filter(
|
|
8606
8606
|
(n) => n.transaction_type === de.CREDIT
|
|
8607
8607
|
);
|
|
@@ -8613,7 +8613,7 @@ class sh {
|
|
|
8613
8613
|
loadScheduledPayments = async () => {
|
|
8614
8614
|
try {
|
|
8615
8615
|
const t = await this.api.getScheduledPayments();
|
|
8616
|
-
|
|
8616
|
+
W(() => {
|
|
8617
8617
|
this.scheduledPayments = t;
|
|
8618
8618
|
});
|
|
8619
8619
|
} catch (t) {
|
|
@@ -8647,7 +8647,7 @@ class sh {
|
|
|
8647
8647
|
try {
|
|
8648
8648
|
const n = await this.api.updateScheduledPayment(t), i = this.scheduledPayments.findIndex((r) => r.guid === t.guid);
|
|
8649
8649
|
if (i < 0) return;
|
|
8650
|
-
|
|
8650
|
+
W(() => {
|
|
8651
8651
|
this.scheduledPayments = [
|
|
8652
8652
|
...this.scheduledPayments.slice(0, i),
|
|
8653
8653
|
n,
|
|
@@ -8834,9 +8834,9 @@ const ch = {
|
|
|
8834
8834
|
}
|
|
8835
8835
|
)
|
|
8836
8836
|
] });
|
|
8837
|
-
return /* @__PURE__ */ e(
|
|
8837
|
+
return /* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper" }, ...n, children: t ? /* @__PURE__ */ e(cA, { alignItems: "flex-start", onClick: t, sx: { px: 24 }, children: f }) : f });
|
|
8838
8838
|
}, qn = p(Eh), vh = ({ remaining: A }) => /* @__PURE__ */ e(
|
|
8839
|
-
|
|
8839
|
+
K,
|
|
8840
8840
|
{
|
|
8841
8841
|
sx: {
|
|
8842
8842
|
alignItems: "center",
|
|
@@ -8853,7 +8853,7 @@ const ch = {
|
|
|
8853
8853
|
);
|
|
8854
8854
|
var _t = /* @__PURE__ */ ((A) => (A.EXPENSE = "expense", A.INCOME = "income", A))(_t || {});
|
|
8855
8855
|
const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
8856
|
-
/* @__PURE__ */ c(
|
|
8856
|
+
/* @__PURE__ */ c(K, { sx: { display: "flex", alignItems: "center", gap: 16, px: 24, py: 12 }, children: [
|
|
8857
8857
|
/* @__PURE__ */ c(g, { alignItems: "center", height: 32, width: 32, children: [
|
|
8858
8858
|
/* @__PURE__ */ e(v, { bold: !0, sx: { fontSize: 11 }, children: nA(A.expectedDate, eA.MONTH) }),
|
|
8859
8859
|
/* @__PURE__ */ e(v, { bold: !0, sx: { fontSize: 11 }, children: nA(A.expectedDate, eA.DAY) })
|
|
@@ -8868,7 +8868,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
8868
8868
|
}
|
|
8869
8869
|
)
|
|
8870
8870
|
] }),
|
|
8871
|
-
/* @__PURE__ */ e(
|
|
8871
|
+
/* @__PURE__ */ e(S, {})
|
|
8872
8872
|
] }), qr = p(Rh), Ph = ({ total: A, type: t }) => {
|
|
8873
8873
|
const { cashflow: n } = H();
|
|
8874
8874
|
return /* @__PURE__ */ c(Y, { children: [
|
|
@@ -8893,7 +8893,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
8893
8893
|
]
|
|
8894
8894
|
}
|
|
8895
8895
|
),
|
|
8896
|
-
/* @__PURE__ */ e(
|
|
8896
|
+
/* @__PURE__ */ e(S, {})
|
|
8897
8897
|
] });
|
|
8898
8898
|
}, jr = p(Ph), Nr = (A, t) => (n) => n.accountGuid === A.guid && (Pi(n.expectedDate) || zt(n.expectedDate, t.start)) && DA(n.expectedDate, t.end), Ch = () => {
|
|
8899
8899
|
const { availableWidth: A } = gt(), { cashflow: t } = H(), { upcomingExpenses: n, upcomingIncome: i } = kA(), { dateRange: r, selectedCashAccounts: o } = xt();
|
|
@@ -8938,8 +8938,8 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
8938
8938
|
}
|
|
8939
8939
|
}
|
|
8940
8940
|
),
|
|
8941
|
-
/* @__PURE__ */ e(
|
|
8942
|
-
s.length > 0 && /* @__PURE__ */ e(
|
|
8941
|
+
/* @__PURE__ */ e(S, {}),
|
|
8942
|
+
s.length > 0 && /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(
|
|
8943
8943
|
aA,
|
|
8944
8944
|
{
|
|
8945
8945
|
subheader: /* @__PURE__ */ e(jr, { total: l, type: _t.INCOME }),
|
|
@@ -8947,7 +8947,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
8947
8947
|
children: s.map((h) => /* @__PURE__ */ e(qr, { activity: h }, h.sequenceGuid))
|
|
8948
8948
|
}
|
|
8949
8949
|
) }),
|
|
8950
|
-
d.length > 0 && /* @__PURE__ */ e(
|
|
8950
|
+
d.length > 0 && /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(
|
|
8951
8951
|
aA,
|
|
8952
8952
|
{
|
|
8953
8953
|
subheader: /* @__PURE__ */ e(jr, { total: f, type: _t.EXPENSE }),
|
|
@@ -9109,7 +9109,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9109
9109
|
borderRadius: 1,
|
|
9110
9110
|
marginBottom: 24
|
|
9111
9111
|
},
|
|
9112
|
-
children: /* @__PURE__ */ e(
|
|
9112
|
+
children: /* @__PURE__ */ e(K, { sx: { minHeight: "auto" }, children: /* @__PURE__ */ c(g, { width: "100%", children: [
|
|
9113
9113
|
/* @__PURE__ */ c(
|
|
9114
9114
|
g,
|
|
9115
9115
|
{
|
|
@@ -9134,7 +9134,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9134
9134
|
]
|
|
9135
9135
|
}
|
|
9136
9136
|
),
|
|
9137
|
-
/* @__PURE__ */ e(
|
|
9137
|
+
/* @__PURE__ */ e(S, { sx: { width: "100%" } }),
|
|
9138
9138
|
/* @__PURE__ */ c(
|
|
9139
9139
|
g,
|
|
9140
9140
|
{
|
|
@@ -9149,7 +9149,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9149
9149
|
]
|
|
9150
9150
|
}
|
|
9151
9151
|
),
|
|
9152
|
-
/* @__PURE__ */ e(
|
|
9152
|
+
/* @__PURE__ */ e(S, { sx: { width: "100%" } }),
|
|
9153
9153
|
/* @__PURE__ */ c(
|
|
9154
9154
|
g,
|
|
9155
9155
|
{
|
|
@@ -9164,7 +9164,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9164
9164
|
]
|
|
9165
9165
|
}
|
|
9166
9166
|
),
|
|
9167
|
-
/* @__PURE__ */ e(
|
|
9167
|
+
/* @__PURE__ */ e(S, { sx: { width: "100%" } }),
|
|
9168
9168
|
/* @__PURE__ */ e(
|
|
9169
9169
|
g,
|
|
9170
9170
|
{
|
|
@@ -9188,7 +9188,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9188
9188
|
}
|
|
9189
9189
|
);
|
|
9190
9190
|
}, ph = p(bh), Hh = () => {
|
|
9191
|
-
const { cashflow: A } = H(), { isDesktop: t } = QA(), { onEvent: n } =
|
|
9191
|
+
const { cashflow: A } = H(), { isDesktop: t } = QA(), { onEvent: n } = F(), [i, r] = u.useState(0), o = (a, s) => {
|
|
9192
9192
|
r(s);
|
|
9193
9193
|
};
|
|
9194
9194
|
return u.useEffect(() => {
|
|
@@ -9252,12 +9252,12 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9252
9252
|
t && /* @__PURE__ */ e(xA, { amount: A, component: "h2", symbol: r, variant: "Small" })
|
|
9253
9253
|
]
|
|
9254
9254
|
}
|
|
9255
|
-
),
|
|
9255
|
+
), Sr = (A, t) => (n) => n.accountGuid && A.includes(n.accountGuid) && (Pi(n.expectedDate) || zt(n.expectedDate, t.start)) && DA(n.expectedDate, t.end), yh = () => {
|
|
9256
9256
|
const [A, t] = u.useState(!1), { availableWidth: n } = gt(), { cashflow: i } = H(), { upcomingExpenses: r, upcomingIncome: o } = kA(), { selectedAccountGuids: a } = bA(), { dateRange: s, selectedCashAccounts: d } = xt(), { userProfile: l } = Ct(), f = u.useMemo(
|
|
9257
|
-
() => r.filter(
|
|
9257
|
+
() => r.filter(Sr(a, s)),
|
|
9258
9258
|
[s, a, r]
|
|
9259
9259
|
), h = u.useMemo(
|
|
9260
|
-
() => o.filter(
|
|
9260
|
+
() => o.filter(Sr(a, s)),
|
|
9261
9261
|
[s, a, o]
|
|
9262
9262
|
), I = u.useMemo(
|
|
9263
9263
|
() => d.reduce((L, z) => L + (z?.balance || 0), 0),
|
|
@@ -9273,7 +9273,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9273
9273
|
label: i.cash_and_bank
|
|
9274
9274
|
}
|
|
9275
9275
|
),
|
|
9276
|
-
/* @__PURE__ */ e(
|
|
9276
|
+
/* @__PURE__ */ e(S, {}),
|
|
9277
9277
|
P ? /* @__PURE__ */ e(
|
|
9278
9278
|
et,
|
|
9279
9279
|
{
|
|
@@ -9291,7 +9291,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9291
9291
|
children: i.add_income
|
|
9292
9292
|
}
|
|
9293
9293
|
),
|
|
9294
|
-
/* @__PURE__ */ e(
|
|
9294
|
+
/* @__PURE__ */ e(S, {}),
|
|
9295
9295
|
/* @__PURE__ */ e(
|
|
9296
9296
|
et,
|
|
9297
9297
|
{
|
|
@@ -9301,7 +9301,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9301
9301
|
symbol: "-"
|
|
9302
9302
|
}
|
|
9303
9303
|
),
|
|
9304
|
-
/* @__PURE__ */ e(
|
|
9304
|
+
/* @__PURE__ */ e(S, {}),
|
|
9305
9305
|
/* @__PURE__ */ e(
|
|
9306
9306
|
et,
|
|
9307
9307
|
{
|
|
@@ -9371,7 +9371,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9371
9371
|
}, zh = p(yh), wh = ({ handleNextStep: A }) => {
|
|
9372
9372
|
const { completeOnboarding: t } = yi(), { cashflow: n } = H(), i = yA();
|
|
9373
9373
|
return /* @__PURE__ */ c(g, { children: [
|
|
9374
|
-
/* @__PURE__ */ e(
|
|
9374
|
+
/* @__PURE__ */ e(Ge, { pb: 12, children: n.welcome_title }),
|
|
9375
9375
|
/* @__PURE__ */ e(
|
|
9376
9376
|
$t,
|
|
9377
9377
|
{
|
|
@@ -9442,7 +9442,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9442
9442
|
const { cashflow: A } = H();
|
|
9443
9443
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
9444
9444
|
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e("img", { alt: "Loading", src: Dh }) }),
|
|
9445
|
-
/* @__PURE__ */ e(
|
|
9445
|
+
/* @__PURE__ */ e(Ge, { pb: 12, children: A.loading_title }),
|
|
9446
9446
|
/* @__PURE__ */ e(J, { children: A.loading_description })
|
|
9447
9447
|
] });
|
|
9448
9448
|
}, Xh = p(xh), Qh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAakAAAHiCAYAAABSszP0AACU5ElEQVR4Ae2dCZwb5Xn/n/fVsdpb62Ot9YFlY/Caywsh2EkIXnLZCaE2aRPT0NQmbQNJkwJtQtq0KaZHkhZSoG0SSJNgJ4HE7T9gl5DgXKwDaWwgeB0grLksn7vra7W3znn/7zPSeLW7OmakGWlG+3z5DNJKo/HomPf3Psf7PAwIwmIODgi/dt8HoN73uMCnJPHP4kgChLX7Lg9ERuMQCfohwhiLAEEQVQMDgjAIik69B3xcAT8KjRQMv0iLD4OknwFT72uPVQL5ww4zBhFFiAjjEOEgwknFHXHJxzWBk2oWXtLCwkAQhG0hkSKmgSLU6IJApgC5mBIQAnyVFB6rQEETUsRQzITi6tOELOCHPrLMCKKykEjNUIQQvpOjUnDiENCEiIMSlL8IH4oRECpojakixkQYBUy6KfsUDuHWBtYHBEFYDonUDAAF6fQwBBNCuucUCKAYVaNFVG44gz4ULxkVCwkF+sjyIgjzIZGqMlCQ+sIQkK6rAEAyCAoLkCCVDxIugjAXEimHoyYxAASBJwKKwttJkOwHChdjSogzd8iVhL4WStYgCN2QSDkMFKVaDu2q244p7RQ/ch5q5iGIEJPWlgcgRKJFELkhkbI5aoJDGNoT0lqiWFJ1gpaW/KL7XC5Xz+xGCJF7kCAmIJGyIb0DIgiQkBtLb8TMQlpZ3NXDXRCiLEJipkMiZQMmWUvkwiMy0FyDaGXNaWI9QBAzDBKpCoHC1D8EHUJJtkv3ToCEiSgErtkCJkJccfXM9UMPuQWJmQCDp8QLUE0IqJfvCre4vP+qvO2Wtzvh7awLKkymMJEbjygVxkUPCRZR7aBIXQvVCoNW+f+lUqRWyfsBef9ZcMGd8BYWgjJBwkSUA02wWltYNxBEFVHdIjUVBu+QgvVhee+r0rK6EywEkx8Yh9UglCC58ohyoZZxEqJHAVd3W0v5JmMEYRUzS6Qm+EP5zt8iraqrzbSqtKw8xvhqEiai0mDSBedKj0dx76G1WIRTmakihSyV24eBw03wtuJdJOTOI5yBCLmkdUXuQMJpzGSRSsWsBNwuhWqjUaFCq8nFE+2K4B1kNRFOQUtp94Kri6wrwgnMbJFCNKFyw9pCrj9tPVMSkh1kNRHOh6wrwv6QSCECLpafxAfh7ezSrE+rlcUTqynWRFQjauwKeBfVESTsCImUhoA/lZ/GPilUW7SH0KXHpdUkGKMqEMSMgIPoJlcgYSdIpDQ41EuhuhvicFFvBxZxTXaSS4+YqaBYURo7YQfcQKRQYHQugxcubIQH5R/7qWIUMZNRgMm4q9LRO5AIeVyuPVQ3kKgUJFKSdzcoSztq4aJEko1+8yS8Rz60HwiCAPQmxJNKsG8gqcatKMmCKDczVqT8bvBc5VPOXV4L59dgrT9JjVvEWj3s5EOnYfENs+EQEAShgn3MkqBskGLVSWJFlJMZGZNCy+lNPrjMzcEz9blfDbMlePvwuWIXEASRFS0jkMSKsJoZZUlpbj3NcsrGeT448dNBuAQIgsgJWVZEuZgRInVFbXLemga2Kp84abR6xOjpOJsNBEHA4JjiOzHMmkcjOZdgLAZIrty5Lxn+6YvKTpjBuBPu0L03Ujak2VS1SKE4XVHHLvK7WKuR1yUFcCCIGQoK089ehlW9gyJ4ZgSCqt2kj1thBpPkcfj4tliIMehSkp477yfBMoWqFKlFHqhf36SsNipOBDHT6T4kFv/0d7BhPC78QBQDtubZzHh88ye+E9/y1Y94LG0JNBNgcJvohyrBIyX3Yul8OHduYbdePn7UD/W3LYOyrLivdUPY44JISx30LfZD6OKAQlmFREX4Ybey+vnDYi0QpiGtqq1f/WPvjUAUTdVk961vguUrvMrF2TL2jPLvvez9B1aKf4MyMBQFX+gMBAbGmP/wIFs+Fgd/sw/6rlqi7J7fBFSahigLT78qlv/iZeV6IMyHwb1f+2PvbUAUhePdfUaSIvQwmmDeOheMQploqoHIJW0QSvn9RTeK1r6jrP3Rl/imtkboedd5ym7cBwjCQn79mlgHhDUIuPXm78R33v8RTxcQhnFsggDGnW6apVz1nkb2DrMECjksLZlzvNAHFQIFac25ovvP36Lc53GJ6Hee5ze9dhICQBAW8bPfiZUUg7IWJsQdQBSFI0XqQ03KxTc0K++d64YFYDI9Y7Dw8np7VJu4doXouu5CZduu1/jGn77KVwFBWMALR8VqIKxFQOetD4ogEIZxlEiha++2ucq6831wkRmxp2wcjMLCa/wiBDYB41IfuUx54I0z0PHDHr4GCMJEBiPgG44IstTLQMwV7wTCMI4QKayz90d+uAxde/UMWsAiXh5nrRfVwauX1dsrYQFdgH/YoWw7Ngjtuw9idWqCMIfeM+TmKxuCLKlisL1IofX0Zy3Ke4NeZTlYzFND4uIPzRa2LO+CQnXtCmV7zwm26vgQ0MBCmMJ4TKFmnoStsa1IofVkRWJELrCwbLCGHbdz9XN0/b3lHGXXEwf4eiAIE2htog68hL2xpUi9vV5ZeLNfWW9FYkQ2TsRZ/f5ROO+OBWI32BxMV6/zQviFPr4YCKJEFsziYbeL0RKHMqBw3gWEYWwlUpr1tKYe3m5VYkQ2dpyB1dfPhqftFovKBS70ffYIdAJBmMCCZkFdd60nTOukisM2IqXFnsplPWk8fJKtXtUAv/v8AnvGorKhVaIga4owg4sWcupEbTGMwQ4giqLiIpWZuVeO2JPGqMI8KFAX1sGhry+xv5tvKpcvVHa/ehragSBK5E1BFlo0m/pBWUgIq6IDURQVFakVPmgpV+ZeJphq/kAfvHd1A7ziRIFCgrOg76TaRoEgSucDb+K7aj2URGEFCQWuo7YdxVMxkcKCsL/fpKwrt/X0g9Pssl8NwYVfCYrvfnmx2AMORavnh7X+gCBKpNkHkQ+vgm0kVKYSFgq7+r9u9JKVWgIu+OiWslox6N770xbl6sVesQzKAArT6xE25/EBdln3KJx7jR/2PbxMPL7MByPgcF47zRZ6XWxkXoMYBIIokaZaFnnbeWzviSFgo1HmlxYATYCKhUGXUDzvvf9GFwlUiWCrjoehXAgFzvewJQ1lsJ4Gk1B/OgEtCjBXe41444OzxP4/movVxqsHLJPU5IPwVUGFAt+EqWB33mcOQvvJIZh3ZtzeZZOicQiPxiqfmctk7Ekklf01ULP13hvJIjULNwj4CZSBD82GVbOB4Y+9LBXGl3rE4AW1EL6sQdCPhSAM0lzHI+++EBxjBTDOnwg0M8e674ncuOEqthUsRAjh6wsnr5c/I+wAXDVdgAmCsA9CUdadGIz75za5uxijxcnVhKWJEydGRKA/rNwsBSoIhCXUcCUKBEFAUuGrcbwZGKCiudWEZSLVNyhWKwllswAqhmoVA+MQqPPycSAIQgXHmygom08NCVpDWCVYIlLHB+Pr0PwWgrKDrGQsBv7FLQq5UAkiAxSqeFK5vneA+jdVA24wETSzI5DcAAoLAmEp2K7DwyGirZciCGIqvLN/IOFv9bueoDiVczHNkkKBQjOb4k/l4bVTfPEiP1BhUILIgwKsg+JUzsYUkUL/b5QpN1P8qXy80A+dF85TDgBBEHnR4lSYyAWE4yhZpHoHRCf6fyn+VD5++QZfObsOQlo1dIIg8oNClYwrN2NCFxCOoiSRwgQJaVB3AlFW0IrCnlJAEIQhMKGLEiqcBYMiyFigGwSirDz2MuuUQWDx/nYSKYIoFhdX9rQ2e54AwvYYtqQwAHlikBIkKsEzR/nyw2G2kgSKIEoDF/72DiQ244QbCFtjSKS0DD5FAAUgy8xrJyGw7xh0Xnehsg0IgjABFqTMP/uj292HmTFKXLmeMvjKD7aJ/79DsO7aFcp2SpYgCHORg2C4BvjWlhaqXG5HdIlU74AIMkYZfJXgJ6+w1a+eZqvQgiKBIghrQKHiHv791gZWli4NhH4KitTRAdHhAmUDEGUFradnj0Cnvw763rVM2U2VJQjCWhiDCHfzrSRU9iKvSOGaAkzZBKIsYCv47mN8+WunoQP/vnyhsvuStupq1EgQdicJfMfCFkYddW0Cg78Wm7M98bdrlMAlrXwVEJZzahwC4TEIjCfA39YEPctmKQdInAiicpBQ2Qc3KBCc+uAHL4KVQT/3D8WAsBgvF9E5taxv9SJlL8WcCMIeYIhDepJ81O238kxz92GZI6oiQRAEgShdbS2eLiAqxiSRIoEiCIKYCglVJTkrUiRQBEEQuSChqhSqSJFAEQRBFIKEqhIwEiiCIAi9kFCVG04CRRAEoRfeiQUOgCgbprWPJwiCmAlgejoJVfkgkSIIgjAICtWpIdEOhOWQSBEEQRRBQlE2YHcIICyFRIogCKIIsCuEklA2Uz8qayGRIgiCKBIUKmwES0JlHSRSBEEQJYCNYEmorINEiiAIokRQqGJqY1hBjWFNxg0EQRRF/7ETvm/f9Z2Vh3oOBc6cHPBHxqM+X21NpLbeF3lz5+U9b7/27YcufPMFVNl+hqAICJwIJ7H/3g4gTIP1DiS3AEEQunnp2d/5v/b5+9f8du+LBdfKXLLqou6P/+PNu0msZg4uruxpbfY8AYQpkEgRhAG++vf3dzzyXzvWxiIxQ26dd2zo7Nry4N/vBmKGQOWTzILcfQShk7+/8c7Orh2710AR/GJHVyfeklDNFHjnqSHRN6eJ9QBREpQ4QRA6uP/vH1hZrEBpoFDddeuXVwExI6DFvuZAIkUQBcAY1GPf+VEnmMBj2x5f98vHn6aBawagLvaNK9dTanppkEgRRAEwSWI4PGzaQCOtsrVAzAi01HQgioZEiiDygFaUniw+Ixx941iQrKmZg5qaPhhfB0RRkEgRRB6eeuypxWABv/h/v1gOxIwhqfDVfYNiNRCGIZEiiDy8/vJBSyyeI68fIUtqhiEUZR0lUhiHRIog8nDsjWOWDCp9R07QYDUDoUQK45BIEQRBlAlMpIhAcgMQuiGRIgiCKCssSIkU+iGRIog8zJrbYknNveZZTVTLbwaDiRTUfl4fJFIEkYdFy8/pBwtYsHRBHxAzGqxIQfGpwlDtPmLGgq02nvvZs/N+t68n0PN8T1BLZtAW7jb6Gy2zdq7d/P79QMxosCJFOj61FYickEgRM47Htz2+uOuHT7Xve7q7I181czOrTGSycOmC0FXXXEmWFAFafIpae+SGRIqYMaA4PfTv3+/Eig9QQf72/r/ZCQSRBuNTvQOip62FhYCYBokUUfWgW+/uW/9tzd6fPVPxFf/YV4oaIBJTYaBsEELczxiLADEJEimiqsEaef/yybs2WuW6MwJ26aV+UkQ2cP1U/5Aan/o+EJOg7D6iakH33j/86T9tsoNAoQX1n0/8O7n5iJwIhbVTfb/pkCVFVCUP3fvw8gfu/EbFWyRgksT1n9q4+/c2vz8EBFEIoXQOyPhUSwsjl3AaEimi6sD2Gg/+y7crWnoGXXvvuf49+0mcCCNQWvp0yN1HVBUoULd/6G825UstLwfHD/cFSKCI4mBBcvtNQCJFVBVmd9EtllO9pwJbbvyHNUAQxZBy+1E1CiCRIqqI+//+gZVmd9EthV/s6OqkDrxEMWS4/WY8JFJE1fDYd37UCTZDCudaIIiiILcfQiJFVAVoRdnBzTcVrG6BqfBAEMVAbj8SKaI6kG4127j5poJ1AoEgioDcfiRSRBWAGX2VrseXDyxki6WZgCCKggVPDAjbTsKshkSKcDxPPfaUrd1pmA6PLUGAIIpEYco6IcSMnOiQSBGO59mu52zvTiOXH1EK6PY7OZTohBkIiRTheAZODdo+sHym/zSteSFKIt3SIwgzDBIpwvHgwtlC+6xonQ9NvlqoFFrXX4IoBS7dfjDDIJEiTCMCfDFuUCIxxueNMb5cz76YNKFnv02Xvx12br4NFjbPgkpgx/R4wnkoAgIzbe0UFZglTGMYYAP2xRkGHpY/rFAjKLvlraFqzuMAwWEBm5h8XR3AgUL7nz5xpmAwGYVp1TnnwoLmFvjOH94Mj7zwLDz64m/g6OAZIAjHIZROIUT3TGmQSCJFmEYDKDuTwPxRxpbHBXQMAA+2gLKtkFDF5OyQM4jgftIhF1IY7HApSj+wwv9m+GS4oEhdd9HlqkAhePupK9+jbj979UV4+cRxeLm/F4aj4/K5WdBU45OuwTZ4RIrY3sOvA0HYjYwkiidgBkAiRZgGCgz2GG2QszwUnlHOV7lFYYEaBL7JxSA0Syjb8bF6oezXI1B6QCvqU1e+O+tz7zrvInXLxhXnLIP1W++Bocj4pMcxrvUBKXrIz159iawxoiKkkyh62lpYCKocikkRluBl0NcilLydaBPSNYgCJQUp0iSUXWAyKFDo3isGtLg++bbp4oZxrc+98/fU7Rc3/43qRiSIypDshBkAiRRhOdJ95xthfNXUxwdQoCR6XIJGWdG6QBUozc1XDJsvfzt8KkOo3i2trqnHyyZkBFEeWHAmpKSTSBGWM6qwjjEB66TVdLa/0ijwlZhkUcvELrMF6gMXXw47b7xVFZTfnhqAUlDjV2khap/XNu35xgqmtReLImMaCQX8uAHhaBgoVV/Xj2JShOU0MrEnDmx5jMFqBWAvFxAZA+jEDL4GEN1gMrgmCvnuy2/AzT/9NXxu1SVyu3jSPhdu3aHevrS58DWOQrXpzVdlfa7nxHGwOzHgi2Xsrz3JICCD7gE5OfCdjfkJHOigz8dgjw9kLJBwFDjR6x2Id7a1eLqgSiFLiigLtaDsxqykEWlBnbWiQOwGC3g5LRxPH+1Xbx96OZWlNyRSI/NTx/rh0NCouv32pD5LC7P+cMvk6OAA/MfTPwE7gtaS/JzXhAX/7KiAzXGQEwQBQVWgpiAfC4wL2CD3vQkIx8EYX13Ndf1IpIiygJl/TFpQCTmjjwJ0WGVFIT39KZE6p6k+fdug3v48knIcXDKn+DiVBgrhR773NTg2WJo70QpQnIaA3yKtp85sopQLFKvRDJcs4Qxw8tcXTlTtAl9y9xFlw8MBU9PVi8kDYIlAIb+TAjIUHVfdfChQVy2cBz0JDj+PuuG62jg013jh/ne/BQajMbhkrjHBGopGYNtzT9nSgsJ0/nHgG6VLtehYk5xEdEj/nyUWLmEdaWtqTzUu8CWRKhMPvcQXP9gNq8fi4JtbB+HzW6CvYz703XChcghmCF5pTcUgJVJeoRwway1UNl6W1hSmh//RiqXq358b9MKwMvG89rgR0L1nW+tJYatjjJXcqh4FDrMxMW4IhGOo5gW+JFJl4GM/ZJ2PvQpn3SgH5Rj3zDEZ2H8R4NM/4bCkBUJBP/Rdcx70dC5W+hc0VOcAIYWpX/Mwu0zO6JvKz1996ewapmNJDo+Oe2CBS4FisbNAjQjWGWfMNDcdZv3hOjcgHAUu8B0YEHtaWpil11a5IZGymC/8NLHyF7+OrMHoSKS5DpKe6R+5FK0gbk8eRCsjJVpvWwA971wGoXVLlH6wMTjrxqKyOJPDv1m6vFFKkCaDj2NcSsjX+HIMgjE5QMb5RJFaPB4ey2ia+iMvPAefvPLd0FRTK0WKwRXehBQpAcWCJZRsK1DAzI0jMV6j2lSE44ilFvjugCqCRMpikk+90bLklxODmyJFamRuE4zNaZK3zapwTUUTLbS0/DU8fP4cCH3oQui2k2swIuMfY4yvlTGM4KQn0jrAgGOB2K76qWnNUnQYTLYUUehGBV+FCRUKnxJPUY/HwSVFzSdgT73ONGmMST0qhQqrn1/hTcIVsybKGw3Go/DFl5+FTyxbCefUNeo5nGqZ2Q1LBApSLj95M2Pc0NWEAqxDWlNd1WRNVZ1IYeptFPjKOEBQpHzr4RoG3V6ozAD/+X84v+tznz5Q8+zesBqL4fEENB0/o25IvK4GRqVoDc2fBUNt09tIhKPgl67BDtz+aXdKsD7+ZthTKQsLSxlx1bqB8LC87wWx2yNEnydtGSXlYwnBAhHGVo0CbBgD3tkolO2a5YRuvkx7Jl27byOmpMvnQrVC7HUz0ae5A/F4UcaxYG07Hi8iA8SzhfKAnnPd+txTcN3Fl6vWFHJ4bBhufu7n6u3Hz71Et0AhKHp2wiqBIpxPtVlTVSVSGDxG3/zZtFuRclpgxtK4nNnXC2Wbm0PZZxhfuHv5rq9/9XD/E4+fXDM8lJhkKXjGpAodOqluaGUNzW/RJVhoYX34Yui6Zply6LK28rwnVVAY3ygFqruZKbvngnKf+sTkBIgwMBFqBLFnRM7qxuVAOsT4TQkQO6emnMuBtmOMsfWYjt4Iyja1QO30ZIpwrVBC8nbXsGCrBeiP16F77j+f/qlaZw9BUfrRVcUt0NeEzg7g4lw5CbNMoHByB8V7RokKU23WVFWsk0LraRj4esxuyrUuBF0Yw4zfMp6lhlw5+Ngnzun+p7uWb7vwksacqddoZaFYnfPrA3DBY8/Cwt+8BvWnhrLui4L11edgwzXf57es/2++/vle60vcjEj3Ht7WYmaeDlCUsC4fuurGgK2PZMSaMI6FAsWxEK0mUAXAyhVNBtdWoTWF8alqAZMacOEtWIgioGoXhs4UYlVUfNbxIpUWqE3q+g4dRBRYV6kFixdc0BC+9ysX7LzvgQvvW7DQF8q3ryZYS375Eix/4nlVsLzS6soGWlYoVm/dyjdhqjtYhF+67VBQjGR+YcJDi6JsQ2tpWMD1OEtXJwzSdYeP4TGLqd2nxrGkW1fPvn/9o+2w7bmnoRqQk6w1payD0oPVxyesB62paqlC4WiR0gRKXlQBI6/DlfiVXFmPYrX1eyu33fqZJdsam9wFB2jNJXi+FKslT70ELYdOZN0Pky0+/RPYvOKr/JZ/fGryAM6GoiX/YLXGhFMfjxUoVIqvw4aImAGYTNWO8+PWmEegUITwuHib7XksWosxKt+82bqE6p9/vhOuvv8LqmX1zJHX1UW5uVDkc4mhAXk7EYeyQ98oaX2ulDFBXZOxUlCmJsMQjqRaqlA4OiY1Il18RgVKA4VKDt2D9cya0jx6uOb3WkNyu0/Gqzr+76mBlceORoKFXlN/ckjdWl8+qiZcnFixCGJ1NZP20VyBD7/AOzFu9fm3K/tn/W9obXxhQ2ioc4HhIqKnZEzJI6CnGZRJlQjQksHq5pgNMVco/4KPjTG+HMVoahYeuvPkkB+Sg2wQ/8aKE1PT0Cdl+QkpfDiFShVAnZYpiK6/CLBV7obadtAJxqi+8PP/nfRYky8dvkwk4Oer36ne5zL+VHfeBeqtnYiqv1nroQW91UG1VKFwrCWF2U1JAN0DVDbiwNZiMgBUGIxXaZZVITegxlTrqql3+kxfEyt0Ax7tT7bXHBgwPAvHbD4pGAFcrzT1OQ7KIMaUfMpEoVjpTlUtnDNo4U6xgmozRM47Ja6F/85pwW8aT1dHr0FRYrADb/HfxmNiIkbmazxC7JcXYkkW4lAkom7DUqQQ36Kl0NhxBbibS6/vZyZoRZXTDTcuKhO7JcyjWmr6OdKSSqckl+yuwyQLrHXmZsoDdpg1pi2r0O9+N+L/+lcOr3npt8O6REWzrjCd/cSKhTCwuHXS8+gGXMovgs3Dp4J/8szw8mVXNOpKfEBijM/DD0qNQ03J+ELrSArPpIy8WUzZHgbWGQOGFbg3zpIxLO25GgF9I5BazCsFqEd7HN22A4xvgpQFtv3sc9q/J2C3FK/g1OSKOhC4n2lu2yFpPfnTbT7sRrmsKA15fa1WeKqtChCOpRqsKceJFGY3RZh0MZkEzk5HFb62keVvdV5OtAQLKVa7v/vNo6t7ekaXT01dzwZaVwt+87rqChxYPBfCUqwyXYFbXXNg66/g+mtPQtfXr1F0FRGNpy3NbBUkcuEH0TUsB7dxxtZio0PNTchT1lhE3oYzBQ8fx7YdXhB9uZIysmX/5UvgaGpIwIK2KKxYNgILAhFolH83NyTOPn+yV8DJN5bDBQ0b1b+PyhiU32bWk0a5rSgEJ3BjCl/TwJRdQDiWDGuqCxyK40TKiuwmDEbL4/bVCmUv2AgUqy98uR0LRj5hJG6FYoVChVtYitXUuNVjr0DnikO8Q4tX5TuW9lkbnVFnNjpES0h7XF3MmyFQWuxDXUNVRMFZJRoNQTrOhcL0gff2w7uuPAXtUpyaMkRpKkNDDL7/rSS8b9kKqOENYGeiZUiWyAb2oJJxx0g96JvQEPaEAcffTxc4FEfFpKzMbooq0Jkrk8wOaHGrO79w3gO41qqmJmW+N3kYtDdNjO5T/9biVlNT2LV4VSlrrNQMPOkOVF2CWZCy2I0zucz1UVMZVljHSex9lGPigRl+uKYqZ5bfkf7dqy4dhO/etx+ee/xX8LlPvgZXdITzChTS1CTAWz8MpyKvgp1Bz0Els+0wwWhIum2p1bxzSXXvFUFwKI6xpPAiiTLr/PLo3hhR+PomGVMBG/PWt8/qkxu6JneidfXR06fWLvQI3/FxAV99RYE/WsqhvZHBL/oE/OvLChwbS5ktWlWL08va1E2zrHCN1Q2P8uC/rVO2v3epscrXmOgg0uKSrVZfDSiH5Ewc0gNc1rJUgrNmKWR+75RUdEykGAK+PsHTA7TgakZgC6Tcsix+2Nd84p9X/slbdrd/7LLihGbpMgVeDz0NC+ouBbsSBVZScpAZYILSMOPtbgHd0tuwuxJVW4hSURf3bgUH4hiRKsciRrwYseRMper8GeX2pVDjcXn7YCAanF/L4J9Wus4+944AgzfP4dDoZvB3+xXYeTRV1Xr2a71q3cDMBAu0qj73c77+vUv11cTTwDiSDMgKRRG1Wq0+wbivwYDbFC0tlkWgBtKtzL1M7PYwNiBn9EGMZbGYFKe+21f5Bh9bDUqkJMv33GVJeHz/j+GqeZ8Cu5LgbLldShShF0OKVYd0v4S8Anqwkohbxio5o+QK+8OCaE21tbAQOAxHiBSmiSfK5JfHkjMyIH8f2BzPsRG/t2dgNY/kTqhAgUI+ewGHJ/sVGIqnX5uRYHHwqgtVq6pvBALo9jNSB1CNI4nUQias1Ydp55hCXsdgfylZYWhB4W0LUx5QF/vKf2PumW+GfYOPtHtHu24pVZw0FiySwu0ZltbmPttaU8IGSySmgu7HCMYB0xXq02vZMGsz53fO021apDUckpZYyCPs3YKmGnHxBFrlIXAYjohJYZo4lAm01ipV388I8QUN4RO3rrxvaN3ibfFFDd2KL3flikY5Mtx+gWva4yhWGK9qffmI+vc5vzi8pm7/qaLLKuE6KLSMxgRfDkWC6ei44Ffqaw8KVN2Zby6ee6B9U9PRj232Dj+x2iyB0lh5aRJeDtuzmWkiVZnDEaVt1PPEBdg5NhQ29FRIFVs3osDNgwLjkNaV8CKmowjuyFJJtrekKpF+i0kUNbw0a6BcjHXMCeGG9+u6TwVrXzq90nUyEpxqYa1fiFaVS8aqFHjujLRW4hM+JLSosBnjRdGTHXAEOhqe6u2LXDRrz/Blcw5Ak/6qC56M9hpQJJgg4UqGYd6pu33N4f/e5Iq+GgQLWXFREr7/zFPy89gMTZ42sBNqLK+IjEcnoC79ELA5zngXZQ+WB6emo9tepMq9iBFRF/kKvsppF082wfIcGTnrJkWhWr8wZVEdGBLSzQXQMyygd0zA+YnDoBnWfCQWqNvTt6Huuf6Ib/ksOHlFIALzCk/AoumFvzgAjWFGXlqskum/8b6apaeo5ZPUv7XEC+35ptNfCbb1/R1IoSpLwgBm+a1YOQg/6/kSfGCx7b28VQdmD3LOI3Zb/lGtODEd3dYiVQkrSsPpK+41wfLveGPQ1zMwrSrD8iYmt1SCRU4Swtf80mnATWnw3qRZV6Kp5uxngu65IekejSXl55VOE8d1PZlrezBONbVloNTIzZP+htTfivdCmJMsb/LYFW9NwPdefx72nnwQVs29EeyCmkU3A/o6YWcCOXU6ZKS6PlEcWjq6kxIobB2TqoQVpaFZU+BwwhuWdo2sWbBdafSWNABo1tW8r790y+zvHliPiRuY0HJK8JsiJq0xc0WSkPifAVDGy+s2r6kR8IEPxeDl+LdUobKCc5coEVf8sKE3hjE5BjMjc07GndcCUSac1WvKtpZUJa0ojWqpXzbylkAPbigsnpMRv7t3NMBjSXWhlPfgcEe+DMFpSOvKc3SkY/Z3DnTULWiIwMq5vjMXzYFSaDg8BIFfHYe6g2fg9Sefh+ifz4PaZeVdBYBuPxSqR/77W9Dz2o/hCmlRrWh+L5jFyvYTvuajH19zZsnjhsoMuUHsnQlt4uW1HnTS8g9nw4KYQOGUen6sdyC5BWwIZv/YofmadEFUfWBXugQ7s7kE9RJrroGRRY3Q97YF8r5X12vQapr7mz6Y9eJp8A5OVMJ4vetH0PTW/4O5G34CleLll1yw99duYGNtamr6HN8y+MT39sGpkTgUy5Pb96o1BAfO+cEDUf8G3VYtulMHQV0zVvUVHzwc9jQIqhVYHpSuthZPFzgAW1pSdrCiNGZCNWh0CUorq9v/w9B610A0CAZBkZmF24unVLE6c/EcyGVdodU09zf90HBkRArV9NJFLrcXhp65pKIiteLCpLodO3IYjh45CsdOSqeb502gFnoqgs0fPKYKFNLU/9drT/o3bNP7WlwoWy+U7WPANzklHb1Ykgq0y8g+iVRZYEFwCLaMSVUyFjWVaolNFQLXXZ286aJtI6vm7cy35qoQDUeG4ZwfHYQLHvgtLHz8ICinYhAfTkLLM/1w7sM9sOz7B6D51XBWgUK8jU1qTGr8tcovocHFvqvemoBr1sdl3AqKAquwYz1BDUypx7VfBg6hVnuvS7U8qepyRNS2vpykKlCAA7CdSNnJitJQrSkbF581k5GrF3YPfPBcdYEwlABaV3NeOgWXfWs/XPqt38LirsPQeHS44Ou426Pejr3u/HWeaEF9577pRebrT97VCQZBoWpk1S9UCRKqspGuQGF7bCdSlWpLkA+0pqJSPGGGgFbV6RuW7zz9keX3lWJVabijCd371khLCrGDJVUMWrsQrMqOFlS2auzFWFMIZvu1MOU+Dwha/EqUDFagAAdgq5iU2paAVa4tQT5i0l9ey2BGLThEsTpw66WhhhdOdSz4+ZGwoSzAIsGYFIIihW4/XmuPUOB379NnWGqxp0KgNTU26090x6YyaWCiK6KI0DhTaxyS5UEUBVagcMKaKVuJFFY6B5syk1NkBy6eA56LZ92HWYA1r4VXsYR19b/ctXVn7w8+ewm0XPUM2AG94qMXzZqSQlXU78nHIeSWcaphwTdBFQmVu8rdmXaD8SSWSQqBjbGNuw+tqIQNXX2ZRGRsCmYwmAX46p9eHBm8cLZl5o3HN1ErcPQF43Vq47Ure8AhFBObygQH9GZQ26tUxcDOgCpOlB2RWjMFNsY+IsXtXxEZramZkkCRi6i/Bo5eu7QP41WlJldkw5NhSUWPzdNdfUJxtYQHgj944PR5z29P1pwXAgeA1pQ3vKOkVhyYoo4JFdVQmYKTFVV20OV3Mgy2TqCwjUjZKe08FzMlHT0fXiH21oDYn5lcYbZYaUKlKI2R2Jm2goNv0jO/byD4w23RptQi2dE5f+mYxIKGgf8qOSEHLSqsTAEOxwPiABBlJwlJW3uwbBGTiiiqheIIv3pCqAsOZ0x2lUvO1OV7PjvDbWZiT+bzwwuamsdvaNhde2xkd+1vT7f7DoRXFZtgEfe44UygIZJ835v21iz2h7zXXB5Sjh5aDWcO5qzrdmrOLTA4/9499aCcPcex2R8L1Q58t9sz9ivbZy95Rro6XPHDu5Oec0qyhOpA7BkCtsrJC349TISAKDuMsYCdyyTZQqTizDnp3dLlF5hJCRRNqTI1WasA4JoWrF5eB3yHe0EDWld7ht67eE++vlZnX1vjlhZPLQzPqYNoQ02of74/nJjt7Q82iu5617lnL5bw7L8YrzvzraznNjbro7uOz793rUe6YesBJi1IGm/5o/0VFakxeWnFpaOiOZZ3NyYivvoT/7xyaMEDJVlC6PZjAvoE2DM7thDy/EOUNFEZMlx+prvvzcAWIqU47MKKMWj3CpiRhTBPAr8FYwezUxUQspLZ1yr2+vDq0TGx1hVNQFIKU6TJC9FGrypSGn4PdC/1KvshS1+K8dqVcuuA2vGJ6wfjT4OLvrE97d7LamWhNVV/6t9CVjdNzAkKVFyfN71mZDcOECW76+RAH1Yc2tpDupH3V2uDRyeQdvnZUqQqHpOyY4WJQiQU6JgpCRQDwNefAH4HFMnQ4ubx00v9cGLFHMDbUWk5ZQqUrmM0bTh7HwXr9WV7w1r8KR9yn8pedC59ilHs4t4qIlzLhC0HyJmC5vIDG1JxkYoJe2eWZAP9/gnB58EMB4vu1gB0uYXSn2sfJSEK9p9XCsRRRupTy+dijev2HDxvXyhWcx7oYXTOJ8oeiI8FPhGJBW4FETtH+ikU3a/zDT5S8nWAbhtwIF5mzxn8TCLVWh5KyjS1ioqKFK6NSoLzRAoZd0A2otVgHKQZlN2+PB1VFcYKlmZNiPyW9GhDJ4zO/niX0V5MmIxQ7nR0xXe+L7LkHki63wTg0S9S6QSKkkRGTp5sOcgUogaU/UBUHGHTdaqVFSkHrI3KBQ4IM8Hl18yUXX5Q7oMiiSuFB05FKfw5nl7wn0UNZEnvuWVdIMpHU0aB69Qb0pKq0/06TKCoGf5p0da5miHrwMoTbmlFUcKEPeBMsaXBUFGRsmMxWb2gyy8muPGSCA4DXXreEgaRpI6BU7p8g7meq5ez7FZQ7iz2HBK+i8srUtEQuPueBjF7VI7Ahau+Z1JsBQpsjBhN1fFzHLVV3lDUSWi1/MBmVEyk1GKywpnpshpR4VyR1UsEIDhaZAV46cbzJfRYUtLdl3BoPGUqKFKe1x4G7nsFjBKtf3tRMbRRxtc60YrCrtdkRdmNRBBsRuVEysGuPo2Z4PIblwIlbYINUATDSf3f8XDC2RMWDT5yGDyHvgtQp789SZythnD7c1uHFv7XHjBAurX8poQzJ0thikXZD8647Vx+FRMpJ2b1TWWmuPyKZTSu/zseSlhTborHQuW1MHBtVKu+hfvxM344/q0PwfFv/xmwljdtYFy/NSTde8uHgN/iVG+ED8RusqLsh/w92S4VvSKLeXEG6NSsvqnEpTvMN6XaASHdhEnwy2C+7hl+XAb+8TU+V/6Bq0Eou9ScOZ0LPz2R7iCUEaVlISSbOsFzcmvufcZ9MPDLKyC8e5W8XwOssRfEcMTvq/etHx9X8vaYwmon4wCdimKOONV51NJXKnJSAWVaDEzromyM3apPVMSSipfB1efhqc1l8Sr2ZBVYhFZwKma8N9jJGF9baB9so54v5T0Tz+gef7krTiRaNkCyPrc2j722GA7f/Wdw5omrVIFC5sxfBr4XwiAtqWCNL7tFieKErr1RAZvNtJ7w+tCulXLho87CtiZhswpAFbGksMstWAiXF15jqsErztBhOAaWobr8ZlAtP5eAPs6ltZNnxn0iwlYbsaI0ovJ3cTrGOmZ7zZllN/XdXvYmmonZ6+X/Bqc9jq69/u9dq3Yc1qhpbIJ5F14qb5sh0ROG2FsD4HLBOu6CQ0oyJcRnLScbuvW8LoBaOYIMxdTMML2QFWVz7JaKXhl3n0OLYOZiJtXym8WU7fkEaiDBlw8noWhxGIgzNZW6VKFCK8ozWv4Cs0pNEFennkW4/TD4/Bo4/f3zz1pOyOxzl8OspRPhTPfBYWDS3ymkv7PGy9cPjsMTdhUnBMWpNj161Mvbkbi+15EVZX8wFf3EiAi0NjBbNKEsu0hJKyrglLYceklgfKBKi2N6QBwSOt4cppCfkC6+sUTp3YtRqOKCNfvdyv5CMSr5A+7Gc5z6uP/o5oqtG1KFSpKQsanIsgch8sZxKVA/Vh/LtJ6m4nn+pGpNSbdfgHukW89CD0ApZAqUdHfDmP5ERrKiHIK05INgk07JZRepOLAgVBlaKjoufIUqowFwUMk+sGCiw7jg88blD3o8AR1m9jIaSUDnWJJ3yBhUqN4DPfI2XO+aXiNwFig7pz7W1PvXKytW/TzN6Mp9kKxLGXK17wvAyDeehFmtiydZT1PxdJ+GxAr5jlq80OCRg388JQL5wJhSgzfl0i5H0kOmQMmJCYwY+HfJinIOQkmiy8/QkgirKLtIJThbDg5tJ5APTEX3Vcm6D8y+HGJ8VVy6muRXhYuus1u+LLXJGBVIIbEC/Hc7oqkNhpXs0X1sUSFPIyxPIdQglP21Z77RCRWCJcKqu08TKPWxRh8s/NT14Hv2TN7XunrHoO5bPTD2UTk+SKFqkuIzEM3zb8k3jftot0MWC9VUgRqmWFTVglXRwSaUPbvP6VUmchGvgjgbVgE5KfimE4J/NqJAp5zFBxVhf9csniOea0TIGE7427ew5EDFzpmPZp+nJC9uBV2vD0dVoeIDMTU9vMaVe18UiNG0q42nhYpb5HYuUaDIinIYWlwKbEBZRSqiVKdAIU5PRR9lfPkZwW9KpicROAAlkpO3pGJsYMpEUaYfS9FfJHwSeA7ZjoePB07cCZXENZrdWEguaYSE3PSQKVRalmouYsmJpAWrhAqtZE2goknjAoVQa3jnkY5LVZyyilSC6a/OUOOauDCcgNpjyoH105AhwTqGk3B9EtPp5YA3Ll1MozK6FolN3jIfR2EoBApHNJZ6zVh0+rHwsbH08fS4qfDf1M4h2/HqT24FbywElYSP5fZoRT6wBHQfJy1UtdKHl8+aQqwUqvoMaw4FChf8GhUoag3vWIJgA8oqUkmmr98NXmB17skuBicQZ84qkYQZeTLOs3gowdajmODAH0ukxCXv65IpYUCBQVHTrCIlbX3FEynRwC2ezD+oaa/RxCqRyDhe2lrShA6fz3du55yprBWFuPKIlOKvgch7zwG9oFDVf/VF8J8eK7ivVUKlTR40gSoGL4MeIJyHUIJgA8oqUnrjUXhhaAsEnSRUctB3VNO5UzG+qn8cNuPgP1VMMBjvljNoj9y87tR915RfC35PscR0qygany4mPH08PJZ2vKmDqCp+8Yzjpa2lbOeG56IdD88xMLJVmrIhqDSYOJHL5YfE3joPolcvAN3HiyShZVsPNBwZKrivFUI1nki594oVKAQXgAPhODAudXBAVNw7VLbhP2JwLRGm3uIFhz55TaTG9a/HqAiqCOt8j64sxUTl6yOiwmnsOPh7PdMFSUNJx4NiOuq8oZh4cghS5vHwWHrch5ow4camHC8wsg3sAiZP5CuNFH3HfPW25sljoAcUqkUPH4Dj71sCgxfPybuvKlTyFlPYuUlZf/EiY4eE86lPufwqmpVZNpFKYr0+gxcKXhwoVA3pwC3OpiM6BrNKgT19MC6V6X9HMeIevlgOGAHcpIj5WYHFzEJRZ54RObD0iSSE4kmlXz5muk8/yaHd7Tp7nliSp+DMG5/naaFAaymZTA2AmqWD4oGHcKUtL6bjeD7vhPhpx9PQrCZMc88lnA2jXepmF9CSisOmvPugUCXb6qD2kTdUEdLD/B8dBFc0AWcuz2+wTxUqL7f3dUPYGJ6ouHeobCJVbNHCzAsOU3KV9GN2JQF8ca0HmuVA3i4H1nZWRHUNrDiAty78zFyw2i29sihccvAOJRPQnUhMX9Rq+DwV8EshCbhcUDSuPMJhlEzxM8qsAftYUQjXmbyRWOGH0T+/EOq+eUCNP+lh3s+PSKFKwsm35XcZatcNLvattEClGzIeAsJxCMGDUGHKJlKihHgNXnDjLGVNoViNgP2ECmf8eG5y22DFWhUULgy9SFFZ7anhYSUBXdFo8YuHxxmfp1SBG6cmHoJZ4a1gJ/iofu8IJlOgUPl+dBg8+07pes2cp4+rt3qEyg4k0IMgqJ2NExE2yFgui0hhvT5RYgdbLR6FQoUFLVVXkw0qV2SIk2ULKaf9m/KH43LDhlo375TuwG4pVnuNxrJGYxAYs3mMTw9zztjLikKwhTwmUGBxWT1gUdnxDyyBZKAOfD8+rOs1eoUqG57BGDS+eqag29AspNXeoXDYXY1lw6odOxSbLYtICRdvBhNm7ZlCpQWEKylUmNRRTnGaCooVc0Gnr453lGpZOZXQb34AffEmsBvnnHcU6uYYm4Ri5l/iAr9u918xQuU7MQ4LH3kVIq21ZRMpXEM4LviqelB2A+E84qoXrLpFKm5ipQlNqHzpwHyyAi4NXNzY4rO+oaJeMi2ryLiyTU+SBWci6pZvgOGPLz3DldZukAkIY5bheNz+6fSv/PZ5uPeLtWDHJs9/6XoRrv/IRWAUzf1X84vj4P114XEBhQotI8z8ywWXMSxf/6i0nsIw67lUOLP/nfrXa5lBXMDqhHT5uTkt6nUcFU6eKItIJVM+adNAoYomy9bqehJoPTV5wZagWNXW8pukcHdFI8refPvWe9k43vpB2e5NZyOeAH5HDUA3jyv7u8P8FrA5z+y278T8+LHjUCzo/ou8bxEk22pVsSpkVTW/kIplZQpV3eEhVZRw8wxOvF7xuaXlNR+Gzys91ICTNJyw6XEbozU1wvjGJqZsI7efs6h08kR53H0WLHItt0Bh7Gm2DwqWqLEBPuzuWuPjfilUu6AIGj0QdjMIJ2xeXPbgi8+DXXn+uX1QKvFL56g1/3yPHFSbIuYDhaqmfwxOXjkfZktrqe7w9P3DF82B/nctAqWm9Mseu/JibFhbYqBTqALDCr+pXijbyKJyDpVOnrC84gS2fSimzxDGeeziTsPzmFfnCIE6C2YBolXFeHE/ML9X2Dq+FRkdht6Dr4Bd6T3WC2aA7j9s3aGnSoXvxBgseuS1rAIVba2DU1cuME2gMBaLApU0uHYR09FHGd8UA74YCEdQ6coTlotUrAgrSuuPg1ulhQr//bl19hFMI2Dauq+WbypGqJb4xR75PdjWLXPwJftaUcjw8LC6mQUu/h35q0tU0SqGGilgy+7fD4u/1wPzfn5YdQdirMoomkAhSVFcs0VVqARsHhF8rcLMa5RJWEejq3IxastFKgnGm2dh9QK8fjSxqpRAOFmgNDBOVYxQYVhkXq19ewCFbOzq0zDLmtJAgUKhMlL7bypoZWHyxOLvHYDl9z4Pc7/TA427DoMnNASuAiaRtk4RKVagMokDrEb3Hy4sB8LWxJNVLFKCsWYoAkyOwA2FqtFb/jTvahAoDVWoavhGljFrrQHlUD2DHe481tJ50prC1u1gQ+zs6tN45YA154hW1ah0ASaKsKrizTVq4sTpy+fB2KJGqAkNQ92efpi17QAsQ9F6Ons9wcxCz2YIlAZaVcOM3zIKfA0QtqWScSnTEie4iy8WHIJS9gJswsUXkQEpvyupLug1/KPWRArTzcvRHluDVZFAaaiuPx/fOD6uqKtfsb6gWygFg9cXzFJ2vnSa+2RgPAg2ovfgq2B3XnlZitR6sARMqDj5keVQ++Rx8L+or1IFgpl+c391HCIyRnVGCtXwdUvBHU2Ap28Mksfk5ps+JEztyjtiwXUowwKd+COltVT2xMWUillSJYsU9/BVUpw6MHNHe0xkDO4erIQt7TU55qeCrOn0cb2MxVMFS2vKKFR+G8TCrECOAUEpVGsiEWW3nLmuHAXY4AflPm+OhnS4j3AJ9qZWZdvLp1nnqSizxWwXrShMnLA7IyMjYCXu2TXQe80SGDunURWezFTzbCTlRYT71h8ZUZMssGAtEm33Q2R5C5x41znTrq1S28YbAYXKw3jIK618IGyFIy0p1XJywQZhoIAqDvxaK2ojYqP1simHUGmFbKsV7pIDgYeHIEt/oFZQ7sz8Ww55cvLBoAFE94rZoms4LroPDvI1gzHogAqByRxDfYdRVO2/2LjHWmuvJt2yBNt3oPgsfOQ1VXxygYVpseJE3zsWqX9jfKrptTDU9KS2xl1H1PVTWMEi3pxaDKilmFstUBrjAjZ4GdwHhK3QMvyWtLCyLx0wLlIyrsE8fI0Up9VQJBhfQne6FnfSA67DUPsJpZMpBi24YFzp+Fe14/bKyUVM7C3YR2MKuH7qkjnKzlgSdp2OQGA4zgKKYNMCI1EBHUqRa6zkdxCWg9S0Cq1YIaPRI/pm+6Dv57/5xSpwgEiZnTiRDWzDgZ4JjDUdvPFCaHmuX10nlc2qwn3wcbSg8P7gxbPh5McuBK98zNd9CjyHhtX1VkJeWL3XLFVfM5ZuYInuelEGVzvGqDA9nawp+5HO8LO3SKHJJ917G4GZM0CgRYXCMJoofAGI9EwORcSd0czNzAunqQIJGpVATaTwslVjU6ypdMWJruYccQFMF07IybjbDZG2egi1gQhBllIih8Z5MF5kxpZ0DYcX1+aOS4wwvmowEil6glROtDT0xsZGsAoMIWW6zwdknAk3FBu/3OqOTHaLYtIEVp3ADD+19p/cxjvmwGjnAjhd6wVv/xjEmifP1KJlLj2GFryXWnvYjkot7tctUqpAefkmYOaeKK67cHN9LjxNqLS09BoTm7nVVbmbbyryvfqVpNjlzVPnzyXEAanaNZoOycEqMMz5pjoBOxogdzHbYhZvayQLXAhxAYEzJ086Zm3NmfAw+Oob1bisFeBEL1soCl2AuPFoAuoPj0DDKwNqggXGrtCKOvSH7epaqdkvnYLa7tSWfOeishWdzYeRDtdE+eCQsK9IWSVQGkbaXGtCZXa3UbvW47MKtEaba9jy8XGxJ9c+zUw+V4Spmixh3Qv6vgvtE3rF/unnGr954VVoap0PLQayxTG5yKdz+oiTNfTa5vqasMIExplwO3XlfNV6QrHChb1ocYXXp7L7MA090VzcQmGzKWWSQ1iHAu6KiFTB+Z3VAnX2RNLxID1hEsXkNvJoQVVjNl8+MBA+qkAQE2By7TPG+PJxgx2VE0WWwdLA1ybyCNWxQ87yAo0ZrDqBtWRlvE+diOmlVqegoQWF2YCv3XyJWscP41ct//sGJAJ1MLRhCYyc3wJ2gETKpiiVSUPPL1IyBlEOgdJAoagrW6/gCWaaFYWgyJ+SA6LLA5059xGweszgIsuxROnxSulWzPl7O/zCC7ZcXJyLE736kydQoLRMVvQq6I0FGXUlZorV0FXFV6+wCux4D4T9qFAJq7w/b+7ha8slUBqYVltbRqHCf2+mWVGZ4NopZuKPL5JkJYvUqJLbuntp/357TPd1olekMgUKQa+C3oLG3iILH6NYRRZbl9RRLPL3WLEGe0Ru0BUvhCi7UOUWKTdbLVhl1sOgSFkVaJ5KJSw3u1FTw1eBSUQFWwwlIi2IYK7nxkZHLQucYBZeY5O5g/aojgW92QTKiHWP8VlWRRMtF4mUbTk5Wv4Mv6xSINS25GwtVJB6T3kuPB+JFDCXeZORmAldmPEYueJSR44ctswvfn77edDYYK5IFbKkShUoDXcViZRP5G/YSVQOrthEpNQ4VIXBRIpai/s3ocU2E9ZFFQLXTXETSvEPJPhyM4LeeIwxhc/L9lxkfNwyd8N5y8+DtgXmauBonsQJswQK8Vp8rZQLKbbdbqCGiHZFSULl3X3MzVeWOw6VC5/Fbj+fgy9ss1f/uz2Fm9BJN0xEClqYCSVrkTg54LaDSQzEsid0DA4OWvbbnL9gvhSpNjCTXO4+MwUK8ZbJPW4x4VoqMGtrklBhS0otIshzZ3tVAivdcR4TRQrT4hMGhSOupMo94WbktfhvhWP6S0rpQQpQQYHxyljBXFDuq2fT23dEkuCPKOa5DeVnE4xkyfIbHhq27CI5v/18aDC5OkQ2S8psgULczrekIo1M2UZWlL0RlRYp5mYddrGiNNCSsqJtO2fmWWkoGlhLENOGjYgNipRWvzCh6HuN9m/h7VjCvJI12MoDSuBUzPx+QFOP+dKLL1r62zwPY1KNDWA2J3qPn72vpDsBaJghUIjDY1KReiCBcgKcV9Ddl06WMH2gMQMrUtLNdCOOxFODD7rgjAqVETIFCsHEErd578M3xwVb5WzWcNDabCvq7HHlMYeSE27Ig6+9bplIqZl9cmubPx+shGf0KjNLoLTjOnQpRRgFyksZfY5AuvorZ0lxr3lpyGaDF6DZ1pSZItWQUbHCKqHKJlDNJve98jKllgvjCymPR61LtDkVhQ1app+MR1mWfo6ZfUhDkwWW1PHJ4y9+Z6115i8ir3FepmoYXXwkUM5BT9kys8kcqk0LeluB2dlLLhNFSqs9aJVQlUOgkP4kX49Vxo28pi/COhULqyPjsU+k3X7Hjx6zbCEvZvYh8+ebmziRCyuySp1kSMnLuaeZKw+Qi89ZVCwmZaeMvlyg5WOm9WO2D98qoSqXQCFJOUtKGpgpoUCNJK13EcvY2+q+KF9j5UJezOxDrGirkRmTshKnZPhJy6mriSnbi7HaicpT7qoTKQcBL76BYTnBbLy4zgSDQlixUDizmnsyI0bV5C1OFMspUEYpl0BpjCSgc5y5LRvUMLMPMTsFvZw4IcPPB2JnLYhuIBxLKKxOZMs2weACGxgy+3c5RWpMLP9i1SJeMy0qLSEDsZNAyRjU2nIKlEY0YuFC3nRMCjG7NFK5sHuGnypQjATK6dR7yhuXcnOPdPU5BByotXbZZhzLKrJZVNiC2+hMFxMy1B5bUB6BWlwLPePjE4sppzY9xEy7MzFYl1AqM6kZ01EHrxjQisp082FppOEhYy028nGiz/o28ggv0FuqknhB7CKBqg6ScSi7u8/WCRNTwQSKcrezLoZMocIU+mKyE7Vj4JhjtkBhtY2AL//sW2t6iOKEFSDiJtTlK4XTfdYkgU1dG4WlkY4fL08cyWwwLGW3y0PGkvfUi9zNNbOCbYIYb4b0+j2RjpkzAWFs5SF/lhFFUfqB4lplR4ZdyixSNk+YmIrbpNliMZaNUXjaRVeK1WbELZlILxQ1ErfLrFqBrdtjIpVJJ92MvlgSAvJYAaylx3jlA/NjI+ZZN5ksXHYeDGQUeprTZm5c6mRveSwpBOO2SRMrkZhAWG/BWGzAKbicCHF1MhTMdomL9IYwuaMUrT75d4gloUdJKoeAsJxy1+9z3MoKdQGr3OI2dGlkw+pK7lpyxWhCrR5eKoH0lsJlbumoUrFKpM7reBPWCjyLq9aZMSnEbgWT5bUaKpRmrmYXu6BDGOwCjYhUPD0g3LCauXhY+sa7RELZD0TV4MhGFVhlodQsP7SkwOH1zqLyPfSP6y+p5GSsEihkTmCy5VTXYP6C3nJht6oTMqwayvWcajm5YINp3hw8jjwe47yTxMo6yl1k1rEiVSpmV4TAOnpo1WCyg9X0j6Y2dFei2xOtHe4yNotGkU4kUreqCyUji1ALwHvcxhY94zESydQxFWUiMxHBY3Ke+u6KOdeBM9YkTSCt55wPI+MTfzfNMbc0Uu+x8rn7bNd6BivmTz0nGW9iXr6xGMtJF5pYuXiHElV2Mlow7GicKVImXIhJE0VqLDE5tlMOoUIS6Qi5ahXGU6KVT1hQROIYs0rmjumpmYhi4vg46Hnd+YUF//1YPH0eOUDBkr7s1DkXca59x60Z6BctO3+SmCK1DrakKhE25Oms20i2jA3Ga1L5qSnQPcc9fCOUZzYexN54XIEnkgnlABCOxJEipc32lRKEJm5RCpSWeWiVUKFrbySe47m0CGRaQxpTLZupsIx1XZmoVbvx34tPHFPbV5lihWUj1/dUyrmayZx5E64+7VwzHzOD4WHrrMCpuMqsUloGqvYdTm0fk8CYkQDV7SZcrIO72XooJ9KqUlxwPWO8S8SpV5UZCDu6+3AQUkM4FroScHBHV5DefwOtqVgpIpUeCM1wj9SlP0XtArVSqDBJgkkrpKF2Yv2VNuBrZFpDucD37XanLJqpnwF+LslkypLJFAslM7UqCzhI4SDpcU8XnlLPNTZmTUxq6fLzoN43+VxnzzY3cWJ42Lp42lSsTtTJJFOgkGzfo5xUdUjX+l6XhwXLLlCZcOhkHg4kVM6joEhpFRPw99eoc0HpcDpTCndt0FHpGd0EY+mZul9ndTYzLkYUKrOqq5dDqFAkhjNmqmqmoyu1qe60tNstlxWSKSL5Ztxq/Mid2g+FJa7FrnIcF4/lSmcC5vpepp5rNhHMd66xcWuskSXLz592zq3znVsaqVyJE1MFCq37WBbvBC5fiLr4pga3DZa6SKGS1twgS9KiYidRUKQ0dwwO6CPpOnSFBELLvNNjpcTSAoUY6RtlhgWEa4rMbAFitVCNJ3MP6qqwuCaSKaa64bTv0SiqAKUnGlrPrMxjMjA+YcgUQb3netKiIq1TM/s06hsbs3bVLYZyJk6UQ6P0CpS2b53HPmsxpTW3Vv6Q++TvjdqDOARdHmytXxKa87niIcWAxxtND+hGqzKYIVJmtl/XQKHKFFsUKrM+s4jO89UGeVVg0psZn1e2Y5Zq0Vp1rnoJnn9+1sfrGpy5Vsrqz86VXqDO0wvqB6O5BQrJFDOb4AMP3yh/d2Xvi0QUhy7bBQeSxnSJH7SSMJutrsSUCxQodAviD73WbU33XT3ngCJidkPFbBYVXtylvsfByITVOdOwwhrBzL6xHEV1Zs8LmGq9YVzKijYg5cTFJjwpWhggXzyxxmU7gUqBKepuvgooPuUIdA+bmomPgXuc0eNvr9hBVxModB9hLb5KCJSGFSKFZAoVJnn4zPg3RPmy3uyGFYt5MYsv1+c52/QMv/KJlBVFZrGXG3pUmOZRKSBQnFX2ui4Ih9Xy9PfTGirjMEiW1X1rKGGVZ8ykcPCNFJHGLdI/cBwccGZWrjVFuRiNWzfwo1DVe/TF8fRgr5Js5cWKCuiLlp2X87lah7r7ECuy0GszBGo4Vjgj07ZW1AQ+lzdVp5KwN4bnOigsOPji4K5m5IGx1u4Yg0qmU78bdWT+WQ0KFLovrRJLn5mJGdKL3iS3QG3q76PjqS9Q+7svklpHtbAO4NgQwIv9UDUMDZovUg1t50Pv4MTfl0rjaVa9/FzHAJYGzbWkRobk+ZtbyKKsoDDhNaJ3UmeFd8JsBIN2Kby7BFVStzVFTbpqMlx0own9lgjGs2LJ6dlBlWYkBlXHrFqoKiKj5ouUv3WyEPkyJioNJrvmRgws6LWjS1dkuOgL4QArSsOnxqYIW1O0Z0BLdvAZ+EGiXxtfY4ZAmXkdq1mGVZaQgO4ZT4Vba5jJwAlzU9B99Y3QtmQisw8/r6aMNXoNjZUpjYRC0D9WegHlSuJ1gBV1llRbEMIAjLvKanmWNIwVk5VX6zZnlmV2YHgoVn1JCfObgMhB25LJ8aiWKZbn/AXmuvv0NFFEgdJ+h6fGza0vWU4cNjkKUjq6MRQFnCNSlcRsQVHERKUMp+Bl+RsRtjq3TuokwifMTz9HSyqTBRmC7pOfqb+5vIkTmkBp1HuKrx5RSSPMkda7iy8HwraQSGWAi26d0Jpeo1XO/2blKSOFcalqiE2Nj5qffr7kosvO3m+tn/iccLkAJqIsXVS+0khTBQoTippKSCoSFbTAHBKLmgzPaPRJ2A7HilTCogtxIFJdbr+L5jk/NmVF0kQgOBGPap878Th+9yOJ1O9r/nzz0vHU7L4smC1Qlf7tupz4W2P2KdtETEfXTwqti3EbLdIRwrrZIsYBzjgkITWhY3EvJgScOxscTcSCCuhaTAo/m9qMrD50lZ2K6i9BpZdsldDNFigkUWmRcqIlJUik7ExBkRJioqlfxCauMKsvRBRlJ8SncF3UCR2CutjvbKEy25LCeBRu+Jksm5V7v7YF1nmBrBAoJOngrECziBkfpyhxwgDlrtJRUKQYmyjxM2aTmE2iDBciDiBOS6SYCk4qUMhi8vNa2gxdc2qEI2uVhU1OP0crShMonPCEY9knPm0mZvgND01YUlYJFOLk1PVc4HvCJSKj8cIChHFlp8WWifzocvfh4ryzQpWovEshUaYLEQcSKcyOLemP3xMKVSQOXZGIsnvFbNG1oEHsdDNn1Ssz25J60yXnnbWg8LcUjmf/TZm5oHckXdYJJwxWCRRSjSKlpAtB45YvLV9rGeIqkPVKOAvdX6UvvSZK6CguaSX475bjQuQMQrVC2SZHlQfiCWdaIBpyAA5p95c2ie6L5ijbmr3gmMZvEZOz+85ZpC8hYr4FzQ9x8GxJZ2Q2eMwVKCReYQuiUvPXTIEyXCvTYZO2SuMqs7sP7aOQ3IJ6dkaRQpGIpWM2ejv1momVVhQKk0uIQ3Vc7OFYzyst4fGo6MJbj5s5qSBlJJYQh+QVOG0NSKMHwpfMUXYOx2H3yXEWHBhnK8cVCMgJiC198wMmr5M6v/18Xfs1WFS1vE6Kk5ubX5kBrbRKLwA2ml2Ik95Siy+XJFApqHafjXGLpDjAXCyo9wU4+xsWxjr1mglXxE6vHEyTjC2Wp+CXp1JsdDuCAUA5WISkIPX5mHJAFSZ8L1kuNBQqJSFC3hq+ntk8ZRXDLPGIsj2Z5PPkn2dFSnpq/aPAV9YI5YCPQR+KVaNHdENTqp32cBT8UQV88rs1JFbhCAsOxdnyuJDfh4lCJ62OvuYa6EmMhtsBzFvL4lt0nq79GpqsWw1tRemgmA3iMGrihs73hslY6MIrZbKrCRR+nvXuIsciQZaUEZLltqRELLqS+WoMfbsoVFrDM/yRlKuauZAjoCsRXVmn/qE+hDOgUAJYQP7pU6TC4MZUpUkF0bh8TY2Qe8gX4KNc3spJbNgFIvVBJ9XBD7eOQpNAtOISCQY1Mkjn9tizWQ5+RmPDUfxc1jJw+YF7gCVi6wQoMjzFfFFeE/AKpV2IxLTZI36vRoZlKUzw+mCNbzRhzWJIaRkETo5DYGTUvIkutoWv02khWeHus5K4qlKVLZxn1JLSKr00eFMLqY2gFaxGgSqli4GIx4JCUTaB7WERDDMz1T3JIowzecvD8kMcBMar1hqUI61rlxzZl8vf9mq9L8rs1JtMr9Upy0rzJHbSdIWmPjxVLqQg4Wx+I953cdZXC7Ar1aYx9WxJYBBX/lTkf363dP/ZxapC6wlnsSlLRn6nEoXxoLxZo4Brv3zffYKpltU6aYWGQLgOQAkcHXOtDA3xDigDZlacCJ6nz4pCnNRJF79/r6LsRA91VH7vcWAr5d2y/zYTQr8LD8MHuBsmY6FQoSVkxMLEReo4DpW8WF1hOK44YpCXwtQslCTWR/GLhBJkLOmTn3cgJVzoCWIhxri8vlm/VcLl8pTXPepm3BWSLr8+6fLDAUe3q0Zrt6Hdtxw0yZOsS55v4V05+M+eEpMzDz5d2EolHpO2iXT/cQ/rqGSsSsj3F0+IvYmY2CME3ygY8zOWer8MeLN663b1MoUdEgqkRgXm6mMoVEVydJQvDw1BWQQKiVgjUnih5f29ty1wjiWViIvd+DtHg8IDIiR/GV0RBYJxzldK4QhCmQQLBQqFyqNzTPClC05jyx/0yqCXxGdQqEokJK+HnnKGLEqF8clvWj11oUixEtKjoSxWkoo0OAQWzg3LMSAkP+AeKS2HwCRG42UWKfX/MhYjhWqvFCpDg20563QpSXkRgr2Qlks4ibGquOj21HC0qoJWWlazJrs0IuqAoEBfPJlK7KgDZbe0nmpypVhJv39EXv8hFyiDUCQYtzoyBOugTJhdXHb2vHmqOKGw4+QCExj86USGbGBpJD0VzCuJGoOMiWnZmj4Zb/WBEsJRTM6pAnHBghjLTaYSpcxPkpGDohxQcNIblYOD7j5NaD1hOaXh1JIPVejK1XpeTjT3O7FIxjSk1STHnhB6mlha5KXFFVBAWluK0ind+3Js4j3S0uqRwnWgFCtrSQsre3ZfiqTYI39YK21axyrEksK2KdOqWI0rO/G+x8s6XC62klvQp6bODRFFilI0ouxOJiGkAL8lc2z14axQ5E5/9DLomw3KNiiBN4b5mkQZy8iYXVx28dKluO4tiJanFKlVMg7i89ugQ3QpoBVVaB/87r1MyPcur3NIiZYUKz8HvhbSVpbqMkolvuQWsHS6tkuAtMYhwhXRz5kI16QSkFIDn3oM1d2oWwi1zDwMIWgl2MoiVAKtzupEWtZ9Mi6Nv/c9TFpailCC8g0vF0p8g7TGuqVodZtpYVnFxM8AramEspN5uN0CiBElLs8LnAHOaOMguuXM0M/dLCgFa3EpFpacVYalMPXIuF9fIqYcqHSraznTDUIZMXsh78VLl+70yyAsfo7xuNjF3Gw9upkw8J4tcI+lkexsSeWyogqBoiVv+hgHtHjU32YjU7axjDVD0ko/+5uVlubk2bP2WfGJE8k4qaI9M5pQYUKE1SLFBHQzZYZk9knLiaMlBdADXNmlKEo7sCRaWH4pZl16ratyl0RCJv8MFNVU3230x2Ul0hzf5cQfkmpdpQUL/8bGatK6CnA3b5YXox9FSxo9WmYhGkAhRQ4QqijJTU4Y+vEYmaI0AGr6e0S+cFe2f/OMjEnJX5FvVonWUi7OjEMgUeZinGYWl53bOrevdd7cs78lHNxlDG95OA7tGAdxZ4mFqHGpZ8GuRGLj1nzXyDRhMgJ6Zlyqy8+QWzEz1m01yYRiuxBCWUDBcqEVBd0yjhKQ0fVV0rrq5NK6EsK1X1pZOb93oWVFl5Hpc5WE6JJB9WbByxcYz4kCXXZ28xkBxQZddMmMCqAJF8fJgCpS8SR0i5iyP98xpBckyPOt6ZAClbQwQD6mpBIxyomZlpS3xjdtphgZV/YC5+25XtNg4ww/aQnuTtp1Aid/7xhH5i621uAryxPrxrFlplhReUi7BHcKpvgVSK4BEd/ERGGxKidZDWp0r3EPh4oKlfwRibhS0Nc+k8G4AOdqHCE7Qom6MB01qUSNZN4PJfnigRh0Tn1cxjH8s+uhrEQHzHO1LVy4QFcdRnT7aQOlWWul2kxec6UkoUtagnvAxrCEak3hYvIg2An0VNDYMgkUJOnymyRWIKQbkLknTZwFuGxgSaVR40BejhUYdK+fMg0SKF3MYsr2fMXS6hn01IPSY3hpmKKwuKKusZoEpul6y7yGOTpmniV1yaWX5gwSR2Jil6+WrcFEioV1E4/b0ZKSFvkeTJ4BB6BOeN0yzm2fhKyIkpCxNyCykSlWQoqVSEalG9D9BLDUusrKx6SmIN1Pu+S0MlrGGFVEitNOKVI9QEyjTsai5I9I5BKmQinoemnyQGgoAd0RpfIu3/ER82JSi4PBaRdYLYdQLSh3YrfDWESEPDV8Y2aSi1mlkcxaGIwWlFMECkGXmpJUtqtCZYO+TTi+kJuvMJpYKSzRriiJdYwr7dKy2u2ugAuw8LxYxqgURXTLHxkG5a3rAgfQI2ddjkmSGAW+Rikx/qMmTqQFRcabpCBMt14mka4rOAy5YygFn9dJc620muJqp4+KDixnTFwntXJN56q8kodFSsch7HJliNQcc9x0vLYBBqJQEkxAyJt0noeBJaFPAbGLu9l6qCTSQ0MTYGNIK0p+Xu6eZDLeySC+KZYYCwGUt4OCLucNCoe0qh4QLtYhf2i4/iEI5hFSXXsKhJxkgidT60xKE4PJFk8QbAaWJyyhJJopmFVlf8n552MlhIKWodorLWOpmavWHAuouXW+ulC1FDBO5tQlXZgAJYSIMA9HoSr7xEdJiJ3VkoRVCVwuT5dQlG5Ixj579MTpxQtbZ98GZcJQhEH9oeHmgoDLxVcJHFiL8zVjqvshNU1VOLNMPgfRnwRWssVC5OdErzk9J1vbirOIin2dFbiFOABODqYoqrekr6wxqtRyDnTxhYAoCXQBupn70mgi+ddH+84cdAl2dVtbSwgspqgwuGq+J1MVFtJ18gLMxefhD08wdZY0MXiLlGkoFNEPisBMtJBThSmTOhB7hgRbLqx1gc54Rk2KSS0xUFg2kxO95rgbW9tK+5nIa6yvlktLoML9okpFjVEllG0uN18jrx2rY54hJUExKLPANZqtrQ04a7z16PGBUJKLJw8fH7jtnPktO8BCSs7VSv8AwtIUzPD18jvUG6G6CXdCFcJxUS1THhgXrCPJ2TysPj4eh/ZKx3CqjdFhc0RqwdLzIZIw/DKIFfGabLil29Dov9/ggW4cGKQHY7Ceq16HqkAVKhwXOBxgbr7WdKsqbT05LYRgdzIz+xbOb7m3t3dgB0ihOtY/sHLBvJY7wSLs2RTJQdQynN2mRo+TcR5UbNrd1omc6jMvaQITIEZjYJjDR805B+FtNPTvy0lQuM0jB1r8aZVe6dueSPefnMT2mBjrDqkFYyn2ZAmCTc7sQ1efFKqrk0w8KuNUfqviVCRSJhEBvphzLDyNy4yMN3/LBq5LUhs1pgcpke7dJUw4NgbhGZvo+2PWOZt5bDPTzxcty98y3srPY06gTa3ybcWxq4GzsW4MHXDWzlILgNE/WmjCh2GDPoxvy3CCWoePLCfr4JCY5jZNx6QuPdp7auvR/tMPxsf4bUuWtJjqXnW0SGEBzJLqi5nIEMDmuimXVEL6/uIJdfGl7kHJ7ZrYeI4ZNB4Lj51MH18POEB6sCVC+ti5+udg1SbtuElF/7Fxka8rR/07BIUVj2fk8xgzqSRSNoHSPg+3GyYJyFSwaXWpzJvfBvW1kx8r9HmgOxlmGGroQBF7RCJVSQMTtJjAjtscrSw1fiU/tx4RV/YLLI6bEWsicbIeBdw5x9qFbXM2H+k9vcVTK548eHDgajOFqqIipbrGOLZ4L+6CTDAIjAJfX68oO8spViiOUc5X1kP+NSvujEEbByMUFm0WrVlDOINHMcKB0uvR19GUa5Uf5FbjnRAsPLYmLJoVpoqdKzUg6zm2K+Nc1EE0njrfdNffs8fGc8D9cJB362hSh68x+nmIuDmW1Jx5bUV/HqdNcDnWZ1nIW+jzYOAskRoSfGMDV3ZyE5OiMEErfRdrRqoiha1q5E0PiVL5EQrkTbVd1DZ7ixQq8NSCqUJVEZFCcRpnfJW8JgNNQtkOReJj0BMRsH6E8ZvqhLIt3X7AclAQRwUEB4F31Mt/F//GZoJYIVwO5ljhXB1kM1HXHBn8tLO596YeO1OwjJDN5TTVolAFy6AloeecET2fx0mTMuuWrTgPGuvy75Pr8zCD2YGAKkAaOj+P4Angd/hBuc9bZCka7MyLjQ+hDMi3Ex5W+E3a9QBE1RHR8TvMEKpH5Z9XgwmUPSSLzdaGgd8kbzulyJRcINMNYq8cW3xjwDfhsaFM4JoVrDgxyvgmtKywmWA8AqEx+U2OjsuZ5aiMqUT1u+M0cHCPSutlZAxgeCx1LDymtuHf+BweW687TgMHykg0ddyRKcfFTfv38JwVA8fGc47FJx9j6jkX83mMmZTZFzw/ezxKz+dx7HDpBW49vsZpn8fwWHG/D6MMCn5LJOUusxS3UCZdD0BUFZhlqrcjLwqVjBHuxxgVmEBZRQrTtVFM8MeM6z68oByCEvGCUFPfNaEq1wWCWX1MnazmvjBxAMKBaCRjQDrr0snY8PFoxiAfjeWP2eBz+BpNsCLRiRhS5nHxb0yh1gZiPD7+nS/xAl+jnnN60EbxUd2JWc4Zn9P2jcRgkrWQDaOfR98xcyyp2YG2oj8PM5JU8N/Pdtx8nweuJSy1mCdaUdLC7xkXsGFY8PVWXhvoxSh0PRDOxehvcdH82bfKgYodPXH6HiiRaSKFrjiF6U+jRpeCnh/kiGCdEWDrRTpjp0ZaQGACeHHw9AeIx5YXSMH6YDHgiwdR0EqovYeBbRRavJ++MNfLWEpWf7ySMSDhwIiDeuaGj0d1DPK5jh1LH3t0ynHxbxyQCw3EuVAtjViGBTflnPG5eBHH1vt5jJhkSc1ZeH7Rn8fYSOnJG3MC8/M+n+3zSMSge+4UVx/+bo1aRVh0GMUDa0MaEQ/8d6QrXXdFlanXg3TBbyw0jhgZZ3IeQ45X5bAUZzpT08/1EPe5bpUv7Dzad/pWKIFpIoVxlVGFG2pUNsz4LflmaqMKWx2HyZXUPUyEwCRwtqjdlxdIMCqy/2jxBz0i+FoZT9qMwuYucaaqlqnJ+HfldIPKJJmIGQKxvOMyKAUz0uDr6o1XUudTEifSv9sNboPeBxQPd3pCiOKB1+qo9Gjk2h+vYZzAjafc8YaKsWZeD1J3A/nGEbwWZQxrI5QAijaGDtwmeGSI/BRKmsjGkpaWsEth10k77JYjvQOdUCTTQtfCxZvlD7VjFHi4UPYagi6FqIBweqYWrAWYVCID40QxNrk7p7xwQm4T+5K4pTUVz5gZRxVYPSXjVz2PcZCzu7T1VFNEJV/VypSbFhiu4aInJibem3zcX1vpiqxVhBldebFFRinfiRnJEwsXtRk+B6/8LWmTvlGm/m4D0mvQVcx1o5bwArZK82LEAKuRs+ap13dC8HljDNbJ37i/nsFWMIgLRF9mMrg6JuQYR/B6lJZUEMW3gSm7wCDomZEeYez/1e0GStSwGo+ruKQ0XEd19MTAdUwRT/b2DlxaTK2/aSIVU1LWACY2eBgP6YkbyR/nfkVaSqrbS1op2uN4UaAwTN3fK8R+Mxc2pGZSE6OJPA9fVLqqatLpvXhBYLxKTCwODBcbD5Mz0U3yjfnlB9ddK6QrRc5UteN60qnNhDmYUXFi5eWXQV0JInWmv7RzwPTzOS1FVVLvGAHersV58LYGlP3FHEi1pgR0y0F9tfYYXt9SUAY1Gw+rv48qsAF/yziJLOb6QNf7+JTHco0jSWBqkhOe07h0JclrSbf7X1pP6xPplPRaoOao5UApIWNzYWtL99HjA3cmucBECsMZf9NjUhmlScYEXK/Hhy3N/FC2x/EHn63nUmrGZR7Z1mbE0vEdPP8pAgUeXlxPGbzY5cWk1iLEiwRT34GwDDPq9gXPOx8qSSlV1DOvH5d0vZViMWD23dTHpAt+LV4fSexBFkv9e/i4OoksArw+eJZzxMSNqfGnBFerSqhIz0en3liZ9Jis1lqumO2RIbKjFpZtYCWN2VjrTx4nXEwixSSRwiSITFHRm4iALj+9iw9xP7PXM6WDtpP+/bh8I2hNjcTBL6aUV/GK4hufZb5XPK6ggrKWYFZh2VJbbYyWGBerbzCns29NiY3msl2j+NvF60MVqAx3ObqxoViyTBhxTBkXfJX2NwqSdCkGIeM89Iwz2r7a/WLFlDCGEOYYFTEvuxEUtsFofMqNQdKzf2WpRoyW1aR9cmBksNZzPKNk+/fHcmRxSZdE53jVVu2sDsxokYGutpJFarg0kSq2RchUzPjNZrtGpi51QCEbFsUnNIgcFc3RAhpk6c7TRscZkf2YMra2Sm6WZfa5BPTVcWU3r4LWQqXg4uaIFCZSSIG6kTHx4MGDA5fqrUjhzpzR5ELPPnpRrQ8Tj5f338qRZqyU6d83yvBYHBrrKPMCGTUhs88MgSi1n1W2kkjFUK7frFXXp57jGn2PmExiZfsSFE5pAUbqZ3rcS3Gb5vla1NbSdeT46Z1un8C09C16XlNV5sTw8BA4mS/99z741FefVsUqk+88/Av53sZgJmFGtQlTRKrE88hV7YJwBoKROx885oZnErV8C+Pslt7egaCe/auiVcevfr4LFs5tAhzbV7zpLWcfx8H+5SMD8Ivu49BzNAzHTo/CO1fOh7/eeCnYkWdeOQHHTo3Bpi8/Cf/xibfBgtn1cOz4afjiXf8DQ0Pj8Oc3XwMzBTMsqdb586HS1DeYY0kRFSHsM5B1WK2UmjQxFXT7Gcn2czcK5T5wKK++8rvA0KnD6zd/4H2h0yPKLrUOmlDgkT2Hgo8+d3Tl86+fCg5NsUq+/fNX4Z8/tNKW77m1qXa9FKlgz5Ew3PClX0S2fvKt2++97/+pbQq+sfWJyOYPvGVbYK7fNP9431DE9/jTBxY/+8vngt0vHmq//c+v2fmB964KgQ14+blnMdC+GkpgVn39dvn7LvoCO3DgAMZCSoqfzm6o2yrPYRAIx0GFchHzii5kgtl+R/vOrMckCnQB5tvX7dQvYu+vf7n8khVL186+ZN32U0NKCB/74qMvrHxkz+HVfeHxrIVml7Q2hv7zTy7fadf3/JbzZu/f98bpIN4/MTju+/C9T633HTqjilI0mvD9w92PLP/6XR8tyT/+0FMHF+/+3Yngi4fDwYMnhoMwLD+Knn3qczt+9Ny8D12zqqQsMrMYCg9AqVxxxZtDbl5C0DsZh1K5YPn5VA2BcCxmJU1kQwh2JyZRyLtL8u3nSHdfb+9xn8/rbqlrWfjAWAwiOPDe/b+/W5dLnPz1nvDffuCinX901bkhsDGf/4NLun+8r3elKh6S8GjMDy2L5Z1xgIGT8JPuI6s/9sBe6B8c89fXuCNvOb819Kn3Lj+Q75jHzoz6vvnkG8t/I63K34bC7ZF4crKPvVEaC4GF0qw6CvsOnsaF3IZX/1vB6dOnSypQ6vXWRObOay3J6hw4fbqkeERjYyPNxAlHw5k7BBaBFpS0pkJHe09tXtg2Z2uu/RwpUm1t8yNy24PZex++7+m1T77Yl9MtdPVF8/bc9ZHLdi+YVe+INFK09G7496c3hUfjqUHaJb+iZRfJaGMCom6377HnjnRq+z75Yv/qr+46EH7oL9627bKls9UBEUWp66UT8x5//mj7y0eHgrmEexKLzlO3cAkFd80mMj5ekkBIgSp5BhgeCJd0Dk1+P4kU4WhcSWt79KWsKY7W1NZc+zg2cQIH4w9++emNmtUxFZ+HR257/4qdf/G+FcUvTKwAKDYP/cWV2+78f79d88yrpycKgbonf1X3fPACuPWdS+Dqf9vjv+Hff7Xp/Zct3POrAyfbewfGAtOsJQcSjURLeg8LFy4oSwPMfMyaNYtEinAs2J6jRWcPqWLRY005VqTe/8WuTfncezjQa9aFU3Dt6l6sBFsHH3/x9OJXjmcXX43gnFSr2eDsWuh65bT/u0+9sQ5KpEYKO9iESDRSkki1traW/N0fO3q0GUpgzpw5JFKEc+G8LBO9tDV1B+SwphwpUujiyyVQAb+v75sff8t2pwmU+79/3e7+zi83HpbuvYfmLIJBln8J23Vfew46FjZB91Hz1oYtCzSGwCYMDw2X5Hpsv/DCiltSgbY2EinCyYSgDKStqTtyZfo5bjHvf/z4wPJcMSi0oJwmUOi2/NgDe9ec938n1/5LQwuck0zAF4ZO6XqtmQKFrLlg3gGwAf39fSW7K69YvbofSmRocKgWSmDhOYtIpAjHwl3lESkVwbYxJu7I9pTjLKnvPR3KmSThJBcfZiRicsOvD5zq0GJIX2qYBW+LReDD48PwI189PF5TD+UCBR6zC8EGvNpzoOKZfcjY6GgNlECz3x8FgnAgZlQ+N0LcBzs8Mbjn4MEB/9Safo4SqeffOO3PlShx7eWLuqYKFFopLxwON7/aO+Kf1eCdNmitWNCkLrIsh7DhuTyy9+jiX79yIpgpTFP58+ZW+OXpI/CVwRPw9NzFBd1+ZoBJJijwYBNKzaozI7PPDK5cc5UtzoMgDMN4CMqIWnz2+Olt2Wr6OUqkHn7qYHuu525+97KzZfvRSvnKE690Gs10a673hms9rkit1x2pq3FF6n2uyLzmOlXAFs6pC7fUeSOa2GkCN5WXjw01nxmJ+QbGYr6jp8b8uKbpwPHh4CCuedIBxqTur2uGz44MwMdHw6p1ZSUoUF/7s1W2skAHBwdLsmDMyuw7depU0RYdrZEiHE4Iyg3jO7K5/BwlUsfDkazZVpiVhoMsWiub//PX6188Em6HIkAhma48p6HcfK3eDzePDaob3rfKmkIX3z2bLt++7tLKp2tnMjI8XJIldcmll1a8ygOtkSKcTFnjUWnSCRQPTk2gcFTixGg0nnPwwoSKd/3Dz28qVqDsBIoSWlPNiiLjU9ZUdsdFzj/7+3c9YDeBQvqO95YUk/L7/eNgAgNniq96UVvrm9E9iAjnguujyhmPykQIIcMOSmfmY1XRqiMaV3xfeOSF68M6XWpOAC0o5H0Rc1t0YP3Cuz5y6baHb3n7LrtW4RgbGy3JkjIjs69UFi06h+JRhCNhUN541GR4F2NsTeYjjnL3nTevsf+ZV8vvfqsEaE097a2FK2Pjalo6xqqKBeNO775k/t6b33NetxOyH0up2ze3dW6fGZl9SClVL2iNFOFUWCXiUWlUl1//mUczs/wcJVK3XXth9w/2Hl4TkZYTzAC+V9uoitQ10RH4Wp2xcRuTQC5b0tLzvkvnH7B7Yd2plFK3r9nEWFApVS9ojRThVDwVFClEUcROj0/ZAOkKFI4SqQWzaiP/eP3K7f/8yIvrzxZgrWIe99XDVwZBClVEilTu/dBS8tfXhFcsbAq1L/T3vf/S+YecVnEjk1IsGLu42YLnLqUeUoQDESGr6/UVgoPoAu5Cl99W/Ntxi3nRKpDbfU/sOxb4+H/t3VTNVhW6/F7weOFtsel5ABhbWnfZ/G6nC1I2BgeHip6ALFt+vmnxqFJKM1140UVkSREOxBWCCuMCV1dSTKSiO7bA7LNvnJk3E9x+v5JxqYtHB8/GpZzSG6sUYrHiLanFwWDFxYHWSBEOJgQVpq2tJSTjUn4tLuVYkXr4qYOdMAN4wZ1a13pxIgqx2Q2OLJ5rhFLr9plV5aGU86A1UoQTwdTzQAsLgQ1gArpcddAp7+5wpEihq6+a0s3zoWX1LfO5wnf+zdXbnNK8sVhKqduHmX1gEqdOnipapKiPFOFEKpt6PhlFEYc4F0G870iR+tlve4MwQzjs8qi3nz+3sTte5QKFlFK3z8zMvlJax1MfKcKJuFxgmwaxjIluYGryhDMX8+4/NLAYZgiDnANrikdgrTcEM4BS6vaZmdlXiliambxBEOUAq57PaWK2ESlMngAQHXjfkSI1Gp0Z66SQVcvHQnV/eK/P+/LNJXfedQLHjx5rgSKxiziYVZaJIMoFE9w2AoVEfBAGAUG870iROnN6YEbEo5At7x3rZnVhYGPHAjADKKWHk5mZfaVYdHYoy0QQRrCTqw/B1h3yJowZfo4UqejI2IywpPz13nD7OfNn1IBXSnsMM/s3lVKJ3ayyTARRLmY3Vj71fBoMwj4fOE+kjvUO+CJDgzNCpDCD8Tvd85tFYFkoseQPdsMMYHy8uAmImZl9SLGt480+D4KwGg68mzFmu4kVExBKAAQdl933Qs9hP4yNwEzhjkf61r3t73/zwIILqj+zDym2bl+zyWuTinU7emuoRQfhLOzm6tNICjHIQQk6zpJ69Y3+ZhieORm+aE195jv71sAMQcaCinL3rVixIgQ2wKyuwARRDuyW1ZeJtKScVwUdeeHA0QBE5WQ1KQ1Bg+0rsKTQ21cEurEVPP69dG6dWgQU270fPjnmPx4eaw6dGAsMjEb8dipg++SLfasfeupgzw1vX1LxjrNWE43EirKk2i+80FRxKDY21traSmukCMdgt6y+SciYlFRRv+NE6uChE6kst1O9APMWGXkpoEB9/aZVumI7WNXi2ddPB368r3flwRPDQagwX3nilU4pUtugyim2bp9090XBBgQWLKDq54RjUAC6wcYIAc4TqaO9p1MiNXDKsEhdtKhJd6YctlXH7fN/cEn382+c9j/+/LFgJQUL/11pTS2uZmvqpRdfLMp68XprImZm9iHFto63Q4FbgtCDnWr15cNRIvX8bw/6w0NjqcEDkycMuvyubG8taiDDgq5y6660YFW7NXXwtdeLEoa581ptEwda3t5OIkU4AjvV6suHo0Tq8V/snyiHhAIVPgkwu03Xa2s8PGJG9fBMwcK/v/vL14PdB8MBLZ6Fj50ZjZ4dbFkyLk9zwA/YEyqRADWehgI7PpIS2CUrABr1jc0zwZoqBrskK6BFR2ukCKfgBegCB+Aokfrlr3vaJz0wFNYtUvNb6i0ZyFJNGHMvhPuHe3es/NpT+zZkfRJFq2efPLkgwIIloIfHnz/aXq0idezo0WYoAiuSFYrJMrSTRUcQ+eAM+lr8zBFWv2NS0HER74sHjkwWKYxL6eSic/whqABLF80pHEg/HoL1C5JdmH1YaNd9BwfaoUrpO95blLvP7My+YqmtpTVShDNggu8BuyPAz0CEHCNS39q+e/m0B9Hlp3PNlJGkCTP5o9+/MuRvqit4kgv8NeGX711/37VvWpg3+7Ca+2iNjY0WldlnRa28YlrHm1mFnSCsxGODDryFEAzUa9AxIvXwI7/qzPrEwEnQQ7FJE2bwt7es31lonx//Yr9alv7rN6/uevxvrr4vl1Wlx9pyKmNjxqtN2CkORC06CCeAZZBaWuzv6uOMLRbgcoYl9Y8yrnM2q28qpwprj1lJE8WC1tTffOr3tvu8npyD6cHDJ4IPPfIrNTEkda4s637nz28KQZVSTNq3FXGgYlvHU4sOwgnYfW1UJswFYduLFKad57SiEOny88XH8s6krUqaMMJf/Mnanh9845YH8rn+7r7/8XXH+gd8H7t/T2cut94df3BJ1RaajUaML+S1IrOv2Nbx1KKDsDu4NqrNAWuj0gTjo2BvSwoF6oZPfnVTTitK8uHr3rrr3avP35vvOJVKmpjKZZcsCT/0n5/Ylkuo+k4MBjbdvm39Y785mrVW3xXnze6upEVoNZFoxLA4WJHZV2zreEo/J+yOdPV1gXPwL1nSYl9L6qFHfr04n0DhQP/gv33sgS/fccOeqy6YG8p3rEolTWQDhepn2z/3wEXLF2atmfWSmJM1ew9jUdVsRV377vfcUkyywq4f7+oEk9n6jW8WVdD3Ux+7eT0QhE3BYrJOSJhAjh4d6JBmXwjv206k0HpacdVnbvn0P3x3cy6BWrK4NYQWybp3rFRdPbhWySfjTtn2vfbyRV1/8b4VtiqiuKCtJfLT7X+z/dr3XDpZdOYtlAG07JP4ezZdvr1arSiMARUjUFZRbLuQM2fOVG3mJeF8sJisExImEMWTDIokqOtBbSdSv3v1uD+fe+/qt12w5/923rENLRLtsX/8wQsrI3Fl2sCCAqW3oGwl+Pq//mnXWaFCccpRixDfB9YRhCql2BgQUlPjJRcbQejAKRUmEKYwaUkJNcHDMRUnMDPuo3941a7P3/aBaZkpDz91sHPqY3YXKA0Uqn9fvqvvnp8eWh+p8U0brJfUi5AT3kcpYAyosanp7KSjYTSR1yIZqXef3XdeYJ7p4t0ya3Z4cHBI/Te8McXnzTIBQmLSeo95Jyx4WsxL2BcRcooVhXDGViYZU+uUOkKkMP6E7r1M60kjWyacUwRKY9A/vybSODx9IBw4CQeffTH44Y+fWPvw1/58F1QpV65Z0ye3+/A+f2J/0PuVJzbl2z/y2GfvAwv5j6/ff3ZdW80tWzeyN/qzxgnF/Ja+6AMfq/r2KYTz8bhc9q8wkYEA6PAocBvet30KeqC1ue9n//O5B7IJFFYk/+lve1dlPuY0gTp2ZtSXzRJUC9CGUqG0J3/9u9Uf+8y3ZkR33tMDozVHY0nAbSgpoNLsPz7of2k8Dto54aYhAi1UYYKwPZh2btfuu9no7R0I4m1bW0sIb21vSX3z7j/bvmBeS1Y3yv0/fU3GopJnLRBM0Xaaa+wT33hm7VRL0CdikUjPPp9agDbNT365f/Wx/oG9uT6LauGO3a8FfvRC9pqMi2pc6i1/2xc3veWt5/b8/vVXHLj0Tdb2b3r/rw4Fcj75m/7Vi3/2WuDCixeE3nbV+aGNH15N1ekJ2+GwtHOI82QHS/L92t+2t6SyWVAaTT7XpG6s85rrHONzRf7jx68sf+bV0x2ZjwX8vr6n/3X9fde+4+JJYhuNJnyf2fJw1VtTB18/mVMUjkST6nbo4Mng9x/as+6D1/77LRs3/Mf6fb8JWZJVp+e4eC4/+t/uzr/99H9vvmjpZz977bu/vPFf/umxlVadE0EYAa2o1hbmmAoTiAvYesbYDu1vx9Tuy8Zt117YnZl6/uLhcBAcxM9eODYp1oEC9cO/uXrbgln1EUyowEzGzOfR7Ycp+lDFnDk9Yuj9/eaZgx0oVp+6+dumC/iBHmNV2SORuO/ll461/9dXn9yA5/ROafGRYBEVhTug2vkUhGCdroxMREeL1IJZtZG2jJJH2BQQYzzgEMYiibPn+mbpqtx31/sfQIHSHrvr7z68e2q9v0/+3beresFof99gAIrgx9KaQVE4dmzAtO//he7DRZ2LBlpZmmChxbf94T2LgSDKBFpRNQo4JhaFpBfxhrV4FOJokUI+sXbZJLfYnf/z4ipwCHOba1X35NUXzdvzv7dfPa1SOi76/f1r3zzp/WUWoq02fvLjF0oWhT/+0P0bwSR6jw8W1YQxG2jxoUvwTRf83S1oXZkppgSRDWwP76S0cxW30imSYtKY53iRuvqi+X2ZLr9nXzvlmKaAn752xd4PXxnc9fAtb8+ZXn7352/YE2j1T8oi+8rWn3VCFfLG6ydKFgUUqo/e8PW1YAKHQqdLEs1sDIbH/Ghd/d67v3yTFS5KgtBw0uLdszC2CRjfkfmQ40UKXX6XBFvOmrR94fHAQ08ddISlgWWOvrzp8oI+47+66b2TRAytqR8/ud/0AbTS/O7FY6a8p18+2bPajDhQZDxmmbWDYoUuSs2yAoIwEaf0jMpETT0X4F/U1tKV+XhJKeixaNQXjcenXchjY5GcM+Lo+HjeweOCc2f73rF6mXq/vtYLrx54veBs8yOXNvuW1k+ka8cGTna+ekAJgQPhLnfEM6UO4VWXL4Yb/2B136Gjp84O4l6WWH78WF+zy+POmZLudbsibq9nUgZkjccT8dbUlCWNfXhkehJEvt/GodDJIJjE3V94bP2WL7wvBCVQbHzMCJpl9fxzoeCXvvwHe+bMa1S/r3J+T0T14UQrKiGUW6VITQt7sN6B5JZCL0Yx6us7sTweV3zxWNSfTCR9SUXxKUpykkAp8jF8PNsxkvEkZThZiMvjyjlr8rjdk57j3BVx8ZQQ+urq+lAUZ89uOVTf0KB75iUFcvnoyGggFo3544m4X1GET94vaVA/HArD6GgMzKC+3gPnBFugWMbkeRwKlXciOre1HubMrc/6HOdMipZXdfv6fL4+l8sVmT2n5cCs2bNoQTExCbSi5rWwHeAwjvadOegS7OrMpAlEl0iVExTEeBbrrBhwbVEiHitrgNrt8UZqatymzYCNCIedGM1iRY2O5C4cnJATn0QyUQM6iMUStUJRdO1rNTU+r+7vx+1yR93Sus36XJbfjYesKaIIfMDvdZqr72jvqc0yFrVpYWDW1VOfs13FCbwozbow6xuAqBDZxNWpgksQTsGJsSgVKVAgWNY6mI5PnCAIgiBSODEWla7VF1zY1rI12/MkUgRBEFWAiyt7nGhFKVy5Q1pRd+Z6nkSKIAjC4WB1CY/idlwJJLSisAxSLisKIZEiCIJwOAIUR8aiCllRCIkUQRCEg0Erqq3F0wUOQ48VhZBIEQRBOBin9YvSULi4p5AVhTiifTxBEAQxHSf2i0JwXZQQ0CGtqOsK7UuWFEEQhENxqhUFjN+B1SX07EqWFEEQhAPBhbtOtKKO9Q/cIQC62gKTyx/lgkSKIAjCgTh14W5SiM16rSiE3H0EQRAOw6kLd5NMPInJElOLyOaDRIogCMJBOHXh7tG+gXuEInYWSjmfCrn7CIIgHAQmSziyyjmIDYkovxQMQiJFEAThEJyYcq7GoZhQs/kWLmkxLK7k7iMIgnAINcC3goM4eHDAr8ahQNxnJA6VCYkUQRCEA3BisoS3TjwohNi2MDD7XigSEimCIAibg26+uU3uLnAQ6nooRQwuapu9BUqAYlIEQRA2B5MlGGOmdCwvB6pACbEhHuG610PlgkSKIAjCxjitskRaoDbHx9mlS4pIlJgKiRRBEIRNQTefkypLaAJVbCZfNigmRRAEYVOctCYqU6CKzeTLBllSBEEQNsRJbr6zMSjp4jPLgtIgkSIIgrAZTnHz4Toobx3cIwUqKAXq6iUmCxRCIkUQBGEznODmS1eSeFRJit2L5s8uOYsvFxSTIgiCsBFOcPMd6R3oTFeS2CYF6lawELKkCIIgbIIT3HzHTwzcoijiViHYjYvaZnWBxZBIEQRB2AQ7u/nS7r0HpUCBWWug9OB+/hj4gSAIgqgY8xohsqiJ77Grmw+tp6S0nrBQbCl1+IqB+f9eDABBEARRERIKuCNx9TYh/+yWPr9uaVLthC+xLqgwmvWE913SvWfm+ie9sGsfxOAXQRAEUSl+eRD2DkYgAgICcgtKkVoubzFItVXe3yYFKwRlJJ1afosAaT0JcWe5radMKLuPIAiighwagEOqQCEM+uSojK3ht8ltpxSqDZCEJ+F2cQeUARQnXJjrqRMHFUVh8TG2pJIChVDiBEEQRIUYGINTv+2DUNYnGWBiAgqVXxWrz4jN4IKrrbCqMi0nAWyHS2GXtrXNCoENIEuKIAiiAsSSEHmhH14vuCOKFZNixeCAtKp+DZ8WnWASmZaT9C4GUZwWzmupSOwpFyRSBEEQFeA3R+Gls24+faAbcLsUq0el+28TlAAuxj3ad+bJSW49m4mTBrn7CIIgygzGoU6NwQgYBa0qIeNVAr4k3X/74S79KesoTJzDmnQyhHwd2xkfg+uWLJll6/JLJFIEQRBlJG8cSg+pWNUuKVSPwl+LnDEqdOW5akAKk7IGGNuMwqQoYrcb+KV2tJhyQSJFEARRJnTHoQoTkmIVkDEqXMOkFndV1zQBdAJTVkolk7ciyAC6hOC7XQo4Spgycfs4+IAgCIKwFEWaPj0nWU+dK+Grqy9u3G1tYM3+WuGvkeN2Y41ofvqQq+OLvxrZ955lMSlQIgQg3XiC7wcONy5sbXFMy/l8sFseiY8DQRAEYSlJRUSEUKBYEtIKiysQGY2xcFywyHBEDPacdsFIjM8b+Ad+KVQp7jcG3XuAIAiCsAxMlCgpDpWfTWpa+t2VL6NkBZSCThAEYSElJ0oUBuv9laUiRSUgkSIIgrAITJR47hgcAGvB47fDFlGVHS1IpAiCICwABWrPYdgfSajVza0kIi2pCIxAB1QhJFIEQRAWUERFiVLAwrQkUgRBEERhXjsFrxdVUaJ4+kDASqhCSKQIgiBMBDP5Xj4JR6G8DMqtBaoQEimCIAiTOD4ExyzO5MtHM1QhJFIEQRAmMByF8G+OwWtAmAqJFEEQRImkM/leAsJ0SKQIgiBKoIyp5rlRICD/vx+qEKqCThAEUSSaQJUx1Tw7XI1HhaAKIUuKIAiiCJIKJGwhUCmC0uTogiqERIogCMIgKFDPHLGJQAnAckgR+AKritYcUyGRIgiCMAgKVJkX6+aGwWIpVF1QpVBMiiAIwgA9J+GAbQQKEdAJLqjaflIcV0cDQRAEURAUqFdPQR/YByyFtAO+xEJQpbi11dGLW6TJSBAEQWTFdgKVikVVtRWFqDEpFCqyqAiCILJjQwsKWSOF6r5qtqKQs4kTJFQEQRDTsaVAYRwKuZttgSpnUuIEuf4IgiAmsKVAKbBamheL5XY1zACmZfeRUBEEQdjYgtIEqsrdfBpZU9BRqBJJSJw7B84FgiCIGQQu1N1/HF46NgxhsA8+wBgU3s4ggUJyrpP63Uk4GheQaJ8Ly4EgCGIGoFWSsNU6KCbHYAXWyXvb4C52K8ww8i7mRVN3LAqRlfPhQhenhb8EQVQvWCz2N0fhJZsIlE9tB8+gXQpUSN6/Du5mXTADccsPwZ9vh2Py6xo/AqGLW6Gdk1ARBFGFKNKC2tcLoaFY4THRQuZJQfKrwiRU994T8u9/manipMHgdnFQ7861LvB5PeqHRxAEURXE4hAZT1a4UKxQ418huR2S93dAA3TDFmanmFjFYEZ2HhgQ/igomwVUbKZBEARhGpxBX2sz38oYs0O7DSILhkQKOSiEr2ZQ2cyE2gmSIAjCkXAQ3a1+1xMkUPbGsEhpHB8U65iirAaCIAjHoXS1tXi6gLA9RYsU0jsgOuWX3QkEQRAOgXH+RKCZ7QHCEZQkUkjfoFgtFGUdEARB2BjGICIE/35by8xZCFsNlCxSyIkREVDiyvWUUEEQhB2RA124BvjWlhbKmHMapogUQpl/BEHYEx7yAewggXImpokUgpl/tUOwQbr/2oEgCKLCuLiyp7XZ8wQQjsVUkdKghAqCICoNJUhUB5aIFHJ8SLTzpLKO3H8EQZQTjD9xD/9+awOzWyddoggsEymE4lQEQZQXij9VG5aKFKJWqBiCTlr4SxCElVD8qTqxXKQ0aD0VQRBWgOuf3JzvmNPEeoCoOsomUgi5/wiCMBMsEOsV/Pvk3qteyipSCLn/CIIwA3LvzQzKLlIaJwZEh8KUdUJQfyqCIPSD2XsC+A4qbzQzqJhIIeT+IwjCGJS9N9OoqEhp0OJfgiDygckRwHgXLc6dedhCpBCyqgiCyA5ZTzMZ24gUQkkVBEFMhnfJ2FMXEDMWW4mUhnT/BRkoG8iqIoiZCaaWMzffQaWNCFuKFEJWFUHMVMh6IiawrUhpUKyKIGYKFHsipmN7kdKgDECCqE4oc4/Ih2NECkGrKgKwQYpVEAiCqALIeiLywyf99WlxK/y1CIIePiM64LPiFl37flpaQbeLe2CLKOyyu11skMd+MNux8YcsfdVbXcB34KpzfOw/fs2X//gABEAHuC9uevZ9Qh7zw9/na48NFa6Igfuu/zZf/+kf81VgMs8fA7/e42rn8Y+/4CsL7Yvv66H9fLGe90cQZpO6fvlWvJ5JoIh8TBYpN+yAJDyoS6juYt1y3xYpKncU3PduGQRVYBBGYV/BY/8r2wFC/oYVuFcVqyy0trDuGvkD58C7P/UW5cB39vGV//hz1gEFwH1f6BVtegb9dcuhr8Erou/6Br8JhaLQvvMaxOBD+2Ddx3bwNWAily2A8DnNyiAKZqF9tfP46h7YUOg8FjRB5I1TouXy/+SfNfucCSIXqmsPeNc8P7+fyhoRepju7kMRScIdUoRuBD18RmyWR1kpxeW2gvt+WmyR+24CF1wNXyrwA03tiwLYDfVy/y3ZZ1voAhxnyvU3/YBdD5yJr29QdkMBPvYI6zSy71MhtvKhjco2FIx8+6JQfnUvW3/tBdCl59hGQCvpy0/zNVs/qOxEgcm376d/xFY/1M3W6jmPf/8/aL/nab7+LedA98PXK7uAICyDXHuEccyJSaHrD+AWKSa35RKTs6BLkcl9jQqVC67Ltz8WrP3Qw2JLYx1rNluoUHwe3s/W6BEqFJOP7+SbLglAz84/VnaCiaBF99kn+Np/WafsKnQeRsQHz/m2H/GNUvz6tukQQYIwAhWEJUqBF9wDY0SFQNefC+6U7rzCrsK72b3SlXebtNaeTItbvn23SNffnfJeh7p/nmOjC7Drz/kGeextKZdCfr7+AdG1qFHocqN9/p2i+55rlO03bOebCsW/0OX2gxuUB145DUEUCtDJu77JNxZyK6IwoUB98jG+vtC+f/FW6PnaemXbvl5ox2Pniz3hOT/0IWWb3Cfw/m18U6FjE4Qe8DpknD8RaHHdSwJFFEthSwqtGS5n7f8qxaUQKVfhg1KwbixoJaUE6kF5Bneqcaj8+25W9wUI6bHA0AUYA+hUQCkYp/ruPgj+6ABfftf7lN2FLAjN4vjwJWI3CheYyO99m6//bR+0o7C8V4pGvn1RRFCo/vNaZWchiwr3veG/+SafGyI/3KRsy/cetX3lxAD0WI0EkQ0UJyH4noAf9jDGyConSkKfuy8lVEKKyZ0F9zUiVLivIi0kgPsKimBK1HBfHDivU623ArRuEY/ee62y++ql+S0DI/EebSB/+xLoNjvuhC7In7zGVv3Jm8SuQiKIltHm/+Hr//JKZbceUdMrPrjvnzzCN0bi4COhIoyCyUxegC6KOxFmwaRQdEox6Sq4pxGhulX4waMK1W0GhGprwWNr+wopOkyKYCELLC2Yn74K7vyrKyGYb30VDs6P97CgHgvJaqF6rIetueFSeOLu9yp7C+2P7sq3LIYQZi7m28+I+KAAfvBhvnFgDPwkVIQ+eEj+r4vceoTZMDWRgUOzLvFJZfItNiBU9wBaSYWsnpSYPCqPvcOAUAXl/rcVtMC0YwPceOJzUqZA6SxUYgkHaT0WlV5R08Csu3eeK0KFLB9NqPRmCeL+TbVsvJCo4fvCmJNeK8mIC5KYqZA4EdbC1UQGAYfUxbaFuIttlQP+fl373ivNfUxjd+mYhaO1FZexJlxLpWdfLvdlMj4lpAgWWqeF+2NmoIxptX4RVmIQN3MxcDY+sYOv1ZPEYDQudXyINWPmX6EFxZjUcUOH2PXY76BTzxom3H9oXNTqWRu171PKA+fNgdAHHuI3FUoC+d8/Vna+Z5nY+9Ef8Jv0rEMjZhIoTqnFuCRQhJVMxKQw5oNrmOrgzoJp5Kn40B1QL11uWyrke05ZaugmxPPeUtAC01yQDLq1fTFtPZtlhRYHCtXNq5S9ZlsQmpX0iVViZyGRM7qGyej6L73nYdSyI6oZspyI8jI5ccKI+BhJkLAKTXiwnh+De3UtKP4rca8854FMUUOxSjBYzYQyybLAeM+KuaJfj8WkCdsd71R2F3KjaYP+1Uthj9lrmNDiefkkm6dX1PSKDwnVTIfEiagMuSpO6M/OMypUWJPvX9h9uvb9K7FBilB3wWOj8HDAWn9bdVXKyJEEgs0W5U1nZoKF3niPtq/e6hRaVYgL50FPIfExkkaOaGn1ZguVlRU1CLtC4kRUluwp6MaF6h5dmXyIsTJKRqpT3Kre3q1jPVdq/y3phJFp5zF1nZURNxqKz+M9bJWRMkqBRuj75geU7YVSw42sYTKSVm9EfKysqEHYA1znxBnv9iiwh1LJiUqTe52UEfGZcLvdqWf9kmVllIySEsz1Mg6X1b2piZWQltWfPcI2GCmj9MhLbNUX1io7C8W0tEEfrSSz1zDh/nc/xVfpsajQ+vr8T/lGPeJDZZSqE1qES9iR/It5jaSRI5+RbjcGXQXXLyFGRBDdflw9D12LeA2REsx78lmNQgjfyTC0/+WPlVuPDepzo6kD+eN84yfeAk/oWcOk10qycg2TEfHJdEEWsgIJu8NDLoDuuX7oIXEi7Ia+ihOpZIN9Uny2FdzXDmWUjGLgPK78D9E5FIcvfuv3C5dR0gZyPWWUMoXq365RtheywKxaw2REfKiMknNJd8MNCenSo3gTYWcY3C4ezeXumoQR8bFDGSWjGDyPgc9CWHMF5lscbKQ6hbbvuHTn6REfI2nkCFph/cPg01vvj8ooVR/k0iOcBorUQTkYhQu1wlAxIj7FlFHSE9MyUkZJI2WFdaiLkQsdO6m6Fe804lY8PiTauYAOoShZq54bESqtKkTfMASsWMNkVRklrCN4dBACeqxAoryQ1UQ4GZZRZgh093jSKz5GMvlS+2P1ix1qJ998GCmjpB0XEzX0L/q9R57HtoLngXxadMrPA0tFbcNEizhAMNcCYRSfNy+CHj1C9fEdfO2zR6HDijVMRsooaeKjx0pCAfy/w9Dxq5uV+yiZwg7wEOPQM68JuslqIpxKKiY1Ud/Or0uojIiPkUoWiN74V0pMtHPWYwVuVc9D71qqEuNwuOaKS+ttqjsQY0n4oetJ38ZB/8k3YLUVa5iMpNXjeew7Du16rCQ87pql7OANHcohIMqO5s6Td0NkNRHVwETixITLDV1jhbPojKSRGy2jtEWei95ySynxWS/vXV3wnLVOv2iB6Y3DeeW+X9Dh+stjYaI70JWEdsGUdiHAh4P+yychqGdhrhEryegaJqNllLCNyF+9HXYUchXqKdBLmIe2rimpQA8JE1FtTM/uS1VvwKD5dTrdbvfobslhVRmlCfHZXNDyMdCSvqjzKOAK1QTrj7eLm/ce07foVxOqKxZCt9lrmNACOzLMmo3U+9PbRoSwDhImYqaQPQXdyKBvdRklI/2uUudcuH3HhFCFTF8kbKyixhZ/LdxipIzSklkQ+p8PK9vNXMOEhWz3HOaLzS6jRJgLCRMxE8m9Tmpi0C+cbJASnzt0xXpw3wQEdSUlIAYHfd3nbLAlfTrBZJPORA3DFTU+fRXcePtV4FMU6RLMkdKuVUWXwhZ2ShklolTU2nnqRsJEzETyL+Y1MuhbibH412ZILfotfM6YmcfU5At9LemNr/+6R1ccbkpFDS1LMKnGByd3E9bceVasYdJ6aOlZ60Q1/KxBSxeXd0OUlUcQeipOGBn0rcRI/EsTH6aupcpvgaWyDx9VW9LricMZseyMVtRICeaWqS5WzBR0cWhPCAhiOxGjZZSsWsNktDo7kQuylggiF6l1UvpKEuEC2h26XHraa/TV+8NB329JGaXUoN9dMJNvckv6wnE4I5adyRU1sI5g7zAEH+mGjk/+EL7orwG/HvHR1jD983vg+3rSw62oTkFo8JCcdPRhbCnghz6ylggiN0wOuAOgJ317YiAPy8H5ap1llMyvTlHMoK+nosZkodIbh7vHQINI/VmQeitqpPetcUFg85uUB7a8k0v3kBLANPdsuxspo2SkOzEJVW7S65b6cFGtUKCPRIkgjMEMZ/LpHfQRY0J1a7q/k94ySkFdlpqRihoTi5o7DAiVPsE0UlHeSEWN1HGfTJ+z+h2eGBEBiENAYFyLQSCz43AxZZT0dCfWKmrM5Bp+KEgK8LCbSdedFKRR6b5bQv2YCKIkUjEpo5l8xsoo6Rcfo2WU9GKkosbklvTmChVirKLGk+nWJ3oyG1MVNXKcsyZc8rsIvOu/lOt/2883WVFGCa2veY1i8OvXiS6oYrQEB45JNyRIBGEZE4kTRoRqYvaur4wSZq+5YI3uMkp64z1GmBAfv7Rkri64/8Sgf13B1iBGuxMbszC3qiKvt0KGwRT8lfNh666PwgNysPXLGEmAgeLPlgJvpDpFNcFQhDjvQzFS5EYuO4IoL5Oz+4xk8hVTRgkH0DqTYzhGSVkyi3WdB55zvXTd6BFLow0ijcbssPSTXherfqHKmRCDlldCAT8XcpOiJQdo/3v+S1l38Xw+r5qqTaAIKYxH5DfR5+borsO/IRxNQh9ZRgRReaanoBvN5NPKKDE56JtpcWhutHo5MG8xebAwMugbxVhhWv2u0NQ5b9JdqT5VUaNwMV2jCTFpDg4Iv08Kl3CBD4VMWhg+tMA4l7d4n+Hjik+ehy9XIocVqG44IcVGCg+TtyK1Bk4VI5fcEi6ISDEKj8YhQiJEEPYn+zopI+nbiJGSREaz875k0boRI4N+Mce2op2JkXOeqKjRXVB8jCbEFAkKG97We8CXjE8WLhQ7dzK/mCVhcjJGJONvEhyCmGngwIUNET8j9qn3C4ED6GfknPl2cYeuY6MVUWnwHDAFX885Gz/2Ft3HxUnBX6qiomffzXI7qOs7wVggvj89+0983/qOTRAEUQbyV5woJpOPSXdepatTGMHKihpG3HnGjosVNdBKus7A+jbQmdmoPyGGIAjCYnjeZ3GQ4oCZcGHpa3my4Az7btXVd6McELcYsk62CD9UilRL+UvlOaNV9SCYCX4eAg5ZcNwuQIFCl+ztYlPeffE7jMn3p+c7vFe6zOLy+xawW903FZ8kCIKoGLygmOAgF1eFqlvXwFXMoD8CmwsOthopt5S57jm0RlzynBl0qu5NM0Uz9Xncp34Weo+LFlihCQGec2oCUXhCMFl89uX9DnHfu9lmaX1h0dgn5bE3AEEQRIXg6kz/dnFP3r1w4LqLXXd24EJ3Uz6MDvpocSiwRJf4oGgq8shmC5VmNWIdwVHYZ2pcJvV53CmP+6Cu4yZgq5oFWWhCMGHpbtYlVCnxwazDwuLzZXar/G3cJze01iofPyQIYgaDg6Hemf5EgkRhy6eY5Au94oPWhhUJD0YTCFKf3T7dn8dnxJO6BfAz4t6CE4KJ4+4z8Nlp3+GtBvY1/7MmCIIoQComZWSmfzfbImfXd8ptK3xO50wfrRN9Ma0tcqY/qGtAROsrCfsLWoFGMRLDQeIQUt8ffh56XKeYeo9NH/Vwl2rNbNAVd0q58zp0uVgnvsN7Cp5zat/bDMcZCYIgTMfITP9WA+4wzBrDmb6R1Gm94pOyZB41PfkCzxlLEqVSuPOLsWbJWGVxGLEwcTHx7To/DyNWUir1fYCEiiCIymLUJaUXI4M+YkR0Uuf8qCXre3DQTw3O+WM4E0JceaFKiY/R9W2FJwWpCcGA6dmKBEEQhsAB16qsLr2DvlGsElfEWAxnq7qv3oEcY05WxOFS53zQkFDpiUtmxhkruXSAIAjCMowM+kYoj1DdYWBffW43dKXpd+fpd4UaEaqUO0/oEh8rP2eCIAhbYFXWWMrt9qglC1FTZZSMCZVet5tVcTitjJKezwOtOr1llAiCIGxDagDVW4duswE3061gVQznM2oCgfkuS60enh5BmRAqI+ns+sTHSBwudVx9QoX7UA0/giBsAtcVO/ky26F7AW0cdoCRMkoKXKdWpzA7lRzTtxXoMORSxPMtdM5fVtuRYLr35oIxHEzfxjJRAEFdn0dqKcBtMAqFxSeVzn6bWlFe33Gv1lVGSatkgVUd9ZwzQRCEhXC1KoSe2Elqvcwh3SV49JZR0gZ9bNdupHSQHlLrrvyGLDX9g36qosaofI/5zhnLIgn1/fl1fR7aWio952F0X71llHDff2VLdJVRIgiCsBCuLlwVcqY/qmumv1XXAtqpZZQKud0mZu+dqhVhJimh0mcFTgz69+ge9PWUUUoVhL06XXO+cFkpo+cRl9ao2WWUUue9WV30SxAEUSFSwyYmG7gAG/Wt19lQDwfDO6DekoaInemirOaiNRfkcF/B95dqWYFu0DtNbYUxsW9Qnsvmgt17tfPQ08kYwTgcg66CHZK1lhxMumad0lKFIAgincigL2CeCtzrXQtkLJPPqhTnVNLDQd3uK73JF0YqakysM7Jy0a++OFxqTRctzCUIwrZMb3qYagJ4C2DAv5AVYQStISLAVmmB3ZbXArOy+V5KoLDJ4b0FLRkArRV8uKAVmNp3qzzuekDXXr7PLmUxoluzw6Jmi/rb16cs3ZAl1itBEIQlpCwZ84PleEyMx+i1kFLrdsw/j1T7+k7d+xvdV8/+qTJRnYaObQSrjksQBFFG/j8PBBCz3Jop0AAAAABJRU5ErkJggg==", Oh = is`
|
|
@@ -9453,7 +9453,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9453
9453
|
transform: rotate(360deg);
|
|
9454
9454
|
}
|
|
9455
9455
|
`, Th = () => {
|
|
9456
|
-
const { addCashflowEvent: A, addCashflowSequence: t, cashflowSequences: n } = kA(), { cashflow: i, common: r } = H(), { completeOnboarding: o } = yi(), { isDirty: a } = xt(), { isMobile: s } = QA(), { setDisplayedDate: d } = bA(), { filter: l, setFilter: f, transactions: h } = RA(), I = yA(), [E, R] = Ne(!0), [C, P] = u.useState(
|
|
9456
|
+
const { addCashflowEvent: A, addCashflowSequence: t, cashflowSequences: n } = kA(), { cashflow: i, common: r } = H(), { completeOnboarding: o } = yi(), { isDirty: a } = xt(), { isMobile: s } = QA(), { setDisplayedDate: d } = bA(), { filter: l, setFilter: f, transactions: h } = RA(), I = yA(), [E, R] = Ne(!0), [C, P] = u.useState(U.EveryMonth), [m, L] = Ne(!1), [z, w] = u.useState(null), [D, X] = Ne(1), [x, N] = Ne([]), [M, AA] = Ne(""), k = u.useMemo(
|
|
9457
9457
|
() => h.find((lA) => lA.guid === M),
|
|
9458
9458
|
[M]
|
|
9459
9459
|
), $ = !!n.length, iA = async () => {
|
|
@@ -9478,7 +9478,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9478
9478
|
}
|
|
9479
9479
|
o();
|
|
9480
9480
|
}
|
|
9481
|
-
}, vA = !
|
|
9481
|
+
}, vA = !k && E || !k && x.length < 1;
|
|
9482
9482
|
return /* @__PURE__ */ c(
|
|
9483
9483
|
Q,
|
|
9484
9484
|
{
|
|
@@ -9518,18 +9518,18 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9518
9518
|
...s ? { display: "flex", flexDirection: "column", maxWidth: "100%", padding: "0 16px" } : { maxWidth: 590, ml: "40%", mr: 90 }
|
|
9519
9519
|
},
|
|
9520
9520
|
children: [
|
|
9521
|
-
/* @__PURE__ */ e(
|
|
9521
|
+
/* @__PURE__ */ e(Ge, { pb: 12, children: i.add_income_title }),
|
|
9522
9522
|
/* @__PURE__ */ e(J, { mb: 24, children: i.add_income_description }),
|
|
9523
|
-
x.length > 0 && !
|
|
9523
|
+
x.length > 0 && !k && /* @__PURE__ */ c(Y, { children: [
|
|
9524
9524
|
/* @__PURE__ */ e(aA, { children: x.map((lA, pA) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
9525
9525
|
/* @__PURE__ */ e(Di, { bgcolor: "background.paper", children: Dn(
|
|
9526
9526
|
CA(lA.nextDate || lA.date)
|
|
9527
9527
|
) }),
|
|
9528
9528
|
/* @__PURE__ */ e(Li, { transaction: lA }),
|
|
9529
|
-
pA !== x.length - 1 && /* @__PURE__ */ e(
|
|
9529
|
+
pA !== x.length - 1 && /* @__PURE__ */ e(S, {})
|
|
9530
9530
|
] }, lA.guid)) }),
|
|
9531
9531
|
/* @__PURE__ */ c(g, { alignItems: "center", direction: "row", children: [
|
|
9532
|
-
/* @__PURE__ */ e(
|
|
9532
|
+
/* @__PURE__ */ e(S, { sx: { flexGrow: 1 } }),
|
|
9533
9533
|
/* @__PURE__ */ e(
|
|
9534
9534
|
sA,
|
|
9535
9535
|
{
|
|
@@ -9554,7 +9554,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9554
9554
|
}
|
|
9555
9555
|
),
|
|
9556
9556
|
!$ && a && /* @__PURE__ */ e(J, { color: "error", mt: 16, children: i.confirm_error }),
|
|
9557
|
-
|
|
9557
|
+
k && /* @__PURE__ */ c(Y, { children: [
|
|
9558
9558
|
/* @__PURE__ */ e(
|
|
9559
9559
|
sa,
|
|
9560
9560
|
{
|
|
@@ -9564,17 +9564,17 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9564
9564
|
nextDate: z,
|
|
9565
9565
|
onFrequencyChange: P,
|
|
9566
9566
|
onNextDateChange: w,
|
|
9567
|
-
transaction:
|
|
9567
|
+
transaction: k
|
|
9568
9568
|
}
|
|
9569
9569
|
),
|
|
9570
9570
|
/* @__PURE__ */ c(g, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
|
|
9571
9571
|
/* @__PURE__ */ e(
|
|
9572
9572
|
sA,
|
|
9573
9573
|
{
|
|
9574
|
-
"aria-disabled": !
|
|
9574
|
+
"aria-disabled": !k || !z,
|
|
9575
9575
|
onClick: () => {
|
|
9576
9576
|
const lA = [...x];
|
|
9577
|
-
lA.push({ ...
|
|
9577
|
+
lA.push({ ...k, nextDate: z, frequency: C }), N(lA), AA("");
|
|
9578
9578
|
},
|
|
9579
9579
|
variant: "contained",
|
|
9580
9580
|
children: r.confirm_button
|
|
@@ -9592,7 +9592,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9592
9592
|
)
|
|
9593
9593
|
] })
|
|
9594
9594
|
] }),
|
|
9595
|
-
x.length > 0 && !
|
|
9595
|
+
x.length > 0 && !k && /* @__PURE__ */ c(g, { direction: "row", gap: 16, ml: 24, mt: 32, children: [
|
|
9596
9596
|
/* @__PURE__ */ e(
|
|
9597
9597
|
sA,
|
|
9598
9598
|
{
|
|
@@ -9626,7 +9626,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9626
9626
|
setSelectedAccounts: r,
|
|
9627
9627
|
shouldDisableNextDate: o,
|
|
9628
9628
|
shouldDisablePrevDate: a
|
|
9629
|
-
} = bA(), { onEvent: s } =
|
|
9629
|
+
} = bA(), { onEvent: s } = F(), { cashAccounts: d } = gA(), { setFilter: l } = RA(), { userProfile: f } = Ct(), { dateRange: h, setSelectedCashAccounts: I } = xt(), { cashflow: E } = H(), [R, C] = u.useState(!1);
|
|
9630
9630
|
return u.useEffect(() => {
|
|
9631
9631
|
r(d);
|
|
9632
9632
|
}, [d]), u.useEffect(() => {
|
|
@@ -9643,7 +9643,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9643
9643
|
label: E.cashflow_settings,
|
|
9644
9644
|
iconName: "settings",
|
|
9645
9645
|
onClick: () => {
|
|
9646
|
-
C(!0), s(
|
|
9646
|
+
C(!0), s(G.CASH_FLOW_CLICK_SETTINGS);
|
|
9647
9647
|
}
|
|
9648
9648
|
}
|
|
9649
9649
|
],
|
|
@@ -9656,7 +9656,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9656
9656
|
},
|
|
9657
9657
|
dateRange: h,
|
|
9658
9658
|
dateRangeVariant: "readonly",
|
|
9659
|
-
onAccountsFilterClick: () => s(
|
|
9659
|
+
onAccountsFilterClick: () => s(G.CASH_FLOW_CLICK_FILTER),
|
|
9660
9660
|
onBackClick: A,
|
|
9661
9661
|
sx: t,
|
|
9662
9662
|
title: E.title,
|
|
@@ -9686,7 +9686,7 @@ const Rh = ({ activity: A }) => /* @__PURE__ */ c(Y, { children: [
|
|
|
9686
9686
|
}
|
|
9687
9687
|
);
|
|
9688
9688
|
}, J8 = p(jh);
|
|
9689
|
-
class
|
|
9689
|
+
class Gr {
|
|
9690
9690
|
fetchInstance;
|
|
9691
9691
|
constructor(t, n) {
|
|
9692
9692
|
this.fetchInstance = new $A(t, n);
|
|
@@ -9707,7 +9707,7 @@ class Sr {
|
|
|
9707
9707
|
}
|
|
9708
9708
|
let Nh = class {
|
|
9709
9709
|
// Cashflow is hard-coded to display 30 days starting from today
|
|
9710
|
-
dateRange = { start: dA(), end:
|
|
9710
|
+
dateRange = { start: dA(), end: Se(dA(), 30) };
|
|
9711
9711
|
isDirty = !1;
|
|
9712
9712
|
nextIncome = void 0;
|
|
9713
9713
|
upcomingExpenses = [];
|
|
@@ -9723,7 +9723,7 @@ let Nh = class {
|
|
|
9723
9723
|
// if there is no income activity
|
|
9724
9724
|
get expensesTilNextIncome() {
|
|
9725
9725
|
return this.upcomingExpenses.filter(
|
|
9726
|
-
(t) => DA(t.expectedDate, this.nextIncome?.expectedDate ||
|
|
9726
|
+
(t) => DA(t.expectedDate, this.nextIncome?.expectedDate || GA(/* @__PURE__ */ new Date()))
|
|
9727
9727
|
);
|
|
9728
9728
|
}
|
|
9729
9729
|
setNextIncome = (t) => {
|
|
@@ -9734,7 +9734,7 @@ let Nh = class {
|
|
|
9734
9734
|
};
|
|
9735
9735
|
setSelectedCashAccounts = (t) => this.selectedCashAccounts = t;
|
|
9736
9736
|
};
|
|
9737
|
-
class
|
|
9737
|
+
class Sh {
|
|
9738
9738
|
globalStore;
|
|
9739
9739
|
uiStore;
|
|
9740
9740
|
constructor(t) {
|
|
@@ -9748,7 +9748,7 @@ class Gh {
|
|
|
9748
9748
|
await this.globalStore.userStore.updateUserProfile(t);
|
|
9749
9749
|
};
|
|
9750
9750
|
}
|
|
9751
|
-
class
|
|
9751
|
+
class Gh {
|
|
9752
9752
|
widgetApi = new fr("/", "");
|
|
9753
9753
|
globalStore;
|
|
9754
9754
|
constructor(t) {
|
|
@@ -10223,7 +10223,7 @@ const Be = () => {
|
|
|
10223
10223
|
if (!u.useContext(Pt))
|
|
10224
10224
|
throw new Error("useCategoryUiStore() must be used within the GlobalDataContext");
|
|
10225
10225
|
return gA().uiStore;
|
|
10226
|
-
}, jn = (A) => A.top_level_category_guid === b.INCOME || A.category_guid === b.INCOME, Wh = (A) => !jn(A) && !Ea(A), Ia = (A) => rr.includes(A.top_level_category_guid) || rr.includes(A.category_guid), Ea = (A) => A.top_level_category_guid === b.TRANSFER || A.category_guid === b.TRANSFER, kh = (A) => !jn(A) && !Ia(A) && !Ea(A), Kh = (A) => A.filter((t) => t.category_guid === t.top_level_category_guid),
|
|
10226
|
+
}, jn = (A) => A.top_level_category_guid === b.INCOME || A.category_guid === b.INCOME, Wh = (A) => !jn(A) && !Ea(A), Ia = (A) => rr.includes(A.top_level_category_guid) || rr.includes(A.category_guid), Ea = (A) => A.top_level_category_guid === b.TRANSFER || A.category_guid === b.TRANSFER, kh = (A) => !jn(A) && !Ia(A) && !Ea(A), Kh = (A) => A.filter((t) => t.category_guid === t.top_level_category_guid), Si = (A, t) => {
|
|
10227
10227
|
const n = [];
|
|
10228
10228
|
let i = XA(De(/* @__PURE__ */ new Date(), 5));
|
|
10229
10229
|
const r = /* @__PURE__ */ new Date();
|
|
@@ -10235,19 +10235,19 @@ const Be = () => {
|
|
|
10235
10235
|
return n;
|
|
10236
10236
|
}, Fh = (A, t) => {
|
|
10237
10237
|
const n = A.filter(jn);
|
|
10238
|
-
return
|
|
10238
|
+
return Si(n).map((i) => ({ ...i, y: Math.abs(i.y) }));
|
|
10239
10239
|
}, Zh = (A, t) => {
|
|
10240
10240
|
const n = A.filter(Ia);
|
|
10241
|
-
return
|
|
10241
|
+
return Si(n).map((i) => ({ ...i, y: Math.abs(i.y) }));
|
|
10242
10242
|
}, Jh = (A, t) => {
|
|
10243
10243
|
const n = A.filter(kh);
|
|
10244
|
-
return
|
|
10244
|
+
return Si(n);
|
|
10245
10245
|
}, _h = (A) => {
|
|
10246
10246
|
const t = [], n = A.filter(
|
|
10247
10247
|
(o) => o.top_level_category_guid !== b.INCOME && o.top_level_category_guid !== b.TRANSFER && o.total > 0
|
|
10248
10248
|
);
|
|
10249
10249
|
let i = XA(De(/* @__PURE__ */ new Date(), 5));
|
|
10250
|
-
const r =
|
|
10250
|
+
const r = GA(/* @__PURE__ */ new Date());
|
|
10251
10251
|
for (; DA(i, r); )
|
|
10252
10252
|
t.push({
|
|
10253
10253
|
x: nA(i, eA.MONTH_SHORT),
|
|
@@ -10345,7 +10345,7 @@ const Be = () => {
|
|
|
10345
10345
|
] }),
|
|
10346
10346
|
f && /* @__PURE__ */ e(g, { children: A || /* @__PURE__ */ e(iu, {}) })
|
|
10347
10347
|
] });
|
|
10348
|
-
},
|
|
10348
|
+
}, Gi = p(ru), ou = "#FF7B08";
|
|
10349
10349
|
function au(A, t) {
|
|
10350
10350
|
const [n, i, r] = A.replace(/^#/, "").match(/.{1,2}/g).map((a) => parseInt(a, 16)), o = [
|
|
10351
10351
|
Math.max(0, Math.min(255, Math.round(n * t))),
|
|
@@ -10363,7 +10363,7 @@ const va = ({
|
|
|
10363
10363
|
onClickArea: o,
|
|
10364
10364
|
onHoverArea: a
|
|
10365
10365
|
}) => {
|
|
10366
|
-
const s = _A(), { onEvent: d } =
|
|
10366
|
+
const s = _A(), { onEvent: d } = F(), l = i.filter((w) => !w.is_impossible), f = [
|
|
10367
10367
|
...new Set(
|
|
10368
10368
|
l.flatMap((w) => w.dataset.map((D) => new Date(D.x).getTime()))
|
|
10369
10369
|
)
|
|
@@ -10417,7 +10417,7 @@ const va = ({
|
|
|
10417
10417
|
onAreaClick: (w, D) => {
|
|
10418
10418
|
o?.();
|
|
10419
10419
|
const X = P.find((x) => x.id === D.seriesId);
|
|
10420
|
-
d(
|
|
10420
|
+
d(G.DEBTS_CLICK_CHART_AREA, { account_guid: X?.guid });
|
|
10421
10421
|
},
|
|
10422
10422
|
onHighlightChange: (w) => {
|
|
10423
10423
|
const D = P.find((X) => X.id === w?.seriesId)?.guid;
|
|
@@ -10505,8 +10505,8 @@ const va = ({
|
|
|
10505
10505
|
)
|
|
10506
10506
|
] });
|
|
10507
10507
|
}, cu = p(su), du = () => {
|
|
10508
|
-
const A = $e(), { onEvent: t } =
|
|
10509
|
-
return u.useEffect(() => t(
|
|
10508
|
+
const A = $e(), { onEvent: t } = F(), { debts: n } = H(), { selectedDebtChartData: i, showCompleted: r, showError: o } = Be();
|
|
10509
|
+
return u.useEffect(() => t(G.DEBT_SCHEDULE_VIEW), []), /* @__PURE__ */ e(aA, { children: o || r ? /* @__PURE__ */ e(
|
|
10510
10510
|
v,
|
|
10511
10511
|
{
|
|
10512
10512
|
color: A.palette.secondary.main,
|
|
@@ -10654,7 +10654,7 @@ const va = ({
|
|
|
10654
10654
|
onSave: l,
|
|
10655
10655
|
primaryText: t.details_original_balance,
|
|
10656
10656
|
secondaryText: T(A.initial_amount, "0,0"),
|
|
10657
|
-
zeroStateText: A.initial_amount
|
|
10657
|
+
zeroStateText: !A.initial_amount && !A.is_complete ? t.add_original_balance : void 0,
|
|
10658
10658
|
children: /* @__PURE__ */ e(
|
|
10659
10659
|
Me,
|
|
10660
10660
|
{
|
|
@@ -10670,8 +10670,8 @@ const va = ({
|
|
|
10670
10670
|
}
|
|
10671
10671
|
);
|
|
10672
10672
|
}), fu = p(({ debt: A }) => {
|
|
10673
|
-
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } =
|
|
10674
|
-
await n({ ...A.account, interest_rate: r }), A.interest_rate = r, i(
|
|
10673
|
+
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } = F(), [r, o] = u.useState(A.interest_rate ?? 0), a = r < 0, s = async () => {
|
|
10674
|
+
await n({ ...A.account, interest_rate: r }), A.interest_rate = r, i(G.DEBTS_SAVE_RATE_ACTION, { account_guid: A.guid });
|
|
10675
10675
|
}, d = () => {
|
|
10676
10676
|
setTimeout(() => {
|
|
10677
10677
|
o(A.interest_rate ?? 0);
|
|
@@ -10700,8 +10700,8 @@ const va = ({
|
|
|
10700
10700
|
}
|
|
10701
10701
|
);
|
|
10702
10702
|
}), hu = p(({ debt: A }) => {
|
|
10703
|
-
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } =
|
|
10704
|
-
await n({ ...A.account, minimum_payment: r }), A.monthly_payment = r, i(
|
|
10703
|
+
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } = F(), [r, o] = u.useState(A.monthly_payment ?? 0), a = r < 0 || r > 9999999999e-2, s = async () => {
|
|
10704
|
+
await n({ ...A.account, minimum_payment: r }), A.monthly_payment = r, i(G.DEBTS_SAVE_PAYMENT_ACTION, { account_guid: A.guid });
|
|
10705
10705
|
}, d = () => {
|
|
10706
10706
|
setTimeout(() => {
|
|
10707
10707
|
o(A.monthly_payment ?? 0);
|
|
@@ -10732,8 +10732,8 @@ const va = ({
|
|
|
10732
10732
|
}
|
|
10733
10733
|
);
|
|
10734
10734
|
}), uu = p(({ debt: A }) => {
|
|
10735
|
-
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } =
|
|
10736
|
-
await n({ ...A.account, original_balance: r }), A.original_balance = r, i(
|
|
10735
|
+
const { debts: t } = H(), { updateAccount: n } = gA(), { onEvent: i } = F(), [r, o] = u.useState(A.original_balance ?? 0), a = r < 0 || r > 9999999999e-2, s = async () => {
|
|
10736
|
+
await n({ ...A.account, original_balance: r }), A.original_balance = r, i(G.DEBTS_SAVE_BALANCE_ACTION, { account_guid: A.guid });
|
|
10737
10737
|
}, d = () => {
|
|
10738
10738
|
setTimeout(() => {
|
|
10739
10739
|
o(A.original_balance ?? 0);
|
|
@@ -10764,23 +10764,23 @@ const va = ({
|
|
|
10764
10764
|
}
|
|
10765
10765
|
);
|
|
10766
10766
|
}), Iu = () => {
|
|
10767
|
-
const { onEvent: A } =
|
|
10768
|
-
return u.useEffect(() => A(
|
|
10767
|
+
const { onEvent: A } = F(), { selectedDebtChartData: t } = Be();
|
|
10768
|
+
return u.useEffect(() => A(G.DEBT_DETAILS_VIEW), []), /* @__PURE__ */ c(g, { bgcolor: "background.paper", children: [
|
|
10769
10769
|
t?.goal && /* @__PURE__ */ c(Y, { children: [
|
|
10770
10770
|
/* @__PURE__ */ e(Pa, { goal: t.goal }),
|
|
10771
|
-
/* @__PURE__ */ e(
|
|
10771
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
10772
10772
|
/* @__PURE__ */ e(Ra, { goal: t.goal }),
|
|
10773
|
-
/* @__PURE__ */ e(
|
|
10773
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
10774
10774
|
/* @__PURE__ */ e(Ca, { goal: t.goal }),
|
|
10775
|
-
/* @__PURE__ */ e(
|
|
10775
|
+
/* @__PURE__ */ e(S, {})
|
|
10776
10776
|
] }),
|
|
10777
10777
|
!t?.goal && t?.account && /* @__PURE__ */ c(Y, { children: [
|
|
10778
10778
|
/* @__PURE__ */ e(hu, { debt: t }),
|
|
10779
|
-
/* @__PURE__ */ e(
|
|
10779
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
10780
10780
|
/* @__PURE__ */ e(fu, { debt: t }),
|
|
10781
|
-
/* @__PURE__ */ e(
|
|
10781
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
10782
10782
|
/* @__PURE__ */ e(uu, { debt: t }),
|
|
10783
|
-
/* @__PURE__ */ e(
|
|
10783
|
+
/* @__PURE__ */ e(S, {})
|
|
10784
10784
|
] })
|
|
10785
10785
|
] });
|
|
10786
10786
|
}, Eu = p(Iu), vu = ({ setTabValue: A, sx: t }) => {
|
|
@@ -10874,7 +10874,7 @@ const va = ({
|
|
|
10874
10874
|
sx: { ...n },
|
|
10875
10875
|
title: i.details_title,
|
|
10876
10876
|
children: /* @__PURE__ */ c(g, { bgcolor: "background.default", children: [
|
|
10877
|
-
/* @__PURE__ */ e(
|
|
10877
|
+
/* @__PURE__ */ e(Gi, { customDetailsChart: a }),
|
|
10878
10878
|
/* @__PURE__ */ e(Cu, {})
|
|
10879
10879
|
] })
|
|
10880
10880
|
}
|
|
@@ -10938,7 +10938,7 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
10938
10938
|
onHoverRow: i,
|
|
10939
10939
|
onClickRow: r
|
|
10940
10940
|
}) => {
|
|
10941
|
-
const o = $e(), { onEvent: a } =
|
|
10941
|
+
const o = $e(), { onEvent: a } = F(), { isMobile: s } = QA(), { debts: d } = H(), [l, f] = u.useState([
|
|
10942
10942
|
{ field: "priority", sort: "asc" }
|
|
10943
10943
|
]), h = [
|
|
10944
10944
|
{
|
|
@@ -11061,10 +11061,10 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11061
11061
|
hideFooter: !0,
|
|
11062
11062
|
initialState: { sorting: { sortModel: l } },
|
|
11063
11063
|
onRowClick: (P) => {
|
|
11064
|
-
r(), a(
|
|
11064
|
+
r(), a(G.TRENDS_CLICK_TABLE_ROW, { account_guid: P.row.guid });
|
|
11065
11065
|
},
|
|
11066
11066
|
onSortModelChange: (P) => {
|
|
11067
|
-
f(P), a(
|
|
11067
|
+
f(P), a(G.TRENDS_CLICK_TABLE_SORT);
|
|
11068
11068
|
},
|
|
11069
11069
|
rows: E,
|
|
11070
11070
|
slotProps: {
|
|
@@ -11112,7 +11112,7 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11112
11112
|
}
|
|
11113
11113
|
);
|
|
11114
11114
|
}, Lu = p(({ buttonEl: A, onClose: t }) => {
|
|
11115
|
-
const { onEvent: n } =
|
|
11115
|
+
const { onEvent: n } = F(), { debts: i } = H(), { selectedDebtPriority: r, setSelectedDebtPriority: o } = Be(), a = !!A, s = [
|
|
11116
11116
|
{
|
|
11117
11117
|
priority: xe.HIGHEST_INTEREST,
|
|
11118
11118
|
text: i.priority_sort_highest_interest
|
|
@@ -11126,7 +11126,7 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11126
11126
|
text: i.priority_sort_highest_balance
|
|
11127
11127
|
}
|
|
11128
11128
|
], d = (l) => {
|
|
11129
|
-
o(l), n(
|
|
11129
|
+
o(l), n(G.DEBTS_CLICK_PRIORITY, { debts_priority: l });
|
|
11130
11130
|
};
|
|
11131
11131
|
return /* @__PURE__ */ e(
|
|
11132
11132
|
fo,
|
|
@@ -11144,7 +11144,7 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11144
11144
|
horizontal: "left"
|
|
11145
11145
|
},
|
|
11146
11146
|
children: /* @__PURE__ */ e(aA, { children: s.map(({ priority: l, text: f }) => /* @__PURE__ */ c(
|
|
11147
|
-
|
|
11147
|
+
K,
|
|
11148
11148
|
{
|
|
11149
11149
|
onClick: () => d(l),
|
|
11150
11150
|
sx: {
|
|
@@ -11171,8 +11171,8 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11171
11171
|
}
|
|
11172
11172
|
);
|
|
11173
11173
|
}), Du = p(() => {
|
|
11174
|
-
const { onEvent: A } =
|
|
11175
|
-
r(l.currentTarget), A(
|
|
11174
|
+
const { onEvent: A } = F(), { debts: t } = H(), { selectedDebtPriority: n } = Be(), [i, r] = u.useState(null), o = (l) => {
|
|
11175
|
+
r(l.currentTarget), A(G.DEBTS_CLICK_PRIORITIZE);
|
|
11176
11176
|
}, a = () => {
|
|
11177
11177
|
r(null);
|
|
11178
11178
|
}, s = !!i, d = u.useMemo(() => ({
|
|
@@ -11221,18 +11221,18 @@ const tt = (A) => /* @__PURE__ */ e(v, { fontWeight: 600, variant: "Small", chil
|
|
|
11221
11221
|
d.priority = !d.is_paid_off && !d.is_impossible ? s++ : void 0;
|
|
11222
11222
|
}), o;
|
|
11223
11223
|
}, Xu = ({ onBackClick: A, sx: t }) => {
|
|
11224
|
-
const [n, i] = u.useState(!1), [r, o] = u.useState(!1), [a, s] = u.useState(!1), [d, l] = u.useState(""), { isDesktop: f, isMobile: h } = QA(), { debts: I } = H(), { onEvent: E } =
|
|
11225
|
-
u.useEffect(() => E(
|
|
11224
|
+
const [n, i] = u.useState(!1), [r, o] = u.useState(!1), [a, s] = u.useState(!1), [d, l] = u.useState(""), { isDesktop: f, isMobile: h } = QA(), { debts: I } = H(), { onEvent: E } = F(), { isInitialized: R, setSelectedAccounts: C } = bA(), { setSelectedAccount: P } = Ce(), { selectedDebtPriority: m, setSelectedDebtChartData: L } = Be(), { accounts: z } = gA(), { loadGoals: w } = Ae(), { debts: D } = Bo();
|
|
11225
|
+
u.useEffect(() => E(G.DEBTS_VIEW), []), u.useEffect(() => {
|
|
11226
11226
|
R && (w(), C(z), i(!0));
|
|
11227
11227
|
}, [R]);
|
|
11228
11228
|
const X = u.useMemo(
|
|
11229
11229
|
() => xu(D, m),
|
|
11230
11230
|
[D, m]
|
|
11231
|
-
), x = (
|
|
11232
|
-
const
|
|
11233
|
-
|
|
11234
|
-
}, M = () => E(
|
|
11235
|
-
s(!0), E(
|
|
11231
|
+
), x = (k) => l(k), N = () => {
|
|
11232
|
+
const k = z.find((iA) => iA.guid === d), $ = X.find((iA) => iA.guid === d);
|
|
11233
|
+
k && P(k), $ && L($), o(!0);
|
|
11234
|
+
}, M = () => E(G.DEBTS_CLICK_FILTER), AA = () => {
|
|
11235
|
+
s(!0), E(G.DEBTS_CLICK_SNOWBALL_CTA);
|
|
11236
11236
|
};
|
|
11237
11237
|
return !R || !n ? /* @__PURE__ */ e(ie, {}) : /* @__PURE__ */ c(
|
|
11238
11238
|
Re,
|
|
@@ -11354,7 +11354,7 @@ class ju {
|
|
|
11354
11354
|
displayedDate = /* @__PURE__ */ new Date();
|
|
11355
11355
|
displayedDateRange = {
|
|
11356
11356
|
start: XA(this.displayedDate),
|
|
11357
|
-
end:
|
|
11357
|
+
end: GA(this.displayedDate)
|
|
11358
11358
|
};
|
|
11359
11359
|
constructor(t) {
|
|
11360
11360
|
LA(this), this.globalStore = t;
|
|
@@ -11414,11 +11414,11 @@ function kn({ title: A, subtitle: t }) {
|
|
|
11414
11414
|
] });
|
|
11415
11415
|
}
|
|
11416
11416
|
function Nu(A, t) {
|
|
11417
|
-
const n = t.track_type ===
|
|
11417
|
+
const n = t.track_type === V.DEBT_TRACK ? t.initial_amount : t.amount;
|
|
11418
11418
|
let i = t.current_amount / n;
|
|
11419
|
-
i > 1 && (i = 1), i = t.track_type ===
|
|
11419
|
+
i > 1 && (i = 1), i = t.track_type === V.DEBT_TRACK ? 1 - i : i, isNaN(i) && (i = 1);
|
|
11420
11420
|
let r = "chart.chart1", o = "common.black";
|
|
11421
|
-
t.track_type ===
|
|
11421
|
+
t.track_type === V.DEBT_TRACK ? (o = "common.white", r = "chart.chart5") : t.track_type === V.RETIREMENT_TRACK && (r = "chart.chart6");
|
|
11422
11422
|
const a = {
|
|
11423
11423
|
style: "percent",
|
|
11424
11424
|
minimumFractionDigits: 0,
|
|
@@ -11438,7 +11438,7 @@ function Nu(A, t) {
|
|
|
11438
11438
|
projectedText: f
|
|
11439
11439
|
};
|
|
11440
11440
|
}
|
|
11441
|
-
function
|
|
11441
|
+
function Su(A) {
|
|
11442
11442
|
return [
|
|
11443
11443
|
{
|
|
11444
11444
|
bgcolor: "chart.chart1",
|
|
@@ -11471,7 +11471,7 @@ function Gu(A) {
|
|
|
11471
11471
|
},
|
|
11472
11472
|
{ icon: "payments", label: A.saving_goal_other, metaType: ce.OTHER }
|
|
11473
11473
|
],
|
|
11474
|
-
type:
|
|
11474
|
+
type: V.SAVINGS_TRACK
|
|
11475
11475
|
},
|
|
11476
11476
|
{
|
|
11477
11477
|
bgcolor: "chart.chart5",
|
|
@@ -11479,7 +11479,7 @@ function Gu(A) {
|
|
|
11479
11479
|
label: A.debt_goal_label,
|
|
11480
11480
|
description: A.debt_goal_description,
|
|
11481
11481
|
subTypes: [],
|
|
11482
|
-
type:
|
|
11482
|
+
type: V.DEBT_TRACK
|
|
11483
11483
|
},
|
|
11484
11484
|
{
|
|
11485
11485
|
bgcolor: "chart.chart6",
|
|
@@ -11487,7 +11487,7 @@ function Gu(A) {
|
|
|
11487
11487
|
label: A.retirement_goal_label,
|
|
11488
11488
|
description: A.retirement_goal_description,
|
|
11489
11489
|
subTypes: [],
|
|
11490
|
-
type:
|
|
11490
|
+
type: V.RETIREMENT_TRACK
|
|
11491
11491
|
}
|
|
11492
11492
|
];
|
|
11493
11493
|
}
|
|
@@ -11499,14 +11499,14 @@ const ga = p(
|
|
|
11499
11499
|
percentage: a,
|
|
11500
11500
|
percentageText: s,
|
|
11501
11501
|
projectedText: d
|
|
11502
|
-
} = Nu(i, A), l = A.track_type ===
|
|
11502
|
+
} = Nu(i, A), l = A.track_type === V.DEBT_TRACK ? A.initial_amount : A.amount, f = [
|
|
11503
11503
|
{
|
|
11504
11504
|
color: r,
|
|
11505
11505
|
percentage: `${a}`
|
|
11506
11506
|
}
|
|
11507
11507
|
];
|
|
11508
11508
|
let h = /* @__PURE__ */ e(zs, {});
|
|
11509
|
-
return A.track_type ===
|
|
11509
|
+
return A.track_type === V.DEBT_TRACK ? h = /* @__PURE__ */ e(ws, {}) : A.track_type === V.RETIREMENT_TRACK && (h = /* @__PURE__ */ e(Ls, {})), /* @__PURE__ */ e(ze, { elevation: 2, sx: { borderRadius: 2 }, children: /* @__PURE__ */ c(Ho, { disabled: !n, onClick: n, children: [
|
|
11510
11510
|
/* @__PURE__ */ e(
|
|
11511
11511
|
At,
|
|
11512
11512
|
{
|
|
@@ -11527,14 +11527,14 @@ const ga = p(
|
|
|
11527
11527
|
] }) })
|
|
11528
11528
|
] }) });
|
|
11529
11529
|
}
|
|
11530
|
-
),
|
|
11530
|
+
), Gu = p(({ trackType: A }) => {
|
|
11531
11531
|
const { goals: t } = H(), { setAlert: n, monthlyCashFlowProfile: i, updateMonthlyCashFlowProfile: r } = Ae(), o = u.useMemo(() => {
|
|
11532
11532
|
let l = 0;
|
|
11533
|
-
return A ===
|
|
11533
|
+
return A === V.SAVINGS_TRACK ? l = i?.amount_allocated_for_savings_goals || 0 : A === V.DEBT_TRACK ? l = i?.amount_allocated_for_debt_goals || 0 : A === V.RETIREMENT_TRACK && (l = i?.amount_allocated_for_retirement_goals || 0), l;
|
|
11534
11534
|
}, [i]), [a, s] = u.useState(o), d = async () => {
|
|
11535
11535
|
if (i) {
|
|
11536
11536
|
const l = { ...i };
|
|
11537
|
-
A ===
|
|
11537
|
+
A === V.SAVINGS_TRACK ? l.amount_allocated_for_savings_goals = a : A === V.DEBT_TRACK ? l.amount_allocated_for_debt_goals = a : A === V.RETIREMENT_TRACK && (l.amount_allocated_for_retirement_goals = a), await r(l), n(t.alert_contribution_updated);
|
|
11538
11538
|
}
|
|
11539
11539
|
};
|
|
11540
11540
|
return /* @__PURE__ */ e(g, { bgcolor: "background.paper", children: /* @__PURE__ */ e(
|
|
@@ -11607,7 +11607,7 @@ const ga = p(
|
|
|
11607
11607
|
await i(s), r(t.alert_goals_reordered), a(!1);
|
|
11608
11608
|
};
|
|
11609
11609
|
return /* @__PURE__ */ c(g, { children: [
|
|
11610
|
-
/* @__PURE__ */ e(
|
|
11610
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(cA, { onClick: () => a(!0), children: /* @__PURE__ */ e(oA, { children: /* @__PURE__ */ c(
|
|
11611
11611
|
g,
|
|
11612
11612
|
{
|
|
11613
11613
|
alignItems: "center",
|
|
@@ -11658,8 +11658,8 @@ const ga = p(
|
|
|
11658
11658
|
] });
|
|
11659
11659
|
}, Bu = ({ goal: A, index: t }) => {
|
|
11660
11660
|
const { goals: n } = H();
|
|
11661
|
-
return /* @__PURE__ */ e(
|
|
11662
|
-
A.track_type !==
|
|
11661
|
+
return /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { children: [
|
|
11662
|
+
A.track_type !== V.RETIREMENT_TRACK && /* @__PURE__ */ e(
|
|
11663
11663
|
zA,
|
|
11664
11664
|
{
|
|
11665
11665
|
sx: {
|
|
@@ -11687,7 +11687,7 @@ const ga = p(
|
|
|
11687
11687
|
] }) });
|
|
11688
11688
|
}, Yu = ({ goal: A }) => {
|
|
11689
11689
|
const { goals: t } = H();
|
|
11690
|
-
return /* @__PURE__ */ e(
|
|
11690
|
+
return /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { children: [
|
|
11691
11691
|
/* @__PURE__ */ e(zA, { sx: { alignItems: "center", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ e(Ds, { color: "success", filled: !0, size: 20 }) }),
|
|
11692
11692
|
/* @__PURE__ */ e(oA, { primaryTypographyProps: { variant: "Body" }, children: /* @__PURE__ */ c(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
11693
11693
|
/* @__PURE__ */ c(g, { children: [
|
|
@@ -11706,7 +11706,7 @@ const ga = p(
|
|
|
11706
11706
|
}, Vu = ({ trackType: A }) => {
|
|
11707
11707
|
const { goals: t, common: n } = H(), { orderedGoals: i } = Ae(), r = i.filter((E) => E.track_type === A), o = r.filter((E) => !E.is_complete), a = r.filter((E) => E.is_complete), [s, d] = u.useState(!1);
|
|
11708
11708
|
let l = t.manage_saving_goals, f = t.manage_saving_drawer_title, h = t.manage_saving_title, I = t.manage_saving_description;
|
|
11709
|
-
return A ===
|
|
11709
|
+
return A === V.DEBT_TRACK ? (l = t.manage_debt_goals, f = t.manage_debt_drawer_title, h = t.manage_debt_title, I = t.manage_debt_description) : A === V.RETIREMENT_TRACK && (l = t.manage_retirement_goals, f = t.manage_retirement_drawer_title, h = t.manage_retirement_title, I = t.manage_retirement_description), /* @__PURE__ */ c(g, { children: [
|
|
11710
11710
|
/* @__PURE__ */ e(sA, { endIcon: /* @__PURE__ */ e(ve, {}), onClick: () => d(!0), children: l }),
|
|
11711
11711
|
/* @__PURE__ */ e(
|
|
11712
11712
|
fA,
|
|
@@ -11720,14 +11720,14 @@ const ga = p(
|
|
|
11720
11720
|
/* @__PURE__ */ e(FA, { children: h }),
|
|
11721
11721
|
/* @__PURE__ */ e(J, { color: "text.secondary", sx: { textWrap: "wrap" }, variant: "ParagraphSmall", children: I })
|
|
11722
11722
|
] }),
|
|
11723
|
-
/* @__PURE__ */ e(
|
|
11723
|
+
/* @__PURE__ */ e(Gu, { trackType: A }),
|
|
11724
11724
|
/* @__PURE__ */ e(v, { bold: !0, sx: { mb: 4, mx: 24, mt: 12 }, variant: "XSmall", children: t.goal_priority }),
|
|
11725
11725
|
/* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
11726
11726
|
o.map((E, R) => /* @__PURE__ */ e(Bu, { goal: E, index: R }, `ongoing-${E.guid}`)),
|
|
11727
|
-
/* @__PURE__ */ e(
|
|
11728
|
-
A !==
|
|
11727
|
+
/* @__PURE__ */ e(S, { variant: A !== V.RETIREMENT_TRACK ? "inset" : "fullWidth" }),
|
|
11728
|
+
A !== V.RETIREMENT_TRACK && /* @__PURE__ */ e(Mu, { goals: o })
|
|
11729
11729
|
] }),
|
|
11730
|
-
A !==
|
|
11730
|
+
A !== V.RETIREMENT_TRACK && /* @__PURE__ */ c(g, { children: [
|
|
11731
11731
|
/* @__PURE__ */ e(v, { bold: !0, sx: { mb: 4, mx: 24, mt: 12 }, variant: "XSmall", children: t.complete_title }),
|
|
11732
11732
|
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: a.map((E) => /* @__PURE__ */ e(Yu, { goal: E }, `complete-${E.guid}`)) })
|
|
11733
11733
|
] })
|
|
@@ -11736,7 +11736,11 @@ const ga = p(
|
|
|
11736
11736
|
)
|
|
11737
11737
|
] });
|
|
11738
11738
|
}, Kn = p(({ trackType: A }) => {
|
|
11739
|
-
const { isMobile: t } = QA(), { goals: n } = H(), { orderedGoals: i, setSelectedGoal: r } = Ae(), o = i.filter((l) => l.track_type === A), a = o.filter(
|
|
11739
|
+
const { isMobile: t } = QA(), { goals: n } = H(), { orderedGoals: i, setSelectedGoal: r } = Ae(), o = i.filter((l) => l.track_type === A), a = o.filter(
|
|
11740
|
+
(l) => l.track_type === V.SAVINGS_TRACK && !l.has_been_spent || l.track_type !== V.SAVINGS_TRACK && !l.is_complete
|
|
11741
|
+
), s = o.filter(
|
|
11742
|
+
(l) => l.track_type === V.SAVINGS_TRACK && l.has_been_spent || l.track_type !== V.SAVINGS_TRACK && l.is_complete
|
|
11743
|
+
), d = A === V.DEBT_TRACK ? n.zero_state_complete_debt : n.zero_state_complete_savings;
|
|
11740
11744
|
return /* @__PURE__ */ c(g, { mt: 16, mx: t ? 24 : 0, children: [
|
|
11741
11745
|
/* @__PURE__ */ c(g, { alignItems: "center", direction: "row", justifyContent: "space-between", mb: 8, children: [
|
|
11742
11746
|
/* @__PURE__ */ e(v, { color: "text.secondary", variant: "Small", children: n.ongoing_title }),
|
|
@@ -11746,7 +11750,7 @@ const ga = p(
|
|
|
11746
11750
|
// Goal should be full width in mobile or if it's the first goal (unless there are 2)
|
|
11747
11751
|
/* @__PURE__ */ e(_e, { xs: t || f === 0 && h.length !== 2 ? 12 : 6, children: /* @__PURE__ */ e(ga, { goal: l, onClick: () => r(l) }, l.guid) }, f)
|
|
11748
11752
|
)) }),
|
|
11749
|
-
A !==
|
|
11753
|
+
A !== V.RETIREMENT_TRACK && /* @__PURE__ */ c(g, { gap: 16, mt: 48, children: [
|
|
11750
11754
|
/* @__PURE__ */ e(v, { color: "text.secondary", variant: "Small", children: n.complete_title }),
|
|
11751
11755
|
s.length === 0 && /* @__PURE__ */ e(g, { alignItems: "center", bgcolor: "background.default", borderRadius: 2, py: 18, children: /* @__PURE__ */ e(v, { variant: "Small", children: d }) }),
|
|
11752
11756
|
s.map((l) => /* @__PURE__ */ e(ze, { elevation: 2, sx: { borderRadius: 2 }, children: /* @__PURE__ */ e(Ho, { onClick: () => r(l), children: /* @__PURE__ */ e(Te, { sx: { ":last-child": { pb: 16 } }, children: /* @__PURE__ */ c(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
@@ -11761,12 +11765,12 @@ const ga = p(
|
|
|
11761
11765
|
}), Uu = ({ goalType: A, onClick: t }) => {
|
|
11762
11766
|
const { goals: n } = H(), { bgcolor: i, icon: r, label: o, description: a, subTypes: s, type: d } = A, [l, f] = u.useState(!1), h = s.length > 0;
|
|
11763
11767
|
return /* @__PURE__ */ e(g, { children: /* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
11764
|
-
/* @__PURE__ */ e(
|
|
11768
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(
|
|
11765
11769
|
cA,
|
|
11766
11770
|
{
|
|
11767
11771
|
onClick: h ? () => f(!l) : () => t(
|
|
11768
|
-
d ===
|
|
11769
|
-
d ===
|
|
11772
|
+
d === V.RETIREMENT_TRACK ? n.retirement : "",
|
|
11773
|
+
d === V.RETIREMENT_TRACK ? ce.RETIREMENT : ce.OTHER,
|
|
11770
11774
|
d
|
|
11771
11775
|
),
|
|
11772
11776
|
children: [
|
|
@@ -11777,8 +11781,8 @@ const ga = p(
|
|
|
11777
11781
|
]
|
|
11778
11782
|
}
|
|
11779
11783
|
) }),
|
|
11780
|
-
/* @__PURE__ */ e(
|
|
11781
|
-
h && /* @__PURE__ */ e(yn, { in: l, children: /* @__PURE__ */ e(aA, { sx: { bgcolor: "background.default" }, children: s.map((I, E) => /* @__PURE__ */ e(
|
|
11784
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
11785
|
+
h && /* @__PURE__ */ e(yn, { in: l, children: /* @__PURE__ */ e(aA, { sx: { bgcolor: "background.default" }, children: s.map((I, E) => /* @__PURE__ */ e(K, { sx: { pl: 48 }, children: /* @__PURE__ */ c(cA, { onClick: () => t(I.label, I.metaType, d), children: [
|
|
11782
11786
|
/* @__PURE__ */ e(fe, { sx: { mr: 8 }, children: /* @__PURE__ */ e(_i, { name: I.icon }) }),
|
|
11783
11787
|
/* @__PURE__ */ e(
|
|
11784
11788
|
oA,
|
|
@@ -11814,9 +11818,9 @@ const ga = p(
|
|
|
11814
11818
|
children: [
|
|
11815
11819
|
/* @__PURE__ */ e(J, { color: "text.secondary", sx: { mx: 24, my: 12 }, children: o.select_debt_accounts_description }),
|
|
11816
11820
|
/* @__PURE__ */ c(aA, { sx: { bgcolor: "background.white" }, children: [
|
|
11817
|
-
/* @__PURE__ */ e(
|
|
11821
|
+
/* @__PURE__ */ e(S, { variant: "fullWidth" }),
|
|
11818
11822
|
A.map((E, R) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
11819
|
-
/* @__PURE__ */ e(
|
|
11823
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => h(E), children: [
|
|
11820
11824
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(
|
|
11821
11825
|
Qe,
|
|
11822
11826
|
{
|
|
@@ -11833,7 +11837,7 @@ const ga = p(
|
|
|
11833
11837
|
),
|
|
11834
11838
|
/* @__PURE__ */ e(dn, { checked: s.some((C) => C.guid === E.guid) })
|
|
11835
11839
|
] }) }),
|
|
11836
|
-
/* @__PURE__ */ e(
|
|
11840
|
+
/* @__PURE__ */ e(S, { variant: R < A.length - 1 ? "inset" : "fullWidth" })
|
|
11837
11841
|
] }, E.guid))
|
|
11838
11842
|
] }),
|
|
11839
11843
|
/* @__PURE__ */ c(ze, { sx: { m: 24 }, children: [
|
|
@@ -11876,8 +11880,8 @@ const ga = p(
|
|
|
11876
11880
|
}
|
|
11877
11881
|
);
|
|
11878
11882
|
}, Wu = ({ onClose: A }) => {
|
|
11879
|
-
const { goals: t } = H(), { addGoal: n, debtGoals: i, setAlert: r, setSelectedGoal: o } = Ae(), { debtAccounts: a } = gA(), [s, d] = u.useState(!1), l =
|
|
11880
|
-
R ===
|
|
11883
|
+
const { goals: t } = H(), { addGoal: n, debtGoals: i, setAlert: r, setSelectedGoal: o } = Ae(), { debtAccounts: a } = gA(), [s, d] = u.useState(!1), l = Su(t), f = (I, E, R) => {
|
|
11884
|
+
R === V.DEBT_TRACK ? d(!0) : o({
|
|
11881
11885
|
amount: 0,
|
|
11882
11886
|
current_amount: 0,
|
|
11883
11887
|
goal_type: oi.SAVE_AMOUNT,
|
|
@@ -11899,10 +11903,10 @@ const ga = p(
|
|
|
11899
11903
|
meta_type: R,
|
|
11900
11904
|
monthly_payment: E.minimum_payment || 0,
|
|
11901
11905
|
name: E.name || E.feed_name || "",
|
|
11902
|
-
track_type:
|
|
11906
|
+
track_type: V.DEBT_TRACK
|
|
11903
11907
|
}), r(t.alert_goal_added);
|
|
11904
11908
|
}
|
|
11905
|
-
d(!1), A?.(
|
|
11909
|
+
d(!1), A?.(V.DEBT_TRACK);
|
|
11906
11910
|
};
|
|
11907
11911
|
return /* @__PURE__ */ c(g, { children: [
|
|
11908
11912
|
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: l.map((I, E) => /* @__PURE__ */ e(Uu, { goalType: I, onClick: f }, E)) }),
|
|
@@ -11919,7 +11923,7 @@ const ga = p(
|
|
|
11919
11923
|
] });
|
|
11920
11924
|
}, pa = ({ account: A }) => {
|
|
11921
11925
|
const { accounts: t } = H(), { setSelectedAccount: n } = Ce(), [i, r] = u.useState(!1);
|
|
11922
|
-
return /* @__PURE__ */ c(
|
|
11926
|
+
return /* @__PURE__ */ c(K, { sx: { bgcolor: "background.paper" }, children: [
|
|
11923
11927
|
/* @__PURE__ */ c(cA, { onClick: () => {
|
|
11924
11928
|
n(A), r(!0);
|
|
11925
11929
|
}, children: [
|
|
@@ -11940,15 +11944,15 @@ const ga = p(
|
|
|
11940
11944
|
/* @__PURE__ */ e(ve, {})
|
|
11941
11945
|
] }),
|
|
11942
11946
|
/* @__PURE__ */ e(fA, { isOpen: i, onClose: () => r(!1), title: t.account_details, children: /* @__PURE__ */ c(g, { children: [
|
|
11943
|
-
/* @__PURE__ */ e(
|
|
11947
|
+
/* @__PURE__ */ e(Gi, {}),
|
|
11944
11948
|
/* @__PURE__ */ e(ya, {})
|
|
11945
11949
|
] }) })
|
|
11946
11950
|
] });
|
|
11947
11951
|
}, ku = p(({ goal: A }) => {
|
|
11948
|
-
const { goals: t } = H(), { setAlert: n, setSelectedGoal: i, updateGoal: r } = Ae(), [o, a] = u.useState(A.amount), s = !A.guid, d = o < 0 || o > 9999999999e-2, l = async () => {
|
|
11949
|
-
const
|
|
11950
|
-
A.amount = o, s ? i(
|
|
11951
|
-
},
|
|
11952
|
+
const { goals: t } = H(), { setAlert: n, setSelectedGoal: i, updateGoal: r } = Ae(), [o, a] = u.useState(A.amount), s = !A.guid, d = o < 0 || o > 9999999999e-2, l = A.track_type === V.SAVINGS_TRACK && A.has_been_spent || A.track_type !== V.SAVINGS_TRACK && A.is_complete, f = async () => {
|
|
11953
|
+
const I = { ...A, amount: o };
|
|
11954
|
+
A.amount = o, s ? i(I) : (await r(I), n(t.alert_goal_updated_amount));
|
|
11955
|
+
}, h = () => {
|
|
11952
11956
|
setTimeout(() => {
|
|
11953
11957
|
a(A.amount);
|
|
11954
11958
|
}, 250);
|
|
@@ -11956,11 +11960,11 @@ const ga = p(
|
|
|
11956
11960
|
return /* @__PURE__ */ e(
|
|
11957
11961
|
je,
|
|
11958
11962
|
{
|
|
11959
|
-
isDisabled:
|
|
11963
|
+
isDisabled: l,
|
|
11960
11964
|
isSaveDisabled: d,
|
|
11961
11965
|
label: t.details_amount_to_save,
|
|
11962
|
-
onCancel:
|
|
11963
|
-
onSave:
|
|
11966
|
+
onCancel: h,
|
|
11967
|
+
onSave: f,
|
|
11964
11968
|
primaryText: t.details_amount_to_save,
|
|
11965
11969
|
secondaryText: T(A.amount, "0,0"),
|
|
11966
11970
|
zeroStateText: s && A.amount === 0 ? t.add_amount : void 0,
|
|
@@ -11972,7 +11976,7 @@ const ga = p(
|
|
|
11972
11976
|
error: d,
|
|
11973
11977
|
fullWidth: !0,
|
|
11974
11978
|
minAmount: 0,
|
|
11975
|
-
setAmount: (
|
|
11979
|
+
setAmount: (I) => a(isNaN(Number(I)) ? o : Number(I)),
|
|
11976
11980
|
sx: { ".MuiTypography-Body": { p: 0 } }
|
|
11977
11981
|
}
|
|
11978
11982
|
)
|
|
@@ -11984,7 +11988,7 @@ const ga = p(
|
|
|
11984
11988
|
d ? a(E) : (await s(E), o(r.alert_account_changed)), f(!1);
|
|
11985
11989
|
};
|
|
11986
11990
|
return /* @__PURE__ */ c(g, { children: [
|
|
11987
|
-
d ? /* @__PURE__ */ e(
|
|
11991
|
+
d ? /* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ c(cA, { onClick: () => f(!0), children: [
|
|
11988
11992
|
/* @__PURE__ */ e(oA, { children: /* @__PURE__ */ c(g, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
11989
11993
|
/* @__PURE__ */ e(Eo, { filled: !0 }),
|
|
11990
11994
|
r.details_add_account
|
|
@@ -12004,7 +12008,7 @@ const ga = p(
|
|
|
12004
12008
|
] }),
|
|
12005
12009
|
/* @__PURE__ */ e(fA, { isOpen: l, onClose: () => f(!1), title: r.details_change_account, children: /* @__PURE__ */ c(g, { children: [
|
|
12006
12010
|
/* @__PURE__ */ e(v, { bold: !0, sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: i.account_types[1] }),
|
|
12007
|
-
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: t.map((I) => /* @__PURE__ */ e(
|
|
12011
|
+
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: t.map((I) => /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => h(I.guid), children: [
|
|
12008
12012
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(
|
|
12009
12013
|
Qe,
|
|
12010
12014
|
{
|
|
@@ -12022,7 +12026,7 @@ const ga = p(
|
|
|
12022
12026
|
/* @__PURE__ */ e(ve, {})
|
|
12023
12027
|
] }) }, I.guid)) }),
|
|
12024
12028
|
/* @__PURE__ */ e(v, { bold: !0, sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: i.account_types[2] }),
|
|
12025
|
-
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: n.map((I) => /* @__PURE__ */ e(
|
|
12029
|
+
/* @__PURE__ */ e(aA, { sx: { bgcolor: "background.paper" }, children: n.map((I) => /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => h(I.guid), children: [
|
|
12026
12030
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(
|
|
12027
12031
|
Qe,
|
|
12028
12032
|
{
|
|
@@ -12042,10 +12046,10 @@ const ga = p(
|
|
|
12042
12046
|
] }) })
|
|
12043
12047
|
] });
|
|
12044
12048
|
}, Fu = p(({ goal: A }) => {
|
|
12045
|
-
const { goals: t } = H(), { setAlert: n, setSelectedGoal: i, updateGoal: r } = Ae(), [o, a] = u.useState(A.name), s = !A.guid, d = async () => {
|
|
12046
|
-
const
|
|
12047
|
-
A.name = o, s ? i(
|
|
12048
|
-
},
|
|
12049
|
+
const { goals: t } = H(), { setAlert: n, setSelectedGoal: i, updateGoal: r } = Ae(), [o, a] = u.useState(A.name), s = !A.guid, d = A.track_type === V.SAVINGS_TRACK && A.has_been_spent || A.track_type !== V.SAVINGS_TRACK && A.is_complete, l = async () => {
|
|
12050
|
+
const h = { ...A, name: o };
|
|
12051
|
+
A.name = o, s ? i(h) : (await r(h), n(t.alert_goal_updated_name));
|
|
12052
|
+
}, f = () => {
|
|
12049
12053
|
setTimeout(() => {
|
|
12050
12054
|
a(A.name);
|
|
12051
12055
|
}, 250);
|
|
@@ -12053,11 +12057,11 @@ const ga = p(
|
|
|
12053
12057
|
return /* @__PURE__ */ e(
|
|
12054
12058
|
je,
|
|
12055
12059
|
{
|
|
12056
|
-
isDisabled:
|
|
12060
|
+
isDisabled: d,
|
|
12057
12061
|
isSaveDisabled: !o,
|
|
12058
12062
|
label: t.details_goal_name,
|
|
12059
|
-
onCancel:
|
|
12060
|
-
onSave:
|
|
12063
|
+
onCancel: f,
|
|
12064
|
+
onSave: l,
|
|
12061
12065
|
primaryText: t.details_goal_name,
|
|
12062
12066
|
secondaryText: A.name,
|
|
12063
12067
|
children: /* @__PURE__ */ e(
|
|
@@ -12066,7 +12070,7 @@ const ga = p(
|
|
|
12066
12070
|
error: !o,
|
|
12067
12071
|
fullWidth: !0,
|
|
12068
12072
|
label: t.details_goal_name,
|
|
12069
|
-
onChange: (
|
|
12073
|
+
onChange: (h) => a(h.target.value),
|
|
12070
12074
|
value: o
|
|
12071
12075
|
}
|
|
12072
12076
|
)
|
|
@@ -12157,7 +12161,7 @@ const ga = p(
|
|
|
12157
12161
|
};
|
|
12158
12162
|
return /* @__PURE__ */ c(g, { children: [
|
|
12159
12163
|
h.map((R) => /* @__PURE__ */ e(pa, { account: R }, R.guid)),
|
|
12160
|
-
/* @__PURE__ */ e(
|
|
12164
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ c(cA, { onClick: () => l(!0), children: [
|
|
12161
12165
|
/* @__PURE__ */ e(oA, { children: /* @__PURE__ */ c(g, { alignItems: "center", color: "action.active", direction: "row", gap: 8, children: [
|
|
12162
12166
|
/* @__PURE__ */ e(Eo, { filled: !0 }),
|
|
12163
12167
|
t.details_add_account
|
|
@@ -12181,7 +12185,7 @@ const ga = p(
|
|
|
12181
12185
|
[n, A]
|
|
12182
12186
|
), r = A.track_type;
|
|
12183
12187
|
let o = t.details_save_title;
|
|
12184
|
-
return A.track_type ===
|
|
12188
|
+
return A.track_type === V.DEBT_TRACK ? o = t.details_debt_title : A.track_type === V.RETIREMENT_TRACK && (o = t.details_retirement_title), /* @__PURE__ */ c(g, { children: [
|
|
12185
12189
|
/* @__PURE__ */ c(g, { mx: 24, children: [
|
|
12186
12190
|
/* @__PURE__ */ e(v, { color: "text.secondary", sx: { mb: 4, mt: 24 }, variant: "XSmall", children: o }),
|
|
12187
12191
|
/* @__PURE__ */ e(ga, { goal: A, isInDrawer: !0 }),
|
|
@@ -12189,36 +12193,36 @@ const ga = p(
|
|
|
12189
12193
|
] }),
|
|
12190
12194
|
/* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
12191
12195
|
/* @__PURE__ */ e(Fu, { goal: A }),
|
|
12192
|
-
/* @__PURE__ */ e(
|
|
12193
|
-
(r ===
|
|
12196
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
12197
|
+
(r === V.SAVINGS_TRACK || r === V.RETIREMENT_TRACK) && /* @__PURE__ */ c(Y, { children: [
|
|
12194
12198
|
/* @__PURE__ */ e(ku, { goal: A }),
|
|
12195
|
-
/* @__PURE__ */ e(
|
|
12199
|
+
/* @__PURE__ */ e(S, { variant: r === V.RETIREMENT_TRACK ? "inset" : "fullWidth" })
|
|
12196
12200
|
] }),
|
|
12197
|
-
A.track_type ===
|
|
12201
|
+
A.track_type === V.DEBT_TRACK && /* @__PURE__ */ c(Y, { children: [
|
|
12198
12202
|
/* @__PURE__ */ e(Pa, { goal: A }),
|
|
12199
|
-
/* @__PURE__ */ e(
|
|
12203
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
12200
12204
|
/* @__PURE__ */ e(Ra, { goal: A }),
|
|
12201
|
-
/* @__PURE__ */ e(
|
|
12205
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
12202
12206
|
/* @__PURE__ */ e(Ca, { goal: A }),
|
|
12203
|
-
/* @__PURE__ */ e(
|
|
12207
|
+
/* @__PURE__ */ e(S, { variant: "fullWidth" })
|
|
12204
12208
|
] }),
|
|
12205
|
-
A.track_type ===
|
|
12209
|
+
A.track_type === V.RETIREMENT_TRACK && /* @__PURE__ */ c(Y, { children: [
|
|
12206
12210
|
/* @__PURE__ */ e(Zu, { goal: A }),
|
|
12207
|
-
/* @__PURE__ */ e(
|
|
12211
|
+
/* @__PURE__ */ e(S, { variant: "inset" }),
|
|
12208
12212
|
/* @__PURE__ */ e(Ju, { goal: A }),
|
|
12209
|
-
/* @__PURE__ */ e(
|
|
12213
|
+
/* @__PURE__ */ e(S, { variant: "fullWidth" })
|
|
12210
12214
|
] })
|
|
12211
12215
|
] }),
|
|
12212
|
-
/* @__PURE__ */ e(v, { color: "text.secondary", sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: A.track_type ===
|
|
12216
|
+
/* @__PURE__ */ e(v, { color: "text.secondary", sx: { mb: 4, ml: 24, mt: 12 }, variant: "XSmall", children: A.track_type === V.RETIREMENT_TRACK ? t.details_accounts : t.details_account }),
|
|
12213
12217
|
i && /* @__PURE__ */ c(Y, { children: [
|
|
12214
12218
|
/* @__PURE__ */ e(pa, { account: i }),
|
|
12215
|
-
/* @__PURE__ */ e(
|
|
12219
|
+
/* @__PURE__ */ e(S, {})
|
|
12216
12220
|
] }),
|
|
12217
|
-
A.track_type ===
|
|
12221
|
+
A.track_type === V.RETIREMENT_TRACK && /* @__PURE__ */ c(Y, { children: [
|
|
12218
12222
|
/* @__PURE__ */ e(_u, { goal: A }),
|
|
12219
|
-
/* @__PURE__ */ e(
|
|
12223
|
+
/* @__PURE__ */ e(S, {})
|
|
12220
12224
|
] }),
|
|
12221
|
-
A.track_type ===
|
|
12225
|
+
A.track_type === V.SAVINGS_TRACK && !A.is_complete && /* @__PURE__ */ e(Ku, { goal: A })
|
|
12222
12226
|
] });
|
|
12223
12227
|
}), AI = p(({ onClose: A }) => {
|
|
12224
12228
|
const { goals: t, common: n } = H(), {
|
|
@@ -12230,16 +12234,16 @@ const ga = p(
|
|
|
12230
12234
|
setAlert: d,
|
|
12231
12235
|
setSelectedGoal: l,
|
|
12232
12236
|
updateGoal: f
|
|
12233
|
-
} = Ae(), { user: h } = Ct(), [I, E] = u.useState(!1), R = !s?.guid, C = s?.track_type ===
|
|
12237
|
+
} = Ae(), { user: h } = Ct(), [I, E] = u.useState(!1), R = !s?.guid, C = s?.track_type === V.SAVINGS_TRACK && s.is_complete && !s.is_spendable, P = u.useMemo(() => s ? s.track_type === V.SAVINGS_TRACK ? !!s.name && !!s.amount : s.track_type === V.DEBT_TRACK ? !0 : s.track_type === V.RETIREMENT_TRACK ? !!s.name && !!s.amount && !!s.retirement_age && !!h.birthday : !0 : !1, [s]);
|
|
12234
12238
|
let m = n.delete_button, L = () => E(!0);
|
|
12235
12239
|
R ? (L = () => z(), m = n.save_button) : C && (L = () => D(), m = t.mark_as_complete_button);
|
|
12236
12240
|
const z = async () => {
|
|
12237
12241
|
if (s) {
|
|
12238
12242
|
const X = s.track_type;
|
|
12239
|
-
X !==
|
|
12243
|
+
X !== V.RETIREMENT_TRACK ? await i(s) : X === V.RETIREMENT_TRACK && await r({ ...s, target_amount: s.amount }), d(t.alert_goal_added), l(void 0), X && A?.(X);
|
|
12240
12244
|
}
|
|
12241
12245
|
}, w = async () => {
|
|
12242
|
-
s && (s.track_type !==
|
|
12246
|
+
s && (s.track_type !== V.RETIREMENT_TRACK ? await o(s.guid) : s.track_type === V.RETIREMENT_TRACK && await a(s), d(t.alert_goal_deleted), l(void 0));
|
|
12243
12247
|
}, D = async () => {
|
|
12244
12248
|
const X = {
|
|
12245
12249
|
...s,
|
|
@@ -12278,7 +12282,7 @@ const ga = p(
|
|
|
12278
12282
|
)
|
|
12279
12283
|
] });
|
|
12280
12284
|
}), A1 = p(({ onBackClick: A, sx: t }) => {
|
|
12281
|
-
const { onEvent: n } =
|
|
12285
|
+
const { onEvent: n } = F(), { isMobile: i } = QA(), { accounts: r } = gA(), { isInitialized: o, setSelectedAccounts: a } = bA(), { goals: s, common: d } = H(), { alert: l, loadGoals: f, monthlyCashFlowProfile: h, setAlert: I } = Ae(), [E, R] = u.useState(0), [C, P] = u.useState(!1), m = h?.amount_allocated_for_savings_goals || 0, L = h?.amount_allocated_for_debt_goals || 0, z = h?.amount_allocated_for_retirement_goals || 0, w = y(
|
|
12282
12286
|
i ? s.tab_subtitle_mobile : s.tab_subtitle,
|
|
12283
12287
|
T(m, "0,0")
|
|
12284
12288
|
), D = y(
|
|
@@ -12289,16 +12293,16 @@ const ga = p(
|
|
|
12289
12293
|
T(z, "0,0")
|
|
12290
12294
|
);
|
|
12291
12295
|
u.useEffect(() => {
|
|
12292
|
-
a(r), n(
|
|
12296
|
+
a(r), n(G.GOALS_VIEW);
|
|
12293
12297
|
}, []), u.useEffect(() => {
|
|
12294
12298
|
o && f().finally();
|
|
12295
12299
|
}, [o]);
|
|
12296
12300
|
const x = () => {
|
|
12297
|
-
n(
|
|
12301
|
+
n(G.GOALS_CLICK_FILTER);
|
|
12298
12302
|
}, N = () => {
|
|
12299
|
-
P(!0), n(
|
|
12303
|
+
P(!0), n(G.GOALS_CLICK_ADD);
|
|
12300
12304
|
}, M = (AA) => {
|
|
12301
|
-
P(!1), AA ===
|
|
12305
|
+
P(!1), AA === V.SAVINGS_TRACK ? R(0) : AA === V.DEBT_TRACK ? R(1) : AA === V.RETIREMENT_TRACK && R(2);
|
|
12302
12306
|
};
|
|
12303
12307
|
return /* @__PURE__ */ c(
|
|
12304
12308
|
Re,
|
|
@@ -12321,7 +12325,7 @@ const ga = p(
|
|
|
12321
12325
|
/* @__PURE__ */ c(
|
|
12322
12326
|
qe,
|
|
12323
12327
|
{
|
|
12324
|
-
onChange: (AA,
|
|
12328
|
+
onChange: (AA, k) => R(k),
|
|
12325
12329
|
sx: { bgcolor: "background.paper" },
|
|
12326
12330
|
value: E,
|
|
12327
12331
|
variant: "fullWidth",
|
|
@@ -12337,9 +12341,9 @@ const ga = p(
|
|
|
12337
12341
|
]
|
|
12338
12342
|
}
|
|
12339
12343
|
),
|
|
12340
|
-
E === 0 && /* @__PURE__ */ e(Kn, { trackType:
|
|
12341
|
-
E === 1 && /* @__PURE__ */ e(Kn, { trackType:
|
|
12342
|
-
E === 2 && /* @__PURE__ */ e(Kn, { trackType:
|
|
12344
|
+
E === 0 && /* @__PURE__ */ e(Kn, { trackType: V.SAVINGS_TRACK }),
|
|
12345
|
+
E === 1 && /* @__PURE__ */ e(Kn, { trackType: V.DEBT_TRACK }),
|
|
12346
|
+
E === 2 && /* @__PURE__ */ e(Kn, { trackType: V.RETIREMENT_TRACK })
|
|
12343
12347
|
] }),
|
|
12344
12348
|
/* @__PURE__ */ e(AI, { onClose: M }),
|
|
12345
12349
|
/* @__PURE__ */ e(
|
|
@@ -12385,18 +12389,18 @@ class eI {
|
|
|
12385
12389
|
return this.goals.slice().sort((t, n) => t.position - n.position);
|
|
12386
12390
|
}
|
|
12387
12391
|
get debtGoals() {
|
|
12388
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
12392
|
+
return this.orderedGoals.filter((t) => t.track_type === V.DEBT_TRACK);
|
|
12389
12393
|
}
|
|
12390
12394
|
get retirmentGoals() {
|
|
12391
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
12395
|
+
return this.orderedGoals.filter((t) => t.track_type === V.RETIREMENT_TRACK);
|
|
12392
12396
|
}
|
|
12393
12397
|
get savingGoals() {
|
|
12394
|
-
return this.orderedGoals.filter((t) => t.track_type ===
|
|
12398
|
+
return this.orderedGoals.filter((t) => t.track_type === V.SAVINGS_TRACK);
|
|
12395
12399
|
}
|
|
12396
12400
|
addGoal = async (t) => {
|
|
12397
12401
|
try {
|
|
12398
12402
|
const n = await this.api.addGoal(t);
|
|
12399
|
-
|
|
12403
|
+
W(() => {
|
|
12400
12404
|
this.goals = [...this.goals, n];
|
|
12401
12405
|
});
|
|
12402
12406
|
} catch (n) {
|
|
@@ -12414,14 +12418,14 @@ class eI {
|
|
|
12414
12418
|
});
|
|
12415
12419
|
r.push(a);
|
|
12416
12420
|
}
|
|
12417
|
-
this.setNewRetirementGoalAccounts([]),
|
|
12421
|
+
this.setNewRetirementGoalAccounts([]), W(() => {
|
|
12418
12422
|
this.goals = [
|
|
12419
12423
|
...this.goals,
|
|
12420
12424
|
{
|
|
12421
12425
|
...i,
|
|
12422
12426
|
amount: i.target_amount,
|
|
12423
12427
|
name: n.retirement,
|
|
12424
|
-
track_type:
|
|
12428
|
+
track_type: V.RETIREMENT_TRACK
|
|
12425
12429
|
}
|
|
12426
12430
|
], this.retirementGoalAccounts = [...this.retirementGoalAccounts, ...r];
|
|
12427
12431
|
});
|
|
@@ -12432,7 +12436,7 @@ class eI {
|
|
|
12432
12436
|
addRetirementGoalAccount = async (t) => {
|
|
12433
12437
|
try {
|
|
12434
12438
|
const n = await this.api.addRetirementGoalAccount(t);
|
|
12435
|
-
|
|
12439
|
+
W(() => {
|
|
12436
12440
|
this.retirementGoalAccounts = [...this.retirementGoalAccounts, n];
|
|
12437
12441
|
});
|
|
12438
12442
|
} catch (n) {
|
|
@@ -12448,10 +12452,10 @@ class eI {
|
|
|
12448
12452
|
...s,
|
|
12449
12453
|
amount: s.target_amount,
|
|
12450
12454
|
name: t.retirement,
|
|
12451
|
-
track_type:
|
|
12455
|
+
track_type: V.RETIREMENT_TRACK
|
|
12452
12456
|
}))
|
|
12453
12457
|
];
|
|
12454
|
-
|
|
12458
|
+
W(() => {
|
|
12455
12459
|
this.goals = a, this.retirementGoalAccounts = r, this.monthlyCashFlowProfile = o;
|
|
12456
12460
|
});
|
|
12457
12461
|
} catch (n) {
|
|
@@ -12460,7 +12464,7 @@ class eI {
|
|
|
12460
12464
|
};
|
|
12461
12465
|
deleteGoal = async (t) => {
|
|
12462
12466
|
try {
|
|
12463
|
-
await this.api.removeGoal(t),
|
|
12467
|
+
await this.api.removeGoal(t), W(() => {
|
|
12464
12468
|
const n = this.goals.findIndex((i) => i.guid === t);
|
|
12465
12469
|
n >= 0 && this.goals.splice(n, 1);
|
|
12466
12470
|
});
|
|
@@ -12475,7 +12479,7 @@ class eI {
|
|
|
12475
12479
|
);
|
|
12476
12480
|
for (const i of n)
|
|
12477
12481
|
await this.deleteRetirementGoalAccount(i.guid);
|
|
12478
|
-
await this.api.removeRetirementGoal(t.guid),
|
|
12482
|
+
await this.api.removeRetirementGoal(t.guid), W(() => {
|
|
12479
12483
|
const i = this.goals.findIndex((r) => r.guid === t.guid);
|
|
12480
12484
|
i >= 0 && this.goals.splice(i, 1);
|
|
12481
12485
|
});
|
|
@@ -12485,7 +12489,7 @@ class eI {
|
|
|
12485
12489
|
};
|
|
12486
12490
|
deleteRetirementGoalAccount = async (t) => {
|
|
12487
12491
|
try {
|
|
12488
|
-
await this.api.removeRetirementGoalAccount(t),
|
|
12492
|
+
await this.api.removeRetirementGoalAccount(t), W(() => {
|
|
12489
12493
|
const n = this.retirementGoalAccounts.findIndex((i) => i.guid === t);
|
|
12490
12494
|
n >= 0 && this.retirementGoalAccounts.splice(n, 1);
|
|
12491
12495
|
});
|
|
@@ -12496,7 +12500,7 @@ class eI {
|
|
|
12496
12500
|
reorderGoals = async (t) => {
|
|
12497
12501
|
try {
|
|
12498
12502
|
const n = await this.api.reorderGoals(t);
|
|
12499
|
-
|
|
12503
|
+
W(() => {
|
|
12500
12504
|
for (const i of n) {
|
|
12501
12505
|
const r = this.goals.findIndex((o) => o.guid === i.guid);
|
|
12502
12506
|
r >= 0 && (this.goals[r].position = i.position);
|
|
@@ -12514,7 +12518,7 @@ class eI {
|
|
|
12514
12518
|
updateGoal = async (t) => {
|
|
12515
12519
|
try {
|
|
12516
12520
|
const n = await this.api.updateGoal(t);
|
|
12517
|
-
|
|
12521
|
+
W(() => {
|
|
12518
12522
|
const i = this.goals.findIndex((r) => r.guid === t.guid);
|
|
12519
12523
|
i >= 0 && (this.goals[i] = n), this.selectedGoal?.guid === t.guid && this.setSelectedGoal(n);
|
|
12520
12524
|
});
|
|
@@ -12525,7 +12529,7 @@ class eI {
|
|
|
12525
12529
|
updateMonthlyCashFlowProfile = async (t) => {
|
|
12526
12530
|
try {
|
|
12527
12531
|
const n = await this.api.updateMonthlyCashFlowProfile(t);
|
|
12528
|
-
|
|
12532
|
+
W(() => {
|
|
12529
12533
|
this.monthlyCashFlowProfile = n;
|
|
12530
12534
|
});
|
|
12531
12535
|
} catch (n) {
|
|
@@ -12812,11 +12816,11 @@ const oI = /^[ a-zA-ZÀ-ÿ0-9]+$/, aI = 50, Yr = 65, sI = ({
|
|
|
12812
12816
|
sx: { transform: `translateY(${I.start}px)` },
|
|
12813
12817
|
width: "100%",
|
|
12814
12818
|
children: [
|
|
12815
|
-
/* @__PURE__ */ e(
|
|
12819
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, children: /* @__PURE__ */ c(cA, { onClick: () => d(E.guid), children: [
|
|
12816
12820
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(dt, { categoryGuid: "", merchantGuid: E.guid }) }),
|
|
12817
12821
|
/* @__PURE__ */ e(oA, { primary: E.name })
|
|
12818
12822
|
] }) }),
|
|
12819
|
-
/* @__PURE__ */ e(
|
|
12823
|
+
/* @__PURE__ */ e(S, { sx: { ml: 24 } })
|
|
12820
12824
|
]
|
|
12821
12825
|
},
|
|
12822
12826
|
E.guid
|
|
@@ -12852,13 +12856,13 @@ class cI {
|
|
|
12852
12856
|
loadMerchants = async (t = "") => {
|
|
12853
12857
|
this.isLoading = !0;
|
|
12854
12858
|
const n = await this.api.getMerchants([t]);
|
|
12855
|
-
|
|
12859
|
+
W(() => {
|
|
12856
12860
|
this.merchants = n, this.isLoading = !1;
|
|
12857
12861
|
});
|
|
12858
12862
|
};
|
|
12859
12863
|
loadMerchantByGuid = async (t) => {
|
|
12860
12864
|
const n = await this.api.getMerchantByGuid(t);
|
|
12861
|
-
|
|
12865
|
+
W(() => this.merchant = n);
|
|
12862
12866
|
};
|
|
12863
12867
|
}
|
|
12864
12868
|
const Ha = 13, dI = (A, t) => A.filter((n) => {
|
|
@@ -12954,7 +12958,7 @@ class vI {
|
|
|
12954
12958
|
const n = this.globalStore.accountStore.members, i = dI(t, n), o = await (await Promise.all(
|
|
12955
12959
|
i.map((a) => this.globalStore.accountStore.api.getMonthlyAccountBalances(a.guid))
|
|
12956
12960
|
)).reduce(lI, []).sort(fI);
|
|
12957
|
-
|
|
12961
|
+
W(() => {
|
|
12958
12962
|
this.netWorthData = {
|
|
12959
12963
|
accounts: i,
|
|
12960
12964
|
monthlyAccountBalances: o
|
|
@@ -12967,7 +12971,7 @@ class vI {
|
|
|
12967
12971
|
loadChartData = async (t) => {
|
|
12968
12972
|
try {
|
|
12969
12973
|
const { accounts: n, monthlyAccountBalances: i } = this.netWorthData, r = await uI(n, i, t), o = Ur(r);
|
|
12970
|
-
|
|
12974
|
+
W(() => {
|
|
12971
12975
|
this.netWorthChartData = r, this.selectedData = o;
|
|
12972
12976
|
});
|
|
12973
12977
|
} catch (n) {
|
|
@@ -12990,12 +12994,12 @@ class vI {
|
|
|
12990
12994
|
};
|
|
12991
12995
|
}
|
|
12992
12996
|
setSelectedData = (t) => {
|
|
12993
|
-
|
|
12997
|
+
W(() => {
|
|
12994
12998
|
this.selectedData = this.netWorthChartData[t];
|
|
12995
12999
|
});
|
|
12996
13000
|
};
|
|
12997
13001
|
setHoveredData = (t) => {
|
|
12998
|
-
|
|
13002
|
+
W(() => {
|
|
12999
13003
|
this.hoveredData = t !== null ? this.netWorthChartData[t] : void 0;
|
|
13000
13004
|
});
|
|
13001
13005
|
};
|
|
@@ -13049,7 +13053,7 @@ const RI = ({
|
|
|
13049
13053
|
d(t(A));
|
|
13050
13054
|
}, [n, i]), /* @__PURE__ */ c(u.Fragment, { children: [
|
|
13051
13055
|
/* @__PURE__ */ e(
|
|
13052
|
-
|
|
13056
|
+
K,
|
|
13053
13057
|
{
|
|
13054
13058
|
sx: {
|
|
13055
13059
|
...s,
|
|
@@ -13076,7 +13080,7 @@ const RI = ({
|
|
|
13076
13080
|
)
|
|
13077
13081
|
}
|
|
13078
13082
|
),
|
|
13079
|
-
/* @__PURE__ */ e(
|
|
13083
|
+
/* @__PURE__ */ e(S, {})
|
|
13080
13084
|
] }, A.x);
|
|
13081
13085
|
}, gI = p(CI), bI = ({
|
|
13082
13086
|
chartData: A,
|
|
@@ -13099,7 +13103,7 @@ const RI = ({
|
|
|
13099
13103
|
return /* @__PURE__ */ c(g, { direction: "column", width: 320, children: [
|
|
13100
13104
|
/* @__PURE__ */ c(aA, { children: [
|
|
13101
13105
|
/* @__PURE__ */ e(Xe, { sx: { backgroundColor: "transparent", mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(v, { bold: !0, component: "h2", variant: "Body", children: s.monthly_totals }) }),
|
|
13102
|
-
/* @__PURE__ */ e(
|
|
13106
|
+
/* @__PURE__ */ e(S, {}),
|
|
13103
13107
|
A.map((f, h) => /* @__PURE__ */ e(
|
|
13104
13108
|
gI,
|
|
13105
13109
|
{
|
|
@@ -13147,7 +13151,7 @@ const RI = ({
|
|
|
13147
13151
|
/* @__PURE__ */ e(v, { variant: "Small", children: A })
|
|
13148
13152
|
] });
|
|
13149
13153
|
}, Mi = p(HI), mI = ({ hoveredData: A, selectedData: t }) => {
|
|
13150
|
-
const { net_worth: n } = H(), i = _A(), r = A || t, o =
|
|
13154
|
+
const { net_worth: n } = H(), i = _A(), r = A || t, o = Ss(Kt(r.x), "MMMM");
|
|
13151
13155
|
return /* @__PURE__ */ c(g, { alignItems: "center", direction: "column", m: 24, children: [
|
|
13152
13156
|
/* @__PURE__ */ e(v, { color: i.palette.secondary.main, variant: "Small", children: `${o} ${n.net_worth}` }),
|
|
13153
13157
|
/* @__PURE__ */ e(xA, { amount: r.y, variant: "H2" }),
|
|
@@ -13156,7 +13160,7 @@ const RI = ({
|
|
|
13156
13160
|
}, yI = p(mI), zI = ({ accounts: A, name: t, icon: n }) => {
|
|
13157
13161
|
const [i, r] = u.useState(!1);
|
|
13158
13162
|
return /* @__PURE__ */ c(Y, { children: [
|
|
13159
|
-
/* @__PURE__ */ e(
|
|
13163
|
+
/* @__PURE__ */ e(K, { sx: (o) => ({ backgroundColor: o.palette.background.paper }), children: /* @__PURE__ */ c(cA, { onClick: () => r(!i), children: [
|
|
13160
13164
|
n && /* @__PURE__ */ e(fe, { children: /* @__PURE__ */ e(j, { name: n, size: 24, sx: { mr: 12 } }) }),
|
|
13161
13165
|
/* @__PURE__ */ e(
|
|
13162
13166
|
oA,
|
|
@@ -13166,9 +13170,9 @@ const RI = ({
|
|
|
13166
13170
|
),
|
|
13167
13171
|
/* @__PURE__ */ e(fe, { children: i ? /* @__PURE__ */ e(j, { name: "expand_less", size: 24 }) : /* @__PURE__ */ e(j, { name: "expand_more", size: 24 }) })
|
|
13168
13172
|
] }) }),
|
|
13169
|
-
/* @__PURE__ */ e(
|
|
13173
|
+
/* @__PURE__ */ e(S, {}),
|
|
13170
13174
|
/* @__PURE__ */ e(yn, { in: i, timeout: "auto", unmountOnExit: !0, children: A.map((o, a) => /* @__PURE__ */ c(aA, { children: [
|
|
13171
|
-
/* @__PURE__ */ e(
|
|
13175
|
+
/* @__PURE__ */ e(K, { sx: () => ({ py: 14 }), children: /* @__PURE__ */ e(
|
|
13172
13176
|
oA,
|
|
13173
13177
|
{
|
|
13174
13178
|
primary: /* @__PURE__ */ c(g, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
@@ -13178,7 +13182,7 @@ const RI = ({
|
|
|
13178
13182
|
sx: { pl: 72, pr: 16 }
|
|
13179
13183
|
}
|
|
13180
13184
|
) }),
|
|
13181
|
-
a < A.length - 1 ? /* @__PURE__ */ e(
|
|
13185
|
+
a < A.length - 1 ? /* @__PURE__ */ e(S, { variant: "inset" }) : /* @__PURE__ */ e(S, {})
|
|
13182
13186
|
] }, o.accountName)) })
|
|
13183
13187
|
] });
|
|
13184
13188
|
}, kr = ({ groupedAccounts: A }) => /* @__PURE__ */ e(Y, { children: A.map(({ accounts: t, icon: n, name: i }) => /* @__PURE__ */ e(zI, { accounts: t, icon: n, name: i }, i)) }), wI = ({
|
|
@@ -13264,7 +13268,7 @@ const RI = ({
|
|
|
13264
13268
|
}
|
|
13265
13269
|
) }),
|
|
13266
13270
|
t?.map((s) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
13267
|
-
/* @__PURE__ */ e(
|
|
13271
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: a.palette.background.paper, py: 14 }, children: /* @__PURE__ */ e(
|
|
13268
13272
|
oA,
|
|
13269
13273
|
{
|
|
13270
13274
|
primary: /* @__PURE__ */ c(g, { direction: "row", justifyContent: "space-between", sx: { fontWeight: 400 }, children: [
|
|
@@ -13281,7 +13285,7 @@ const RI = ({
|
|
|
13281
13285
|
sx: { px: 16 }
|
|
13282
13286
|
}
|
|
13283
13287
|
) }),
|
|
13284
|
-
/* @__PURE__ */ e(
|
|
13288
|
+
/* @__PURE__ */ e(S, {})
|
|
13285
13289
|
] }, s.accountName)),
|
|
13286
13290
|
/* @__PURE__ */ e(Xe, { sx: { mb: 8, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(
|
|
13287
13291
|
oA,
|
|
@@ -13294,7 +13298,7 @@ const RI = ({
|
|
|
13294
13298
|
) }),
|
|
13295
13299
|
n?.map((s) => /* @__PURE__ */ c(Y, { children: [
|
|
13296
13300
|
/* @__PURE__ */ e(
|
|
13297
|
-
|
|
13301
|
+
K,
|
|
13298
13302
|
{
|
|
13299
13303
|
sx: { backgroundColor: a.palette.background.paper, py: 14 },
|
|
13300
13304
|
children: /* @__PURE__ */ e(
|
|
@@ -13310,7 +13314,7 @@ const RI = ({
|
|
|
13310
13314
|
},
|
|
13311
13315
|
s.accountName
|
|
13312
13316
|
),
|
|
13313
|
-
/* @__PURE__ */ e(
|
|
13317
|
+
/* @__PURE__ */ e(S, {})
|
|
13314
13318
|
] }))
|
|
13315
13319
|
] })
|
|
13316
13320
|
] });
|
|
@@ -13325,33 +13329,33 @@ const RI = ({
|
|
|
13325
13329
|
selectedData: I,
|
|
13326
13330
|
setHoveredData: E,
|
|
13327
13331
|
setSelectedData: R
|
|
13328
|
-
} = vd(), { isMobile: C } = QA(), { onEvent: P } =
|
|
13332
|
+
} = vd(), { isMobile: C } = QA(), { onEvent: P } = F(), [m, L] = u.useState(!1), [z, w] = u.useState(6), [D, X] = u.useState(!1), [x, N] = u.useState(!1), M = async () => {
|
|
13329
13333
|
await f(n), await l(z), L(!0);
|
|
13330
13334
|
};
|
|
13331
13335
|
u.useEffect(() => {
|
|
13332
|
-
P(
|
|
13336
|
+
P(G.NET_WORTH_VIEW), i(o);
|
|
13333
13337
|
}, []), u.useEffect(() => {
|
|
13334
13338
|
t && M();
|
|
13335
13339
|
}, [t, n]), u.useEffect(() => {
|
|
13336
|
-
P(
|
|
13340
|
+
P(G.NET_WORTH_WIDGET_CLICK_TIMEFRAME, { time_period: z + "M" }), l(z);
|
|
13337
13341
|
}, [z]);
|
|
13338
13342
|
const AA = (lA, pA) => {
|
|
13339
13343
|
R(pA), lA.currentTarget instanceof HTMLDivElement && X(!0);
|
|
13340
|
-
},
|
|
13344
|
+
}, k = (lA) => {
|
|
13341
13345
|
E(lA);
|
|
13342
13346
|
}, $ = () => {
|
|
13343
13347
|
E(null);
|
|
13344
13348
|
}, iA = () => {
|
|
13345
|
-
P(
|
|
13349
|
+
P(G.NET_WORTH_WIDGET_CLICK_ASSETS_LIABILITIES), N(!0);
|
|
13346
13350
|
}, tA = async (lA) => {
|
|
13347
13351
|
const pA = lA[0], re = lA[1];
|
|
13348
|
-
pA && re && w(
|
|
13352
|
+
pA && re && w(Gs(re, pA));
|
|
13349
13353
|
}, vA = {
|
|
13350
13354
|
chartData: h,
|
|
13351
13355
|
hoveredData: d,
|
|
13352
13356
|
onButtonClick: iA,
|
|
13353
13357
|
onDataClick: AA,
|
|
13354
|
-
onMouseEnter:
|
|
13358
|
+
onMouseEnter: k,
|
|
13355
13359
|
onMouseLeave: $,
|
|
13356
13360
|
selectedData: I
|
|
13357
13361
|
};
|
|
@@ -13363,7 +13367,7 @@ const RI = ({
|
|
|
13363
13367
|
onRangeChanged: tA
|
|
13364
13368
|
},
|
|
13365
13369
|
dateRangeVariant: C ? "timeframetabs" : "timeframebuttons",
|
|
13366
|
-
onAccountsFilterClick: () => P(
|
|
13370
|
+
onAccountsFilterClick: () => P(G.NET_WORTH_WIDGET_CLICK_FILTER),
|
|
13367
13371
|
onBackClick: A,
|
|
13368
13372
|
showDividerAboveDateSelector: !1,
|
|
13369
13373
|
sx: { p: C ? 0 : 48 },
|
|
@@ -13453,7 +13457,7 @@ class QI {
|
|
|
13453
13457
|
try {
|
|
13454
13458
|
this.isLoading = !0;
|
|
13455
13459
|
const t = await this.api.getNotifications();
|
|
13456
|
-
|
|
13460
|
+
W(() => {
|
|
13457
13461
|
this.notifications = t, this.recentNotifications = XI(t), this.isLoading = !1;
|
|
13458
13462
|
});
|
|
13459
13463
|
} catch (t) {
|
|
@@ -13522,7 +13526,7 @@ const OI = (A, t) => {
|
|
|
13522
13526
|
/* @__PURE__ */ e(qI, { notification: A }),
|
|
13523
13527
|
/* @__PURE__ */ e(v, { bold: !A.has_been_viewed, truncate: !1, variant: "Small", children: A.content })
|
|
13524
13528
|
] });
|
|
13525
|
-
}, NI = ({ date: A }) => /* @__PURE__ */ e(Q, { sx: { display: "flex", justifyContent: "center", mt: 12, py: 8 }, children: /* @__PURE__ */ e(v, { bold: !0, variant: "Small", children: Dn(A) }) }),
|
|
13529
|
+
}, NI = ({ date: A }) => /* @__PURE__ */ e(Q, { sx: { display: "flex", justifyContent: "center", mt: 12, py: 8 }, children: /* @__PURE__ */ e(v, { bold: !0, variant: "Small", children: Dn(A) }) }), SI = ({ onClick: A }) => {
|
|
13526
13530
|
const { isLoading: t, recentNotifications: n, markAllAsViewed: i } = Yo(), { notifications: r } = H(), o = (a) => {
|
|
13527
13531
|
A?.(a);
|
|
13528
13532
|
};
|
|
@@ -13542,7 +13546,7 @@ const OI = (A, t) => {
|
|
|
13542
13546
|
] }, a.guid);
|
|
13543
13547
|
})
|
|
13544
13548
|
] });
|
|
13545
|
-
}, i1 = p(
|
|
13549
|
+
}, i1 = p(SI);
|
|
13546
13550
|
class Kr {
|
|
13547
13551
|
fetchInstance;
|
|
13548
13552
|
constructor(t, n) {
|
|
@@ -13555,7 +13559,7 @@ class Kr {
|
|
|
13555
13559
|
updateDevice = async (t) => this.fetchInstance.put(`${O.DEVICES}/${t.guid}`, t).then((n) => n.device);
|
|
13556
13560
|
updateNotificationProfile = async (t) => this.fetchInstance.put(`${O.NOTIFICATION_PROFILES}/${t.guid}`, t).then((n) => n.notification_profile);
|
|
13557
13561
|
}
|
|
13558
|
-
class
|
|
13562
|
+
class GI {
|
|
13559
13563
|
api = new Kr("/", "");
|
|
13560
13564
|
devices = [];
|
|
13561
13565
|
notificationProfiles = [];
|
|
@@ -13578,7 +13582,7 @@ class SI {
|
|
|
13578
13582
|
loadDevices = async () => {
|
|
13579
13583
|
try {
|
|
13580
13584
|
const t = await this.api.getDevices();
|
|
13581
|
-
|
|
13585
|
+
W(() => {
|
|
13582
13586
|
this.devices = t;
|
|
13583
13587
|
});
|
|
13584
13588
|
} catch (t) {
|
|
@@ -13588,7 +13592,7 @@ class SI {
|
|
|
13588
13592
|
loadNotificationProfiles = async () => {
|
|
13589
13593
|
try {
|
|
13590
13594
|
const t = await this.api.getNotificationProfiles();
|
|
13591
|
-
|
|
13595
|
+
W(() => {
|
|
13592
13596
|
this.notificationProfiles = t;
|
|
13593
13597
|
});
|
|
13594
13598
|
} catch (t) {
|
|
@@ -13599,7 +13603,7 @@ class SI {
|
|
|
13599
13603
|
try {
|
|
13600
13604
|
await this.api.deleteDevice(t);
|
|
13601
13605
|
const n = this.devices.findIndex((i) => i.guid === t);
|
|
13602
|
-
n >= 0 &&
|
|
13606
|
+
n >= 0 && W(() => {
|
|
13603
13607
|
this.devices.splice(n, 1);
|
|
13604
13608
|
});
|
|
13605
13609
|
} catch {
|
|
@@ -13616,7 +13620,7 @@ class SI {
|
|
|
13616
13620
|
updateDevice = async (t) => {
|
|
13617
13621
|
try {
|
|
13618
13622
|
const n = await this.api.updateDevice(t), i = this.devices.findIndex((r) => r.guid === t.guid);
|
|
13619
|
-
i >= 0 &&
|
|
13623
|
+
i >= 0 && W(() => {
|
|
13620
13624
|
this.devices[i] = n;
|
|
13621
13625
|
});
|
|
13622
13626
|
} catch (n) {
|
|
@@ -13626,7 +13630,7 @@ class SI {
|
|
|
13626
13630
|
updateNotificationProfile = async (t) => {
|
|
13627
13631
|
try {
|
|
13628
13632
|
const n = await this.api.updateNotificationProfile(t), i = this.notificationProfiles.findIndex((r) => r.guid === t.guid);
|
|
13629
|
-
i >= 0 &&
|
|
13633
|
+
i >= 0 && W(() => {
|
|
13630
13634
|
this.notificationProfiles[i] = n;
|
|
13631
13635
|
});
|
|
13632
13636
|
} catch (n) {
|
|
@@ -13733,7 +13737,7 @@ const YI = {
|
|
|
13733
13737
|
}
|
|
13734
13738
|
)
|
|
13735
13739
|
] }) }),
|
|
13736
|
-
n && /* @__PURE__ */ e(
|
|
13740
|
+
n && /* @__PURE__ */ e(S, {})
|
|
13737
13741
|
] });
|
|
13738
13742
|
}, Et = ({
|
|
13739
13743
|
altImage: A,
|
|
@@ -13773,7 +13777,7 @@ const YI = {
|
|
|
13773
13777
|
),
|
|
13774
13778
|
/* @__PURE__ */ e(NA, { item: !0, lg: 12 - r, md: 12, sm: 12, xs: 12, children: t })
|
|
13775
13779
|
] }) }),
|
|
13776
|
-
n && /* @__PURE__ */ e(
|
|
13780
|
+
n && /* @__PURE__ */ e(S, {})
|
|
13777
13781
|
] });
|
|
13778
13782
|
}, Ut = ({
|
|
13779
13783
|
content: A,
|
|
@@ -13781,7 +13785,7 @@ const YI = {
|
|
|
13781
13785
|
sx: n
|
|
13782
13786
|
}) => /* @__PURE__ */ c(Y, { children: [
|
|
13783
13787
|
/* @__PURE__ */ e(Q, { sx: { pb: 48, ...n }, children: A }),
|
|
13784
|
-
t && /* @__PURE__ */ e(
|
|
13788
|
+
t && /* @__PURE__ */ e(S, {})
|
|
13785
13789
|
] }), vt = ({
|
|
13786
13790
|
altImage: A,
|
|
13787
13791
|
content: t,
|
|
@@ -13818,7 +13822,7 @@ const YI = {
|
|
|
13818
13822
|
}
|
|
13819
13823
|
)
|
|
13820
13824
|
] }) }),
|
|
13821
|
-
n && /* @__PURE__ */ e(
|
|
13825
|
+
n && /* @__PURE__ */ e(S, {})
|
|
13822
13826
|
] });
|
|
13823
13827
|
}, li = ({
|
|
13824
13828
|
altImage: A,
|
|
@@ -13857,7 +13861,7 @@ const YI = {
|
|
|
13857
13861
|
),
|
|
13858
13862
|
/* @__PURE__ */ e(NA, { item: !0, lg: 12, md: 12, sm: 12, xs: 12, children: t })
|
|
13859
13863
|
] }) }),
|
|
13860
|
-
n && /* @__PURE__ */ e(
|
|
13864
|
+
n && /* @__PURE__ */ e(S, {})
|
|
13861
13865
|
] });
|
|
13862
13866
|
}, PA = ({ content: A, sx: t }) => /* @__PURE__ */ e(J, { sx: { lineHeight: "24px", py: 6, ...t }, children: A }), Ie = ({ content: A, sx: t }) => /* @__PURE__ */ e(FA, { color: "text.primary", sx: { py: 12, whiteSpace: { sm: "nowrap", xs: "wrap" }, ...t }, children: A }), BA = ({
|
|
13863
13867
|
items: A,
|
|
@@ -14866,7 +14870,7 @@ const YI = {
|
|
|
14866
14870
|
topicTitle: i
|
|
14867
14871
|
}
|
|
14868
14872
|
),
|
|
14869
|
-
/* @__PURE__ */ e(
|
|
14873
|
+
/* @__PURE__ */ e(Ge, { color: "text.primary", sx: { mt: 24, whiteSpace: { sm: "nowrap", xs: "wrap" } }, children: i }),
|
|
14870
14874
|
/* @__PURE__ */ e(BI, { children: a && /* @__PURE__ */ e(a, { copy: o, topicKey: r }) })
|
|
14871
14875
|
] });
|
|
14872
14876
|
}, RE = ({
|
|
@@ -14935,7 +14939,7 @@ const YI = {
|
|
|
14935
14939
|
] })
|
|
14936
14940
|
}
|
|
14937
14941
|
),
|
|
14938
|
-
/* @__PURE__ */ e(
|
|
14942
|
+
/* @__PURE__ */ e(S, {}),
|
|
14939
14943
|
/* @__PURE__ */ e(
|
|
14940
14944
|
Ac,
|
|
14941
14945
|
{
|
|
@@ -15259,7 +15263,7 @@ class bE {
|
|
|
15259
15263
|
loadUserFeatures = async () => {
|
|
15260
15264
|
try {
|
|
15261
15265
|
const t = await this.api.getUserFeatures();
|
|
15262
|
-
|
|
15266
|
+
W(() => {
|
|
15263
15267
|
this.userFeatures = t;
|
|
15264
15268
|
});
|
|
15265
15269
|
} catch (t) {
|
|
@@ -15275,7 +15279,7 @@ class bE {
|
|
|
15275
15279
|
sendEmailVerification = async () => {
|
|
15276
15280
|
try {
|
|
15277
15281
|
const t = await this.api.sendEmailVerification();
|
|
15278
|
-
|
|
15282
|
+
W(() => {
|
|
15279
15283
|
this.emailVerificationSent = t.success;
|
|
15280
15284
|
});
|
|
15281
15285
|
} catch (t) {
|
|
@@ -15285,7 +15289,7 @@ class bE {
|
|
|
15285
15289
|
sendPhoneVerification = async () => {
|
|
15286
15290
|
try {
|
|
15287
15291
|
const t = await this.api.sendPhoneVerification();
|
|
15288
|
-
|
|
15292
|
+
W(() => {
|
|
15289
15293
|
this.phoneVerificationSent = t.success;
|
|
15290
15294
|
});
|
|
15291
15295
|
} catch (t) {
|
|
@@ -15331,7 +15335,7 @@ class o1 {
|
|
|
15331
15335
|
globalUiStore;
|
|
15332
15336
|
isInitialized = !1;
|
|
15333
15337
|
constructor() {
|
|
15334
|
-
this.accountStore = new JE(this), this.appDataStore = new Od(), this.beatStore = new Td(), this.budgetsStore = new
|
|
15338
|
+
this.accountStore = new JE(this), this.appDataStore = new Od(), this.beatStore = new Td(), this.budgetsStore = new Sd(this), this.cashflowStore = new Sh(this), this.categoryStore = new Vl(this), this.connectStore = new Gh(this), this.copyStore = new Qd(), this.debtsStore = new qu(this), this.goalStore = new eI(this), this.helpStore = new rI(this), this.merchantStore = new cI(), this.netWorthStore = new vI(this), this.notificationStore = new QI(), this.recurringActivityStore = new sh(this), this.settingsStore = new GI(), this.transactionStore = new nl(this), this.userStore = new bE(this), this.globalUiStore = new ju(this), LA(this);
|
|
15335
15339
|
}
|
|
15336
15340
|
initialize = async (t, n) => {
|
|
15337
15341
|
await this.copyStore.initialize(t, n), await this.appDataStore.initialize(t, n), Promise.all([
|
|
@@ -15359,18 +15363,18 @@ const Zn = ({
|
|
|
15359
15363
|
primaryText: i,
|
|
15360
15364
|
secondaryText: r
|
|
15361
15365
|
}) => /* @__PURE__ */ c(Y, { children: [
|
|
15362
|
-
/* @__PURE__ */ e(
|
|
15366
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ c(cA, { onClick: n, children: [
|
|
15363
15367
|
/* @__PURE__ */ e(oA, { primary: i, secondary: r }),
|
|
15364
15368
|
A
|
|
15365
15369
|
] }) }),
|
|
15366
|
-
/* @__PURE__ */ e(
|
|
15370
|
+
/* @__PURE__ */ e(S, { sx: { ml: t ? 0 : 24 } })
|
|
15367
15371
|
] }), pE = () => {
|
|
15368
15372
|
const { accounts: A } = gA(), { selectedAccount: t, selectedMember: n } = Ce();
|
|
15369
15373
|
return A.filter(
|
|
15370
15374
|
(i) => i.member_guid === n.guid && n.successfully_aggregated_at && i.guid !== t.guid
|
|
15371
15375
|
);
|
|
15372
15376
|
}, HE = () => {
|
|
15373
|
-
const [A, t] = u.useState(!1), [n, i] = u.useState(!1), [r, o] = u.useState(!1), [a, s] = u.useState({}), { selectedAccount: d } = Ce(), { mergeAccounts: l, updateAccount: f } = gA(), { accounts: h } = H(), I = pE(), { onEvent: E } =
|
|
15377
|
+
const [A, t] = u.useState(!1), [n, i] = u.useState(!1), [r, o] = u.useState(!1), [a, s] = u.useState({}), { selectedAccount: d } = Ce(), { mergeAccounts: l, updateAccount: f } = gA(), { accounts: h } = H(), I = pE(), { onEvent: E } = F(), R = (P) => {
|
|
15374
15378
|
f({
|
|
15375
15379
|
...d,
|
|
15376
15380
|
...P
|
|
@@ -15386,7 +15390,7 @@ const Zn = ({
|
|
|
15386
15390
|
Zn,
|
|
15387
15391
|
{
|
|
15388
15392
|
onClick: () => {
|
|
15389
|
-
R({ is_hidden: !d.is_hidden }), E(
|
|
15393
|
+
R({ is_hidden: !d.is_hidden }), E(G.ACCOUNT_DETAILS_CLICK_HIDE, { account_guid: d.guid });
|
|
15390
15394
|
},
|
|
15391
15395
|
primaryText: d.is_hidden ? h.unhide_account : h.hide_Account,
|
|
15392
15396
|
secondaryText: d.is_hidden ? h.include_this_account : h.exclude_this_account,
|
|
@@ -15397,7 +15401,7 @@ const Zn = ({
|
|
|
15397
15401
|
Zn,
|
|
15398
15402
|
{
|
|
15399
15403
|
onClick: () => {
|
|
15400
|
-
t(!0), E(
|
|
15404
|
+
t(!0), E(G.ACCOUNT_DETAILS_CLICK_MARK_CLOSED, {
|
|
15401
15405
|
account_guid: d.guid
|
|
15402
15406
|
});
|
|
15403
15407
|
},
|
|
@@ -15411,7 +15415,7 @@ const Zn = ({
|
|
|
15411
15415
|
{
|
|
15412
15416
|
isLast: !0,
|
|
15413
15417
|
onClick: () => {
|
|
15414
|
-
i(!0), E(
|
|
15418
|
+
i(!0), E(G.ACCOUNT_DETAILS_CLICK_MARK_DUPLICATE, {
|
|
15415
15419
|
account_guid: d.guid
|
|
15416
15420
|
});
|
|
15417
15421
|
},
|
|
@@ -15658,7 +15662,7 @@ const Zn = ({
|
|
|
15658
15662
|
};
|
|
15659
15663
|
return /* @__PURE__ */ c(Y, { children: [
|
|
15660
15664
|
/* @__PURE__ */ e(Xe, { sx: { mb: 4, mt: 12, mx: 8 }, children: /* @__PURE__ */ e(v, { bold: !0, component: "h2", variant: "XSmall", children: r.connection_status }) }),
|
|
15661
|
-
/* @__PURE__ */ e(
|
|
15665
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper" }, children: i.is_manual || !s.ctaCopy ? /* @__PURE__ */ c(g, { alignItems: "center", direction: "row", px: 24, py: 12, children: [
|
|
15662
15666
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(ot, { backingSx: { backgroundColor: s.color, borderRadius: 1 }, size: 32, children: s.icon }) }),
|
|
15663
15667
|
/* @__PURE__ */ e(oA, { primary: s.mainMessage, secondary: s.secondaryMessage })
|
|
15664
15668
|
] }) : /* @__PURE__ */ c(cA, { onClick: () => t(!0), children: [
|
|
@@ -15676,9 +15680,9 @@ const Zn = ({
|
|
|
15676
15680
|
),
|
|
15677
15681
|
/* @__PURE__ */ e(j, { name: "chevron_right" })
|
|
15678
15682
|
] }) }),
|
|
15679
|
-
/* @__PURE__ */ e(
|
|
15683
|
+
/* @__PURE__ */ e(S, { sx: { ml: i.is_manual || !i.institution_url ? 0 : 24 } }),
|
|
15680
15684
|
!i.is_manual && i.institution_url && /* @__PURE__ */ c(Y, { children: [
|
|
15681
|
-
/* @__PURE__ */ e(
|
|
15685
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper" }, children: /* @__PURE__ */ c(cA, { component: "a", href: i.institution_url, target: "_blank", children: [
|
|
15682
15686
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(
|
|
15683
15687
|
ot,
|
|
15684
15688
|
{
|
|
@@ -15701,7 +15705,7 @@ const Zn = ({
|
|
|
15701
15705
|
/* @__PURE__ */ e(oA, { primary: i.name, secondary: i.institution_url }),
|
|
15702
15706
|
/* @__PURE__ */ e(j, { name: "launch" })
|
|
15703
15707
|
] }) }),
|
|
15704
|
-
/* @__PURE__ */ e(
|
|
15708
|
+
/* @__PURE__ */ e(S, {})
|
|
15705
15709
|
] }),
|
|
15706
15710
|
A && /* @__PURE__ */ e(
|
|
15707
15711
|
tn,
|
|
@@ -15800,7 +15804,7 @@ const Zn = ({
|
|
|
15800
15804
|
}
|
|
15801
15805
|
);
|
|
15802
15806
|
}, LE = p(wE), DE = () => {
|
|
15803
|
-
const A = window.app?.config, { onEvent: t } =
|
|
15807
|
+
const A = window.app?.config, { onEvent: t } = F(), { selectedAccount: n } = Ce(), { accounts: i } = H(), r = Ih(n, i), o = n.member_is_managed_by_user || !n.member_is_managed_by_user && A.enable_renaming_home_accounts, [a, s] = u.useState(!1), [d, l] = u.useState(r[0]), f = r.filter(
|
|
15804
15808
|
(h) => o || n[h.name] || n[h.name] === 0
|
|
15805
15809
|
);
|
|
15806
15810
|
return /* @__PURE__ */ c(Y, { children: [
|
|
@@ -15814,7 +15818,7 @@ const Zn = ({
|
|
|
15814
15818
|
}
|
|
15815
15819
|
);
|
|
15816
15820
|
return /* @__PURE__ */ e(u.Fragment, { children: o ? /* @__PURE__ */ c(Y, { children: [
|
|
15817
|
-
/* @__PURE__ */ e(
|
|
15821
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper", px: 0 }, children: /* @__PURE__ */ c(
|
|
15818
15822
|
cA,
|
|
15819
15823
|
{
|
|
15820
15824
|
onClick: () => {
|
|
@@ -15826,10 +15830,10 @@ const Zn = ({
|
|
|
15826
15830
|
]
|
|
15827
15831
|
}
|
|
15828
15832
|
) }),
|
|
15829
|
-
/* @__PURE__ */ e(
|
|
15833
|
+
/* @__PURE__ */ e(S, { sx: { ml: E ? 0 : 24 } })
|
|
15830
15834
|
] }) : I && /* @__PURE__ */ c(Y, { children: [
|
|
15831
|
-
/* @__PURE__ */ e(
|
|
15832
|
-
/* @__PURE__ */ e(
|
|
15835
|
+
/* @__PURE__ */ e(K, { sx: { backgroundColor: "background.paper", px: 24 }, children: R }),
|
|
15836
|
+
/* @__PURE__ */ e(S, { sx: { ml: E ? 0 : 24 } })
|
|
15833
15837
|
] }) }, h.name);
|
|
15834
15838
|
}),
|
|
15835
15839
|
a && d && /* @__PURE__ */ e(
|
|
@@ -15842,8 +15846,8 @@ const Zn = ({
|
|
|
15842
15846
|
)
|
|
15843
15847
|
] });
|
|
15844
15848
|
}, xE = p(DE), XE = () => {
|
|
15845
|
-
const { onEvent: A } =
|
|
15846
|
-
return u.useEffect(() => A(
|
|
15849
|
+
const { onEvent: A } = F();
|
|
15850
|
+
return u.useEffect(() => A(G.ACCOUNT_DETAILS_VIEW), []), /* @__PURE__ */ c(aA, { children: [
|
|
15847
15851
|
/* @__PURE__ */ e(xE, {}),
|
|
15848
15852
|
/* @__PURE__ */ e(zE, {}),
|
|
15849
15853
|
/* @__PURE__ */ e(mE, {})
|
|
@@ -15905,13 +15909,13 @@ const Zn = ({
|
|
|
15905
15909
|
)
|
|
15906
15910
|
] });
|
|
15907
15911
|
}, TE = p(OE), qE = () => {
|
|
15908
|
-
const [A, t] = u.useState(""), { onEvent: n } =
|
|
15912
|
+
const [A, t] = u.useState(""), { onEvent: n } = F(), { selectedAccount: i } = Ce(), { accounts: r } = H(), { setFilter: o, sortedTransactions: a } = RA(), s = u.useMemo(() => a.find((d) => d.guid === A), [A]);
|
|
15909
15913
|
return u.useEffect(() => {
|
|
15910
15914
|
o({
|
|
15911
15915
|
dateRange: { start: Bs(Ys(), 90), end: Vs() },
|
|
15912
15916
|
accounts: [i.guid]
|
|
15913
15917
|
});
|
|
15914
|
-
}, [i]), u.useEffect(() => n(
|
|
15918
|
+
}, [i]), u.useEffect(() => n(G.ACCOUNT_DETAILS_VIEW_TRANSACTIONS), []), /* @__PURE__ */ c(Y, { children: [
|
|
15915
15919
|
/* @__PURE__ */ e(lt, { onClick: t }),
|
|
15916
15920
|
s && /* @__PURE__ */ e(
|
|
15917
15921
|
fA,
|
|
@@ -15959,8 +15963,8 @@ const Zn = ({
|
|
|
15959
15963
|
/* @__PURE__ */ e(Lt, { index: 0, name: "transaction-details", value: A, children: /* @__PURE__ */ e(jE, {}) }),
|
|
15960
15964
|
/* @__PURE__ */ e(Lt, { index: 1, name: "account-details", value: A, children: /* @__PURE__ */ e(QE, {}) })
|
|
15961
15965
|
] });
|
|
15962
|
-
}, ya = p(NE),
|
|
15963
|
-
const [A, t] = u.useState(""), { accounts: n } = H(), { selectedAccounts: i } = bA(), { setSelectedAccount: r, setSelectedMember: o } = Ce(), { members: a } = gA(), { onEvent: s } =
|
|
15966
|
+
}, ya = p(NE), SE = () => {
|
|
15967
|
+
const [A, t] = u.useState(""), { accounts: n } = H(), { selectedAccounts: i } = bA(), { setSelectedAccount: r, setSelectedMember: o } = Ce(), { members: a } = gA(), { onEvent: s } = F(), d = [...new Set(i.map((f) => f.account_type))], l = i.find((f) => A === f.guid);
|
|
15964
15968
|
return u.useEffect(() => {
|
|
15965
15969
|
if (l) {
|
|
15966
15970
|
r(l);
|
|
@@ -15973,7 +15977,7 @@ const Zn = ({
|
|
|
15973
15977
|
(R, C) => (C.available_balance || C.balance || 0) + R,
|
|
15974
15978
|
0
|
|
15975
15979
|
), E = (R) => {
|
|
15976
|
-
t(R.guid), s(
|
|
15980
|
+
t(R.guid), s(G.ACCOUNTS_CLICK_ACCOUNT, {
|
|
15977
15981
|
account_guid: R.guid,
|
|
15978
15982
|
account_type: R.account_type
|
|
15979
15983
|
});
|
|
@@ -16006,7 +16010,7 @@ const Zn = ({
|
|
|
16006
16010
|
}
|
|
16007
16011
|
),
|
|
16008
16012
|
!C && /* @__PURE__ */ e(
|
|
16009
|
-
|
|
16013
|
+
S,
|
|
16010
16014
|
{
|
|
16011
16015
|
sx: {
|
|
16012
16016
|
mb: P ? 24 : 4,
|
|
@@ -16028,13 +16032,13 @@ const Zn = ({
|
|
|
16028
16032
|
onClose: () => t(""),
|
|
16029
16033
|
title: n.account_details,
|
|
16030
16034
|
children: [
|
|
16031
|
-
/* @__PURE__ */ e(
|
|
16035
|
+
/* @__PURE__ */ e(Gi, {}),
|
|
16032
16036
|
/* @__PURE__ */ e(ya, {})
|
|
16033
16037
|
]
|
|
16034
16038
|
}
|
|
16035
16039
|
)
|
|
16036
16040
|
] });
|
|
16037
|
-
},
|
|
16041
|
+
}, GE = p(SE), ME = ({
|
|
16038
16042
|
onClose: A,
|
|
16039
16043
|
showConnectionsWidget: t,
|
|
16040
16044
|
title: n
|
|
@@ -16075,16 +16079,16 @@ const Zn = ({
|
|
|
16075
16079
|
}
|
|
16076
16080
|
);
|
|
16077
16081
|
}, BE = p(ME), YE = ({ onBackClick: A, sx: t = {} }) => {
|
|
16078
|
-
const [n, i] = u.useState(!1), [r, o] = u.useState(!1), { accounts: a, refreshMembers: s } = gA(), { accounts: d } = H(), { setSelectedAccounts: l, selectedAccountGuids: f } = bA(), { isDesktop: h } = QA(), { onEvent: I } =
|
|
16082
|
+
const [n, i] = u.useState(!1), [r, o] = u.useState(!1), { accounts: a, refreshMembers: s } = gA(), { accounts: d } = H(), { setSelectedAccounts: l, selectedAccountGuids: f } = bA(), { isDesktop: h } = QA(), { onEvent: I } = F();
|
|
16079
16083
|
u.useEffect(() => {
|
|
16080
16084
|
l(a);
|
|
16081
16085
|
}, [a]);
|
|
16082
16086
|
const E = () => {
|
|
16083
16087
|
o(!0), s().finally(() => {
|
|
16084
16088
|
o(!1);
|
|
16085
|
-
}), I(
|
|
16089
|
+
}), I(G.ACCOUNTS_CLICK_SYNC);
|
|
16086
16090
|
}, R = () => {
|
|
16087
|
-
i(!0), I(
|
|
16091
|
+
i(!0), I(G.ACCOUNTS_CLICK_CONNECT);
|
|
16088
16092
|
};
|
|
16089
16093
|
return /* @__PURE__ */ e(
|
|
16090
16094
|
Re,
|
|
@@ -16102,14 +16106,14 @@ const Zn = ({
|
|
|
16102
16106
|
onClick: E
|
|
16103
16107
|
}
|
|
16104
16108
|
],
|
|
16105
|
-
onAccountsFilterClick: () => I(
|
|
16109
|
+
onAccountsFilterClick: () => I(G.ACCOUNTS_CLICK_FILTER),
|
|
16106
16110
|
onBackClick: A,
|
|
16107
16111
|
sx: t,
|
|
16108
16112
|
title: d.title,
|
|
16109
16113
|
children: r ? /* @__PURE__ */ e(ie, {}) : /* @__PURE__ */ c(Y, { children: [
|
|
16110
16114
|
/* @__PURE__ */ c(Q, { sx: { px: h ? 24 : 12 }, children: [
|
|
16111
16115
|
f.length < 1 && /* @__PURE__ */ e(v, { display: "flex", justifyContent: "center", my: 24, children: d.no_accounts }),
|
|
16112
|
-
/* @__PURE__ */ e(
|
|
16116
|
+
/* @__PURE__ */ e(GE, {})
|
|
16113
16117
|
] }),
|
|
16114
16118
|
/* @__PURE__ */ e(
|
|
16115
16119
|
BE,
|
|
@@ -16135,7 +16139,7 @@ const Zn = ({
|
|
|
16135
16139
|
sx: t,
|
|
16136
16140
|
title: i.mini_title,
|
|
16137
16141
|
children: /* @__PURE__ */ c(aA, { children: [
|
|
16138
|
-
o.length < 1 && /* @__PURE__ */ e(
|
|
16142
|
+
o.length < 1 && /* @__PURE__ */ e(K, { sx: { justifyContent: "center" }, children: i.no_accounts }),
|
|
16139
16143
|
o.map((s, d) => {
|
|
16140
16144
|
const l = o.indexOf(s) === o.length - 1;
|
|
16141
16145
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
@@ -16147,7 +16151,7 @@ const Zn = ({
|
|
|
16147
16151
|
shouldShowConnectionStatus: !0
|
|
16148
16152
|
}
|
|
16149
16153
|
),
|
|
16150
|
-
!l && /* @__PURE__ */ e(
|
|
16154
|
+
!l && /* @__PURE__ */ e(S, { "aria-hidden": "true", variant: "inset" })
|
|
16151
16155
|
] }, `account-item${d}`);
|
|
16152
16156
|
})
|
|
16153
16157
|
] })
|
|
@@ -16702,7 +16706,7 @@ class JE {
|
|
|
16702
16706
|
addAccount = async (t) => {
|
|
16703
16707
|
try {
|
|
16704
16708
|
const n = await this.api.createAccount(t);
|
|
16705
|
-
|
|
16709
|
+
W(() => {
|
|
16706
16710
|
this.accounts = [...this.accounts, n];
|
|
16707
16711
|
});
|
|
16708
16712
|
} catch (n) {
|
|
@@ -16730,7 +16734,7 @@ class JE {
|
|
|
16730
16734
|
await this.loadMembers();
|
|
16731
16735
|
try {
|
|
16732
16736
|
const t = await this.api.getAccounts();
|
|
16733
|
-
|
|
16737
|
+
W(() => {
|
|
16734
16738
|
this.accounts = this.sortAccounts(this.augmentAccounts(t));
|
|
16735
16739
|
});
|
|
16736
16740
|
} catch (t) {
|
|
@@ -16740,7 +16744,7 @@ class JE {
|
|
|
16740
16744
|
loadInstitutions = async () => {
|
|
16741
16745
|
try {
|
|
16742
16746
|
const t = await this.api.getInstitutions();
|
|
16743
|
-
|
|
16747
|
+
W(() => {
|
|
16744
16748
|
this.institutions = t;
|
|
16745
16749
|
});
|
|
16746
16750
|
} catch (t) {
|
|
@@ -16750,7 +16754,7 @@ class JE {
|
|
|
16750
16754
|
loadMembers = async () => {
|
|
16751
16755
|
try {
|
|
16752
16756
|
const t = await this.api.getMembers();
|
|
16753
|
-
|
|
16757
|
+
W(() => {
|
|
16754
16758
|
this.members = t;
|
|
16755
16759
|
});
|
|
16756
16760
|
} catch (t) {
|
|
@@ -16760,7 +16764,7 @@ class JE {
|
|
|
16760
16764
|
mergeAccounts = async (t) => {
|
|
16761
16765
|
try {
|
|
16762
16766
|
const n = await this.api.mergeAccounts(t), i = n[Object.keys(n)[0]];
|
|
16763
|
-
|
|
16767
|
+
W(() => {
|
|
16764
16768
|
const r = this.accounts.findIndex((a) => a.guid === t[1]);
|
|
16765
16769
|
this.accounts.splice(r, 1);
|
|
16766
16770
|
const o = this.accounts.findIndex((a) => a.guid === t[0]);
|
|
@@ -16783,7 +16787,7 @@ class JE {
|
|
|
16783
16787
|
};
|
|
16784
16788
|
removeAccount = async (t) => {
|
|
16785
16789
|
try {
|
|
16786
|
-
await this.api.deleteAccount(t),
|
|
16790
|
+
await this.api.deleteAccount(t), W(() => {
|
|
16787
16791
|
const n = this.accounts.findIndex((i) => i.guid === t);
|
|
16788
16792
|
this.accounts.splice(n, 1);
|
|
16789
16793
|
});
|
|
@@ -16794,7 +16798,7 @@ class JE {
|
|
|
16794
16798
|
updateAccount = async (t) => {
|
|
16795
16799
|
try {
|
|
16796
16800
|
const n = await this.api.updateAccount(t);
|
|
16797
|
-
|
|
16801
|
+
W(() => {
|
|
16798
16802
|
const i = this.accounts.findIndex(
|
|
16799
16803
|
(r) => r.guid === n.guid
|
|
16800
16804
|
);
|
|
@@ -16971,7 +16975,7 @@ function s3({ bubble: A, isDraggable: t, onClick: n = () => {
|
|
|
16971
16975
|
l
|
|
16972
16976
|
);
|
|
16973
16977
|
}
|
|
16974
|
-
let
|
|
16978
|
+
let St;
|
|
16975
16979
|
const c3 = ({
|
|
16976
16980
|
height: A,
|
|
16977
16981
|
width: t,
|
|
@@ -16980,9 +16984,9 @@ const c3 = ({
|
|
|
16980
16984
|
}
|
|
16981
16985
|
}) => {
|
|
16982
16986
|
const { detailedBudgets: r } = ZA();
|
|
16983
|
-
return
|
|
16984
|
-
n3(
|
|
16985
|
-
}, [
|
|
16987
|
+
return St = u.useMemo(() => r3(r), [r]), u.useEffect(() => {
|
|
16988
|
+
n3(St, A, t), n && t3(St);
|
|
16989
|
+
}, [St, A, t]), /* @__PURE__ */ e("svg", { height: A, style: { overflow: "visible" }, width: Math.abs(t), children: St.nodes().map((o) => /* @__PURE__ */ e(s3, { bubble: o, isDraggable: n, onClick: i }, o.guid)) });
|
|
16986
16990
|
}, d3 = p(c3), l3 = () => {
|
|
16987
16991
|
const { budgets: A } = H();
|
|
16988
16992
|
return /* @__PURE__ */ c(g, { alignItems: "center", gap: 12, sx: { mx: 24, textAlign: "center" }, children: [
|
|
@@ -16992,8 +16996,8 @@ const c3 = ({
|
|
|
16992
16996
|
] });
|
|
16993
16997
|
}, za = p(
|
|
16994
16998
|
({ height: A, isDraggable: t = !1, shouldShowZeroState: n, unavailableWidth: i = 24 }) => {
|
|
16995
|
-
const { onEvent: r } =
|
|
16996
|
-
o(I), r(
|
|
16999
|
+
const { onEvent: r } = F(), { setSelectedBudget: o } = ZA(), { isLoadingCategoryTotals: a } = qA(), { isInitialized: s } = bA(), { availableWidth: d } = gt(), { isMobile: l } = QA(), f = u.useMemo(() => d - i, [d]), h = (I) => {
|
|
17000
|
+
o(I), r(G.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
16997
17001
|
budget_category: I.category.name,
|
|
16998
17002
|
click_type: "bubble"
|
|
16999
17003
|
});
|
|
@@ -17037,7 +17041,7 @@ const c3 = ({
|
|
|
17037
17041
|
subBudgets: d,
|
|
17038
17042
|
transaction_total: l
|
|
17039
17043
|
} = A;
|
|
17040
|
-
return /* @__PURE__ */ e(
|
|
17044
|
+
return /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => t?.(A), children: [
|
|
17041
17045
|
/* @__PURE__ */ e(zA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(Uo, { color: i, percent: s, size: 40, children: /* @__PURE__ */ e(Pe, { categoryGuid: o, variant: "basic" }) }) }),
|
|
17042
17046
|
/* @__PURE__ */ e(
|
|
17043
17047
|
oA,
|
|
@@ -17057,8 +17061,8 @@ const c3 = ({
|
|
|
17057
17061
|
)
|
|
17058
17062
|
] }) });
|
|
17059
17063
|
}, u3 = p(() => {
|
|
17060
|
-
const { onEvent: A } =
|
|
17061
|
-
i(o), A(
|
|
17064
|
+
const { onEvent: A } = F(), { budgets: t } = H(), { detailedBudgets: n, setSelectedBudget: i } = ZA(), r = (o) => {
|
|
17065
|
+
i(o), A(G.BUDGETS_CLICK_BUDGET_CATEGORY, {
|
|
17062
17066
|
budget_category: o.category.name,
|
|
17063
17067
|
click_type: "list"
|
|
17064
17068
|
});
|
|
@@ -17067,11 +17071,11 @@ const c3 = ({
|
|
|
17067
17071
|
/* @__PURE__ */ e(At, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ e(FA, { children: t.budget_categories_title }) }),
|
|
17068
17072
|
/* @__PURE__ */ e(Te, { sx: { p: 0, ":last-child": { p: 0 } }, children: /* @__PURE__ */ e(aA, { children: n.map((o) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
17069
17073
|
/* @__PURE__ */ e(h3, { budget: o, onClick: r }),
|
|
17070
|
-
/* @__PURE__ */ e(
|
|
17074
|
+
/* @__PURE__ */ e(S, {})
|
|
17071
17075
|
] }, o.guid)) }) })
|
|
17072
17076
|
] });
|
|
17073
17077
|
}), I3 = p(() => {
|
|
17074
|
-
const A = yA(), { onEvent: t } =
|
|
17078
|
+
const A = yA(), { onEvent: t } = F(), { accounts: n } = gA(), { budgets: i, common: r, recurring: o } = H(), { incomeCategories: a, spendCategories: s } = qA(), { detailedBudgets: d, totalBudgeted: l } = ZA(), { projectedIncome: f } = kA(), { setFilter: h } = RA(), [I, E] = u.useState(!1), [R, C] = u.useMemo(() => {
|
|
17075
17079
|
const z = s.reduce((x, N) => x + N.totalAmount, 0);
|
|
17076
17080
|
let w = z / l;
|
|
17077
17081
|
w > 1 && (w = 1);
|
|
@@ -17104,7 +17108,7 @@ const c3 = ({
|
|
|
17104
17108
|
start: Oe(/* @__PURE__ */ new Date(), 90),
|
|
17105
17109
|
end: /* @__PURE__ */ new Date()
|
|
17106
17110
|
}
|
|
17107
|
-
}), E(!0), t(
|
|
17111
|
+
}), E(!0), t(G.BUDGETS_CLICK_EDIT_INCOME);
|
|
17108
17112
|
};
|
|
17109
17113
|
return /* @__PURE__ */ c(ze, { elevation: 2, sx: { overflow: "visible", borderRadius: 2 }, children: [
|
|
17110
17114
|
/* @__PURE__ */ e(At, { sx: { pb: 8, pl: 24 }, title: /* @__PURE__ */ e(FA, { children: i.overview_title }) }),
|
|
@@ -17178,11 +17182,11 @@ const c3 = ({
|
|
|
17178
17182
|
return `${o} - ${a}`;
|
|
17179
17183
|
}, [t, n]);
|
|
17180
17184
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
17181
|
-
/* @__PURE__ */ e(
|
|
17185
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { children: [
|
|
17182
17186
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(Pe, { categoryGuid: A.guid, variant: "filled" }) }),
|
|
17183
17187
|
/* @__PURE__ */ e(oA, { primary: A.name, secondary: i })
|
|
17184
17188
|
] }) }),
|
|
17185
|
-
/* @__PURE__ */ e(
|
|
17189
|
+
/* @__PURE__ */ e(S, {})
|
|
17186
17190
|
] }, A.guid);
|
|
17187
17191
|
}
|
|
17188
17192
|
), R3 = ({ onRecalculateBudgets: A }) => {
|
|
@@ -17241,7 +17245,7 @@ const c3 = ({
|
|
|
17241
17245
|
`${A.totalAmount === 0 ? "" : A.totalAmount}`
|
|
17242
17246
|
);
|
|
17243
17247
|
return /* @__PURE__ */ c(u.Fragment, { children: [
|
|
17244
|
-
/* @__PURE__ */ e(
|
|
17248
|
+
/* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => o(!0), children: [
|
|
17245
17249
|
/* @__PURE__ */ e(zA, { children: /* @__PURE__ */ e(Pe, { categoryGuid: A.guid }) }),
|
|
17246
17250
|
/* @__PURE__ */ e(
|
|
17247
17251
|
oA,
|
|
@@ -17297,7 +17301,7 @@ const c3 = ({
|
|
|
17297
17301
|
];
|
|
17298
17302
|
return /* @__PURE__ */ e(ze, { sx: { mt: 24, mx: 24 }, children: /* @__PURE__ */ e(Te, { children: /* @__PURE__ */ c(g, { alignItems: "center", gap: 16, children: [
|
|
17299
17303
|
/* @__PURE__ */ e(Pe, { categoryGuid: r, size: 56 }),
|
|
17300
|
-
/* @__PURE__ */ e(
|
|
17304
|
+
/* @__PURE__ */ e(Ge, { children: `${T(a, "0,0")} / ${T(t, "0,0")}` }),
|
|
17301
17305
|
/* @__PURE__ */ e(v, { bold: !0, variant: "XSmall", children: i }),
|
|
17302
17306
|
/* @__PURE__ */ e(Zt, { data: s, height: 10 })
|
|
17303
17307
|
] }) }) });
|
|
@@ -17316,7 +17320,7 @@ const c3 = ({
|
|
|
17316
17320
|
percentage: r,
|
|
17317
17321
|
transaction_total: o
|
|
17318
17322
|
} = A, { setSelectedSubBudget: a } = ZA();
|
|
17319
|
-
return /* @__PURE__ */ e(
|
|
17323
|
+
return /* @__PURE__ */ e(K, { children: /* @__PURE__ */ c(cA, { onClick: () => a(A), children: [
|
|
17320
17324
|
/* @__PURE__ */ e(zA, { sx: { mb: -8, mr: 16 }, children: /* @__PURE__ */ e(Uo, { color: n, percent: r, size: 40, children: /* @__PURE__ */ e(Pe, { categoryGuid: i.parent_guid, variant: "basic" }) }) }),
|
|
17321
17325
|
/* @__PURE__ */ e(
|
|
17322
17326
|
oA,
|
|
@@ -17343,14 +17347,14 @@ const c3 = ({
|
|
|
17343
17347
|
E && Number(h) > 0 && (await a(E, Number(h), t.guid), f(!1), d(!1), R(void 0));
|
|
17344
17348
|
};
|
|
17345
17349
|
return /* @__PURE__ */ c(Q, { children: [
|
|
17346
|
-
/* @__PURE__ */ e(
|
|
17350
|
+
/* @__PURE__ */ e(K, { disableGutters: !0, disablePadding: !0, sx: { bgcolor: "background.paper" }, children: /* @__PURE__ */ e(cA, { onClick: C, children: /* @__PURE__ */ e(oA, { children: /* @__PURE__ */ c(g, { alignItems: "center", direction: "row", justifyContent: "space-between", children: [
|
|
17347
17351
|
/* @__PURE__ */ c(g, { alignItems: "center", direction: "row", gap: 8, children: [
|
|
17348
17352
|
/* @__PURE__ */ e(j, { fill: !0, name: "add_box", size: 24, sx: { color: "action.active" } }),
|
|
17349
17353
|
/* @__PURE__ */ e(v, { bold: !0, sx: { color: "action.active" }, variant: "Body", children: n.add_sub_budget_button })
|
|
17350
17354
|
] }),
|
|
17351
17355
|
/* @__PURE__ */ e(j, { name: "chevron_right", size: 24, sx: { color: "primary.light" } })
|
|
17352
17356
|
] }) }) }) }),
|
|
17353
|
-
/* @__PURE__ */ e(
|
|
17357
|
+
/* @__PURE__ */ e(S, {}),
|
|
17354
17358
|
/* @__PURE__ */ e(
|
|
17355
17359
|
fA,
|
|
17356
17360
|
{
|
|
@@ -17406,7 +17410,7 @@ const c3 = ({
|
|
|
17406
17410
|
/* @__PURE__ */ c(aA, { sx: { bgcolor: "background.paper" }, children: [
|
|
17407
17411
|
n.length === 0 ? /* @__PURE__ */ e(g3, {}) : n.map((w) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
17408
17412
|
/* @__PURE__ */ e(b3, { budget: w }),
|
|
17409
|
-
/* @__PURE__ */ e(
|
|
17413
|
+
/* @__PURE__ */ e(S, {})
|
|
17410
17414
|
] }, w.guid)),
|
|
17411
17415
|
/* @__PURE__ */ e(p3, { category: t, parentBudget: A })
|
|
17412
17416
|
] }),
|
|
@@ -17593,18 +17597,18 @@ const c3 = ({
|
|
|
17593
17597
|
)
|
|
17594
17598
|
] });
|
|
17595
17599
|
}), Ao = 480, l1 = p(({ onBackClick: A, sx: t }) => {
|
|
17596
|
-
const n = yA(), { onEvent: i } =
|
|
17600
|
+
const n = yA(), { onEvent: i } = F(), { accounts: r } = gA(), { budgets: o, common: a } = H(), { isInitialized: s, selectedAccounts: d, setDisplayedDate: l, setSelectedAccounts: f } = bA(), { alert: h, dateRange: I, loadBudgets: E, setDateRange: R, setAlert: C, setTheme: P } = ZA(), { loadCashflowSequences: m } = kA(), { isDesktop: L, isTablet: z } = QA(), { reloadCategoryTotals: w } = qA(), [D, X] = u.useState(!1), [x, N] = u.useState(!1);
|
|
17597
17601
|
u.useEffect(() => {
|
|
17598
|
-
P(n), f(r), l(I.start, I.end), i(
|
|
17602
|
+
P(n), f(r), l(I.start, I.end), i(G.BUDGETS_VIEW);
|
|
17599
17603
|
}, []), u.useEffect(() => {
|
|
17600
17604
|
s && (w(d, I.start, I.end).finally(), D || (m().finally(), E().finally(() => X(!0))));
|
|
17601
17605
|
}, [s, d, I]);
|
|
17602
17606
|
const M = (tA) => {
|
|
17603
17607
|
R({ start: tA[0] || /* @__PURE__ */ new Date(), end: tA[1] || /* @__PURE__ */ new Date() });
|
|
17604
17608
|
}, AA = () => {
|
|
17605
|
-
i(
|
|
17606
|
-
},
|
|
17607
|
-
N(!0), i(
|
|
17609
|
+
i(G.BUDGETS_CLICK_FILTER);
|
|
17610
|
+
}, k = () => {
|
|
17611
|
+
N(!0), i(G.BUDGETS_CLICK_ADD);
|
|
17608
17612
|
}, $ = () => {
|
|
17609
17613
|
N(!1);
|
|
17610
17614
|
}, iA = zt(I.end, XA(/* @__PURE__ */ new Date()));
|
|
@@ -17616,7 +17620,7 @@ const c3 = ({
|
|
|
17616
17620
|
{
|
|
17617
17621
|
iconName: "add",
|
|
17618
17622
|
label: o.add_title,
|
|
17619
|
-
onClick:
|
|
17623
|
+
onClick: k
|
|
17620
17624
|
}
|
|
17621
17625
|
],
|
|
17622
17626
|
calendarActions: { onRangeChanged: M, shouldDisableNext: iA },
|
|
@@ -17694,7 +17698,7 @@ const z3 = () => {
|
|
|
17694
17698
|
};
|
|
17695
17699
|
return /* @__PURE__ */ e(me, { sx: { mb: i ? 24 : 0, p: 24 }, children: /* @__PURE__ */ c(g, { alignItems: "center", flexDirection: "row", justifyContent: "space-between", children: [
|
|
17696
17700
|
/* @__PURE__ */ c(g, { children: [
|
|
17697
|
-
/* @__PURE__ */ e(
|
|
17701
|
+
/* @__PURE__ */ e(Ge, { children: (() => {
|
|
17698
17702
|
const d = (/* @__PURE__ */ new Date()).getHours();
|
|
17699
17703
|
return d > 1 && d < 12 ? r.good_morning : d >= 12 && d < 18 ? r.good_afternoon : r.good_evening;
|
|
17700
17704
|
})() }),
|
|
@@ -17760,7 +17764,7 @@ class D3 {
|
|
|
17760
17764
|
};
|
|
17761
17765
|
loadCopy = async () => {
|
|
17762
17766
|
const t = await this.copyApi.getGlobalCopy(this.namespace, this.translationKey);
|
|
17763
|
-
|
|
17767
|
+
W(() => {
|
|
17764
17768
|
this.copyObject = t[this.translationKey];
|
|
17765
17769
|
});
|
|
17766
17770
|
};
|
|
@@ -17956,7 +17960,7 @@ class T3 {
|
|
|
17956
17960
|
this.copyStore = new D3(), this.insightsMicroWidgetStore = new O3(), LA(this);
|
|
17957
17961
|
}
|
|
17958
17962
|
initialize = async (t, n, i) => {
|
|
17959
|
-
await this.copyStore.initialize(t, n), await this.insightsMicroWidgetStore.initialize(t, n, i), this.session = await Cc(t, n, "1.0.0", "Micro Insights Carousel"),
|
|
17963
|
+
await this.copyStore.initialize(t, n), await this.insightsMicroWidgetStore.initialize(t, n, i), this.session = await Cc(t, n, "1.0.0", "Micro Insights Carousel"), W(() => {
|
|
17960
17964
|
this.isInitialized = !0;
|
|
17961
17965
|
});
|
|
17962
17966
|
};
|
|
@@ -17972,7 +17976,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
17972
17976
|
A.primary_category_guid ? n(A.primary_category_guid) : A.category_guids?.length && n(A.category_guids[0]);
|
|
17973
17977
|
}, []), /* @__PURE__ */ e(Pe, { categoryGuid: t, size: 16, sx: { minWidth: 16 } });
|
|
17974
17978
|
}, N3 = ({ beat: A }) => {
|
|
17975
|
-
const t = UA(), n =
|
|
17979
|
+
const t = UA(), n = S3(t);
|
|
17976
17980
|
return /* @__PURE__ */ e(
|
|
17977
17981
|
dt,
|
|
17978
17982
|
{
|
|
@@ -17982,12 +17986,12 @@ const nn = u.createContext(null), q3 = ({
|
|
|
17982
17986
|
size: 16
|
|
17983
17987
|
}
|
|
17984
17988
|
);
|
|
17985
|
-
},
|
|
17989
|
+
}, S3 = (A) => he({
|
|
17986
17990
|
marginTop: A.Spacing.XTiny,
|
|
17987
17991
|
"& .kyper-categoryicon": {
|
|
17988
17992
|
display: "flex"
|
|
17989
17993
|
}
|
|
17990
|
-
}),
|
|
17994
|
+
}), G3 = p(N3), M3 = ({
|
|
17991
17995
|
color: A = "currentColor",
|
|
17992
17996
|
height: t,
|
|
17993
17997
|
size: n = 16,
|
|
@@ -18807,7 +18811,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
18807
18811
|
] })
|
|
18808
18812
|
] }), oo = ({ beat: A, clientColorScheme: t, color: n, type: i }) => {
|
|
18809
18813
|
const r = yA(), o = t?.primary_300 ? t.primary_300 : r.palette.primary.main;
|
|
18810
|
-
return i === 0 ? /* @__PURE__ */ e(j, { fill: !0, name: "error", sx: { color: n || o } }) : i === 1 && A ? /* @__PURE__ */ e(j3, { beat: A }) : i === 2 && A ? /* @__PURE__ */ e(
|
|
18814
|
+
return i === 0 ? /* @__PURE__ */ e(j, { fill: !0, name: "error", sx: { color: n || o } }) : i === 1 && A ? /* @__PURE__ */ e(j3, { beat: A }) : i === 2 && A ? /* @__PURE__ */ e(G3, { beat: A }) : i === 3 && A ? /* @__PURE__ */ e(V3, { beat: A }) : /* @__PURE__ */ e(
|
|
18811
18815
|
j,
|
|
18812
18816
|
{
|
|
18813
18817
|
fill: !0,
|
|
@@ -18884,7 +18888,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
18884
18888
|
});
|
|
18885
18889
|
};
|
|
18886
18890
|
return /* @__PURE__ */ e(
|
|
18887
|
-
|
|
18891
|
+
Sn,
|
|
18888
18892
|
{
|
|
18889
18893
|
actionText: n.micro_call_to_action || P.micro_card_cta,
|
|
18890
18894
|
ariaLabel: A,
|
|
@@ -19021,7 +19025,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19021
19025
|
P(tA.targetTouches[0].clientX);
|
|
19022
19026
|
}, AA = (tA) => {
|
|
19023
19027
|
P(null), L(tA.targetTouches[0].clientX);
|
|
19024
|
-
},
|
|
19028
|
+
}, k = {
|
|
19025
19029
|
clientColorScheme: t,
|
|
19026
19030
|
showCTAColocatedWithText: n,
|
|
19027
19031
|
heightOverrides: i,
|
|
@@ -19062,7 +19066,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19062
19066
|
isActiveCard: vA === $,
|
|
19063
19067
|
onCardClick: r,
|
|
19064
19068
|
posthog: o,
|
|
19065
|
-
...
|
|
19069
|
+
...k
|
|
19066
19070
|
},
|
|
19067
19071
|
`${tA.guid} ${vA}`
|
|
19068
19072
|
);
|
|
@@ -19072,7 +19076,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19072
19076
|
{
|
|
19073
19077
|
isActiveCard: $ === A.length,
|
|
19074
19078
|
onCardClick: r,
|
|
19075
|
-
...
|
|
19079
|
+
...k
|
|
19076
19080
|
}
|
|
19077
19081
|
)
|
|
19078
19082
|
]
|
|
@@ -19118,7 +19122,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19118
19122
|
display: "none"
|
|
19119
19123
|
}
|
|
19120
19124
|
}
|
|
19121
|
-
}),
|
|
19125
|
+
}), Sn = u.forwardRef(
|
|
19122
19126
|
function({
|
|
19123
19127
|
actionText: t,
|
|
19124
19128
|
ariaLabel: n,
|
|
@@ -19389,7 +19393,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19389
19393
|
}, [window.innerHeight]), u.useEffect(() => {
|
|
19390
19394
|
N(!A && We.isInitialized);
|
|
19391
19395
|
}, [A, We.isInitialized]);
|
|
19392
|
-
const
|
|
19396
|
+
const k = {
|
|
19393
19397
|
showCTAColocatedWithText: i,
|
|
19394
19398
|
heightOverrides: o,
|
|
19395
19399
|
onCardClick: s,
|
|
@@ -19401,7 +19405,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19401
19405
|
carouselSize: D,
|
|
19402
19406
|
posthog: f,
|
|
19403
19407
|
variant: z,
|
|
19404
|
-
...
|
|
19408
|
+
...k
|
|
19405
19409
|
};
|
|
19406
19410
|
return (
|
|
19407
19411
|
// The Theme provider must wrap the component so that the styles don't break when imported into other applications.
|
|
@@ -19425,7 +19429,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19425
19429
|
clientColorScheme: n,
|
|
19426
19430
|
showCarouselControls: I,
|
|
19427
19431
|
variant: h ? z : void 0,
|
|
19428
|
-
...
|
|
19432
|
+
...k
|
|
19429
19433
|
}
|
|
19430
19434
|
),
|
|
19431
19435
|
x && !t.length && L && /* @__PURE__ */ e(o9, { clientColorScheme: n, ...$ }),
|
|
@@ -19456,7 +19460,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19456
19460
|
});
|
|
19457
19461
|
};
|
|
19458
19462
|
return /* @__PURE__ */ e(
|
|
19459
|
-
|
|
19463
|
+
Sn,
|
|
19460
19464
|
{
|
|
19461
19465
|
actionText: f.micro_card_cta,
|
|
19462
19466
|
ariaLabel: A,
|
|
@@ -19515,7 +19519,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19515
19519
|
});
|
|
19516
19520
|
};
|
|
19517
19521
|
return /* @__PURE__ */ e(
|
|
19518
|
-
|
|
19522
|
+
Sn,
|
|
19519
19523
|
{
|
|
19520
19524
|
actionText: E.micro_card_cta,
|
|
19521
19525
|
ariaLabel: t,
|
|
@@ -19551,7 +19555,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19551
19555
|
return u.useEffect(() => {
|
|
19552
19556
|
d(nt.MICRO_WIDGET_CAROUSEL_ZERO_STATE);
|
|
19553
19557
|
}, []), /* @__PURE__ */ e(
|
|
19554
|
-
|
|
19558
|
+
Sn,
|
|
19555
19559
|
{
|
|
19556
19560
|
ariaLabel: A,
|
|
19557
19561
|
description: l.carousel_zero_state_description,
|
|
@@ -19746,7 +19750,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19746
19750
|
a(
|
|
19747
19751
|
n,
|
|
19748
19752
|
XA(/* @__PURE__ */ new Date()),
|
|
19749
|
-
|
|
19753
|
+
GA(/* @__PURE__ */ new Date())
|
|
19750
19754
|
).finally();
|
|
19751
19755
|
}, [n]);
|
|
19752
19756
|
const [s, d] = u.useState(""), [l, f] = u.useState(0), h = u.useMemo(
|
|
@@ -19842,10 +19846,10 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19842
19846
|
const { spending: r } = H(), o = A.categoryData.find((a) => a.guid === n);
|
|
19843
19847
|
return /* @__PURE__ */ c(g, { direction: "column", justifyContent: "center", maxWidth: 400, minWidth: 275, width: "100%", children: [
|
|
19844
19848
|
/* @__PURE__ */ e(v, { bold: !0, sx: { py: 12 }, children: `${i} ${r.by_category}` }),
|
|
19845
|
-
/* @__PURE__ */ e(
|
|
19849
|
+
/* @__PURE__ */ e(S, { "aria-hidden": "true" }),
|
|
19846
19850
|
/* @__PURE__ */ e(aA, { children: A.categoryData.map((a) => /* @__PURE__ */ c(u.Fragment, { children: [
|
|
19847
19851
|
/* @__PURE__ */ e(
|
|
19848
|
-
|
|
19852
|
+
K,
|
|
19849
19853
|
{
|
|
19850
19854
|
disableGutters: !0,
|
|
19851
19855
|
disablePadding: !0,
|
|
@@ -19887,10 +19891,10 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19887
19891
|
)
|
|
19888
19892
|
}
|
|
19889
19893
|
),
|
|
19890
|
-
/* @__PURE__ */ e(
|
|
19894
|
+
/* @__PURE__ */ e(S, {}),
|
|
19891
19895
|
a.categoryTotals && a.categoryTotals.length > 0 && /* @__PURE__ */ e(yn, { in: o?.guid === a.guid, unmountOnExit: !0, children: /* @__PURE__ */ c(aA, { children: [
|
|
19892
19896
|
o?.categoryTotals?.map((s) => /* @__PURE__ */ e(
|
|
19893
|
-
|
|
19897
|
+
K,
|
|
19894
19898
|
{
|
|
19895
19899
|
sx: {
|
|
19896
19900
|
pl: 24,
|
|
@@ -19907,7 +19911,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19907
19911
|
},
|
|
19908
19912
|
s.guid
|
|
19909
19913
|
)),
|
|
19910
|
-
/* @__PURE__ */ e(
|
|
19914
|
+
/* @__PURE__ */ e(S, {})
|
|
19911
19915
|
] }) })
|
|
19912
19916
|
] }, a.guid)) }),
|
|
19913
19917
|
/* @__PURE__ */ e(v, { bold: !0, sx: { mt: 12, pr: 8, textAlign: "right" }, children: `${r.total}: ${T(A.totalAmount, "0,0")}` })
|
|
@@ -19998,10 +20002,10 @@ const nn = u.createContext(null), q3 = ({
|
|
|
19998
20002
|
};
|
|
19999
20003
|
if (I === 0)
|
|
20000
20004
|
if (N === "other") {
|
|
20001
|
-
const AA = L.categoryData.find((
|
|
20005
|
+
const AA = L.categoryData.find((k) => k.guid === "other");
|
|
20002
20006
|
d({
|
|
20003
20007
|
...M,
|
|
20004
|
-
custom: (
|
|
20008
|
+
custom: (k) => !!AA?.categoryTotals?.find(($) => $.guid === k.top_level_category_guid)
|
|
20005
20009
|
});
|
|
20006
20010
|
} else
|
|
20007
20011
|
d({
|
|
@@ -20084,11 +20088,11 @@ const nn = u.createContext(null), q3 = ({
|
|
|
20084
20088
|
)
|
|
20085
20089
|
] });
|
|
20086
20090
|
}, g9 = p(C9), b9 = ({ onBackClick: A, sx: t = {} }) => {
|
|
20087
|
-
const { accounts: n } = gA(), { spending: i } = H(), { isInitialized: r, setDisplayedDate: o, setSelectedAccounts: a } = bA(), { onEvent: s } =
|
|
20091
|
+
const { accounts: n } = gA(), { spending: i } = H(), { isInitialized: r, setDisplayedDate: o, setSelectedAccounts: a } = bA(), { onEvent: s } = F(), [d, l] = u.useState(!1);
|
|
20088
20092
|
u.useEffect(() => {
|
|
20089
20093
|
a(n);
|
|
20090
20094
|
}, [n]), u.useEffect(() => {
|
|
20091
|
-
o(XA(dA()),
|
|
20095
|
+
o(XA(dA()), GA(dA())), l(!0), s(G.SPENDING_VIEW);
|
|
20092
20096
|
}, []);
|
|
20093
20097
|
const f = (h) => {
|
|
20094
20098
|
o(h[0], h[1]);
|
|
@@ -20098,7 +20102,7 @@ const nn = u.createContext(null), q3 = ({
|
|
|
20098
20102
|
{
|
|
20099
20103
|
accountOptions: n,
|
|
20100
20104
|
calendarActions: { onRangeChanged: f },
|
|
20101
|
-
onAccountsFilterClick: () => s(
|
|
20105
|
+
onAccountsFilterClick: () => s(G.SPENDING_CLICK_FILTER),
|
|
20102
20106
|
onBackClick: A,
|
|
20103
20107
|
sx: t,
|
|
20104
20108
|
title: i.title,
|
|
@@ -20177,7 +20181,7 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20177
20181
|
height: r = "100dvh",
|
|
20178
20182
|
sx: o = {}
|
|
20179
20183
|
}) => {
|
|
20180
|
-
const { onEvent: a } =
|
|
20184
|
+
const { onEvent: a } = F(), s = nA(/* @__PURE__ */ new Date(), eA.MONTH_SHORT), [d, l] = u.useState([
|
|
20181
20185
|
{ field: s, sort: "desc" }
|
|
20182
20186
|
]), f = u.useMemo(() => X9(t.start, t.end), [t]), h = [
|
|
20183
20187
|
{
|
|
@@ -20232,10 +20236,10 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20232
20236
|
hideFooter: !0,
|
|
20233
20237
|
initialState: { sorting: { sortModel: d } },
|
|
20234
20238
|
onRowClick: (E) => {
|
|
20235
|
-
i?.(E.row.category), a(
|
|
20239
|
+
i?.(E.row.category), a(G.TRENDS_CLICK_TABLE_ROW);
|
|
20236
20240
|
},
|
|
20237
20241
|
onSortModelChange: (E) => {
|
|
20238
|
-
l(E), a(
|
|
20242
|
+
l(E), a(G.TRENDS_CLICK_TABLE_SORT);
|
|
20239
20243
|
},
|
|
20240
20244
|
rows: I,
|
|
20241
20245
|
slotProps: { baseIconButton: { color: "secondary", sx: { ml: 8 } } },
|
|
@@ -20251,14 +20255,14 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20251
20255
|
isOpen: n,
|
|
20252
20256
|
onClose: i
|
|
20253
20257
|
}) => {
|
|
20254
|
-
const { onEvent: r } =
|
|
20258
|
+
const { onEvent: r } = F(), { selectedAccountGuids: o } = bA(), { common: a } = H(), { setFilter: s, sortedTransactions: d } = RA(), [l, f] = u.useState(""), h = u.useMemo(() => d.find((E) => E.guid === l), [l]);
|
|
20255
20259
|
u.useEffect(() => {
|
|
20256
20260
|
s({
|
|
20257
20261
|
accounts: o,
|
|
20258
20262
|
dateRange: t,
|
|
20259
20263
|
custom: (E) => A === "" || A === E.category_guid || A === E.top_level_category_guid
|
|
20260
20264
|
});
|
|
20261
|
-
}, [o, A, t]), u.useEffect(() => r(
|
|
20265
|
+
}, [o, A, t]), u.useEffect(() => r(G.TRENDS_VIEW_TRANSACTIONS), []);
|
|
20262
20266
|
const I = () => {
|
|
20263
20267
|
f(""), i();
|
|
20264
20268
|
};
|
|
@@ -20278,9 +20282,9 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20278
20282
|
}, q9 = p(T9), j9 = {
|
|
20279
20283
|
view_transactions: "View Transactions"
|
|
20280
20284
|
}, N9 = ({ onBackClick: A, sx: t }) => {
|
|
20281
|
-
const n = _A(), { onEvent: i } =
|
|
20282
|
-
start: ir(
|
|
20283
|
-
end:
|
|
20285
|
+
const n = _A(), { onEvent: i } = F(), { isDesktop: r, isTablet: o, isMobile: a } = QA(), { accounts: s } = gA(), { loadMonthlyCategoryTotals: d, monthlyCategoryTotals: l, getCategoryName: f } = qA(), { sortedTransactions: h } = RA(), { isInitialized: I, selectedAccounts: E, setSelectedAccounts: R } = bA(), { trends: C } = H(), P = n.palette.mode === "dark", [m, L] = u.useState(!1), [z, w] = u.useState(!1), [D, X] = u.useState("Chart"), [x, N] = u.useState(""), [M, AA] = u.useState({
|
|
20286
|
+
start: ir(GA(De(/* @__PURE__ */ new Date(), 6)), 1),
|
|
20287
|
+
end: GA(/* @__PURE__ */ new Date())
|
|
20284
20288
|
});
|
|
20285
20289
|
u.useEffect(() => {
|
|
20286
20290
|
R(s);
|
|
@@ -20293,7 +20297,7 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20293
20297
|
L(!0);
|
|
20294
20298
|
});
|
|
20295
20299
|
}, [I, E, M]);
|
|
20296
|
-
const
|
|
20300
|
+
const k = u.useMemo(() => {
|
|
20297
20301
|
if (!m) return { stackedDatasets: [], unstackedDatasets: [] };
|
|
20298
20302
|
const HA = z9(
|
|
20299
20303
|
l,
|
|
@@ -20316,24 +20320,24 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20316
20320
|
);
|
|
20317
20321
|
return `${HA} - ${ee}`;
|
|
20318
20322
|
}, [M, a]), iA = (HA, ee) => {
|
|
20319
|
-
X(ee ?? D), i(
|
|
20323
|
+
X(ee ?? D), i(G.TRENDS_CLICK_TOGGLE);
|
|
20320
20324
|
}, tA = (HA) => {
|
|
20321
20325
|
const ee = ir(HA?.[0], 1), Ve = HA?.[1], Qt = Pc(Ve, ee);
|
|
20322
|
-
AA({ start: ee, end: Ve }), i(
|
|
20326
|
+
AA({ start: ee, end: Ve }), i(G.TRENDS_CLICK_DATE, {
|
|
20323
20327
|
time_period: Qt + "M"
|
|
20324
20328
|
});
|
|
20325
20329
|
}, vA = () => {
|
|
20326
|
-
i(
|
|
20330
|
+
i(G.TRENDS_CLICK_FILTER);
|
|
20327
20331
|
}, lA = (HA) => {
|
|
20328
20332
|
N(HA);
|
|
20329
20333
|
}, pA = (HA) => {
|
|
20330
|
-
N(HA), i(
|
|
20334
|
+
N(HA), i(G.TRENDS_CLICK_LEGEND, { category: f(HA) });
|
|
20331
20335
|
}, re = (HA) => {
|
|
20332
|
-
i(
|
|
20336
|
+
i(G.TRENDS_HOVER_LEGEND, { category: f(HA) });
|
|
20333
20337
|
}, ge = (HA) => {
|
|
20334
|
-
i(
|
|
20338
|
+
i(G.TRENDS_HOVER_AREA, { category: HA });
|
|
20335
20339
|
}, Ye = (HA) => {
|
|
20336
|
-
i(
|
|
20340
|
+
i(G.TRENDS_HOVER_POINT, { category: HA });
|
|
20337
20341
|
};
|
|
20338
20342
|
return !I || !m ? /* @__PURE__ */ e(ie, {}) : /* @__PURE__ */ c(
|
|
20339
20343
|
Re,
|
|
@@ -20436,8 +20440,8 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20436
20440
|
onHoverArea: ge,
|
|
20437
20441
|
onHoverLegend: re,
|
|
20438
20442
|
onHoverPoint: Ye,
|
|
20439
|
-
stackedDatasets:
|
|
20440
|
-
unstackedDatasets:
|
|
20443
|
+
stackedDatasets: k.stackedDatasets,
|
|
20444
|
+
unstackedDatasets: k.unstackedDatasets
|
|
20441
20445
|
}
|
|
20442
20446
|
),
|
|
20443
20447
|
D === "Table" && /* @__PURE__ */ e(
|
|
@@ -20465,7 +20469,7 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20465
20469
|
]
|
|
20466
20470
|
}
|
|
20467
20471
|
);
|
|
20468
|
-
}, E1 = p(N9),
|
|
20472
|
+
}, E1 = p(N9), S9 = () => {
|
|
20469
20473
|
const A = _A(), { monthlyCategoryTotals: t } = qA(), { trends: n } = H(), i = _h(t);
|
|
20470
20474
|
return /* @__PURE__ */ e(
|
|
20471
20475
|
mi,
|
|
@@ -20481,7 +20485,7 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20481
20485
|
useCustomMark: !0
|
|
20482
20486
|
}
|
|
20483
20487
|
);
|
|
20484
|
-
},
|
|
20488
|
+
}, G9 = p(S9), M9 = ({ onPrimaryCtaClick: A, sx: t }) => {
|
|
20485
20489
|
const { loadMonthlyCategoryTotals: n } = qA(), { isInitialized: i } = xn(), { trends: r } = H(), { selectedAccounts: o } = bA(), [a, s] = u.useState(!1);
|
|
20486
20490
|
return u.useEffect(() => {
|
|
20487
20491
|
i && n(o).finally(() => {
|
|
@@ -20495,15 +20499,15 @@ const y9 = (A) => A.reduce((n, i) => {
|
|
|
20495
20499
|
subTitle: r.sub_title,
|
|
20496
20500
|
sx: t,
|
|
20497
20501
|
title: r.mini_title,
|
|
20498
|
-
children: /* @__PURE__ */ e(
|
|
20502
|
+
children: /* @__PURE__ */ e(G9, {})
|
|
20499
20503
|
}
|
|
20500
20504
|
);
|
|
20501
20505
|
}, v1 = p(M9);
|
|
20502
20506
|
export {
|
|
20503
|
-
|
|
20507
|
+
G as ANALYTICS_EVENTS,
|
|
20504
20508
|
Zr as AccountApi,
|
|
20505
20509
|
ya as AccountDetailsContent,
|
|
20506
|
-
|
|
20510
|
+
Gi as AccountDetailsHeader,
|
|
20507
20511
|
jo as AccountFilter,
|
|
20508
20512
|
xo as AccountIcon,
|
|
20509
20513
|
Hc as AccountIconVariants,
|
|
@@ -20520,7 +20524,7 @@ export {
|
|
|
20520
20524
|
Mc as AnalyticsApi,
|
|
20521
20525
|
O as ApiEndpoints,
|
|
20522
20526
|
T3 as AppStore,
|
|
20523
|
-
|
|
20527
|
+
S8 as BarChart,
|
|
20524
20528
|
wt as BeatApi,
|
|
20525
20529
|
k3 as BeatCard,
|
|
20526
20530
|
cn as BottomActions,
|
|
@@ -20529,10 +20533,10 @@ export {
|
|
|
20529
20533
|
rd as Calendar,
|
|
20530
20534
|
No as CalendarSelectionTypes,
|
|
20531
20535
|
e9 as CarouselHeader,
|
|
20532
|
-
|
|
20536
|
+
Gr as CashflowApi,
|
|
20533
20537
|
U8 as CashflowMiniWidget,
|
|
20534
20538
|
qh as CashflowOnboarding,
|
|
20535
|
-
|
|
20539
|
+
Sh as CashflowStore,
|
|
20536
20540
|
J8 as CashflowWidget,
|
|
20537
20541
|
un as CategoryApi,
|
|
20538
20542
|
it as CategoryColors,
|
|
@@ -20540,7 +20544,7 @@ export {
|
|
|
20540
20544
|
b as CategoryGuids,
|
|
20541
20545
|
yc as CategoryIcon,
|
|
20542
20546
|
Zo as CategoryRow,
|
|
20543
|
-
|
|
20547
|
+
Sl as CategorySelector,
|
|
20544
20548
|
Xi as CategorySelectorDrawer,
|
|
20545
20549
|
Vl as CategoryStore,
|
|
20546
20550
|
M3 as ChartFilledIcon,
|
|
@@ -20572,7 +20576,7 @@ export {
|
|
|
20572
20576
|
In as GlobalCopyApi,
|
|
20573
20577
|
Qd as GlobalCopyStore,
|
|
20574
20578
|
Pt as GlobalDataContext,
|
|
20575
|
-
|
|
20579
|
+
G8 as GlobalDataProvider,
|
|
20576
20580
|
o1 as GlobalStore,
|
|
20577
20581
|
Br as GoalApi,
|
|
20578
20582
|
eI as GoalStore,
|
|
@@ -20600,7 +20604,7 @@ export {
|
|
|
20600
20604
|
ce as MetaType,
|
|
20601
20605
|
wo as MfaStatuses,
|
|
20602
20606
|
J3 as MicroBeatCarousel,
|
|
20603
|
-
|
|
20607
|
+
Sn as MicroInsightCard,
|
|
20604
20608
|
bt as MiniWidgetContainer,
|
|
20605
20609
|
V3 as MonthlySpendComparisonIcon,
|
|
20606
20610
|
Y8 as MultiSegmentDonut,
|
|
@@ -20624,7 +20628,7 @@ export {
|
|
|
20624
20628
|
zo as PropertyType,
|
|
20625
20629
|
x8 as PropertyTypeName,
|
|
20626
20630
|
X8 as RECURRENCE_COPY,
|
|
20627
|
-
|
|
20631
|
+
U as RecurrenceTypes,
|
|
20628
20632
|
Z8 as RecurringActivityMiniWidget,
|
|
20629
20633
|
sh as RecurringActivityStore,
|
|
20630
20634
|
F8 as RecurringActivityWidget,
|
|
@@ -20636,7 +20640,7 @@ export {
|
|
|
20636
20640
|
Xn as SearchBox,
|
|
20637
20641
|
Pr as SelectionBox,
|
|
20638
20642
|
Kr as SettingsApi,
|
|
20639
|
-
|
|
20643
|
+
GI as SettingsStore,
|
|
20640
20644
|
r1 as SettingsWidget,
|
|
20641
20645
|
Uo as SingleSegmentDonut,
|
|
20642
20646
|
Lc as Sizes,
|
|
@@ -20648,8 +20652,8 @@ export {
|
|
|
20648
20652
|
qt as TOUCH_TARGET,
|
|
20649
20653
|
B as TRANSACTION_EVENTS,
|
|
20650
20654
|
Lt as TabContentContainer,
|
|
20651
|
-
|
|
20652
|
-
|
|
20655
|
+
Gt as TopActions,
|
|
20656
|
+
V as TrackType,
|
|
20653
20657
|
Hr as TransactionApi,
|
|
20654
20658
|
Xt as TransactionDetails,
|
|
20655
20659
|
lt as TransactionList,
|
|
@@ -20667,8 +20671,8 @@ export {
|
|
|
20667
20671
|
s9 as ViewMoreMicroCard,
|
|
20668
20672
|
fr as WidgetApi,
|
|
20669
20673
|
Re as WidgetContainer,
|
|
20670
|
-
|
|
20671
|
-
|
|
20674
|
+
So as WidgetContainerContext,
|
|
20675
|
+
Go as WidgetContainerProvider,
|
|
20672
20676
|
d9 as ZeroStateCard,
|
|
20673
20677
|
Qa as ZeroStateIcon,
|
|
20674
20678
|
Cc as analyticsSession,
|
|
@@ -20700,7 +20704,7 @@ export {
|
|
|
20700
20704
|
Yc as useCombineEvents,
|
|
20701
20705
|
Vc as useCombinePageviews,
|
|
20702
20706
|
Bo as useDebtStore,
|
|
20703
|
-
|
|
20707
|
+
F as useEvent,
|
|
20704
20708
|
pE as useGetMergeableAccounts,
|
|
20705
20709
|
H as useGlobalCopyStore,
|
|
20706
20710
|
xn as useGlobalStore,
|