From e0436ccea9e8f01a3f56201c3d0493fdf6caaf1f Mon Sep 17 00:00:00 2001 From: aka paul <50n50@noreply.localhost> Date: Fri, 23 Jan 2026 20:16:29 +0000 Subject: [PATCH] Update tidal/tidal.js --- tidal/tidal.js | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tidal/tidal.js b/tidal/tidal.js index 68cd437..75edec9 100644 --- a/tidal/tidal.js +++ b/tidal/tidal.js @@ -1,3 +1,22 @@ +function calculateSimilarity(title, keyword) { + const titleLower = title.toLowerCase(); + const keywordLower = keyword.toLowerCase(); + + if (titleLower === keywordLower) return 1000; + + if (titleLower.startsWith(keywordLower)) return 800; + + if (titleLower.includes(keywordLower)) return 600; + + let matches = 0; + for (let i = 0; i < Math.min(titleLower.length, keywordLower.length); i++) { + if (titleLower[i] === keywordLower[i]) matches++; + else break; + } + + return matches; +} + async function searchResults(keyword) { const results = []; try { @@ -21,11 +40,20 @@ async function searchResults(keyword) { results.push({ title: title, image: imageUrl, - href: href + href: href, + baseTitle: item.title || "Unknown Title", + similarity: calculateSimilarity(item.title || "Unknown Title", keyword) }); } } + results.sort((a, b) => b.similarity - a.similarity); + + results.forEach(r => { + delete r.baseTitle; + delete r.similarity; + }); + return JSON.stringify(results); } catch (err) { console.error("Search error:", err);