New: Include year in interactive searches title

Fixes #11070
This commit is contained in:
Bogdan 2025-05-12 22:50:21 +03:00
parent 6506c97ce1
commit da8e8a12de
6 changed files with 12 additions and 14 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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}
/> />
); );

View file

@ -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}
/> />
); );