diff --git a/src/orders/components/OrderDraftDetailsProducts/OrderDraftDetailsProducts.tsx b/src/orders/components/OrderDraftDetailsProducts/OrderDraftDetailsProducts.tsx index 1c39bb069..c23750998 100644 --- a/src/orders/components/OrderDraftDetailsProducts/OrderDraftDetailsProducts.tsx +++ b/src/orders/components/OrderDraftDetailsProducts/OrderDraftDetailsProducts.tsx @@ -181,18 +181,18 @@ const OrderDraftDetailsProducts: React.FC = prop )} - {maybe(() => line.unitPrice.net) ? ( - + {maybe(() => line.unitPrice.gross) ? ( + ) : ( )} - {maybe(() => line.unitPrice.net && line.quantity) ? ( + {maybe(() => line.unitPrice.gross && line.quantity) ? ( ) : ( diff --git a/src/orders/views/OrderDetails/index.tsx b/src/orders/views/OrderDetails/index.tsx index 594e3f483..aae9cceff 100644 --- a/src/orders/views/OrderDetails/index.tsx +++ b/src/orders/views/OrderDetails/index.tsx @@ -126,6 +126,9 @@ export const OrderDetails: React.FC = ({ id, params }) => { return ; } + const isOrderUnconfirmed = order?.status === OrderStatus.UNCONFIRMED; + const isOrderDraft = order?.status === OrderStatus.DRAFT; + const handleSubmit = async (data: MetadataFormData) => { if (order?.status === OrderStatus.UNCONFIRMED) { await orderConfirm({ variables: { id: order?.id } }); @@ -212,242 +215,239 @@ export const OrderDetails: React.FC = ({ id, params }) => { orderInvoiceSend }) => ( <> - {order?.status !== OrderStatus.DRAFT && - order?.status !== OrderStatus.UNCONFIRMED && ( - <> - - navigate(orderReturnPath(id))} - disabled={ - updateMetadataOpts.loading || - updatePrivateMetadataOpts.loading - } - onNoteAdd={variables => - orderAddNote.mutate({ - input: variables, - order: id - }) - } - onBack={handleBack} - order={order} - saveButtonBarState={getMutationState( - updateMetadataOpts.called || - updatePrivateMetadataOpts.called, - updateMetadataOpts.loading || - updatePrivateMetadataOpts.loading, - [ - ...(updateMetadataOpts.data?.deleteMetadata - .errors || []), - ...(updateMetadataOpts.data?.updateMetadata - .errors || []), - ...(updatePrivateMetadataOpts.data - ?.deletePrivateMetadata.errors || []), - ...(updatePrivateMetadataOpts.data - ?.updatePrivateMetadata.errors || []) - ] - )} - shippingMethods={maybe( - () => data.order.availableShippingMethods, - [] - )} - userPermissions={user?.userPermissions || []} - onOrderCancel={() => openModal("cancel")} - onOrderFulfill={() => navigate(orderFulfillUrl(id))} - onFulfillmentCancel={fulfillmentId => - navigate( - orderUrl(id, { - action: "cancel-fulfillment", - id: fulfillmentId - }) + {!isOrderDraft && !isOrderUnconfirmed && ( + <> + - navigate( - orderUrl(id, { - action: "edit-fulfillment", - id: fulfillmentId - }) - ) - } - onPaymentCapture={() => openModal("capture")} - onPaymentVoid={() => openModal("void")} - onPaymentRefund={() => navigate(orderRefundUrl(id))} - onProductClick={id => () => - navigate(productUrl(id))} - onBillingAddressEdit={() => - openModal("edit-billing-address") - } - onShippingAddressEdit={() => - openModal("edit-shipping-address") - } - onPaymentPaid={() => openModal("mark-paid")} - onProfileView={() => - navigate(customerUrl(order.user.id)) - } - onInvoiceClick={id => - window.open( - order.invoices.find( - invoice => invoice.id === id - )?.url, - "_blank" - ) - } - onInvoiceGenerate={() => - orderInvoiceRequest.mutate({ - orderId: id + )} + /> + navigate(orderReturnPath(id))} + disabled={ + updateMetadataOpts.loading || + updatePrivateMetadataOpts.loading + } + onNoteAdd={variables => + orderAddNote.mutate({ + input: variables, + order: id + }) + } + onBack={handleBack} + order={order} + saveButtonBarState={getMutationState( + updateMetadataOpts.called || + updatePrivateMetadataOpts.called, + updateMetadataOpts.loading || + updatePrivateMetadataOpts.loading, + [ + ...(updateMetadataOpts.data?.deleteMetadata + .errors || []), + ...(updateMetadataOpts.data?.updateMetadata + .errors || []), + ...(updatePrivateMetadataOpts.data + ?.deletePrivateMetadata.errors || []), + ...(updatePrivateMetadataOpts.data + ?.updatePrivateMetadata.errors || []) + ] + )} + shippingMethods={maybe( + () => data.order.availableShippingMethods, + [] + )} + userPermissions={user?.userPermissions || []} + onOrderCancel={() => openModal("cancel")} + onOrderFulfill={() => navigate(orderFulfillUrl(id))} + onFulfillmentCancel={fulfillmentId => + navigate( + orderUrl(id, { + action: "cancel-fulfillment", + id: fulfillmentId }) - } - onInvoiceSend={id => - openModal("invoice-send", { id }) - } - onSubmit={handleSubmit} - /> - - fulfillment.status === - FulfillmentStatus.FULFILLED - ) - } - /> - - orderCancel.mutate({ - id + ) + } + onFulfillmentTrackingNumberUpdate={fulfillmentId => + navigate( + orderUrl(id, { + action: "edit-fulfillment", + id: fulfillmentId }) - } - /> - - orderPaymentMarkAsPaid.mutate({ - id, - transactionReference - }) - } - open={params.action === "mark-paid"} - transactionReference={transactionReference} - handleTransactionReference={({ target }) => - setTransactionReference(target.value) - } - /> - orderVoid.mutate({ id })} - /> - - orderPaymentCapture.mutate({ + ) + } + onPaymentCapture={() => openModal("capture")} + onPaymentVoid={() => openModal("void")} + onPaymentRefund={() => navigate(orderRefundUrl(id))} + onProductClick={id => () => navigate(productUrl(id))} + onBillingAddressEdit={() => + openModal("edit-billing-address") + } + onShippingAddressEdit={() => + openModal("edit-shipping-address") + } + onPaymentPaid={() => openModal("mark-paid")} + onProfileView={() => + navigate(customerUrl(order.user.id)) + } + onInvoiceClick={id => + window.open( + order.invoices.find(invoice => invoice.id === id) + ?.url, + "_blank" + ) + } + onInvoiceGenerate={() => + orderInvoiceRequest.mutate({ + orderId: id + }) + } + onInvoiceSend={id => + openModal("invoice-send", { id }) + } + onSubmit={handleSubmit} + /> + + fulfillment.status === + FulfillmentStatus.FULFILLED + ) + } + /> + + orderCancel.mutate({ + id + }) + } + /> + + orderPaymentMarkAsPaid.mutate({ + id, + transactionReference + }) + } + open={params.action === "mark-paid"} + transactionReference={transactionReference} + handleTransactionReference={({ target }) => + setTransactionReference(target.value) + } + /> + orderVoid.mutate({ id })} + /> + + orderPaymentCapture.mutate({ + ...variables, + id + }) + } + /> + edge.node + ) || [] + } + onConfirm={variables => + orderFulfillmentCancel.mutate({ + id: params.id, + input: variables + }) + } + onClose={closeModal} + /> + fulfillment.id === params.id + )?.trackingNumber + )} + onConfirm={variables => + orderFulfillmentUpdateTracking.mutate({ + id: params.id, + input: { ...variables, - id - }) - } - /> - edge.node - ) || [] - } - onConfirm={variables => - orderFulfillmentCancel.mutate({ - id: params.id, - input: variables - }) - } - onClose={closeModal} - /> - fulfillment.id === params.id - )?.trackingNumber - )} - onConfirm={variables => - orderFulfillmentUpdateTracking.mutate({ - id: params.id, - input: { - ...variables, - notifyCustomer: true - } - }) - } - onClose={closeModal} - /> - invoice.id === params.id - )} - onClose={closeModal} - onSend={() => - orderInvoiceSend.mutate({ id: params.id }) - } - /> - - )} - {order?.status === OrderStatus.DRAFT && ( + notifyCustomer: true + } + }) + } + onClose={closeModal} + /> + invoice.id === params.id + )} + onClose={closeModal} + onSend={() => + orderInvoiceSend.mutate({ id: params.id }) + } + /> + + )} + {isOrderDraft && ( <> = ({ id, params }) => { /> )} - {order?.status === OrderStatus.UNCONFIRMED && ( + {isOrderUnconfirmed && ( <>