import { Button, Group, Skeleton, Stack, Text, Title } from "@mantine/core"; import { LoadingSkeleton } from "@wealthledger/ui"; import type { CSSProperties, FC } from "react"; import { useTranslation } from "react-i18next"; import { formatMoney } from "@/shared/lib"; import type { BankSummary } from "../../api/queries"; import { BankOperationIcon } from "../BankOperationIcon/BankOperationIcon"; import classes from "./BankSummary.module.css"; type BankSummaryViewProps = { data?: BankSummary; loading: boolean; error: boolean; fetching: boolean; retry: () => void; all?: boolean; }; const BankSummaryView: FC = (props) => { const { t } = useTranslation(); return (
{t(props.all ? "bank.allSummary" : "bank.summary")} {props.data && ( {formatMoney(props.data.net, { withZeroCents: true })} )}
{props.data ? ( props.data.categories.length ? (
{props.data.categories.map((category) => (
{category.categoryName}
{formatMoney(category.net, { withZeroCents: true })}
))}
) : ( {t("bank.noExpenses")} ) ) : props.loading ? ( ) : null} {props.error && ( {t(props.data ? "bank.refreshError" : "bank.error")} )} {props.data && props.fetching && ( {t("bank.refreshing")} )}
); }; export { BankSummaryView };