diff --git a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx index f7f3832ad..bf589436e 100644 --- a/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx +++ b/src/orders/components/OrderDetailsPage/OrderDetailsPage.tsx @@ -138,7 +138,8 @@ const OrderDetailsPage: React.FC = props => { const { isMetadataModified, isPrivateMetadataModified, - makeChangeHandler: makeMetadataChangeHandler + makeChangeHandler: makeMetadataChangeHandler, + resetMetadataChanged } = useMetadataChangeTrigger(); const isOrderUnconfirmed = order?.status === OrderStatus.UNCONFIRMED; @@ -149,16 +150,18 @@ const OrderDetailsPage: React.FC = props => { line => line.quantityFulfilled < line.quantity ); - const handleSubmit = (data: MetadataFormData) => { + const handleSubmit = async (data: MetadataFormData) => { const metadata = isMetadataModified ? data.metadata : undefined; const privateMetadata = isPrivateMetadataModified ? data.privateMetadata : undefined; - return onSubmit({ + const result = await onSubmit({ metadata, privateMetadata }); + resetMetadataChanged(); + return result; }; const initial: MetadataFormData = { diff --git a/src/utils/metadata/useMetadataChangeTrigger.ts b/src/utils/metadata/useMetadataChangeTrigger.ts index 1313606da..feb0ad5bb 100644 --- a/src/utils/metadata/useMetadataChangeTrigger.ts +++ b/src/utils/metadata/useMetadataChangeTrigger.ts @@ -18,10 +18,16 @@ function useMetadataChangeTrigger() { onChange(event); }; + const resetMetadataChanged = () => { + setMetadataModified(false); + setPrivateMetadataModified(false); + }; + return { isMetadataModified, isPrivateMetadataModified, - makeChangeHandler + makeChangeHandler, + resetMetadataChanged }; }