Props for the MatchCard component.

export interface MatchCardProps {
match: MangaMatchResult;
uniqueKey: string;
borderColorClass: string;
statusBgColorClass: string;
glowClass: string;
formatStatusText: (status: string | undefined) => string;
handleOpenExternal: (url: string) => (e: React.MouseEvent) => void;
handleKeyDown: (e: React.KeyboardEvent, callback: () => void) => void;
isAdultContent: (manga: AniListManga | undefined | null) => boolean;
shouldBlurImage: (mangaId: string) => boolean;
toggleImageBlur: (mangaId: string) => void;
onManualSearch?: (kenmeiManga: KenmeiManga) => void;
onAcceptMatch?: (match: MangaMatchResult) => void;
onRejectMatch?: (match: MangaMatchResult) => void;
onSelectAlternative?: (
match: MangaMatchResult,
alternativeIndex: number,
autoAccept?: boolean,
directAccept?: boolean,
) => void;
onResetToPending?: (match: MangaMatchResult) => void;
isSelected?: boolean;
onToggleSelection?: () => void;
isUpdating?: boolean;
}
interface MatchCardProps {
    match: MangaMatchResult;
    uniqueKey: string;
    borderColorClass: string;
    statusBgColorClass: string;
    glowClass: string;
    formatStatusText: (status: undefined | string) => string;
    handleOpenExternal: (url: string) => (e: MouseEvent) => void;
    handleKeyDown: (e: KeyboardEvent, callback: () => void) => void;
    isAdultContent: (manga: undefined | null | AniListManga) => boolean;
    shouldBlurImage: (mangaId: string) => boolean;
    toggleImageBlur: (mangaId: string) => void;
    onManualSearch?: (kenmeiManga: KenmeiManga) => void;
    onAcceptMatch?: (match: MangaMatchResult) => void;
    onRejectMatch?: (match: MangaMatchResult) => void;
    onSelectAlternative?: (
        match: MangaMatchResult,
        alternativeIndex: number,
        autoAccept?: boolean,
        directAccept?: boolean,
    ) => void;
    onResetToPending?: (match: MangaMatchResult) => void;
    isSelected?: boolean;
    onToggleSelection?: () => void;
    isUpdating?: boolean;
}

Properties

Manga match result data.

uniqueKey: string

Unique identifier for animation and list rendering.

borderColorClass: string

CSS class for card border color based on status.

statusBgColorClass: string

CSS class for status indicator bar background.

glowClass: string

CSS class for glow effect.

formatStatusText: (status: undefined | string) => string

Function to format status text for display.

handleOpenExternal: (url: string) => (e: MouseEvent) => void

Function to handle external link clicks.

handleKeyDown: (e: KeyboardEvent, callback: () => void) => void

Function to handle keyboard events on buttons.

isAdultContent: (manga: undefined | null | AniListManga) => boolean

Function to determine if manga is adult content.

shouldBlurImage: (mangaId: string) => boolean

Function to check if image should be blurred.

toggleImageBlur: (mangaId: string) => void

Function to toggle image blur state.

onManualSearch?: (kenmeiManga: KenmeiManga) => void

Callback for manual search action.

onAcceptMatch?: (match: MangaMatchResult) => void

Callback for accept match action.

onRejectMatch?: (match: MangaMatchResult) => void

Callback for reject match action.

onSelectAlternative?: (
    match: MangaMatchResult,
    alternativeIndex: number,
    autoAccept?: boolean,
    directAccept?: boolean,
) => void

Callback for alternative match selection.

onResetToPending?: (match: MangaMatchResult) => void

Callback for resetting to pending status.

isSelected?: boolean

Whether the card is currently selected.

onToggleSelection?: () => void

Callback for toggling selection state.

isUpdating?: boolean