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
? "Бюджет превышен."
: "Сегодняшний лимит превышен — завтра пересчитается."}
)}
>
);
}