feat: add all-accounts portfolio pages
Reuse account sections and group securities with per-account holdings. Use Mantine Select to preserve filters and reset pagination on scope changes. Document component reuse guardrails and cover routes, grouping and scope switching.
This commit is contained in:
@@ -15,9 +15,13 @@ const LedgerEntryRow: FC<LedgerEntryRowProps> = (props) => {
|
||||
const instrument =
|
||||
operation.ticker ?? operation.instrumentType ?? t("ledger.noInstrument");
|
||||
const payment = paymentPresentation(operation);
|
||||
const metadata = [formatSnapshotTime(operation.occurredAt), instrument].join(
|
||||
" · ",
|
||||
);
|
||||
const metadata = [
|
||||
formatSnapshotTime(operation.occurredAt),
|
||||
instrument,
|
||||
operation.account?.name,
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join(" · ");
|
||||
|
||||
return (
|
||||
<EntryCard
|
||||
|
||||
@@ -19,6 +19,7 @@ const BrokerageEventCard: FC<BrokerageEventCardProps> = (props) => {
|
||||
date,
|
||||
event.dateKind === "registry" ? t("events.dateKind.registry") : null,
|
||||
event.isin,
|
||||
event.account?.name,
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join(" · ");
|
||||
|
||||
@@ -36,7 +36,15 @@ const BrokerageEventsPreview: FC<BrokerageEventsPreviewProps> = (props) => {
|
||||
{events.state === "loaded"
|
||||
? events.items.map((event) => (
|
||||
<BrokerageEventCard
|
||||
key={`${event.type}-${event.date}-${event.ticker}`}
|
||||
key={JSON.stringify([
|
||||
event.account?.id,
|
||||
event.type,
|
||||
event.date,
|
||||
event.instrumentUid,
|
||||
event.figi,
|
||||
event.ticker,
|
||||
event.logoName,
|
||||
])}
|
||||
event={event}
|
||||
/>
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user