43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
import React from "react";
|
|
import PropTypes from "prop-types";
|
|
import { useDispatch, useSelector } from "react-redux";
|
|
|
|
import { searchEpisodeSubtitle } from "../../../actions/subtitles";
|
|
|
|
import { SubtitlesButton } from "../../buttons/subtitles";
|
|
|
|
export const EpisodeSubtitlesButton = ({ season, episode }) => {
|
|
const dispatch = useDispatch();
|
|
|
|
const imdbId = useSelector((state) => state.show.show.imdb_id);
|
|
const fetchingSubtitles = useSelector(
|
|
(state) =>
|
|
state.show.show.seasons.get(season).get(episode).fetchingSubtitles
|
|
);
|
|
const inLibrary = useSelector(
|
|
(state) =>
|
|
state.show.show.seasons.get(season).get(episode).polochon_url !== ""
|
|
);
|
|
const subtitles = useSelector(
|
|
(state) => state.show.show.seasons.get(season).get(episode).subtitles
|
|
);
|
|
|
|
const search = (lang) => {
|
|
dispatch(searchEpisodeSubtitle(imdbId, season, episode, lang));
|
|
};
|
|
|
|
return (
|
|
<SubtitlesButton
|
|
subtitles={subtitles}
|
|
inLibrary={inLibrary}
|
|
fetchingSubtitles={fetchingSubtitles}
|
|
search={search}
|
|
/>
|
|
);
|
|
};
|
|
|
|
EpisodeSubtitlesButton.propTypes = {
|
|
season: PropTypes.number.isRequired,
|
|
episode: PropTypes.number.isRequired,
|
|
};
|