@burdenoff/microfe-brainyrich 2026.1101.1 → 2026.1101.2
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/brainyrich/pages/DashboardPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/DashboardPage.js +4 -4
- package/dist/brainyrich/pages/DashboardPage.js.map +1 -1
- package/dist/brainyrich/pages/ReportsPage.d.ts.map +1 -1
- package/dist/brainyrich/pages/ReportsPage.js +145 -151
- package/dist/brainyrich/pages/ReportsPage.js.map +1 -1
- package/dist/brainyrich/pages/reports-csv.d.ts +2 -0
- package/dist/brainyrich/pages/reports-csv.d.ts.map +1 -0
- package/dist/brainyrich/pages/reports-csv.js +14 -0
- package/dist/brainyrich/pages/reports-csv.js.map +1 -0
- package/package.json +1 -1
|
@@ -3,12 +3,13 @@ import { tWithFallback as t } from "../utils/i18n.js";
|
|
|
3
3
|
import { fetchAllAccounts as n, fetchAllHoldings as r, useAccounts as i, useAllTransactions as a, useCreateScheduledReport as o, useDownloadReportRunPdf as s, useGenerateReportNow as c, useGoalFundings as l, useGoals as u, useHouseholds as d, useMyAdvisorBranding as f, useNetWorthSummary as ee, useReportRuns as p, useScheduledReports as te, useSetScheduledReportStatus as m, useUpsertMyAdvisorBranding as h } from "../hooks/useBrainyRichApi.js";
|
|
4
4
|
import { DonutChart as g, FadeIn as _, GlassCard as v, ProgressRing as y, Sparkline as b, StatTile as x, TrendBars as S } from "../components/viz.js";
|
|
5
5
|
import { EmptyState as C, ErrorState as w, LoadingState as T, SectionShell as ne, deltaToneClass as E, formatCompact as D, formatDate as O, formatMoney as k, statusBadgeVariant as A } from "./_shared.js";
|
|
6
|
+
import { toCsv as re } from "./reports-csv.js";
|
|
6
7
|
import { useMemo as j, useState as M } from "react";
|
|
7
|
-
import { CalendarClock as
|
|
8
|
-
import { useI18n as
|
|
9
|
-
import { useQuery as
|
|
8
|
+
import { CalendarClock as ie, ChevronDown as ae, Download as oe, FileText as N, Layers as se, Palette as ce, Pause as P, Play as le, Plus as ue, Printer as de, Receipt as fe, Sparkles as pe, Target as me, TrendingUp as he, Users as ge, Wallet as _e } from "lucide-react";
|
|
9
|
+
import { useI18n as ve } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
10
|
+
import { useQuery as ye } from "@tanstack/react-query";
|
|
10
11
|
import { jsx as F, jsxs as I } from "react/jsx-runtime";
|
|
11
|
-
import { Badge as L, Button as R, Card as z, CardContent as B, CardDescription as V, CardHeader as H, CardTitle as U, DropdownMenu as
|
|
12
|
+
import { Badge as L, Button as R, Card as z, CardContent as B, CardDescription as V, CardHeader as H, CardTitle as U, DropdownMenu as be, DropdownMenuContent as xe, DropdownMenuItem as Se, DropdownMenuTrigger as Ce, Input as W, Label as G, ResponsiveDialog as we, ResponsiveDialogClose as Te, ResponsiveDialogContent as Ee, ResponsiveDialogDescription as De, ResponsiveDialogFooter as Oe, ResponsiveDialogHeader as ke, ResponsiveDialogTitle as Ae, Select as je, SelectContent as Me, SelectItem as Ne, SelectTrigger as Pe, SelectValue as Fe, Skeleton as Ie, Table as K, TableBody as q, TableCell as J, TableHead as Y, TableHeader as X, TableRow as Z, Tabs as Le, TabsList as Re, TabsTrigger as Q, Textarea as ze } from "@burdenoff/fe-libs/ui";
|
|
12
13
|
//#region src/brainyrich/pages/ReportsPage.tsx
|
|
13
14
|
var Be = {
|
|
14
15
|
EQUITY: "Equity",
|
|
@@ -27,7 +28,7 @@ var Be = {
|
|
|
27
28
|
CRYPTO: "purple",
|
|
28
29
|
ALTERNATIVE: "info"
|
|
29
30
|
};
|
|
30
|
-
function
|
|
31
|
+
function $(e) {
|
|
31
32
|
return Be[e] ?? e.replace(/_/g, " ");
|
|
32
33
|
}
|
|
33
34
|
var He = [
|
|
@@ -93,7 +94,7 @@ function Je(e, t) {
|
|
|
93
94
|
let i = 0, a = /* @__PURE__ */ new Map();
|
|
94
95
|
for (let e of t) i += e.marketValue, a.set(e.assetClass, (a.get(e.assetClass) ?? 0) + e.marketValue), n.set(e.accountId, (n.get(e.accountId) ?? 0) + e.marketValue);
|
|
95
96
|
let o = Array.from(a.entries()).sort((e, t) => t[1] - e[1]).map(([e, t]) => ({
|
|
96
|
-
label:
|
|
97
|
+
label: $(e),
|
|
97
98
|
value: t,
|
|
98
99
|
tone: Ve[e]
|
|
99
100
|
}));
|
|
@@ -114,13 +115,6 @@ function Ye(e) {
|
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
function Xe(e, t) {
|
|
117
|
-
let n = (e) => {
|
|
118
|
-
let t = String(e ?? "");
|
|
119
|
-
return /[",\n]/.test(t) ? `"${t.replace(/"/g, "\"\"")}"` : t;
|
|
120
|
-
};
|
|
121
|
-
return [e, ...t].map((e) => e.map(n).join(",")).join("\n");
|
|
122
|
-
}
|
|
123
|
-
function $(e, t) {
|
|
124
118
|
let n = new Blob([t], { type: "text/csv;charset=utf-8;" }), r = URL.createObjectURL(n), i = document.createElement("a");
|
|
125
119
|
i.href = r, i.download = e, document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(r);
|
|
126
120
|
}
|
|
@@ -128,7 +122,7 @@ function Ze(e) {
|
|
|
128
122
|
return e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "household";
|
|
129
123
|
}
|
|
130
124
|
function Qe() {
|
|
131
|
-
let { apiGatewayUrl: t } = e(), i =
|
|
125
|
+
let { apiGatewayUrl: t } = e(), i = ye({
|
|
132
126
|
queryKey: [
|
|
133
127
|
"brainyrich",
|
|
134
128
|
"holdings",
|
|
@@ -145,10 +139,10 @@ function Qe() {
|
|
|
145
139
|
};
|
|
146
140
|
}
|
|
147
141
|
function $e() {
|
|
148
|
-
let { t: e } =
|
|
142
|
+
let { t: e } = ve(), n = (n, r, i) => t(e, n, r, i), [r, o] = M("networth"), [s, c] = M(), l = ee(), f = Qe(), p = a(), te = d(), m = l.data, h = m?.currency ?? "USD", g = te.data, v = s ?? g[0]?.id, y = g.find((e) => e.id === v), b = i({ householdId: v }), S = u({ householdId: v }), C = b.data, w = S.data, T = j(() => f.data.slice().sort((e, t) => t.marketValue - e.marketValue), [f.data]), E = j(() => p.data.slice().sort((e, t) => new Date(t.tradeDate).getTime() - new Date(e.tradeDate).getTime()), [p.data]), D = j(() => Ke(E), [E]), A = j(() => new Set(C.map((e) => e.id)), [C]), N = j(() => T.filter((e) => A.has(e.accountId)).slice().sort((e, t) => t.marketValue - e.marketValue), [T, A]), ce = j(() => E.filter((e) => A.has(e.accountId)), [E, A]), P = j(() => Je(C, N), [C, N]), le = j(() => T.reduce((e, t) => e + (t.marketValue - t.costBasis), 0), [T]), ue = () => {
|
|
149
143
|
if (r === "networth") {
|
|
150
144
|
if (!m) return;
|
|
151
|
-
|
|
145
|
+
Xe("brainyrich-net-worth-statement.csv", re([
|
|
152
146
|
"Metric",
|
|
153
147
|
"Amount",
|
|
154
148
|
"Currency"
|
|
@@ -174,7 +168,7 @@ function $e() {
|
|
|
174
168
|
""
|
|
175
169
|
],
|
|
176
170
|
...m.byAssetClass.map((e) => [
|
|
177
|
-
`Asset Class: ${
|
|
171
|
+
`Asset Class: ${$(e.assetClass)}`,
|
|
178
172
|
e.marketValue,
|
|
179
173
|
h
|
|
180
174
|
])
|
|
@@ -182,7 +176,7 @@ function $e() {
|
|
|
182
176
|
return;
|
|
183
177
|
}
|
|
184
178
|
if (r === "holdings") {
|
|
185
|
-
|
|
179
|
+
Xe("brainyrich-holdings-schedule.csv", re([
|
|
186
180
|
"Symbol",
|
|
187
181
|
"Name",
|
|
188
182
|
"Asset Class",
|
|
@@ -193,7 +187,7 @@ function $e() {
|
|
|
193
187
|
], T.map((e) => [
|
|
194
188
|
e.symbol,
|
|
195
189
|
e.name ?? "",
|
|
196
|
-
|
|
190
|
+
$(e.assetClass),
|
|
197
191
|
e.quantity,
|
|
198
192
|
e.costBasis,
|
|
199
193
|
e.marketValue,
|
|
@@ -246,10 +240,10 @@ function $e() {
|
|
|
246
240
|
e.currency
|
|
247
241
|
])
|
|
248
242
|
];
|
|
249
|
-
|
|
243
|
+
Xe(`brainyrich-${Ze(y.name)}-statement.csv`, re(t, n));
|
|
250
244
|
return;
|
|
251
245
|
}
|
|
252
|
-
|
|
246
|
+
Xe("brainyrich-transaction-ledger.csv", re([
|
|
253
247
|
"Trade Date",
|
|
254
248
|
"Type",
|
|
255
249
|
"Symbol",
|
|
@@ -268,39 +262,39 @@ function $e() {
|
|
|
268
262
|
e.fee,
|
|
269
263
|
e.currency
|
|
270
264
|
])));
|
|
271
|
-
},
|
|
265
|
+
}, pe = r === "networth" && (l.isLoading || !m) || r === "holdings" && (f.isLoading || T.length === 0) || r === "transactions" && (p.isLoading || E.length === 0) || r === "statement" && (!y || b.isLoading);
|
|
272
266
|
return /* @__PURE__ */ I(ne, {
|
|
273
267
|
title: n("brainyrich.reports.title", "Reports & Statements"),
|
|
274
268
|
description: n("brainyrich.reports.description", "Generate statements directly from your live portfolio data — no fabricated schedules."),
|
|
275
|
-
actions: /* @__PURE__ */ I(
|
|
269
|
+
actions: /* @__PURE__ */ I(be, { children: [/* @__PURE__ */ F(Ce, {
|
|
276
270
|
asChild: !0,
|
|
277
271
|
children: /* @__PURE__ */ I(R, {
|
|
278
272
|
size: "sm",
|
|
279
|
-
disabled:
|
|
273
|
+
disabled: pe,
|
|
280
274
|
"aria-label": n("brainyrich.reports.actions.export", "Print / Export"),
|
|
281
275
|
children: [
|
|
282
|
-
/* @__PURE__ */ F(
|
|
276
|
+
/* @__PURE__ */ F(oe, {
|
|
283
277
|
className: "size-4",
|
|
284
278
|
"aria-hidden": "true"
|
|
285
279
|
}),
|
|
286
280
|
n("brainyrich.reports.actions.export", "Print / Export"),
|
|
287
|
-
/* @__PURE__ */ F(
|
|
281
|
+
/* @__PURE__ */ F(ae, {
|
|
288
282
|
className: "size-4",
|
|
289
283
|
"aria-hidden": "true"
|
|
290
284
|
})
|
|
291
285
|
]
|
|
292
286
|
})
|
|
293
|
-
}), /* @__PURE__ */ I(
|
|
287
|
+
}), /* @__PURE__ */ I(xe, {
|
|
294
288
|
align: "end",
|
|
295
|
-
children: [/* @__PURE__ */ I(
|
|
296
|
-
onSelect:
|
|
297
|
-
children: [/* @__PURE__ */ F(
|
|
289
|
+
children: [/* @__PURE__ */ I(Se, {
|
|
290
|
+
onSelect: ue,
|
|
291
|
+
children: [/* @__PURE__ */ F(oe, {
|
|
298
292
|
className: "size-4",
|
|
299
293
|
"aria-hidden": "true"
|
|
300
294
|
}), n("brainyrich.reports.actions.downloadCsv", "Download CSV")]
|
|
301
|
-
}), /* @__PURE__ */ I(
|
|
295
|
+
}), /* @__PURE__ */ I(Se, {
|
|
302
296
|
onSelect: () => window.print(),
|
|
303
|
-
children: [/* @__PURE__ */ F(
|
|
297
|
+
children: [/* @__PURE__ */ F(de, {
|
|
304
298
|
className: "size-4",
|
|
305
299
|
"aria-hidden": "true"
|
|
306
300
|
}), n("brainyrich.reports.actions.print", "Print statement")]
|
|
@@ -319,7 +313,7 @@ function $e() {
|
|
|
319
313
|
/* @__PURE__ */ F(x, {
|
|
320
314
|
label: n("brainyrich.reports.kpis.marketValue", "Invested Value"),
|
|
321
315
|
value: m ? k(m.totalMarketValue, h) : "—",
|
|
322
|
-
icon: /* @__PURE__ */ F(
|
|
316
|
+
icon: /* @__PURE__ */ F(he, {
|
|
323
317
|
className: "size-4",
|
|
324
318
|
"aria-hidden": "true"
|
|
325
319
|
})
|
|
@@ -327,7 +321,7 @@ function $e() {
|
|
|
327
321
|
/* @__PURE__ */ F(x, {
|
|
328
322
|
label: n("brainyrich.reports.kpis.holdings", "Holdings on Schedule"),
|
|
329
323
|
value: String(T.length),
|
|
330
|
-
icon: /* @__PURE__ */ F(
|
|
324
|
+
icon: /* @__PURE__ */ F(se, {
|
|
331
325
|
className: "size-4",
|
|
332
326
|
"aria-hidden": "true"
|
|
333
327
|
})
|
|
@@ -335,7 +329,7 @@ function $e() {
|
|
|
335
329
|
/* @__PURE__ */ F(x, {
|
|
336
330
|
label: n("brainyrich.reports.kpis.transactions", "Ledger Entries"),
|
|
337
331
|
value: String(E.length),
|
|
338
|
-
icon: /* @__PURE__ */ F(
|
|
332
|
+
icon: /* @__PURE__ */ F(fe, {
|
|
339
333
|
className: "size-4",
|
|
340
334
|
"aria-hidden": "true"
|
|
341
335
|
})
|
|
@@ -346,37 +340,37 @@ function $e() {
|
|
|
346
340
|
value: r,
|
|
347
341
|
onValueChange: (e) => o(e),
|
|
348
342
|
children: /* @__PURE__ */ I(Re, { children: [
|
|
349
|
-
/* @__PURE__ */ I(
|
|
343
|
+
/* @__PURE__ */ I(Q, {
|
|
350
344
|
value: "networth",
|
|
351
|
-
children: [/* @__PURE__ */ F(
|
|
345
|
+
children: [/* @__PURE__ */ F(_e, {
|
|
352
346
|
className: "size-4",
|
|
353
347
|
"aria-hidden": "true"
|
|
354
348
|
}), n("brainyrich.reports.tabs.netWorth", "Net Worth")]
|
|
355
349
|
}),
|
|
356
|
-
/* @__PURE__ */ I(
|
|
350
|
+
/* @__PURE__ */ I(Q, {
|
|
357
351
|
value: "holdings",
|
|
358
|
-
children: [/* @__PURE__ */ F(
|
|
352
|
+
children: [/* @__PURE__ */ F(se, {
|
|
359
353
|
className: "size-4",
|
|
360
354
|
"aria-hidden": "true"
|
|
361
355
|
}), n("brainyrich.reports.tabs.holdings", "Holdings")]
|
|
362
356
|
}),
|
|
363
|
-
/* @__PURE__ */ I(
|
|
357
|
+
/* @__PURE__ */ I(Q, {
|
|
364
358
|
value: "transactions",
|
|
365
|
-
children: [/* @__PURE__ */ F(
|
|
359
|
+
children: [/* @__PURE__ */ F(fe, {
|
|
366
360
|
className: "size-4",
|
|
367
361
|
"aria-hidden": "true"
|
|
368
362
|
}), n("brainyrich.reports.tabs.ledger", "Ledger")]
|
|
369
363
|
}),
|
|
370
|
-
/* @__PURE__ */ I(
|
|
364
|
+
/* @__PURE__ */ I(Q, {
|
|
371
365
|
value: "statement",
|
|
372
|
-
children: [/* @__PURE__ */ F(
|
|
366
|
+
children: [/* @__PURE__ */ F(ge, {
|
|
373
367
|
className: "size-4",
|
|
374
368
|
"aria-hidden": "true"
|
|
375
369
|
}), n("brainyrich.reports.tabs.statement", "Client Statement")]
|
|
376
370
|
}),
|
|
377
|
-
/* @__PURE__ */ I(
|
|
371
|
+
/* @__PURE__ */ I(Q, {
|
|
378
372
|
value: "scheduled",
|
|
379
|
-
children: [/* @__PURE__ */ F(
|
|
373
|
+
children: [/* @__PURE__ */ F(ie, {
|
|
380
374
|
className: "size-4",
|
|
381
375
|
"aria-hidden": "true"
|
|
382
376
|
}), n("brainyrich.reports.tabs.scheduled", "Scheduled Reports")]
|
|
@@ -391,7 +385,7 @@ function $e() {
|
|
|
391
385
|
}) : r === "holdings" ? /* @__PURE__ */ F(rt, {
|
|
392
386
|
query: f,
|
|
393
387
|
holdings: T,
|
|
394
|
-
unrealized:
|
|
388
|
+
unrealized: le,
|
|
395
389
|
translate: n
|
|
396
390
|
}) : r === "transactions" ? /* @__PURE__ */ F(it, {
|
|
397
391
|
query: p,
|
|
@@ -407,7 +401,7 @@ function $e() {
|
|
|
407
401
|
accountsQuery: b,
|
|
408
402
|
goals: w,
|
|
409
403
|
holdings: N,
|
|
410
|
-
transactions:
|
|
404
|
+
transactions: ce,
|
|
411
405
|
statement: P,
|
|
412
406
|
translate: n
|
|
413
407
|
}) : /* @__PURE__ */ F(et, {
|
|
@@ -430,7 +424,7 @@ function et({ households: e, translate: t }) {
|
|
|
430
424
|
children: [/* @__PURE__ */ I(R, {
|
|
431
425
|
size: "sm",
|
|
432
426
|
onClick: () => _(!0),
|
|
433
|
-
children: [/* @__PURE__ */ F(
|
|
427
|
+
children: [/* @__PURE__ */ F(ue, {
|
|
434
428
|
className: "size-4",
|
|
435
429
|
"aria-hidden": "true"
|
|
436
430
|
}), t("brainyrich.reports.scheduled.new", "New schedule")]
|
|
@@ -441,10 +435,10 @@ function et({ households: e, translate: t }) {
|
|
|
441
435
|
children: [
|
|
442
436
|
/* @__PURE__ */ I("div", {
|
|
443
437
|
className: "space-y-1.5",
|
|
444
|
-
children: [/* @__PURE__ */ F(
|
|
438
|
+
children: [/* @__PURE__ */ F(G, {
|
|
445
439
|
htmlFor: "schedule-name",
|
|
446
440
|
children: t("brainyrich.reports.scheduled.fields.name", "Name")
|
|
447
|
-
}), /* @__PURE__ */ F(
|
|
441
|
+
}), /* @__PURE__ */ F(W, {
|
|
448
442
|
id: "schedule-name",
|
|
449
443
|
value: v,
|
|
450
444
|
onChange: (e) => y(e.target.value),
|
|
@@ -453,7 +447,7 @@ function et({ households: e, translate: t }) {
|
|
|
453
447
|
}),
|
|
454
448
|
/* @__PURE__ */ I("div", {
|
|
455
449
|
className: "space-y-1.5",
|
|
456
|
-
children: [/* @__PURE__ */ F(
|
|
450
|
+
children: [/* @__PURE__ */ F(G, { children: t("brainyrich.reports.scheduled.fields.frequency", "Frequency") }), /* @__PURE__ */ I(je, {
|
|
457
451
|
value: b,
|
|
458
452
|
onValueChange: (e) => x(e),
|
|
459
453
|
children: [/* @__PURE__ */ F(Pe, { children: /* @__PURE__ */ F(Fe, {}) }), /* @__PURE__ */ I(Me, { children: [
|
|
@@ -474,7 +468,7 @@ function et({ households: e, translate: t }) {
|
|
|
474
468
|
}),
|
|
475
469
|
/* @__PURE__ */ I("div", {
|
|
476
470
|
className: "space-y-1.5",
|
|
477
|
-
children: [/* @__PURE__ */ F(
|
|
471
|
+
children: [/* @__PURE__ */ F(G, { children: t("brainyrich.reports.scheduled.fields.household", "Household (optional — whole book if omitted)") }), /* @__PURE__ */ I(je, {
|
|
478
472
|
value: S,
|
|
479
473
|
onValueChange: ne,
|
|
480
474
|
children: [/* @__PURE__ */ F(Pe, { children: /* @__PURE__ */ F(Fe, { placeholder: "Whole book" }) }), /* @__PURE__ */ F(Me, { children: e.map((e) => /* @__PURE__ */ F(Ne, {
|
|
@@ -505,41 +499,41 @@ function et({ households: e, translate: t }) {
|
|
|
505
499
|
] })]
|
|
506
500
|
})]
|
|
507
501
|
}), /* @__PURE__ */ F(B, { children: n.isLoading ? /* @__PURE__ */ F(T, {}) : n.isError ? /* @__PURE__ */ F(w, { onRetry: () => n.refetch() }) : n.data.length === 0 ? /* @__PURE__ */ F(C, {
|
|
508
|
-
icon: /* @__PURE__ */ F(
|
|
502
|
+
icon: /* @__PURE__ */ F(ie, {
|
|
509
503
|
className: "size-8",
|
|
510
504
|
"aria-hidden": "true"
|
|
511
505
|
}),
|
|
512
506
|
title: t("brainyrich.reports.scheduled.empty", "No scheduled reports yet")
|
|
513
|
-
}) : /* @__PURE__ */ I(
|
|
514
|
-
/* @__PURE__ */ F(
|
|
515
|
-
/* @__PURE__ */ F(
|
|
516
|
-
/* @__PURE__ */ F(
|
|
517
|
-
/* @__PURE__ */ F(
|
|
518
|
-
/* @__PURE__ */ F(
|
|
519
|
-
/* @__PURE__ */ F(
|
|
507
|
+
}) : /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [
|
|
508
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.scheduled.columns.name", "Name") }),
|
|
509
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.scheduled.columns.frequency", "Frequency") }),
|
|
510
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.scheduled.columns.status", "Status") }),
|
|
511
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.scheduled.columns.nextRun", "Next run") }),
|
|
512
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.scheduled.columns.lastRun", "Last run") }),
|
|
513
|
+
/* @__PURE__ */ F(Y, {
|
|
520
514
|
className: "text-right",
|
|
521
515
|
children: t("brainyrich.reports.scheduled.columns.actions", "Actions")
|
|
522
516
|
})
|
|
523
|
-
] }) }), /* @__PURE__ */ F(
|
|
524
|
-
/* @__PURE__ */ F(
|
|
517
|
+
] }) }), /* @__PURE__ */ F(q, { children: n.data.map((e) => /* @__PURE__ */ I(Z, { children: [
|
|
518
|
+
/* @__PURE__ */ F(J, {
|
|
525
519
|
className: "font-medium",
|
|
526
520
|
children: e.name
|
|
527
521
|
}),
|
|
528
|
-
/* @__PURE__ */ F(
|
|
529
|
-
/* @__PURE__ */ F(
|
|
522
|
+
/* @__PURE__ */ F(J, { children: e.frequency }),
|
|
523
|
+
/* @__PURE__ */ F(J, { children: /* @__PURE__ */ F(L, {
|
|
530
524
|
variant: e.status === "ACTIVE" ? "default" : "secondary",
|
|
531
525
|
children: e.status
|
|
532
526
|
}) }),
|
|
533
|
-
/* @__PURE__ */ F(
|
|
534
|
-
/* @__PURE__ */ F(
|
|
535
|
-
/* @__PURE__ */ I(
|
|
527
|
+
/* @__PURE__ */ F(J, { children: O(e.nextRunAt) }),
|
|
528
|
+
/* @__PURE__ */ F(J, { children: e.lastRunAt ? O(e.lastRunAt) : "—" }),
|
|
529
|
+
/* @__PURE__ */ I(J, {
|
|
536
530
|
className: "flex justify-end gap-1.5",
|
|
537
531
|
children: [/* @__PURE__ */ I(R, {
|
|
538
532
|
size: "sm",
|
|
539
533
|
variant: "ghost",
|
|
540
534
|
disabled: l.isPending,
|
|
541
535
|
onClick: () => l.mutate({ scheduledReportId: e.id }),
|
|
542
|
-
children: [/* @__PURE__ */ F(
|
|
536
|
+
children: [/* @__PURE__ */ F(pe, {
|
|
543
537
|
className: "size-4",
|
|
544
538
|
"aria-hidden": "true"
|
|
545
539
|
}), "Generate now"]
|
|
@@ -554,7 +548,7 @@ function et({ households: e, translate: t }) {
|
|
|
554
548
|
children: [e.status === "ACTIVE" ? /* @__PURE__ */ F(P, {
|
|
555
549
|
className: "size-4",
|
|
556
550
|
"aria-hidden": "true"
|
|
557
|
-
}) : /* @__PURE__ */ F(
|
|
551
|
+
}) : /* @__PURE__ */ F(le, {
|
|
558
552
|
className: "size-4",
|
|
559
553
|
"aria-hidden": "true"
|
|
560
554
|
}), e.status === "ACTIVE" ? "Pause" : "Resume"]
|
|
@@ -567,33 +561,33 @@ function et({ households: e, translate: t }) {
|
|
|
567
561
|
"aria-hidden": "true"
|
|
568
562
|
}),
|
|
569
563
|
title: t("brainyrich.reports.runs.empty", "No report runs yet")
|
|
570
|
-
}) : /* @__PURE__ */ I(
|
|
571
|
-
/* @__PURE__ */ F(
|
|
572
|
-
/* @__PURE__ */ F(
|
|
573
|
-
/* @__PURE__ */ F(
|
|
574
|
-
/* @__PURE__ */ F(
|
|
564
|
+
}) : /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [
|
|
565
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.runs.columns.period", "Period") }),
|
|
566
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.runs.columns.status", "Status") }),
|
|
567
|
+
/* @__PURE__ */ F(Y, { children: t("brainyrich.reports.runs.columns.generated", "Generated") }),
|
|
568
|
+
/* @__PURE__ */ F(Y, {
|
|
575
569
|
className: "text-right",
|
|
576
570
|
children: t("brainyrich.reports.runs.columns.actions", "Actions")
|
|
577
571
|
})
|
|
578
|
-
] }) }), /* @__PURE__ */ F(
|
|
579
|
-
/* @__PURE__ */ I(
|
|
572
|
+
] }) }), /* @__PURE__ */ F(q, { children: r.data.map((e) => /* @__PURE__ */ I(Z, { children: [
|
|
573
|
+
/* @__PURE__ */ I(J, { children: [
|
|
580
574
|
O(e.periodStart),
|
|
581
575
|
" – ",
|
|
582
576
|
O(e.periodEnd)
|
|
583
577
|
] }),
|
|
584
|
-
/* @__PURE__ */ F(
|
|
578
|
+
/* @__PURE__ */ F(J, { children: /* @__PURE__ */ F(L, {
|
|
585
579
|
variant: A(e.status),
|
|
586
580
|
children: e.status
|
|
587
581
|
}) }),
|
|
588
|
-
/* @__PURE__ */ F(
|
|
589
|
-
/* @__PURE__ */ F(
|
|
582
|
+
/* @__PURE__ */ F(J, { children: e.generatedAt ? O(e.generatedAt) : "—" }),
|
|
583
|
+
/* @__PURE__ */ F(J, {
|
|
590
584
|
className: "text-right",
|
|
591
585
|
children: /* @__PURE__ */ I(R, {
|
|
592
586
|
size: "sm",
|
|
593
587
|
variant: "ghost",
|
|
594
588
|
disabled: e.status !== "GENERATED" || u.isPending,
|
|
595
589
|
onClick: () => u.mutate(e),
|
|
596
|
-
children: [/* @__PURE__ */ F(
|
|
590
|
+
children: [/* @__PURE__ */ F(oe, {
|
|
597
591
|
className: "size-4",
|
|
598
592
|
"aria-hidden": "true"
|
|
599
593
|
}), "PDF"]
|
|
@@ -602,7 +596,7 @@ function et({ households: e, translate: t }) {
|
|
|
602
596
|
] }, e.id)) })] }) })] }),
|
|
603
597
|
/* @__PURE__ */ I(z, { children: [/* @__PURE__ */ I(H, { children: [/* @__PURE__ */ I(U, {
|
|
604
598
|
className: "flex items-center gap-2",
|
|
605
|
-
children: [/* @__PURE__ */ F(
|
|
599
|
+
children: [/* @__PURE__ */ F(ce, {
|
|
606
600
|
className: "size-4",
|
|
607
601
|
"aria-hidden": "true"
|
|
608
602
|
}), t("brainyrich.reports.branding.title", "Client-Portal Branding")]
|
|
@@ -615,16 +609,16 @@ function et({ households: e, translate: t }) {
|
|
|
615
609
|
});
|
|
616
610
|
}
|
|
617
611
|
function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
618
|
-
let { t: i } =
|
|
612
|
+
let { t: i } = ve(), a = (e, n, r) => t(i, e, n, r), [o, s] = M(() => e?.firmName ?? ""), [c, l] = M(() => e?.primaryColor ?? ""), [u, d] = M(() => e?.contactEmail ?? ""), [f, ee] = M(() => e?.disclaimer ?? "");
|
|
619
613
|
return /* @__PURE__ */ I("div", {
|
|
620
614
|
className: "grid gap-4 md:grid-cols-2",
|
|
621
615
|
children: [
|
|
622
616
|
/* @__PURE__ */ I("div", {
|
|
623
617
|
className: "space-y-1.5",
|
|
624
|
-
children: [/* @__PURE__ */ F(
|
|
618
|
+
children: [/* @__PURE__ */ F(G, {
|
|
625
619
|
htmlFor: "branding-firm",
|
|
626
620
|
children: a("brainyrich.reports.branding.firmName", "Firm name")
|
|
627
|
-
}), /* @__PURE__ */ F(
|
|
621
|
+
}), /* @__PURE__ */ F(W, {
|
|
628
622
|
id: "branding-firm",
|
|
629
623
|
value: o,
|
|
630
624
|
onChange: (e) => s(e.target.value)
|
|
@@ -632,10 +626,10 @@ function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
|
632
626
|
}),
|
|
633
627
|
/* @__PURE__ */ I("div", {
|
|
634
628
|
className: "space-y-1.5",
|
|
635
|
-
children: [/* @__PURE__ */ F(
|
|
629
|
+
children: [/* @__PURE__ */ F(G, {
|
|
636
630
|
htmlFor: "branding-color",
|
|
637
631
|
children: a("brainyrich.reports.branding.primaryColor", "Primary color (hex)")
|
|
638
|
-
}), /* @__PURE__ */ F(
|
|
632
|
+
}), /* @__PURE__ */ F(W, {
|
|
639
633
|
id: "branding-color",
|
|
640
634
|
value: c,
|
|
641
635
|
onChange: (e) => l(e.target.value),
|
|
@@ -644,10 +638,10 @@ function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
|
644
638
|
}),
|
|
645
639
|
/* @__PURE__ */ I("div", {
|
|
646
640
|
className: "space-y-1.5",
|
|
647
|
-
children: [/* @__PURE__ */ F(
|
|
641
|
+
children: [/* @__PURE__ */ F(G, {
|
|
648
642
|
htmlFor: "branding-email",
|
|
649
643
|
children: a("brainyrich.reports.branding.contactEmail", "Contact email")
|
|
650
|
-
}), /* @__PURE__ */ F(
|
|
644
|
+
}), /* @__PURE__ */ F(W, {
|
|
651
645
|
id: "branding-email",
|
|
652
646
|
type: "email",
|
|
653
647
|
value: u,
|
|
@@ -656,7 +650,7 @@ function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
|
656
650
|
}),
|
|
657
651
|
/* @__PURE__ */ I("div", {
|
|
658
652
|
className: "space-y-1.5 md:col-span-2",
|
|
659
|
-
children: [/* @__PURE__ */ F(
|
|
653
|
+
children: [/* @__PURE__ */ F(G, {
|
|
660
654
|
htmlFor: "branding-disclaimer",
|
|
661
655
|
children: a("brainyrich.reports.branding.disclaimer", "Disclaimer")
|
|
662
656
|
}), /* @__PURE__ */ F(ze, {
|
|
@@ -684,7 +678,7 @@ function tt({ branding: e, isSaving: n, onSave: r }) {
|
|
|
684
678
|
}
|
|
685
679
|
function nt({ query: e, cashflow: t, netSeries: n, translate: r }) {
|
|
686
680
|
let i = e.data, a = i?.currency ?? "USD", o = j(() => i ? i.byAssetClass.slice().sort((e, t) => t.marketValue - e.marketValue).map((e) => ({
|
|
687
|
-
label:
|
|
681
|
+
label: $(e.assetClass),
|
|
688
682
|
value: e.marketValue,
|
|
689
683
|
tone: Ve[e.assetClass]
|
|
690
684
|
})) : [], [i]);
|
|
@@ -699,7 +693,7 @@ function nt({ query: e, cashflow: t, netSeries: n, translate: r }) {
|
|
|
699
693
|
if (!i) return /* @__PURE__ */ F(z, { children: /* @__PURE__ */ F(B, {
|
|
700
694
|
className: "p-6",
|
|
701
695
|
children: /* @__PURE__ */ F(C, {
|
|
702
|
-
icon: /* @__PURE__ */ F(
|
|
696
|
+
icon: /* @__PURE__ */ F(_e, {
|
|
703
697
|
className: "size-6",
|
|
704
698
|
"aria-hidden": "true"
|
|
705
699
|
}),
|
|
@@ -789,28 +783,28 @@ function nt({ query: e, cashflow: t, netSeries: n, translate: r }) {
|
|
|
789
783
|
index: 2,
|
|
790
784
|
children: /* @__PURE__ */ I(z, { children: [/* @__PURE__ */ F(H, { children: /* @__PURE__ */ I(U, {
|
|
791
785
|
className: "flex items-center gap-2 text-base",
|
|
792
|
-
children: [/* @__PURE__ */ F(
|
|
786
|
+
children: [/* @__PURE__ */ F(_e, {
|
|
793
787
|
className: "size-4",
|
|
794
788
|
"aria-hidden": "true"
|
|
795
789
|
}), r("brainyrich.reports.netWorth.schedule", "By Asset Class")]
|
|
796
790
|
}) }), /* @__PURE__ */ F(B, { children: o.length > 0 ? /* @__PURE__ */ F("div", {
|
|
797
791
|
className: "overflow-x-auto",
|
|
798
|
-
children: /* @__PURE__ */ I(
|
|
792
|
+
children: /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [/* @__PURE__ */ F(Y, { children: r("brainyrich.reports.netWorth.assetClass", "Asset class") }), /* @__PURE__ */ F(Y, {
|
|
799
793
|
className: "text-right",
|
|
800
794
|
children: r("brainyrich.reports.netWorth.total", "Total")
|
|
801
|
-
})] }) }), /* @__PURE__ */ I(
|
|
795
|
+
})] }) }), /* @__PURE__ */ I(q, { children: [o.map((e) => /* @__PURE__ */ I(Z, {
|
|
802
796
|
className: "transition-colors hover:bg-bg-elevated/60",
|
|
803
|
-
children: [/* @__PURE__ */ F(
|
|
797
|
+
children: [/* @__PURE__ */ F(J, {
|
|
804
798
|
className: "font-medium text-text-primary",
|
|
805
799
|
children: e.label
|
|
806
|
-
}), /* @__PURE__ */ F(
|
|
800
|
+
}), /* @__PURE__ */ F(J, {
|
|
807
801
|
className: "text-right tabular-nums text-text-primary",
|
|
808
802
|
children: k(e.value, a)
|
|
809
803
|
})]
|
|
810
|
-
}, e.label)), /* @__PURE__ */ I(
|
|
804
|
+
}, e.label)), /* @__PURE__ */ I(Z, { children: [/* @__PURE__ */ F(J, {
|
|
811
805
|
className: "font-semibold text-text-primary",
|
|
812
806
|
children: r("brainyrich.reports.netWorth.totals", "Totals")
|
|
813
|
-
}), /* @__PURE__ */ F(
|
|
807
|
+
}), /* @__PURE__ */ F(J, {
|
|
814
808
|
className: "text-right font-semibold tabular-nums text-status-success-text",
|
|
815
809
|
children: k(i.totalMarketValue, a)
|
|
816
810
|
})] })] })] })
|
|
@@ -823,7 +817,7 @@ function nt({ query: e, cashflow: t, netSeries: n, translate: r }) {
|
|
|
823
817
|
index: 3,
|
|
824
818
|
children: /* @__PURE__ */ I(z, { children: [/* @__PURE__ */ I(H, { children: [/* @__PURE__ */ I(U, {
|
|
825
819
|
className: "flex items-center gap-2 text-base",
|
|
826
|
-
children: [/* @__PURE__ */ F(
|
|
820
|
+
children: [/* @__PURE__ */ F(he, {
|
|
827
821
|
className: "size-4",
|
|
828
822
|
"aria-hidden": "true"
|
|
829
823
|
}), r("brainyrich.reports.cashflow.title", "Cash Flow")]
|
|
@@ -862,60 +856,60 @@ function rt({ query: e, holdings: t, unrealized: n, translate: r }) {
|
|
|
862
856
|
index: 1,
|
|
863
857
|
children: /* @__PURE__ */ I(z, { children: [/* @__PURE__ */ I(H, { children: [/* @__PURE__ */ I(U, {
|
|
864
858
|
className: "flex items-center gap-2",
|
|
865
|
-
children: [/* @__PURE__ */ F(
|
|
859
|
+
children: [/* @__PURE__ */ F(se, {
|
|
866
860
|
className: "size-5",
|
|
867
861
|
"aria-hidden": "true"
|
|
868
862
|
}), r("brainyrich.reports.holdings.title", "Holdings Schedule")]
|
|
869
863
|
}), /* @__PURE__ */ F(V, { children: r("brainyrich.reports.holdings.description", "Every position across your portfolios with cost basis and market value.") })] }), /* @__PURE__ */ F(B, { children: e.isLoading ? /* @__PURE__ */ F(T, { rows: 4 }) : e.isError ? /* @__PURE__ */ F(w, { onRetry: () => e.refetch() }) : t.length > 0 ? /* @__PURE__ */ F("div", {
|
|
870
864
|
className: "overflow-x-auto",
|
|
871
|
-
children: /* @__PURE__ */ I(
|
|
872
|
-
/* @__PURE__ */ F(
|
|
873
|
-
/* @__PURE__ */ F(
|
|
874
|
-
/* @__PURE__ */ F(
|
|
865
|
+
children: /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [
|
|
866
|
+
/* @__PURE__ */ F(Y, { children: r("brainyrich.reports.holdings.symbol", "Symbol") }),
|
|
867
|
+
/* @__PURE__ */ F(Y, { children: r("brainyrich.reports.holdings.assetClass", "Asset Class") }),
|
|
868
|
+
/* @__PURE__ */ F(Y, {
|
|
875
869
|
className: "text-right",
|
|
876
870
|
children: r("brainyrich.reports.holdings.quantity", "Quantity")
|
|
877
871
|
}),
|
|
878
|
-
/* @__PURE__ */ F(
|
|
872
|
+
/* @__PURE__ */ F(Y, {
|
|
879
873
|
className: "text-right",
|
|
880
874
|
children: r("brainyrich.reports.holdings.costBasis", "Cost Basis")
|
|
881
875
|
}),
|
|
882
|
-
/* @__PURE__ */ F(
|
|
876
|
+
/* @__PURE__ */ F(Y, {
|
|
883
877
|
className: "text-right",
|
|
884
878
|
children: r("brainyrich.reports.holdings.marketValue", "Market Value")
|
|
885
879
|
}),
|
|
886
|
-
/* @__PURE__ */ F(
|
|
880
|
+
/* @__PURE__ */ F(Y, {
|
|
887
881
|
className: "text-right",
|
|
888
882
|
children: r("brainyrich.reports.holdings.gainLoss", "Unrealized")
|
|
889
883
|
})
|
|
890
|
-
] }) }), /* @__PURE__ */ F(
|
|
884
|
+
] }) }), /* @__PURE__ */ F(q, { children: t.map((e) => {
|
|
891
885
|
let t = e.marketValue - e.costBasis;
|
|
892
|
-
return /* @__PURE__ */ I(
|
|
886
|
+
return /* @__PURE__ */ I(Z, {
|
|
893
887
|
className: "transition-colors hover:bg-bg-elevated/60",
|
|
894
888
|
children: [
|
|
895
|
-
/* @__PURE__ */ I(
|
|
889
|
+
/* @__PURE__ */ I(J, { children: [/* @__PURE__ */ F("div", {
|
|
896
890
|
className: "font-medium text-text-primary",
|
|
897
891
|
children: e.symbol
|
|
898
892
|
}), e.name ? /* @__PURE__ */ F("div", {
|
|
899
893
|
className: "text-xs text-text-secondary",
|
|
900
894
|
children: e.name
|
|
901
895
|
}) : null] }),
|
|
902
|
-
/* @__PURE__ */ F(
|
|
896
|
+
/* @__PURE__ */ F(J, { children: /* @__PURE__ */ F(L, {
|
|
903
897
|
variant: "outline",
|
|
904
|
-
children:
|
|
898
|
+
children: $(e.assetClass)
|
|
905
899
|
}) }),
|
|
906
|
-
/* @__PURE__ */ F(
|
|
900
|
+
/* @__PURE__ */ F(J, {
|
|
907
901
|
className: "text-right tabular-nums text-text-primary",
|
|
908
902
|
children: e.quantity
|
|
909
903
|
}),
|
|
910
|
-
/* @__PURE__ */ F(
|
|
904
|
+
/* @__PURE__ */ F(J, {
|
|
911
905
|
className: "text-right tabular-nums text-text-primary",
|
|
912
906
|
children: k(e.costBasis, e.currency)
|
|
913
907
|
}),
|
|
914
|
-
/* @__PURE__ */ F(
|
|
908
|
+
/* @__PURE__ */ F(J, {
|
|
915
909
|
className: "text-right tabular-nums text-text-primary",
|
|
916
910
|
children: k(e.marketValue, e.currency)
|
|
917
911
|
}),
|
|
918
|
-
/* @__PURE__ */ I(
|
|
912
|
+
/* @__PURE__ */ I(J, {
|
|
919
913
|
className: `text-right tabular-nums font-medium ${E(t)}`,
|
|
920
914
|
children: [t > 0 ? "+" : "", k(t, e.currency)]
|
|
921
915
|
})
|
|
@@ -923,7 +917,7 @@ function rt({ query: e, holdings: t, unrealized: n, translate: r }) {
|
|
|
923
917
|
}, e.id);
|
|
924
918
|
}) })] })
|
|
925
919
|
}) : /* @__PURE__ */ F(C, {
|
|
926
|
-
icon: /* @__PURE__ */ F(
|
|
920
|
+
icon: /* @__PURE__ */ F(se, {
|
|
927
921
|
className: "size-6",
|
|
928
922
|
"aria-hidden": "true"
|
|
929
923
|
}),
|
|
@@ -963,7 +957,7 @@ function it({ query: e, transactions: t, cashflow: n, currency: r, translate: i
|
|
|
963
957
|
index: 1,
|
|
964
958
|
children: /* @__PURE__ */ I(z, { children: [/* @__PURE__ */ F(H, { children: /* @__PURE__ */ I(U, {
|
|
965
959
|
className: "flex items-center gap-2 text-base",
|
|
966
|
-
children: [/* @__PURE__ */ F(
|
|
960
|
+
children: [/* @__PURE__ */ F(he, {
|
|
967
961
|
className: "size-4",
|
|
968
962
|
"aria-hidden": "true"
|
|
969
963
|
}), i("brainyrich.reports.cashflow.title", "Cash Flow")]
|
|
@@ -976,52 +970,52 @@ function it({ query: e, transactions: t, cashflow: n, currency: r, translate: i
|
|
|
976
970
|
index: 2,
|
|
977
971
|
children: /* @__PURE__ */ I(z, { children: [/* @__PURE__ */ I(H, { children: [/* @__PURE__ */ I(U, {
|
|
978
972
|
className: "flex items-center gap-2",
|
|
979
|
-
children: [/* @__PURE__ */ F(
|
|
973
|
+
children: [/* @__PURE__ */ F(fe, {
|
|
980
974
|
className: "size-5",
|
|
981
975
|
"aria-hidden": "true"
|
|
982
976
|
}), i("brainyrich.reports.ledger.title", "Transaction Ledger")]
|
|
983
977
|
}), /* @__PURE__ */ F(V, { children: i("brainyrich.reports.ledger.description", "Every recorded transaction across your accounts, newest first.") })] }), /* @__PURE__ */ F(B, { children: e.isLoading ? /* @__PURE__ */ F(T, { rows: 4 }) : e.isError ? /* @__PURE__ */ F(w, { onRetry: () => e.refetch() }) : t.length > 0 ? /* @__PURE__ */ F("div", {
|
|
984
978
|
className: "overflow-x-auto",
|
|
985
|
-
children: /* @__PURE__ */ I(
|
|
986
|
-
/* @__PURE__ */ F(
|
|
987
|
-
/* @__PURE__ */ F(
|
|
988
|
-
/* @__PURE__ */ F(
|
|
989
|
-
/* @__PURE__ */ F(
|
|
979
|
+
children: /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [
|
|
980
|
+
/* @__PURE__ */ F(Y, { children: i("brainyrich.reports.ledger.date", "Trade Date") }),
|
|
981
|
+
/* @__PURE__ */ F(Y, { children: i("brainyrich.reports.ledger.type", "Type") }),
|
|
982
|
+
/* @__PURE__ */ F(Y, { children: i("brainyrich.reports.ledger.symbol", "Symbol") }),
|
|
983
|
+
/* @__PURE__ */ F(Y, {
|
|
990
984
|
className: "text-right",
|
|
991
985
|
children: i("brainyrich.reports.ledger.quantity", "Quantity")
|
|
992
986
|
}),
|
|
993
|
-
/* @__PURE__ */ F(
|
|
987
|
+
/* @__PURE__ */ F(Y, {
|
|
994
988
|
className: "text-right",
|
|
995
989
|
children: i("brainyrich.reports.ledger.price", "Price")
|
|
996
990
|
}),
|
|
997
|
-
/* @__PURE__ */ F(
|
|
991
|
+
/* @__PURE__ */ F(Y, {
|
|
998
992
|
className: "text-right",
|
|
999
993
|
children: i("brainyrich.reports.ledger.amount", "Amount")
|
|
1000
994
|
})
|
|
1001
|
-
] }) }), /* @__PURE__ */ F(
|
|
995
|
+
] }) }), /* @__PURE__ */ F(q, { children: t.map((e) => /* @__PURE__ */ I(Z, {
|
|
1002
996
|
className: "transition-colors hover:bg-bg-elevated/60",
|
|
1003
997
|
children: [
|
|
1004
|
-
/* @__PURE__ */ F(
|
|
998
|
+
/* @__PURE__ */ F(J, {
|
|
1005
999
|
className: "text-text-primary",
|
|
1006
1000
|
children: O(e.tradeDate)
|
|
1007
1001
|
}),
|
|
1008
|
-
/* @__PURE__ */ F(
|
|
1002
|
+
/* @__PURE__ */ F(J, { children: /* @__PURE__ */ F(L, {
|
|
1009
1003
|
variant: "outline",
|
|
1010
1004
|
children: e.type
|
|
1011
1005
|
}) }),
|
|
1012
|
-
/* @__PURE__ */ F(
|
|
1006
|
+
/* @__PURE__ */ F(J, {
|
|
1013
1007
|
className: "text-text-primary",
|
|
1014
1008
|
children: e.symbol ?? "—"
|
|
1015
1009
|
}),
|
|
1016
|
-
/* @__PURE__ */ F(
|
|
1010
|
+
/* @__PURE__ */ F(J, {
|
|
1017
1011
|
className: "text-right tabular-nums text-text-primary",
|
|
1018
1012
|
children: e.quantity
|
|
1019
1013
|
}),
|
|
1020
|
-
/* @__PURE__ */ F(
|
|
1014
|
+
/* @__PURE__ */ F(J, {
|
|
1021
1015
|
className: "text-right tabular-nums text-text-primary",
|
|
1022
1016
|
children: k(e.price, e.currency)
|
|
1023
1017
|
}),
|
|
1024
|
-
/* @__PURE__ */ F(
|
|
1018
|
+
/* @__PURE__ */ F(J, {
|
|
1025
1019
|
className: "text-right tabular-nums text-text-primary",
|
|
1026
1020
|
children: k(e.amount, e.currency)
|
|
1027
1021
|
})
|
|
@@ -1051,7 +1045,7 @@ function at({ householdsQuery: e, households: t, activeHousehold: n, onSelect: r
|
|
|
1051
1045
|
if (t.length === 0 || !n) return /* @__PURE__ */ F(z, { children: /* @__PURE__ */ F(B, {
|
|
1052
1046
|
className: "p-6",
|
|
1053
1047
|
children: /* @__PURE__ */ F(C, {
|
|
1054
|
-
icon: /* @__PURE__ */ F(
|
|
1048
|
+
icon: /* @__PURE__ */ F(ge, {
|
|
1055
1049
|
className: "size-6",
|
|
1056
1050
|
"aria-hidden": "true"
|
|
1057
1051
|
}),
|
|
@@ -1067,27 +1061,27 @@ function at({ householdsQuery: e, households: t, activeHousehold: n, onSelect: r
|
|
|
1067
1061
|
children: [/* @__PURE__ */ F("span", {
|
|
1068
1062
|
className: "text-sm text-text-secondary",
|
|
1069
1063
|
children: l("brainyrich.reports.statement.for", "Statement for")
|
|
1070
|
-
}), /* @__PURE__ */ I(
|
|
1064
|
+
}), /* @__PURE__ */ I(be, { children: [/* @__PURE__ */ F(Ce, {
|
|
1071
1065
|
asChild: !0,
|
|
1072
1066
|
children: /* @__PURE__ */ I(R, {
|
|
1073
1067
|
variant: "outline",
|
|
1074
1068
|
size: "sm",
|
|
1075
1069
|
children: [
|
|
1076
|
-
/* @__PURE__ */ F(
|
|
1070
|
+
/* @__PURE__ */ F(ge, {
|
|
1077
1071
|
className: "size-4",
|
|
1078
1072
|
"aria-hidden": "true"
|
|
1079
1073
|
}),
|
|
1080
1074
|
n.name,
|
|
1081
|
-
/* @__PURE__ */ F(
|
|
1075
|
+
/* @__PURE__ */ F(ae, {
|
|
1082
1076
|
className: "size-4",
|
|
1083
1077
|
"aria-hidden": "true"
|
|
1084
1078
|
})
|
|
1085
1079
|
]
|
|
1086
1080
|
})
|
|
1087
|
-
}), /* @__PURE__ */ F(
|
|
1081
|
+
}), /* @__PURE__ */ F(xe, {
|
|
1088
1082
|
align: "start",
|
|
1089
1083
|
className: "max-h-72 overflow-y-auto",
|
|
1090
|
-
children: t.map((e) => /* @__PURE__ */ F(
|
|
1084
|
+
children: t.map((e) => /* @__PURE__ */ F(Se, {
|
|
1091
1085
|
onSelect: () => r(e.id),
|
|
1092
1086
|
children: e.name
|
|
1093
1087
|
}, e.id))
|
|
@@ -1181,36 +1175,36 @@ function at({ householdsQuery: e, households: t, activeHousehold: n, onSelect: r
|
|
|
1181
1175
|
children: l("brainyrich.reports.statement.holdings", "Holdings Schedule")
|
|
1182
1176
|
}), /* @__PURE__ */ F("div", {
|
|
1183
1177
|
className: "overflow-x-auto rounded-lg border border-border-subtle",
|
|
1184
|
-
children: /* @__PURE__ */ I(
|
|
1185
|
-
/* @__PURE__ */ F(
|
|
1186
|
-
/* @__PURE__ */ F(
|
|
1187
|
-
/* @__PURE__ */ F(
|
|
1178
|
+
children: /* @__PURE__ */ I(K, { children: [/* @__PURE__ */ F(X, { children: /* @__PURE__ */ I(Z, { children: [
|
|
1179
|
+
/* @__PURE__ */ F(Y, { children: l("brainyrich.reports.holdings.symbol", "Symbol") }),
|
|
1180
|
+
/* @__PURE__ */ F(Y, { children: l("brainyrich.reports.holdings.assetClass", "Asset Class") }),
|
|
1181
|
+
/* @__PURE__ */ F(Y, {
|
|
1188
1182
|
className: "text-right",
|
|
1189
1183
|
children: l("brainyrich.reports.holdings.quantity", "Quantity")
|
|
1190
1184
|
}),
|
|
1191
|
-
/* @__PURE__ */ F(
|
|
1185
|
+
/* @__PURE__ */ F(Y, {
|
|
1192
1186
|
className: "text-right",
|
|
1193
1187
|
children: l("brainyrich.reports.holdings.marketValue", "Market Value")
|
|
1194
1188
|
})
|
|
1195
|
-
] }) }), /* @__PURE__ */ F(
|
|
1189
|
+
] }) }), /* @__PURE__ */ F(q, { children: o.map((e) => /* @__PURE__ */ I(Z, {
|
|
1196
1190
|
className: "transition-colors hover:bg-bg-elevated/60",
|
|
1197
1191
|
children: [
|
|
1198
|
-
/* @__PURE__ */ I(
|
|
1192
|
+
/* @__PURE__ */ I(J, { children: [/* @__PURE__ */ F("div", {
|
|
1199
1193
|
className: "font-medium text-text-primary",
|
|
1200
1194
|
children: e.symbol
|
|
1201
1195
|
}), e.name ? /* @__PURE__ */ F("div", {
|
|
1202
1196
|
className: "text-xs text-text-secondary",
|
|
1203
1197
|
children: e.name
|
|
1204
1198
|
}) : null] }),
|
|
1205
|
-
/* @__PURE__ */ F(
|
|
1199
|
+
/* @__PURE__ */ F(J, { children: /* @__PURE__ */ F(L, {
|
|
1206
1200
|
variant: "outline",
|
|
1207
|
-
children:
|
|
1201
|
+
children: $(e.assetClass)
|
|
1208
1202
|
}) }),
|
|
1209
|
-
/* @__PURE__ */ F(
|
|
1203
|
+
/* @__PURE__ */ F(J, {
|
|
1210
1204
|
className: "text-right tabular-nums text-text-primary",
|
|
1211
1205
|
children: e.quantity
|
|
1212
1206
|
}),
|
|
1213
|
-
/* @__PURE__ */ F(
|
|
1207
|
+
/* @__PURE__ */ F(J, {
|
|
1214
1208
|
className: "text-right tabular-nums text-text-primary",
|
|
1215
1209
|
children: k(e.marketValue, e.currency)
|
|
1216
1210
|
})
|
|
@@ -1252,7 +1246,7 @@ function ot({ goal: e, accountValues: t, translate: n }) {
|
|
|
1252
1246
|
}),
|
|
1253
1247
|
/* @__PURE__ */ I("div", {
|
|
1254
1248
|
className: "flex items-center gap-1.5",
|
|
1255
|
-
children: [/* @__PURE__ */ F(
|
|
1249
|
+
children: [/* @__PURE__ */ F(me, {
|
|
1256
1250
|
className: "size-3.5 text-text-secondary",
|
|
1257
1251
|
"aria-hidden": "true"
|
|
1258
1252
|
}), /* @__PURE__ */ F("span", {
|