import { useQuery } from "@apollo/client/react"; import { Statistic } from "antd"; import Dinero from "dinero.js"; import { useTranslation } from "react-i18next"; import { QUERY_JOB_PAYMENT_TOTALS } from "../../graphql/payments.queries"; import AlertComponent from "../alert/alert.component"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; export default function PaymentFormTotalPayments({ jobid }) { const { t } = useTranslation(); const { loading, error, data } = useQuery(QUERY_JOB_PAYMENT_TOTALS, { variables: { id: jobid }, skip: !jobid, fetchPolicy: "network-only", nextFetchPolicy: "network-only" }); if (loading) return ; if (error) return ; if (!data) return <>; const totalPayments = data.jobs_by_pk.payments.reduce((acc, val) => { return acc.add(Dinero({ amount: Math.round((val?.amount || 0) * 100) })); }, Dinero()); const balance = data.jobs_by_pk.job_totals && Dinero(data.jobs_by_pk.job_totals.totals.total_repairs).subtract(totalPayments); return (
{balance && ( )} {!balance &&
{t("jobs.errors.nofinancial")}
}
); }