Restore multi-copy digit capture and add AniList selection (#56)

This commit is contained in:
2026-04-25 21:44:55 -07:00
committed by GitHub
parent 7ac51cd5e9
commit d8934647a9
140 changed files with 4097 additions and 326 deletions

View File

@@ -0,0 +1,29 @@
import type { CharacterDictionaryManualSelectionResult } from './character-dictionary-runtime/types';
export type CharacterDictionarySelectionRequest = {
targetPath?: string;
mediaId: number;
};
export type CharacterDictionarySelectionDeps = {
setManualSelection: (
request: CharacterDictionarySelectionRequest,
) => Promise<CharacterDictionaryManualSelectionResult>;
resetAnilistMediaGuessState: () => void;
runSyncNow: () => Promise<void>;
warn: (message: string, error?: unknown) => void;
};
export async function applyCharacterDictionarySelection(
request: CharacterDictionarySelectionRequest,
deps: CharacterDictionarySelectionDeps,
): Promise<CharacterDictionaryManualSelectionResult> {
const result = await deps.setManualSelection(request);
deps.resetAnilistMediaGuessState();
try {
await deps.runSyncNow();
} catch (error) {
deps.warn('Character dictionary auto-sync failed after manual selection', error);
}
return result;
}