diff --git a/tranga-website/src/App.tsx b/tranga-website/src/App.tsx index 090bd94..8f9297f 100644 --- a/tranga-website/src/App.tsx +++ b/tranga-website/src/App.tsx @@ -36,17 +36,11 @@ export default function App () { setFileLibraries(response.data); }) - Api.mangaList().then(response => { - if (!response.ok) - { - setManga([]); - return; - } - Api.mangaWithIDsCreate(response.data).then(response => { + Api.queryMangaDownloadingList() + .then(response => { if (response.ok) setManga(response.data); - }) - }) + }); }, []); diff --git a/tranga-website/src/Components/Mangas/MangaDownloadDialog.tsx b/tranga-website/src/Components/Mangas/MangaDownloadDialog.tsx index ab0e5d6..8ca9c21 100644 --- a/tranga-website/src/Components/Mangas/MangaDownloadDialog.tsx +++ b/tranga-website/src/Components/Mangas/MangaDownloadDialog.tsx @@ -1,5 +1,5 @@ import {Manga} from "../../apiClient/data-contracts.ts"; -import {ChangeEvent, Dispatch, ReactNode, useContext, useState} from "react"; +import {ChangeEvent, Dispatch, ReactNode, useContext, useEffect, useState} from "react"; import {Button, Checkbox, Option, Select, Stack, Typography} from "@mui/joy"; import Drawer from "@mui/joy/Drawer"; import ModalClose from "@mui/joy/ModalClose"; @@ -50,16 +50,30 @@ function DownloadDrawer({manga, open, setOpen}: {manga: Manga, open: boolean, se function DownloadCheckBox({mangaConnectorIdId} : {mangaConnectorIdId : string}) : ReactNode { const Api = useContext(ApiContext); + const [useForDownloading, setUseForDownloading] = useState(false); + + useEffect(() => { + Api.queryMangaMangaConnectorIdDetail(mangaConnectorIdId).then(response => { + console.log(response); + if (response.ok) + setUseForDownloading(response.data.useForDownload as boolean); + }) + }, []); const onSelected = (event: ChangeEvent) => { + const val = event.currentTarget.checked; Api.queryMangaMangaConnectorIdDetail(mangaConnectorIdId).then(response => { if (!response.ok) return; - Api.mangaSetAsDownloadFromCreate(response.data.objId, response.data.mangaConnectorName, event.currentTarget.checked); + Api.mangaSetAsDownloadFromCreate(response.data.objId, response.data.mangaConnectorName, val) + .then(response => { + if (response.ok) + setUseForDownloading(val); + }); }); } return ( - } /> + } /> ); } \ No newline at end of file diff --git a/tranga-website/src/apiClient/V2.ts b/tranga-website/src/apiClient/V2.ts index 17974f6..43038af 100644 --- a/tranga-website/src/apiClient/V2.ts +++ b/tranga-website/src/apiClient/V2.ts @@ -848,20 +848,35 @@ export class V2< format: "json", ...params, }); + /** + * No description + * + * @tags Query + * @name QueryMangaDownloadingList + * @summary Returns all API.Schema.MangaContext.Manga that are being downloaded from at least one API.MangaConnectors.MangaConnector + * @request GET:/v2/Query/Manga/Downloading + */ + queryMangaDownloadingList = (params: RequestParams = {}) => + this.request({ + path: `/v2/Query/Manga/Downloading`, + method: "GET", + format: "json", + ...params, + }); /** * No description * * @tags Query * @name QueryChapterMangaConnectorIdDetail * @summary Returns the API.Schema.MangaContext.MangaConnectorId`1 with API.Schema.MangaContext.MangaConnectorId`1.Key - * @request GET:/v2/Query/chapter/MangaConnectorId/{MangaConnectorIdId} + * @request GET:/v2/Query/Chapter/MangaConnectorId/{MangaConnectorIdId} */ queryChapterMangaConnectorIdDetail = ( mangaConnectorIdId: string, params: RequestParams = {}, ) => this.request({ - path: `/v2/Query/chapter/MangaConnectorId/${mangaConnectorIdId}`, + path: `/v2/Query/Chapter/MangaConnectorId/${mangaConnectorIdId}`, method: "GET", format: "json", ...params,