import type { FC } from "react"; import { Button, Paper, Stack, Text } from "@mantine/core"; import { StateView } from "@wealthledger/ui"; import { useTranslation } from "react-i18next"; import { Link } from "react-router"; import type { IncomeSummary as IncomeSummaryData } from "@/entities/income"; import { formatMoney } from "@/shared/lib"; type IncomeSummaryProps = { moreLabel?: string } & ( | { state: "empty"; to: string; } | { state: "error"; to: string } | { state: "loaded"; summary: IncomeSummaryData; to: string; } | { state: "loading"; to: string; } | { state: "partial"; to: string; } ); const IncomeSummary: FC = (props) => { const { t } = useTranslation(); if (props.state === "loading" || props.state === "partial") return ( {t( props.state === "partial" ? "investment.partial" : "income.summaryLoading", )} ); if (props.state === "error") return ( ); if (props.state === "empty") return ( {t("income.summaryEmpty")} ); return ( {props.summary.totalsByCurrency.map(total => ( {formatMoney(total.total)} {t("income.coupon")}: {formatMoney(total.coupon)} ยท{" "} {t("income.dividend")}: {formatMoney(total.dividend)} ))} ); }; export { IncomeSummary };