import { useEpisodeSubtitleModification, useEpisodeWantedPagination, useSeriesAction, } from "@/apis/hooks"; import Language from "@/components/bazarr/Language"; import { TaskGroup, task } from "@/modules/task"; import WantedView from "@/pages/views/WantedView"; import { useTableStyles } from "@/styles"; import { BuildKey } from "@/utilities"; import { faSearch } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Anchor, Badge, Group, Text } from "@mantine/core"; import { FunctionComponent, useMemo } from "react"; import { Link } from "react-router-dom"; import { Column } from "react-table"; const WantedSeriesView: FunctionComponent = () => { const columns: Column[] = useMemo[]>( () => [ { Header: "Name", accessor: "seriesTitle", Cell: (row) => { const target = `/series/${row.row.original.sonarrSeriesId}`; const { classes } = useTableStyles(); return ( {row.value} ); }, }, { Header: "Episode", accessor: "episode_number", }, { accessor: "episodeTitle", Cell: ({ value }) => { const { classes } = useTableStyles(); return {value}; }, }, { Header: "Missing", accessor: "missing_subtitles", Cell: ({ row, value }) => { const wanted = row.original; const seriesId = wanted.sonarrSeriesId; const episodeId = wanted.sonarrEpisodeId; const { download } = useEpisodeSubtitleModification(); return ( {value.map((item, idx) => ( } key={BuildKey(idx, item.code2)} style={{ cursor: "pointer" }} onClick={() => { task.create( item.name, TaskGroup.SearchSubtitle, download.mutateAsync, { seriesId, episodeId, form: { language: item.code2, hi: item.hi, forced: item.forced, }, } ); }} > ))} ); }, }, ], [] ); const { mutateAsync } = useSeriesAction(); const query = useEpisodeWantedPagination(); return ( mutateAsync({ action: "search-wanted" })} > ); }; export default WantedSeriesView;