From f92f1be605243e6c6829f09ac038d89cef4b740b Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 24 Nov 2024 14:51:08 -0500 Subject: Improve icon sorting --- extension/public/iconGrabber.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'extension/public/iconGrabber.js') diff --git a/extension/public/iconGrabber.js b/extension/public/iconGrabber.js index c463451..a255d01 100644 --- a/extension/public/iconGrabber.js +++ b/extension/public/iconGrabber.js @@ -1,4 +1,4 @@ -export function getBrowser() { +function getBrowser() { if (typeof browser === "undefined") { return chrome; } else { @@ -11,12 +11,19 @@ const tagTypes = ["apple-touch-icon", "shortcut icon", "icon"] let x = Array.from(document.getElementsByTagName("link")) .filter(elem => tagTypes.includes(elem.rel)) .sort((a, b) => { - let tagCompare = tagTypes.indexOf(a.rel) - tagTypes.indexOf(b.rel); - if (tagCompare !== 0) return tagCompare; - try { return Number(b.sizes[0].split('x')[0]) - Number(a.sizes[0].split('x')[0]); } - catch { return -1; } - }) - .map(elem => elem.href); + function compareTags() { + return tagTypes.indexOf(a.rel) - tagTypes.indexOf(b.rel); + } + function compareSizes() { + try { return Number(b.sizes[0].split('x')[0]) - Number(a.sizes[0].split('x')[0]); } + catch { return -1; } + } + + return compareSizes() || compareTags() + }); + +console.log("found icons", x.map(elem => elem.outerHTML)); +x = x.map(elem => elem.href); getBrowser().runtime.sendMessage([window.location.href, x[0]]).catch(() => { console.log("failed to send message") -- cgit v1.2.3