saleor-dashboard/src/orders/components/OrderDraftCancelDialog/OrderDraftCancelDialog.tsx
Krzysztof Wolski f4d570c7e5
Fix warnings and better test tag (#582)
* Resolve test warnings

* Tename data-tc to data-test

* Update src/orders/components/OrderFulfillPage/OrderFulfillPage.tsx
2020-07-02 12:59:09 +02:00

65 lines
2 KiB
TypeScript

import DialogContentText from "@material-ui/core/DialogContentText";
import ActionDialog from "@saleor/components/ActionDialog";
import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton";
import FormSpacer from "@saleor/components/FormSpacer";
import useModalDialogErrors from "@saleor/hooks/useModalDialogErrors";
import { OrderErrorFragment } from "@saleor/orders/types/OrderErrorFragment";
import getOrderErrorMessage from "@saleor/utils/errors/order";
import React from "react";
import { FormattedMessage, useIntl } from "react-intl";
export interface OrderDraftCancelDialogProps {
confirmButtonState: ConfirmButtonTransitionState;
errors: OrderErrorFragment[];
open: boolean;
onClose: () => void;
onConfirm: () => void;
orderNumber: string;
}
const OrderDraftCancelDialog: React.FC<OrderDraftCancelDialogProps> = ({
confirmButtonState,
errors: apiErrors,
onClose,
onConfirm,
open,
orderNumber
}) => {
const intl = useIntl();
const errors = useModalDialogErrors(apiErrors, open);
return (
<ActionDialog
confirmButtonState={confirmButtonState}
onClose={onClose}
onConfirm={onConfirm}
open={open}
title={intl.formatMessage({
defaultMessage: "Delete Daft Order",
description: "dialog header"
})}
variant="delete"
>
<DialogContentText key="cancel">
<FormattedMessage
defaultMessage="Are you sure you want to delete draft #{orderNumber}?"
values={{
orderNumber: <strong>{orderNumber}</strong>
}}
/>
</DialogContentText>
{errors.length > 0 && (
<>
<FormSpacer />
{errors.map((err, index) => (
<DialogContentText color="error" key={index}>
{getOrderErrorMessage(err, intl)}
</DialogContentText>
))}
</>
)}
</ActionDialog>
);
};
OrderDraftCancelDialog.displayName = "OrderDraftCancelDialog";
export default OrderDraftCancelDialog;