diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/Media/Anime/airing.ts | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lib/Media/Anime/airing.ts b/src/lib/Media/Anime/airing.ts index a88deed5..8e99d76b 100644 --- a/src/lib/Media/Anime/airing.ts +++ b/src/lib/Media/Anime/airing.ts @@ -78,13 +78,12 @@ export const findClosestMedia = (media: Media[], matchFor: string) => { let bestFitMedia: Media | null = null; let smallestDistance = Infinity; - const normalizedSingleTitle = normalizeTitle(matchFor); - media.forEach((m) => { [m.title.romaji, m.title.english, ...m.synonyms].filter(Boolean).forEach((title) => { - const distance = levenshtein.get(normalizedSingleTitle, normalizeTitle(title)); + const normalizedItemTitle = normalizeTitle(title); + const distance = levenshtein.get(normalizeTitle(matchFor), normalizedItemTitle); - if (distance < smallestDistance && distance < normalizedSingleTitle.length / 2) { + if (distance < smallestDistance && distance < Math.max(3, normalizedItemTitle.length * 0.4)) { smallestDistance = distance; bestFitMedia = m; } |