Use redux hooks on movies components

This commit is contained in:
Grégoire Delattre 2020-04-03 16:24:00 +02:00
parent 6ac382b659
commit 2e83c3169f
2 changed files with 27 additions and 37 deletions

View File

@ -1,35 +1,32 @@
import React from "react";
import PropTypes from "prop-types";
import { List } from "immutable";
import { connect } from "react-redux";
import { useDispatch } from "react-redux";
import { searchMovieSubtitles } from "../../actions/subtitles";
import { SubtitlesButton } from "../buttons/subtitles";
const movieSubtitlesButton = ({
export const MovieSubtitlesButton = ({
inLibrary,
imdbId,
searching,
searchMovieSubtitles,
subtitles,
}) => (
}) => {
const dispatch = useDispatch();
return (
<SubtitlesButton
inLibrary={inLibrary}
searching={searching}
subtitles={subtitles}
search={() => searchMovieSubtitles(imdbId)}
search={() => dispatch(searchMovieSubtitles(imdbId))}
/>
);
movieSubtitlesButton.propTypes = {
};
MovieSubtitlesButton.propTypes = {
searching: PropTypes.bool,
inLibrary: PropTypes.bool,
imdbId: PropTypes.string,
searchMovieSubtitles: PropTypes.func,
subtitles: PropTypes.instanceOf(List),
};
export const MovieSubtitlesButton = connect(null, { searchMovieSubtitles })(
movieSubtitlesButton
);

View File

@ -1,33 +1,26 @@
import React from "react";
import PropTypes from "prop-types";
import { List } from "immutable";
import { connect } from "react-redux";
import { useDispatch } from "react-redux";
import { getMovieDetails } from "../../actions/movies";
import { TorrentsButton } from "../buttons/torrents";
const movieTorrentsButton = ({
torrents,
imdbId,
title,
searching,
getMovieDetails,
}) => (
export const MovieTorrentsButton = ({ torrents, imdbId, title, searching }) => {
const dispatch = useDispatch();
return (
<TorrentsButton
torrents={torrents}
searching={searching}
search={() => getMovieDetails(imdbId)}
search={() => dispatch(getMovieDetails(imdbId))}
url={`#/torrents/search/movies/${encodeURI(title)}`}
/>
);
movieTorrentsButton.propTypes = {
};
MovieTorrentsButton.propTypes = {
torrents: PropTypes.instanceOf(List),
imdbId: PropTypes.string,
title: PropTypes.string,
searching: PropTypes.bool,
getMovieDetails: PropTypes.func,
};
export const MovieTorrentsButton = connect(null, { getMovieDetails })(
movieTorrentsButton
);