diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-11-24 14:51:08 -0500 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-11-24 14:51:08 -0500 |
commit | f92f1be605243e6c6829f09ac038d89cef4b740b (patch) | |
tree | ca44e0bbb017e14dea152dfeaf611fdd6a76cc06 /extension/public/iconGrabber.js | |
parent | 01d012449c9926a2f231da39b0f235d15863165e (diff) | |
download | bookmarks-home-f92f1be605243e6c6829f09ac038d89cef4b740b.tar.gz bookmarks-home-f92f1be605243e6c6829f09ac038d89cef4b740b.tar.bz2 bookmarks-home-f92f1be605243e6c6829f09ac038d89cef4b740b.zip |
Improve icon sorting
Diffstat (limited to 'extension/public/iconGrabber.js')
-rw-r--r-- | extension/public/iconGrabber.js | 21 |
1 files changed, 14 insertions, 7 deletions
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") |