Props for the MangaMatchingPanel component.

export interface MangaMatchingPanelProps {
matches: MangaMatchResult[];
onManualSearch?: (kenmeiManga: KenmeiManga) => void;
onAcceptMatch?: (
match:
| MangaMatchResult
| { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void;
onRejectMatch?: (
match:
| MangaMatchResult
| { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void;
onSelectAlternative?: (
match: MangaMatchResult,
alternativeIndex: number,
autoAccept?: boolean,
directAccept?: boolean,
) => void;
onResetToPending?: (
match:
| MangaMatchResult
| { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void;
searchQuery?: string;
onSetMatchedToPending?: () => void;
isSetMatchedToPendingDisabled?: boolean;
isLoadingInitial?: boolean;
selectedMatchIds?: Set<number>;
onToggleSelection?: (matchId: number) => void;
onSelectAll?: (ids: number[]) => void;
onClearSelection?: () => void;
}
interface MangaMatchingPanelProps {
    matches: MangaMatchResult[];
    onManualSearch?: (kenmeiManga: KenmeiManga) => void;
    onAcceptMatch?: (
        match:
            | MangaMatchResult
            | { isBatchOperation: boolean; matches: MangaMatchResult[] },
    ) => void;
    onRejectMatch?: (
        match:
            | MangaMatchResult
            | { isBatchOperation: boolean; matches: MangaMatchResult[] },
    ) => void;
    onSelectAlternative?: (
        match: MangaMatchResult,
        alternativeIndex: number,
        autoAccept?: boolean,
        directAccept?: boolean,
    ) => void;
    onResetToPending?: (
        match:
            | MangaMatchResult
            | { isBatchOperation: boolean; matches: MangaMatchResult[] },
    ) => void;
    searchQuery?: string;
    onSetMatchedToPending?: () => void;
    isSetMatchedToPendingDisabled?: boolean;
    isLoadingInitial?: boolean;
    selectedMatchIds?: Set<number>;
    onToggleSelection?: (matchId: number) => void;
    onSelectAll?: (ids: number[]) => void;
    onClearSelection?: () => void;
}

Properties

matches: MangaMatchResult[]

List of manga match results to review and manage.

onManualSearch?: (kenmeiManga: KenmeiManga) => void

Optional callback to trigger manual search for a Kenmei manga.

onAcceptMatch?: (
    match:
        | MangaMatchResult
        | { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void

Optional callback to accept a match result or batch.

onRejectMatch?: (
    match:
        | MangaMatchResult
        | { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void

Optional callback to reject a match result or batch.

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

Optional callback to select an alternative match.

onResetToPending?: (
    match:
        | MangaMatchResult
        | { isBatchOperation: boolean; matches: MangaMatchResult[] },
) => void

Optional callback to reset a match to pending status.

searchQuery?: string

Optional search query string to filter results.

onSetMatchedToPending?: () => void

Optional callback to reset all matched to pending.

isSetMatchedToPendingDisabled?: boolean

Optional flag to disable the set-to-pending action.

isLoadingInitial?: boolean

Optional flag to show skeleton loaders during initial load.

selectedMatchIds?: Set<number>

Optional set of selected match IDs for batch operations.

onToggleSelection?: (matchId: number) => void

Optional callback to toggle selection of a match.

onSelectAll?: (ids: number[]) => void

Optional callback to select all visible matches.

onClearSelection?: () => void

Optional callback to clear all selections.