import { useSeriesModification, useSeriesPagination } from "@/apis/hooks"; import { ActionBadge, ItemEditorModal } from "@/components"; import LanguageProfile from "@/components/bazarr/LanguageProfile"; import ItemView from "@/components/views/ItemView"; import { useModalControl } from "@/modules/redux/hooks/modal"; import { BuildKey } from "@/utilities"; import { faWrench } from "@fortawesome/free-solid-svg-icons"; import { FunctionComponent, useMemo } from "react"; import { Badge, Container, ProgressBar } from "react-bootstrap"; import { Helmet } from "react-helmet"; import { Link } from "react-router-dom"; import { Column } from "react-table"; const SeriesView: FunctionComponent = () => { const mutation = useSeriesModification(); const query = useSeriesPagination(); const columns: Column[] = useMemo[]>( () => [ { Header: "Name", accessor: "title", className: "text-nowrap", Cell: ({ row, value }) => { const target = `/series/${row.original.sonarrSeriesId}`; return ( {value} ); }, }, { Header: "Audio", accessor: "audio_language", Cell: (row) => { return row.value.map((v) => ( {v.name} )); }, }, { Header: "Languages Profile", accessor: "profileId", Cell: ({ value }) => { return ; }, }, { Header: "Episodes", accessor: "episodeFileCount", Cell: (row) => { const { episodeFileCount, episodeMissingCount, profileId, title } = row.row.original; let progress = 0; let label = ""; if (episodeFileCount === 0 || !profileId) { progress = 0.0; } else { progress = episodeFileCount - episodeMissingCount; label = `${ episodeFileCount - episodeMissingCount }/${episodeFileCount}`; } const color = episodeMissingCount === 0 ? "primary" : "warning"; return ( ); }, }, { accessor: "sonarrSeriesId", Cell: ({ row: { original } }) => { const { show } = useModalControl(); return ( show("edit", original)} > ); }, }, ], [] ); return ( Series - Bazarr ); }; export default SeriesView;