feat: unify income payment cards and drop period comparisons (WealthLedger/main#33)
Frontend verify / commits (pull_request) Successful in 41s
Frontend verify / security (pull_request) Successful in 12s
Frontend verify / verify (pull_request) Successful in 6m41s

- income page renders only selected-period totals and payments; the
  comparison blocks, notices and display-only percentage math removed
- new shared PayoutCard presents executed payouts, forecasts and
  per-security schedules with explicit money semantics
- ledger rows, upcoming events, stock dividends and bond coupons use
  the same card; period filter lost its duplicated paper wrapper
This commit is contained in:
2026-10-13 17:45:58 +03:00
parent b357743c10
commit d61cdd2e8f
27 changed files with 474 additions and 1092 deletions
@@ -12,7 +12,6 @@ import { useTranslation } from "react-i18next";
import type { AccountIncomePageViewModel } from "../AccountIncomePage.vm";
import classes from "../AccountIncomePage.module.css";
import { IncomeComparisons } from "./IncomeComparisons.view";
import { IncomePayments } from "./IncomePayments.view";
import { IncomePeriodForm } from "./IncomePeriodForm/IncomePeriodForm.view";
import { IncomeSummary } from "./IncomeSummary.view";
@@ -54,18 +53,6 @@ const AccountIncomePageLoaded: FC<LoadedProps> = (props) => {
<Alert color="blue">{t("income.taxBoundary")}</Alert>
<IncomeComparisons
comparison={display.previousComparison}
notice={t(`income.${display.previousNotice}`)}
title={t("income.previousPeriod")}
/>
<IncomeComparisons
comparison={display.comparison}
notice={t(`income.${display.yearNotice}`)}
title={t("income.yearAgo")}
/>
<IncomePayments entries={display.entries} />
</Stack>
);