diff --git a/src/orders/components/OrderProductAddDialog/OrderProductAddDialog.tsx b/src/orders/components/OrderProductAddDialog/OrderProductAddDialog.tsx index ba83366de..0c11b868d 100644 --- a/src/orders/components/OrderProductAddDialog/OrderProductAddDialog.tsx +++ b/src/orders/components/OrderProductAddDialog/OrderProductAddDialog.tsx @@ -277,6 +277,7 @@ const OrderProductAddDialog: React.FC = props => { transitionState={confirmButtonState} type="submit" onClick={handleSubmit} + disabled={variants.length === 0} > diff --git a/src/orders/utils/data.ts b/src/orders/utils/data.ts index ec6e98d4f..a44f90450 100644 --- a/src/orders/utils/data.ts +++ b/src/orders/utils/data.ts @@ -445,3 +445,10 @@ export const prepareMoney = ( amount, currency: currency ?? "USD", }); + +export const isAnyAddressEditModalOpen = (uri: string | undefined): boolean => + [ + "edit-customer-addresses", + "edit-shipping-address", + "edit-billing-address", + ].includes(uri); diff --git a/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx b/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx index 88516e67d..b404976df 100644 --- a/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx +++ b/src/orders/views/OrderDetails/OrderDraftDetails/index.tsx @@ -24,7 +24,10 @@ import { } from "@dashboard/orders/components/OrderCustomerChangeDialog/form"; import OrderCustomerChangeDialog from "@dashboard/orders/components/OrderCustomerChangeDialog/OrderCustomerChangeDialog"; import { OrderBothTypes, OrderSharedType } from "@dashboard/orders/types"; -import { getVariantSearchAddress } from "@dashboard/orders/utils/data"; +import { + getVariantSearchAddress, + isAnyAddressEditModalOpen, +} from "@dashboard/orders/utils/data"; import { OrderDiscountProvider } from "@dashboard/products/components/OrderDiscountProviders/OrderDiscountProvider"; import { OrderLineDiscountProvider } from "@dashboard/products/components/OrderDiscountProviders/OrderLineDiscountProvider"; import useCustomerSearch from "@dashboard/searches/useCustomerSearch"; @@ -82,13 +85,6 @@ interface OrderDraftDetailsProps { closeModal: any; } -export const isAnyAddressEditModalOpen = (uri: string | undefined): boolean => - [ - "edit-customer-addresses", - "edit-shipping-address", - "edit-billing-address", - ].includes(uri); - export const OrderDraftDetails: React.FC = ({ id, params, diff --git a/src/orders/views/OrderDetails/OrderNormalDetails/index.tsx b/src/orders/views/OrderDetails/OrderNormalDetails/index.tsx index 0f8bded8a..6d12770dc 100644 --- a/src/orders/views/OrderDetails/OrderNormalDetails/index.tsx +++ b/src/orders/views/OrderDetails/OrderNormalDetails/index.tsx @@ -31,7 +31,10 @@ import OrderFulfillStockExceededDialog from "@dashboard/orders/components/OrderF import OrderInvoiceEmailSendDialog from "@dashboard/orders/components/OrderInvoiceEmailSendDialog"; import { OrderManualTransactionDialog } from "@dashboard/orders/components/OrderManualTransactionDialog"; import { OrderTransactionActionDialog } from "@dashboard/orders/components/OrderTransactionActionDialog/OrderTransactionActionDialog"; -import { transformFuflillmentLinesToStockFormsetData } from "@dashboard/orders/utils/data"; +import { + isAnyAddressEditModalOpen, + transformFuflillmentLinesToStockFormsetData, +} from "@dashboard/orders/utils/data"; import { PartialMutationProviderOutput } from "@dashboard/types"; import { CloseModalFunction, @@ -59,7 +62,6 @@ import { OrderUrlDialog, OrderUrlQueryParams, } from "../../../urls"; -import { isAnyAddressEditModalOpen } from "../OrderDraftDetails"; interface OrderNormalDetailsProps { id: string; diff --git a/src/orders/views/OrderDetails/OrderUnconfirmedDetails/index.tsx b/src/orders/views/OrderDetails/OrderUnconfirmedDetails/index.tsx index a98da9678..0ddff020d 100644 --- a/src/orders/views/OrderDetails/OrderUnconfirmedDetails/index.tsx +++ b/src/orders/views/OrderDetails/OrderUnconfirmedDetails/index.tsx @@ -23,6 +23,7 @@ import OrderFulfillmentApproveDialog from "@dashboard/orders/components/OrderFul import OrderInvoiceEmailSendDialog from "@dashboard/orders/components/OrderInvoiceEmailSendDialog"; import { OrderManualTransactionDialog } from "@dashboard/orders/components/OrderManualTransactionDialog"; import { OrderTransactionActionDialog } from "@dashboard/orders/components/OrderTransactionActionDialog/OrderTransactionActionDialog"; +import { isAnyAddressEditModalOpen } from "@dashboard/orders/utils/data"; import { OrderDiscountProvider } from "@dashboard/products/components/OrderDiscountProviders/OrderDiscountProvider"; import { OrderLineDiscountProvider } from "@dashboard/products/components/OrderDiscountProviders/OrderLineDiscountProvider"; import { useOrderVariantSearch } from "@dashboard/searches/useOrderVariantSearch"; @@ -55,7 +56,6 @@ import { orderUrl, OrderUrlQueryParams, } from "../../../urls"; -import { isAnyAddressEditModalOpen } from "../OrderDraftDetails"; interface OrderUnconfirmedDetailsProps { id: string;