diff --git a/chrome/dist/main.js b/chrome/dist/main.js index cc93765..eda17e7 100644 --- a/chrome/dist/main.js +++ b/chrome/dist/main.js @@ -73,7 +73,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 277]; + define_BUILD_VERSION_default = [0, 280]; } }); @@ -13956,7 +13956,14 @@ // src/stores.ts var localLoad = async (key2, def) => { const isinls = "__pee__" + key2 in localStorage; - const ret = isinls ? { ...def, ...JSON.parse(localStorage.getItem("__pee__" + key2)) } : def; + let ret; + if (isinls) { + let it = localStorage.getItem("__pee__" + key2); + if (it === "undefined") + it = null; + ret = { ...def, ...JSON.parse(it || "{}") }; + } else + ret = def; if (true) { if (isinls) { delete localStorage["__pee__" + key2]; @@ -25631,7 +25638,7 @@ }; var FoolFuuka = { getFileThumbnail: (post) => post.classList.contains("post_is_op") ? post.querySelector(".thread_image_link") : post.querySelector(".thread_image_box"), - getPost: (post) => post.querySelector(".post_wrapper"), + getPost: (post) => post.querySelector(".post_wrapper") || post, postsWithFiles: (h) => [...(h || document).querySelectorAll('article[class*="thread"], article[class*="has_image"]')], settingsHost: () => document.querySelector(".letters"), catalogControlHost: () => document.getElementById("index-options"), diff --git a/chrome/manifest.json b/chrome/manifest.json index 9ac2046..21415ed 100644 --- a/chrome/manifest.json +++ b/chrome/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "PngExtraEmbedder", "description": "Discover embedded files on 4chan and archives!", - "version": "0.277", + "version": "0.280", "icons": { "64": "1449696017588.png" }, diff --git a/dist/main.js b/dist/main.js index f466b4e..f294a1c 100644 --- a/dist/main.js +++ b/dist/main.js @@ -73,7 +73,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 277]; + define_BUILD_VERSION_default = [0, 280]; } }); @@ -13956,7 +13956,14 @@ // src/stores.ts var localLoad = async (key2, def) => { const isinls = "__pee__" + key2 in localStorage; - const ret = isinls ? { ...def, ...JSON.parse(localStorage.getItem("__pee__" + key2)) } : def; + let ret; + if (isinls) { + let it = localStorage.getItem("__pee__" + key2); + if (it === "undefined") + it = null; + ret = { ...def, ...JSON.parse(it || "{}") }; + } else + ret = def; if (false) { if (isinls) { delete localStorage["__pee__" + key2]; @@ -25466,7 +25473,7 @@ }; var FoolFuuka = { getFileThumbnail: (post) => post.classList.contains("post_is_op") ? post.querySelector(".thread_image_link") : post.querySelector(".thread_image_box"), - getPost: (post) => post.querySelector(".post_wrapper"), + getPost: (post) => post.querySelector(".post_wrapper") || post, postsWithFiles: (h) => [...(h || document).querySelectorAll('article[class*="thread"], article[class*="has_image"]')], settingsHost: () => document.querySelector(".letters"), catalogControlHost: () => document.getElementById("index-options"), diff --git a/main.meta.js b/main.meta.js index 15bd717..3f8c69e 100644 --- a/main.meta.js +++ b/main.meta.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.277 +// @version 0.280 // @description uhh // @author You // @match https://boards.4channel.org/* diff --git a/main.user.js b/main.user.js index 5c40519..9748cfc 100644 --- a/main.user.js +++ b/main.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.277 +// @version 0.280 // @description uhh // @author You // @match https://boards.4channel.org/* @@ -109,7 +109,7 @@ const _DOMParser = DOMParser; var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 277]; + define_BUILD_VERSION_default = [0, 280]; } }); @@ -13992,7 +13992,14 @@ const _DOMParser = DOMParser; // src/stores.ts var localLoad = async (key2, def) => { const isinls = "__pee__" + key2 in localStorage; - const ret = isinls ? { ...def, ...JSON.parse(localStorage.getItem("__pee__" + key2)) } : def; + let ret; + if (isinls) { + let it = localStorage.getItem("__pee__" + key2); + if (it === "undefined") + it = null; + ret = { ...def, ...JSON.parse(it || "{}") }; + } else + ret = def; if (false) { if (isinls) { delete localStorage["__pee__" + key2]; @@ -25502,7 +25509,7 @@ const _DOMParser = DOMParser; }; var FoolFuuka = { getFileThumbnail: (post) => post.classList.contains("post_is_op") ? post.querySelector(".thread_image_link") : post.querySelector(".thread_image_box"), - getPost: (post) => post.querySelector(".post_wrapper"), + getPost: (post) => post.querySelector(".post_wrapper") || post, postsWithFiles: (h) => [...(h || document).querySelectorAll('article[class*="thread"], article[class*="has_image"]')], settingsHost: () => document.querySelector(".letters"), catalogControlHost: () => document.getElementById("index-options"), diff --git a/src/stores.ts b/src/stores.ts index 1eca4ba..4c97662 100644 --- a/src/stores.ts +++ b/src/stores.ts @@ -5,9 +5,14 @@ import type { Booru } from "./thirdeye"; // Todo: use GM get/setValue instead? export const localLoad = async (key: string, def: T) => { const isinls = ('__pee__' + key) in localStorage; - const ret = isinls - ? { ...def, ...JSON.parse(localStorage.getItem('__pee__' + key)!) } as T - : def; + let ret: T; + if (isinls) { + let it = localStorage.getItem('__pee__' + key); + if (it === "undefined") + it = null; + ret = { ...def, ...JSON.parse(it || '{}') } as T; + } else + ret = def; if (execution_mode != "userscript") { if (isinls) { diff --git a/src/websites/index.ts b/src/websites/index.ts index 8ff2cc4..d27d010 100644 --- a/src/websites/index.ts +++ b/src/websites/index.ts @@ -68,7 +68,7 @@ export const X4chan: QueryProcessor = { export const FoolFuuka: QueryProcessor = { getFileThumbnail: post => post.classList.contains('post_is_op') ? post.querySelector('.thread_image_link')! : post.querySelector('.thread_image_box')!, - getPost: (post) => post.querySelector('.post_wrapper')!, + getPost: (post) => post.querySelector('.post_wrapper') || post, postsWithFiles: (h) => [...(h || document).querySelectorAll('article[class*="thread"], article[class*="has_image"]')] as HTMLElement[], settingsHost: () => document.querySelector(".letters") as any, catalogControlHost: () => document.getElementById("index-options") as HTMLDivElement,