mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-18 21:35:51 -04:00
Clear collection changes on add movie modal close
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import React, { useCallback } from 'react';
|
import React, { useCallback, useEffect } from 'react';
|
||||||
import { useDispatch } from 'react-redux';
|
import { useDispatch } from 'react-redux';
|
||||||
import Modal from 'Components/Modal/Modal';
|
import Modal from 'Components/Modal/Modal';
|
||||||
|
import usePrevious from 'Helpers/Hooks/usePrevious';
|
||||||
import { clearPendingChanges } from 'Store/Actions/baseActions';
|
import { clearPendingChanges } from 'Store/Actions/baseActions';
|
||||||
import AddNewMovieCollectionMovieModalContent, {
|
import AddNewMovieCollectionMovieModalContent, {
|
||||||
AddNewMovieCollectionMovieModalContentProps,
|
AddNewMovieCollectionMovieModalContentProps,
|
||||||
@@ -18,11 +19,19 @@ function AddNewMovieCollectionMovieModal({
|
|||||||
}: AddNewCollectionMovieModalProps) {
|
}: AddNewCollectionMovieModalProps) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
|
const wasOpen = usePrevious(isOpen);
|
||||||
|
|
||||||
const handleModalClose = useCallback(() => {
|
const handleModalClose = useCallback(() => {
|
||||||
dispatch(clearPendingChanges({ section: 'movieCollections' }));
|
dispatch(clearPendingChanges({ section: 'movieCollections' }));
|
||||||
onModalClose();
|
onModalClose();
|
||||||
}, [dispatch, onModalClose]);
|
}, [dispatch, onModalClose]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (wasOpen && !isOpen) {
|
||||||
|
dispatch(clearPendingChanges({ section: 'movieCollections' }));
|
||||||
|
}
|
||||||
|
}, [wasOpen, isOpen, dispatch]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal isOpen={isOpen} onModalClose={handleModalClose}>
|
<Modal isOpen={isOpen} onModalClose={handleModalClose}>
|
||||||
<AddNewMovieCollectionMovieModalContent
|
<AddNewMovieCollectionMovieModalContent
|
||||||
|
|||||||
Reference in New Issue
Block a user