Fixed: Close Metadata settings modal on saving

pull/7657/head
Bogdan 1 week ago committed by Mark McDowall
parent b99e06acc0
commit 1734fcaa8f

@ -1,4 +1,4 @@
import React, { useCallback, useMemo } from 'react';
import React, { useCallback, useEffect, useMemo } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import AppState from 'App/State/AppState';
import Alert from 'Components/Alert';
@ -13,6 +13,7 @@ import ModalBody from 'Components/Modal/ModalBody';
import ModalContent from 'Components/Modal/ModalContent';
import ModalFooter from 'Components/Modal/ModalFooter';
import ModalHeader from 'Components/Modal/ModalHeader';
import usePrevious from 'Helpers/Hooks/usePrevious';
import { inputTypes } from 'Helpers/Props';
import {
saveMetadata,
@ -41,6 +42,8 @@ function EditMetadataModalContent({
(state: AppState) => state.settings.metadata
);
const wasSaving = usePrevious(isSaving);
const { settings, ...otherSettings } = useMemo(() => {
const item = items.find((item) => item.id === id)!;
@ -69,6 +72,12 @@ function EditMetadataModalContent({
dispatch(saveMetadata({ id }));
}, [id, dispatch]);
useEffect(() => {
if (wasSaving && !isSaving && !saveError) {
onModalClose();
}
}, [isSaving, wasSaving, saveError, onModalClose]);
return (
<ModalContent onModalClose={onModalClose}>
<ModalHeader>

Loading…
Cancel
Save