From 2e83c3169f4b883a31f66883f206dfb7824da8da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Delattre?= Date: Fri, 3 Apr 2020 16:24:00 +0200 Subject: [PATCH] Use redux hooks on movies components --- .../js/components/movies/subtitlesButton.js | 31 ++++++++--------- .../js/components/movies/torrentsButton.js | 33 ++++++++----------- 2 files changed, 27 insertions(+), 37 deletions(-) diff --git a/frontend/js/components/movies/subtitlesButton.js b/frontend/js/components/movies/subtitlesButton.js index 66d3eff..2f1bd89 100644 --- a/frontend/js/components/movies/subtitlesButton.js +++ b/frontend/js/components/movies/subtitlesButton.js @@ -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, -}) => ( - searchMovieSubtitles(imdbId)} - /> -); +}) => { + const dispatch = useDispatch(); -movieSubtitlesButton.propTypes = { + return ( + dispatch(searchMovieSubtitles(imdbId))} + /> + ); +}; +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 -); diff --git a/frontend/js/components/movies/torrentsButton.js b/frontend/js/components/movies/torrentsButton.js index 353c450..5905ae0 100644 --- a/frontend/js/components/movies/torrentsButton.js +++ b/frontend/js/components/movies/torrentsButton.js @@ -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, -}) => ( - getMovieDetails(imdbId)} - url={`#/torrents/search/movies/${encodeURI(title)}`} - /> -); -movieTorrentsButton.propTypes = { +export const MovieTorrentsButton = ({ torrents, imdbId, title, searching }) => { + const dispatch = useDispatch(); + return ( + dispatch(getMovieDetails(imdbId))} + url={`#/torrents/search/movies/${encodeURI(title)}`} + /> + ); +}; +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 -);