import { Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, TextField } from "@material-ui/core"; import BackButton from "@saleor/components/BackButton"; import ConfirmButton from "@saleor/components/ConfirmButton"; import Form from "@saleor/components/Form"; import FormSpacer from "@saleor/components/FormSpacer"; import { OrderErrorFragment } from "@saleor/graphql"; import { buttonMessages } from "@saleor/intl"; import { ConfirmButtonTransitionState } from "@saleor/macaw-ui"; import { getFormErrors } from "@saleor/utils/errors"; import getOrderErrorMessage from "@saleor/utils/errors/order"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; export interface FormData { amount: number; } export interface OrderPaymentDialogProps { confirmButtonState: ConfirmButtonTransitionState; errors: OrderErrorFragment[]; open: boolean; initial: number; onClose: () => void; onSubmit: (data: FormData) => void; } const OrderPaymentDialog: React.FC = ({ confirmButtonState, errors, open, initial, onClose, onSubmit }) => { const intl = useIntl(); const formFields = ["payment"]; const formErrors = getFormErrors(formFields, errors); return (
{({ data, change, submit }) => ( <> {intl.formatMessage({ defaultMessage: "Capture Payment", description: "dialog header" })} {errors.length > 0 && ( <> {errors .filter(err => !formFields.includes(err.field)) .map((err, index) => ( {getOrderErrorMessage(err, intl)} ))} )} )}
); }; OrderPaymentDialog.displayName = "OrderPaymentDialog"; export default OrderPaymentDialog;