import DialogContentText from "@material-ui/core/DialogContentText"; import * as React from "react"; import ActionDialog from "@saleor/components/ActionDialog"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; import i18n from "../../../i18n"; export type OrderDraftFinalizeWarning = | "no-shipping" | "no-billing" | "no-user" | "no-shipping-method" | "unnecessary-shipping-method"; export interface OrderDraftFinalizeDialogProps { confirmButtonState: ConfirmButtonTransitionState; open: boolean; orderNumber: string; warnings: OrderDraftFinalizeWarning[]; onClose: () => void; onConfirm: () => void; } const warningToText = (warning: OrderDraftFinalizeWarning) => { switch (warning) { case "no-shipping": return i18n.t("No shipping address"); case "no-billing": return i18n.t("No billing address"); case "no-user": return i18n.t("No user information"); case "no-shipping-method": return i18n.t("Some products require shipping, but no method provided"); case "unnecessary-shipping-method": return i18n.t("Shipping method provided, but no product requires it"); } }; const OrderDraftFinalizeDialog: React.StatelessComponent< OrderDraftFinalizeDialogProps > = ({ confirmButtonState, open, warnings, onClose, onConfirm, orderNumber }) => ( 0 ? i18n.t("Finalize anyway") : i18n.t("Finalize") } confirmButtonState={confirmButtonState} variant={warnings.length > 0 ? "delete" : "default"} > {warnings.length > 0 && ( <>

{i18n.t( "There are missing or incorrect informations about this order:" )}

)} #{{ number }}?", { context: "modal", number: orderNumber } ) }} />
); OrderDraftFinalizeDialog.displayName = "OrderDraftFinalize"; export default OrderDraftFinalizeDialog;