import { faCloudUploadAlt, faHistory, faSearch, faSync, faToolbox, faUser, faWrench, } from "@fortawesome/free-solid-svg-icons"; import React, { FunctionComponent, useCallback, useState } from "react"; import { Container, Row } from "react-bootstrap"; import { Helmet } from "react-helmet"; import { Redirect, RouteComponentProps, withRouter } from "react-router-dom"; import { useMovieBy } from "../../@redux/hooks"; import { MoviesApi, ProvidersApi } from "../../apis"; import { ContentHeader, ItemEditorModal, LoadingIndicator, MovieHistoryModal, MovieUploadModal, SubtitleToolModal, useShowModal, } from "../../components"; import { ManualSearchModal } from "../../components/modals/ManualSearchModal"; import ItemOverview from "../../generic/ItemOverview"; import { RouterEmptyPath } from "../../special-pages/404"; import { useAutoUpdate, useWhenLoadingFinish } from "../../utilites"; import Table from "./table"; const download = (item: any, result: SearchResultType) => { item = item as Item.Movie; const { language, hearing_impaired, forced, provider, subtitle } = result; return ProvidersApi.downloadMovieSubtitle(item.radarrId, { language, hi: hearing_impaired, forced, provider, subtitle, }); }; interface Params { id: string; } interface Props extends RouteComponentProps {} const MovieDetailView: FunctionComponent = ({ match }) => { const id = Number.parseInt(match.params.id); const [movie, update] = useMovieBy(id); useAutoUpdate(update); const item = movie.data; const showModal = useShowModal(); const [valid, setValid] = useState(true); const validator = useCallback(() => { if (movie.data === null) { setValid(false); } }, [movie.data]); useWhenLoadingFinish(movie, validator); if (isNaN(id) || !valid) { return ; } if (!item) { return ; } const allowEdit = item.profileId !== undefined; return ( {item.title} - Bazarr (Movies) MoviesApi.action({ action: "scan-disk", radarrid: item.radarrId }) } onSuccess={update} > Scan Disk MoviesApi.action({ action: "search-missing", radarrid: item.radarrId, }) } onSuccess={update} > Search showModal("manual-search", item)} > Manual showModal("history", item)} > History showModal("tools", [item])} > Tools showModal("upload", item)} > Upload showModal("edit", item)} > Edit Movie
MoviesApi.modify(form)} onSuccess={update} >
); }; export default withRouter(MovieDetailView);