From 58a5e65772e894d3af819ee03fa4270f9da74767 Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 5 Sep 2025 20:36:58 +0200 Subject: [PATCH] request resized versions of covers to save bandwidth --- .../Components/Mangas/Detail/MangaDetail.tsx | 2 +- .../src/Components/Mangas/MangaCard.tsx | 2 +- tranga-website/src/api/V2.ts | 27 +++++-------------- tranga-website/src/api/data-contracts.ts | 11 ++++++++ 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/tranga-website/src/Components/Mangas/Detail/MangaDetail.tsx b/tranga-website/src/Components/Mangas/Detail/MangaDetail.tsx index 9243b05..5574ed6 100644 --- a/tranga-website/src/Components/Mangas/Detail/MangaDetail.tsx +++ b/tranga-website/src/Components/Mangas/Detail/MangaDetail.tsx @@ -44,7 +44,7 @@ export default function MangaDetail(props: MangaDetailProps): ReactNode { diff --git a/tranga-website/src/Components/Mangas/MangaCard.tsx b/tranga-website/src/Components/Mangas/MangaCard.tsx index 50c4ca0..39a9b31 100644 --- a/tranga-website/src/Components/Mangas/MangaCard.tsx +++ b/tranga-website/src/Components/Mangas/MangaCard.tsx @@ -30,7 +30,7 @@ export default function MangaCard(props: MangaCardProps): ReactNode { diff --git a/tranga-website/src/api/V2.ts b/tranga-website/src/api/V2.ts index 546667b..140db57 100644 --- a/tranga-website/src/api/V2.ts +++ b/tranga-website/src/api/V2.ts @@ -13,6 +13,7 @@ import { Author, Chapter, + CoverSize, FileLibrary, GotifyRecord, LibraryConnector, @@ -317,30 +318,14 @@ export class V2 extends HttpClient * No description * * @tags Manga - * @name MangaCoverList + * @name MangaCoverDetail * @summary Returns Cover of API.Controllers.DTOs.Manga with MangaId - * @request GET:/v2/Manga/{MangaId}/Cover + * @request GET:/v2/Manga/{MangaId}/Cover/{CoverSize} */ - mangaCoverList = ( - mangaId: string, - query?: { - /** - * If width is provided, height needs to also be provided - * @format int32 - */ - width?: number; - /** - * If height is provided, width needs to also be provided - * @format int32 - */ - height?: number; - }, - params: RequestParams = {} - ) => - this.request({ - path: `/v2/Manga/${mangaId}/Cover`, + mangaCoverDetail = (mangaId: string, coverSize: CoverSize, params: RequestParams = {}) => + this.request({ + path: `/v2/Manga/${mangaId}/Cover/${coverSize}`, method: 'GET', - query: query, format: 'blob', ...params, }); diff --git a/tranga-website/src/api/data-contracts.ts b/tranga-website/src/api/data-contracts.ts index 1a162cf..8ad8880 100644 --- a/tranga-website/src/api/data-contracts.ts +++ b/tranga-website/src/api/data-contracts.ts @@ -41,6 +41,13 @@ export enum LibraryType { Kavita = 'Kavita', } +export enum CoverSize { + Original = 'Original', + Large = 'Large', + Medium = 'Medium', + Small = 'Small', +} + /** API.Schema.MangaContext.AltTitle DTO */ export interface AltTitle { /** @@ -390,6 +397,10 @@ export interface TrangaSettings { MangaInfo?: number; } | null; downloadLanguage?: string | null; + /** @format int32 */ + maxConcurrentDownloads?: number; + /** @format int32 */ + maxConcurrentWorkers?: number; } /** API.Workers.BaseWorker DTO */