import { useQuery } from "@tanstack/react-query"; import { getStatement, type StatementKind } from "@/api/driver"; import { formatDate, formatMoney } from "@/lib/format"; import { Spinner } from "@/components/Spinner"; const FILTERS: { key: StatementKind; label: string }[] = [ { key: "all", label: "Все операции" }, { key: "charges", label: "Начисления" }, { key: "payments", label: "Пополнения" }, { key: "fines", label: "Штрафы" }, ]; /** * Выписка по счёту за период — нижняя половина главного экрана. * * Это ответ на вопрос «за что списано», который иначе задают звонком в парк. * Строки те же, по которым 1С считает долг: аренда, пени, штрафы, пополнения. */ export function Statement({ from, to, kind, onFrom, onTo, onKind }: { from: string; to: string; kind: StatementKind; onFrom: (v: string) => void; onTo: (v: string) => void; onKind: (k: StatementKind) => void; }) { const { data, isLoading, isError, refetch } = useQuery({ queryKey: ["statement", from, to, kind], queryFn: () => getStatement(from, to, kind), }); const items = data?.items ?? []; return (
Не удалось загрузить операции
Нет операций за выбранный период
) : (