import { Link } from "react-router-dom"; import { formatDate, formatMoney } from "../api"; import { useCabinet } from "../cabinet/CabinetContext"; import { Banner, PageHeader } from "../components/ui"; import { AppListSection, AppListTile, AppProgress, AppSkeleton, AppText, } from "../ui"; function SkeletonOverview() { return (
{Array.from({ length: 4 }).map((_, i) => ( } value={} /> ))}
); } export function OverviewPage() { const { status, loading, noBudget } = useCabinet(); if (loading && !status && !noBudget) { return ; } if (noBudget) { return ( <> Перейти к бюджетам ); } if (!status) { return ( ); } return ( <> Лимит на сегодня {formatMoney(status.daily_limit)} {status.spent_today > 0 ? ` · израсходовано ${formatMoney(status.spent_today)}` : ""} } /> Остаток {formatMoney(status.remaining)}
{formatMoney(status.remaining_today)} } /> {(status.is_over_budget || status.is_over_daily || status.is_expired) && ( {status.is_expired ? "Период закончился — задай новый бюджет." : status.is_over_budget ? "Бюджет превышен." : "Сегодняшний лимит превышен — завтра пересчитается."} )} ); }