import React from "react"; import { Button, notification } from "antd"; import { useTranslation } from "react-i18next"; import { UPDATE_PAYMENT } from "../../graphql/payments.queries"; import { useMutation } from "@apollo/client"; import { setModalContext } from "../../redux/modals/modals.actions"; import { connect } from "react-redux"; const mapDispatchToProps = (dispatch) => ({ setPaymentContext: (context) => dispatch(setModalContext({ context: context, modal: "payment" })), }); const PaymentReexportButton = ({ payment, refetch, setPaymentContext }) => { const { t } = useTranslation(); const [updatePayment, { loading }] = useMutation(UPDATE_PAYMENT); const handleClick = async () => { const paymentUpdateResponse = await updatePayment({ variables: { paymentId: payment.id, payment: { exportedat: null, }, }, }); if (!!!paymentUpdateResponse.errors) { notification.open({ type: "success", key: "paymentsuccessexport", message: t("payments.successes.markreexported"), }); if (refetch) refetch(); setPaymentContext({ actions: { refetch, }, context: { ...payment, exportedat: null, }, }); } else { notification["error"]({ message: t("payments.errors.exporting", { error: JSON.stringify(paymentUpdateResponse.error), }), }); } }; return ( ); }; export default connect(null, mapDispatchToProps)(PaymentReexportButton);