diff --git a/main.meta.js b/main.meta.js index d3e0fdf..ce67ea6 100644 --- a/main.meta.js +++ b/main.meta.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.186 +// @version 0.187 // @description uhh // @author You // @match https://boards.4channel.org/* diff --git a/main.user.js b/main.user.js index 3d4dc36..6d6d99a 100644 --- a/main.user.js +++ b/main.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name PNGExtraEmbed // @namespace https://coom.tech/ -// @version 0.186 +// @version 0.187 // @description uhh // @author You // @match https://boards.4channel.org/* @@ -81,7 +81,7 @@ var define_BUILD_VERSION_default; var init_define_BUILD_VERSION = __esm({ ""() { - define_BUILD_VERSION_default = [0, 186]; + define_BUILD_VERSION_default = [0, 187]; } }); @@ -28012,23 +28012,26 @@ target: a, props: { processors, textinput: (e.detail || e.target).querySelector("textarea") } }); + let prevFile; let target; + const somethingChanged = async (m) => { + const currentFile = await getSelectedFile(); + if (prevFile != currentFile) { + prevFile = currentFile; + document.dispatchEvent(new CustomEvent("PEEFile", { detail: prevFile })); + } + }; + const obs = new MutationObserver(somethingChanged); if (!cappState.is4chanX) { target = e.detail; a.style.display = "inline-block"; target.querySelector("input[type=submit]")?.insertAdjacentElement("beforebegin", a); + const filesinp = target.querySelector("#qrFile"); + filesinp.addEventListener("change", somethingChanged); } else { target = e.target; target.querySelector("#qr-filename-container")?.appendChild(a); const filesinp = target.querySelector("#file-n-submit"); - let prevFile; - const obs = new MutationObserver(async (m) => { - const currentFile = await getSelectedFile(); - if (prevFile != currentFile) { - prevFile = currentFile; - document.dispatchEvent(new CustomEvent("PEEFile", { detail: prevFile })); - } - }); obs.observe(filesinp, { attributes: true }); } }, { once: !cappState.is4chanX }); diff --git a/src/main.ts b/src/main.ts index bd8e001..42195d5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -463,26 +463,29 @@ document.addEventListener('QRDialogCreation', ((e: CustomEvent target: a, props: { processors, textinput: (e.detail || e.target).querySelector('textarea')! } }); - + + let prevFile: File; let target; + const somethingChanged = async (m: any) => { + // file possibly changed + const currentFile = await getSelectedFile(); + if (prevFile != currentFile) { + prevFile = currentFile; + document.dispatchEvent(new CustomEvent("PEEFile", { detail: prevFile })); + } + }; + const obs = new MutationObserver(somethingChanged); if (!cappState.is4chanX) { target = e.detail; a.style.display = "inline-block"; target.querySelector("input[type=submit]")?.insertAdjacentElement("beforebegin", a); + const filesinp = target.querySelector('#qrFile') as HTMLInputElement; + filesinp.addEventListener("change", somethingChanged); } else { target = e.target as HTMLDivElement; target.querySelector('#qr-filename-container')?.appendChild(a); const filesinp = target.querySelector('#file-n-submit') as HTMLInputElement; - let prevFile: File; - const obs = new MutationObserver(async (m) => { - // file possibly changed - const currentFile = await getSelectedFile(); - if (prevFile != currentFile) { - prevFile = currentFile; - document.dispatchEvent(new CustomEvent("PEEFile", { detail: prevFile })); - } - }); obs.observe(filesinp, { attributes: true }); }