import Manga from "../Manga"; import React, {ReactElement, ReactEventHandler} from "react"; import Icon from '@mdi/react'; import { mdiTagTextOutline, mdiAccountEdit, mdiLinkVariant } from '@mdi/js'; import MarkdownPreview from '@uiw/react-markdown-preview'; import IJob from "./IJob"; import {AuthorElement} from "./IAuthor"; import Job from "../Job"; import {LinkElement} from "./ILink"; export default interface IManga{ mangaId: string; connectorId: string; name: string; description: string; websiteUrl: string; year: number; originalLanguage: string; releaseStatus: MangaReleaseStatus; folderName: string; ignoreChapterBefore: number; mangaConnectorId: string; authorIds: string[]; tags: string[]; linkIds: string[]; altTitleIds: string[]; } export enum MangaReleaseStatus { Continuing = "Continuing", Completed = "Completed", OnHiatus = "OnHiatus", Cancelled = "Cancelled", Unreleased = "Unreleased", } export function CoverCard(apiUri: string, manga: IManga) : ReactElement { return(
Manga Cover

{manga.mangaConnectorId}

{manga.name}

); } export function SearchResult(apiUri: string, manga: IManga, interval: Date, onJobsChanged: (internalId: string) => void) : ReactElement { const MangaCover : ReactEventHandler = (e) => { console.log(manga.mangaId); if(e.currentTarget.src != Manga.GetMangaCoverImageUrl(apiUri, manga.mangaId, e.currentTarget)) e.currentTarget.src = Manga.GetMangaCoverImageUrl(apiUri, manga.mangaId, e.currentTarget); } return(
Manga Cover

{manga.mangaConnectorId}

{manga.name}

{manga.authorIds.map(authorId =>

)} {manga.tags.map(tag =>

{tag}

)} {manga.linkIds.map(linkId =>

)}
); } export function QueueItem(apiUri: string, manga: IManga, job: IJob, triggerUpdate: () => void){ return (
Manga Cover

{manga.name}

{job.jobType}

{job.parentJobId != null ? : <> }
); }