import BackButton from "@dashboard/components/BackButton"; import { ConfirmButton, ConfirmButtonTransitionState, } from "@dashboard/components/ConfirmButton"; import Form from "@dashboard/components/Form"; import FormSpacer from "@dashboard/components/FormSpacer"; import { OrderErrorFragment } from "@dashboard/graphql"; import { buttonMessages } from "@dashboard/intl"; import { getFormErrors } from "@dashboard/utils/errors"; import getOrderErrorMessage from "@dashboard/utils/errors/order"; import { Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, TextField, } from "@material-ui/core"; 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({ id: "+PbHKD", 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;