mirror of
https://github.com/Radarr/Radarr
synced 2026-05-09 08:23:22 +02:00
parent
6506c97ce1
commit
da8e8a12de
6 changed files with 12 additions and 14 deletions
|
|
@ -968,7 +968,6 @@ function MovieDetails({ movieId }: MovieDetailsProps) {
|
||||||
<MovieInteractiveSearchModal
|
<MovieInteractiveSearchModal
|
||||||
isOpen={isInteractiveSearchModalOpen}
|
isOpen={isInteractiveSearchModalOpen}
|
||||||
movieId={id}
|
movieId={id}
|
||||||
movieTitle={title}
|
|
||||||
onModalClose={handleInteractiveSearchModalClose}
|
onModalClose={handleInteractiveSearchModalClose}
|
||||||
/>
|
/>
|
||||||
</PageContentBody>
|
</PageContentBody>
|
||||||
|
|
|
||||||
|
|
@ -14,12 +14,9 @@ import styles from './MovieSearchCell.css';
|
||||||
|
|
||||||
interface MovieSearchCellProps {
|
interface MovieSearchCellProps {
|
||||||
movieId: number;
|
movieId: number;
|
||||||
movieTitle: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function MovieSearchCell(props: MovieSearchCellProps) {
|
function MovieSearchCell({ movieId }: MovieSearchCellProps) {
|
||||||
const { movieId, movieTitle } = props;
|
|
||||||
|
|
||||||
const executingCommands = useSelector(createExecutingCommandsSelector());
|
const executingCommands = useSelector(createExecutingCommandsSelector());
|
||||||
const isSearching = executingCommands.some(({ name, body }) => {
|
const isSearching = executingCommands.some(({ name, body }) => {
|
||||||
const { movieIds = [] } = body;
|
const { movieIds = [] } = body;
|
||||||
|
|
@ -61,7 +58,6 @@ function MovieSearchCell(props: MovieSearchCellProps) {
|
||||||
<MovieInteractiveSearchModal
|
<MovieInteractiveSearchModal
|
||||||
isOpen={isInteractiveSearchModalOpen}
|
isOpen={isInteractiveSearchModalOpen}
|
||||||
movieId={movieId}
|
movieId={movieId}
|
||||||
movieTitle={movieTitle}
|
|
||||||
onModalClose={setInteractiveSearchModalClosed}
|
onModalClose={setInteractiveSearchModalClosed}
|
||||||
/>
|
/>
|
||||||
</TableRowCell>
|
</TableRowCell>
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,11 @@ interface MovieInteractiveSearchModalProps
|
||||||
isOpen: boolean;
|
isOpen: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MovieInteractiveSearchModal(props: MovieInteractiveSearchModalProps) {
|
function MovieInteractiveSearchModal({
|
||||||
const { isOpen, movieId, movieTitle, onModalClose } = props;
|
isOpen,
|
||||||
|
movieId,
|
||||||
|
onModalClose,
|
||||||
|
}: MovieInteractiveSearchModalProps) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
const handleModalClose = useCallback(() => {
|
const handleModalClose = useCallback(() => {
|
||||||
|
|
@ -41,7 +43,6 @@ function MovieInteractiveSearchModal(props: MovieInteractiveSearchModalProps) {
|
||||||
>
|
>
|
||||||
<MovieInteractiveSearchModalContent
|
<MovieInteractiveSearchModalContent
|
||||||
movieId={movieId}
|
movieId={movieId}
|
||||||
movieTitle={movieTitle}
|
|
||||||
onModalClose={handleModalClose}
|
onModalClose={handleModalClose}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import ModalFooter from 'Components/Modal/ModalFooter';
|
||||||
import ModalHeader from 'Components/Modal/ModalHeader';
|
import ModalHeader from 'Components/Modal/ModalHeader';
|
||||||
import { scrollDirections } from 'Helpers/Props';
|
import { scrollDirections } from 'Helpers/Props';
|
||||||
import InteractiveSearch from 'InteractiveSearch/InteractiveSearch';
|
import InteractiveSearch from 'InteractiveSearch/InteractiveSearch';
|
||||||
|
import Movie from 'Movie/Movie';
|
||||||
|
import useMovie from 'Movie/useMovie';
|
||||||
import { clearMovieBlocklist } from 'Store/Actions/movieBlocklistActions';
|
import { clearMovieBlocklist } from 'Store/Actions/movieBlocklistActions';
|
||||||
import { clearMovieHistory } from 'Store/Actions/movieHistoryActions';
|
import { clearMovieHistory } from 'Store/Actions/movieHistoryActions';
|
||||||
import {
|
import {
|
||||||
|
|
@ -17,17 +19,17 @@ import translate from 'Utilities/String/translate';
|
||||||
|
|
||||||
export interface MovieInteractiveSearchModalContentProps {
|
export interface MovieInteractiveSearchModalContentProps {
|
||||||
movieId: number;
|
movieId: number;
|
||||||
movieTitle?: string;
|
|
||||||
onModalClose(): void;
|
onModalClose(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MovieInteractiveSearchModalContent({
|
function MovieInteractiveSearchModalContent({
|
||||||
movieId,
|
movieId,
|
||||||
movieTitle,
|
|
||||||
onModalClose,
|
onModalClose,
|
||||||
}: MovieInteractiveSearchModalContentProps) {
|
}: MovieInteractiveSearchModalContentProps) {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
|
const { title, year } = useMovie(movieId) as Movie;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
return () => {
|
return () => {
|
||||||
dispatch(cancelFetchReleases());
|
dispatch(cancelFetchReleases());
|
||||||
|
|
@ -38,6 +40,8 @@ function MovieInteractiveSearchModalContent({
|
||||||
};
|
};
|
||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
|
const movieTitle = `${title}${year > 0 ? ` (${year})` : ''}`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ModalContent onModalClose={onModalClose}>
|
<ModalContent onModalClose={onModalClose}>
|
||||||
<ModalHeader>
|
<ModalHeader>
|
||||||
|
|
|
||||||
|
|
@ -141,7 +141,6 @@ function CutoffUnmetRow(props) {
|
||||||
<MovieSearchCell
|
<MovieSearchCell
|
||||||
key={name}
|
key={name}
|
||||||
movieId={id}
|
movieId={id}
|
||||||
movieTitle={title}
|
|
||||||
movieEntity={movieEntities.WANTED_CUTOFF_UNMET}
|
movieEntity={movieEntities.WANTED_CUTOFF_UNMET}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,6 @@ function MissingRow(props) {
|
||||||
<MovieSearchCell
|
<MovieSearchCell
|
||||||
key={name}
|
key={name}
|
||||||
movieId={id}
|
movieId={id}
|
||||||
movieTitle={title}
|
|
||||||
movieEntity={movieEntities.WANTED_MISSING}
|
movieEntity={movieEntities.WANTED_MISSING}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue