Use redux hooks on movies components
This commit is contained in:
parent
6ac382b659
commit
2e83c3169f
@ -1,35 +1,32 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { List } from "immutable";
|
import { List } from "immutable";
|
||||||
import { connect } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
|
|
||||||
import { searchMovieSubtitles } from "../../actions/subtitles";
|
import { searchMovieSubtitles } from "../../actions/subtitles";
|
||||||
|
|
||||||
import { SubtitlesButton } from "../buttons/subtitles";
|
import { SubtitlesButton } from "../buttons/subtitles";
|
||||||
|
|
||||||
const movieSubtitlesButton = ({
|
export const MovieSubtitlesButton = ({
|
||||||
inLibrary,
|
inLibrary,
|
||||||
imdbId,
|
imdbId,
|
||||||
searching,
|
searching,
|
||||||
searchMovieSubtitles,
|
|
||||||
subtitles,
|
subtitles,
|
||||||
}) => (
|
}) => {
|
||||||
|
const dispatch = useDispatch();
|
||||||
|
|
||||||
|
return (
|
||||||
<SubtitlesButton
|
<SubtitlesButton
|
||||||
inLibrary={inLibrary}
|
inLibrary={inLibrary}
|
||||||
searching={searching}
|
searching={searching}
|
||||||
subtitles={subtitles}
|
subtitles={subtitles}
|
||||||
search={() => searchMovieSubtitles(imdbId)}
|
search={() => dispatch(searchMovieSubtitles(imdbId))}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
};
|
||||||
movieSubtitlesButton.propTypes = {
|
MovieSubtitlesButton.propTypes = {
|
||||||
searching: PropTypes.bool,
|
searching: PropTypes.bool,
|
||||||
inLibrary: PropTypes.bool,
|
inLibrary: PropTypes.bool,
|
||||||
imdbId: PropTypes.string,
|
imdbId: PropTypes.string,
|
||||||
searchMovieSubtitles: PropTypes.func,
|
|
||||||
subtitles: PropTypes.instanceOf(List),
|
subtitles: PropTypes.instanceOf(List),
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MovieSubtitlesButton = connect(null, { searchMovieSubtitles })(
|
|
||||||
movieSubtitlesButton
|
|
||||||
);
|
|
||||||
|
@ -1,33 +1,26 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { List } from "immutable";
|
import { List } from "immutable";
|
||||||
import { connect } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
|
|
||||||
import { getMovieDetails } from "../../actions/movies";
|
import { getMovieDetails } from "../../actions/movies";
|
||||||
import { TorrentsButton } from "../buttons/torrents";
|
import { TorrentsButton } from "../buttons/torrents";
|
||||||
|
|
||||||
const movieTorrentsButton = ({
|
export const MovieTorrentsButton = ({ torrents, imdbId, title, searching }) => {
|
||||||
torrents,
|
const dispatch = useDispatch();
|
||||||
imdbId,
|
return (
|
||||||
title,
|
|
||||||
searching,
|
|
||||||
getMovieDetails,
|
|
||||||
}) => (
|
|
||||||
<TorrentsButton
|
<TorrentsButton
|
||||||
torrents={torrents}
|
torrents={torrents}
|
||||||
searching={searching}
|
searching={searching}
|
||||||
search={() => getMovieDetails(imdbId)}
|
search={() => dispatch(getMovieDetails(imdbId))}
|
||||||
url={`#/torrents/search/movies/${encodeURI(title)}`}
|
url={`#/torrents/search/movies/${encodeURI(title)}`}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
movieTorrentsButton.propTypes = {
|
};
|
||||||
|
MovieTorrentsButton.propTypes = {
|
||||||
torrents: PropTypes.instanceOf(List),
|
torrents: PropTypes.instanceOf(List),
|
||||||
imdbId: PropTypes.string,
|
imdbId: PropTypes.string,
|
||||||
title: PropTypes.string,
|
title: PropTypes.string,
|
||||||
searching: PropTypes.bool,
|
searching: PropTypes.bool,
|
||||||
getMovieDetails: PropTypes.func,
|
getMovieDetails: PropTypes.func,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const MovieTorrentsButton = connect(null, { getMovieDetails })(
|
|
||||||
movieTorrentsButton
|
|
||||||
);
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user