import { faCloudUploadAlt, faHistory, faSearch, faSync, faToolbox, faUser, faWrench, } from "@fortawesome/free-solid-svg-icons"; import React, { FunctionComponent, useState } from "react"; import { Container, Row } from "react-bootstrap"; import { Helmet } from "react-helmet"; import { Redirect, RouteComponentProps, withRouter } from "react-router-dom"; import { useMovieBy, useProfileBy } 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 { useOnLoadedOnce } 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 = useMovieBy(id); const item = movie.content; const profile = useProfileBy(movie.content?.profileId); const showModal = useShowModal(); const [valid, setValid] = useState(true); useOnLoadedOnce(() => { if (movie.content === null) { setValid(false); } }, movie); 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 }) } > Scan Disk MoviesApi.action({ action: "search-missing", radarrid: item.radarrId, }) } > 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)} >
); }; export default withRouter(MovieDetailView);