From e0d7a447b3ee898bf015353b8053a1a833c1a377 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 20 Dec 2023 03:32:18 -0800 Subject: feat(airing): strengthen media match --- src/lib/Media/Anime/airing.ts | 7 +++---- 1 file 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; } -- cgit v1.2.3