Props for the ChangesSummary component.

interface ChangesSummaryProps {
/** Number of entries that have changes to sync. */
entriesWithChanges: number;
/** Whether the library is currently loading. */
libraryLoading: boolean;
/** Error message from library loading. */
libraryError: string | null;
/** Whether the user is currently rate limited. */
isRateLimited: boolean;
/** Callback to refresh the AniList library. */
onLibraryRefresh: () => void;
/** User's AniList library indexed by manga ID. */
userLibrary: UserMediaList;
/** All manga matches from Kenmei. */
mangaMatches: MangaMatchResult[];
/** Current sync configuration. */
syncConfig: SyncConfig;
}
interface ChangesSummaryProps {
    entriesWithChanges: number;
    libraryLoading: boolean;
    libraryError: null | string;
    isRateLimited: boolean;
    onLibraryRefresh: () => void;
    userLibrary: UserMediaList;
    mangaMatches: MangaMatchResult[];
    syncConfig: SyncConfig;
}

Properties

entriesWithChanges: number

Number of entries that have changes to sync.

libraryLoading: boolean

Whether the library is currently being fetched.

libraryError: null | string

Error message from library loading (null if no error).

isRateLimited: boolean

Whether currently rate limited by AniList API.

onLibraryRefresh: () => void

Callback triggered when user clicks refresh button.

userLibrary: UserMediaList

User's AniList library indexed by manga ID.

mangaMatches: MangaMatchResult[]

All matched manga entries from Kenmei scan.

syncConfig: SyncConfig

Current sync configuration with priority settings.