import React, { useMemo, useCallback, ReactElement } from "react"; import { removeLeadingPeriod, escapePoundSymbol, } from "../shared/utils/formatting.utils"; import { useTable } from "react-table"; import prettyBytes from "pretty-bytes"; import ellipsize from "ellipsize"; import { isNil, isUndefined, map, isEmpty } from "lodash"; import { IExtractedComicBookCoverFile, RootState } from "threetwo-ui-typings"; import { useSelector, useDispatch } from "react-redux"; import { comicinfoAPICall } from "../actions/comicinfo.actions"; import { search } from "../services/api/SearchApi"; import { Form, Field } from "react-final-form"; interface ISearchProps {} export const Search = ({}: ISearchProps): ReactElement => { const formData = { search: "", }; const dispatch = useDispatch(); const getCVSearchResults = useCallback( (searchQuery) => { dispatch( comicinfoAPICall({ callURIAction: "search", callMethod: "GET", callParams: { api_key: "a5fa0663683df8145a85d694b5da4b87e1c92c69", query: searchQuery.search, format: "json", limit: "10", offset: "0", field_list: "id,name,deck,api_detail_url,image,description", resources: "volume", }, }), ); }, [dispatch], ); const getDCPPSearchResults = useCallback((searchQuery) => { search(searchQuery); }, []); const comicVineSearchResults = useSelector( (state: RootState) => state.comicInfo.searchResults, ); return ( <>

Search

getDCPPSearchResults({ query: { pattern: "wolverine", // file_type: "compressed", extensions: ["cbz", "cbr"], }, hub_urls: [ "adcs://novosibirsk.dc-dev.club:7111/?kp=SHA256/4XFHJFFBFEI2RS75FPRPPXPZMMKPXR764ABVVCC2QGJPQ34SDZGA", ], priority: 1, }) } initialValues={{ ...formData, }} render={({ handleSubmit, form, submitting, pristine, values }) => (
{({ input, meta }) => { return ( ); }}
)} /> {!isNil(comicVineSearchResults.results) && !isEmpty(comicVineSearchResults.results) ? ( <> {comicVineSearchResults.results.map( ({ id, name, description, api_detail_url, image }) => { return (
{id} {name}

{api_detail_url}

{description}

name
); }, )} ) : (

Search the ComicVine database Search and add issues, series and trade paperbacks to your library. Then, download them using the configured AirDC++ or torrent clients.

)}
); }; export default Search;